Compare commits

...

123 Commits

Author SHA1 Message Date
Kane Wang 863d65fa7c 保存进度! 2022-09-28 10:07:48 +08:00
Kane Wang 7fb1741a89 Merge branch 'main' of http://222.76.244.118:3000/CPICXIM/car_deal_util 2022-09-28 10:06:16 +08:00
Kane Wang 173aa6655f 提交信息! 2021-03-18 16:19:57 +08:00
Kane Wang 92681a8cfe 提交信息! 2021-03-18 11:44:01 +08:00
Kane Wang 8d6b4b07d1 提交信息! 2021-03-18 11:13:31 +08:00
Kane Wang 8f63de9a42 更新ignore文件 2021-02-02 14:36:21 +08:00
Kane Wang 02eb1eb2c8 修复一个bug 2021-01-26 11:15:26 +08:00
Kane Wang 114e6c4ecd 增加参数配置窗口 2020-12-29 10:38:40 +08:00
Kane Wang e57beeb725 修改了输出目录。 2020-12-23 19:56:41 +08:00
Kane Wang 7f2933dd1e 修复一个bug! 2020-12-21 18:05:20 +08:00
Kane Wang ac893d419e 提交信息! 2020-12-19 18:22:39 +08:00
Kane Wang 81e782f82c 修复一个bug! 2020-12-18 17:41:42 +08:00
Kane Wang 6be7e49dd2 提交信息! 2020-12-18 17:21:29 +08:00
Kane Wang 63910b48ea 提交信息! 2020-12-09 14:33:52 +08:00
Kane Wang aff4ec48f6 完成表格模板验证 2020-12-09 10:46:16 +08:00
Kane Wang 96bd16a290 开了个头! 2020-12-08 22:46:37 +08:00
Kane Wang 50304c0c80 窗口界面开发完成! 2020-12-08 17:59:27 +08:00
Kane Wang 1667755910 。。。 2020-12-08 07:07:48 +08:00
Kane Wang e0f80ea9f4 ... 2020-12-07 21:55:03 +08:00
Kane Wang 8c6fef3c46 ... 2020-12-07 21:46:27 +08:00
Kane Wang b72efb0b1e 提交信息! 2020-12-07 17:39:40 +08:00
Kane 094db4b9b5 ... 2020-12-05 13:29:40 +08:00
Kane Wang a798752d7c 提交信息! 2020-12-01 18:27:07 +08:00
Kane Wang 1328642946 提交信息! 2020-12-01 15:35:23 +08:00
Kane Wang 92e1a1255d 提交信息! 2020-11-30 16:45:24 +08:00
Kane Wang 8555274b9c 提交信息! 2020-11-30 12:50:17 +08:00
Kane Wang f961688dc1 提交信息! 2020-11-27 16:47:22 +08:00
Kane Wang 773bba3c06 提交信息! 2020-11-27 11:40:53 +08:00
Kane Wang 52d85dd319 做了一些修改 2020-11-27 11:32:13 +08:00
Kane Wang c5be602bcf 提交信息! 2020-11-26 18:00:16 +08:00
Kane Wang 563bd85212 111 2020-11-25 17:47:25 +08:00
Kane Wang d2cc541da4 提交信息! 2020-11-24 18:06:13 +08:00
Kane Wang cd259de06a 加入python部分脚本 2020-11-23 17:47:48 +08:00
Kane Wang 6b8cfe2c98 完成车商代码验证功能. 2020-11-23 16:10:12 +08:00
Kane Wang 1e628ccc30 提交信息! 2020-11-23 15:48:50 +08:00
Kane Wang 6572379132 搞定车商代码缓存! 2020-11-23 14:30:05 +08:00
Kane Wang a4d1e51da8 111 2020-11-23 11:43:54 +08:00
Kane Wang 82600f1beb 提交信息! 2020-11-20 17:54:29 +08:00
Kane Wang 99b3a4ef41 提交信息! 2020-11-20 11:42:43 +08:00
Kane Wang 7ba184a311 车商业绩基本完成。 2020-11-17 16:31:34 +08:00
Kane Wang fd604459bc 提交信息! 2020-11-16 16:42:19 +08:00
Kane Wang 4fb1aa003f 增加卢霖城的送返修推荐表窗口对象 2020-11-16 14:11:31 +08:00
Kane Wang 1441ee2978 提交信息! 2020-11-11 09:09:04 +08:00
Kane Wang 33a3b4a61f 提交信息! 2020-11-03 18:02:45 +08:00
Kane Wang 3936a66f39 提交信息! 2020-10-20 16:43:44 +08:00
Kane Wang 3b52e2cbc8 提交信息! 2020-10-12 17:39:34 +08:00
Kane Wang 1c1989931a ... 2020-08-17 21:20:33 +08:00
Kane Wang 6ec6f32fee ... 2020-08-13 17:52:18 +08:00
Kane Wang f8421cd75d ... 2020-07-28 19:18:49 +08:00
Kane Wang e49e4493a8 ... 2020-07-14 16:31:57 +08:00
Kane Wang 639715e8fa ... 2020-07-14 11:52:16 +08:00
Kane Wang fc2d04d57b 变更一下代码文目录名,防止qt编译中文路径出错。 2020-07-14 11:17:31 +08:00
Kane Wang 05dacbfec4 修改车商业绩表界面。 2020-07-13 17:43:14 +08:00
Kane Wang 75fa45e103 ... 2020-07-13 13:35:34 +08:00
Kane Wang 5192de6706 ... 2020-07-13 09:43:27 +08:00
Kane Wang 902d2944af 完成所有的导入功能 2020-07-09 17:51:51 +08:00
Kane Wang c87698746a ... 2020-07-08 16:55:59 +08:00
Kane Wang c04f0363cb ... 2020-07-07 17:53:41 +08:00
Kane Wang 95f8839446 ... 2020-07-07 15:13:22 +08:00
Kane Wang 7d265d106b 完成,还未测试! 2020-07-01 17:50:32 +08:00
Kane Wang f653eddf5b ... 2020-06-28 17:12:59 +08:00
Kane Wang c2251573db 回家吃饭 2020-06-28 11:36:19 +08:00
Kane Wang 21c3f5fe75 ... 2020-06-27 22:44:15 +08:00
Kane Wang 73140366b9 Merge branch '增加卢霖城的推荐表' of http://cppdisciple.f3322.org:65211/Kane/car_dealer_util into 增加卢霖城的推荐表
!!!
2020-06-27 22:01:40 +08:00
王炜 ddfd05e75e Update README.md 2020-06-28 05:33:25 +08:00
Kane Wang a129349734 尝试中文变量名 2020-06-27 21:59:17 +08:00
Kane Wang f927673fa3 ... 2020-06-27 21:30:26 +08:00
Kane Wang beac5d18ec 增加卢霖城的数据表 2020-06-24 17:28:23 +08:00
Kane Wang b2bc134c0a ... 2020-05-27 20:42:36 +08:00
Kane Wang 76704f699d ... 2020-05-13 21:24:02 +08:00
Kane Wang 9cfdd61539 ... 2020-05-13 18:17:27 +08:00
Kane Wang 2d3e5a8e69 ... 2020-05-12 16:51:41 +08:00
Kane Wang 571779d33a ... 2020-05-12 16:48:05 +08:00
Kane Wang fb3f0fb20d 。。。 2020-05-12 16:44:34 +08:00
Kane Wang 54672647d6 先做界面吧! 2020-04-11 20:42:53 +08:00
Kane Wang 1c61f5c9c5 ... 2020-03-18 20:42:45 +08:00
Kane Wang 13309fcf74 最后一个表! 2020-03-18 18:24:18 +08:00
Kane Wang d6faa08e7a 三个导入导出功能完成。 2020-03-17 17:25:36 +08:00
Kane Wang 87a729cbaf 车商方案表导入功能完成! 2020-03-16 21:14:50 +08:00
Kane Wang 89192f2a82 更新存储过程。 2020-03-16 18:05:29 +08:00
Kane Wang 4c5b5ee863 ..... 2020-03-16 17:42:43 +08:00
Kane Wang 5b19ff7aba 送返修工单搞定。 2020-03-16 15:07:03 +08:00
Kane Wang 4e48c7f233 用字符串保存时间,现在改成用日期对象保存! 2020-03-16 14:09:43 +08:00
Kane Wang fa4f2fd956 ... 2020-03-16 10:52:17 +08:00
Kane Wang f5838d7bd1 ... 2020-03-15 23:51:42 +08:00
Kane Wang d42810605a ... 2020-03-15 21:10:04 +08:00
Kane Wang 6227880fdb 11111 2020-03-15 21:03:58 +08:00
Kane Wang dedb1e0b34 ... 2020-03-11 19:08:32 +08:00
Kane Wang a9dce57cf3 .... 2020-03-10 17:50:58 +08:00
Kane Wang 3d1ff9c9a9 ... 2020-03-09 17:56:01 +08:00
Kane Wang 41c802c70c ... 2020-03-07 22:53:50 +08:00
Kane Wang e8e2e18d0d ... 2020-03-07 20:01:16 +08:00
Kane Wang 2778431121 加入登录窗口 2020-03-06 11:43:58 +08:00
Kane Wang 06f18d2080 ... 2020-01-18 16:33:28 +08:00
Kane Wang 24ed0dedcc 改c 2020-01-18 11:10:53 +08:00
Kane Wang 067026ac95 ... 2020-01-18 09:22:54 +08:00
Kane Wang cd181674e9 ... 2019-12-29 15:03:09 +08:00
Kane Wang 99ad1a491d ... 2019-12-29 15:02:41 +08:00
Kane Wang 8a7ff68090 ... 2019-12-29 13:53:54 +08:00
Kane Wang cfbc7d40d5 ... 2019-12-28 13:14:15 +08:00
Kane Wang 83cbfdec72 ... 2019-12-28 10:26:35 +08:00
Kane Wang 3fad90b56c ... 2019-12-28 10:24:36 +08:00
Kane Wang ccd6a901a8 ... 2019-12-27 18:22:58 +08:00
Kane Wang 6ce14499cf ... 2019-12-27 17:04:44 +08:00
Kane Wang 4b825bf9a6 .... 2019-12-27 16:08:50 +08:00
Kane Wang 9d9426f1a8 ... 2019-12-26 17:06:41 +08:00
Kane Wang c08352b76c 。。。 2019-12-26 17:02:56 +08:00
Kane Wang aaec461d4a 增加获取当前登录用户名功能,增加送返修工单excel文件读取功能。 2019-12-26 16:32:40 +08:00
Kane Wang 330d2923b0 ... 2019-12-20 19:33:43 +08:00
Kane Wang ae8f9ec881 ... 2019-12-20 16:45:57 +08:00
Kane Wang 413c6c2f29 搞定车商方案表读取。 2019-12-19 17:10:29 +08:00
Kane Wang 57194b10ea 清理项目文件。 2019-12-19 11:25:01 +08:00
Kane Wang 2d1b9535cb 开始编写excel导入导出。 2019-12-18 18:04:20 +08:00
Kane Wang eb6bdf43a0 ... 2019-12-17 15:24:24 +08:00
Kane Wang 30115756b3 增加车商业绩表和车商方案表数据结构文件。 2019-12-17 11:39:38 +08:00
Kane Wang adbe7bc808 ... 2019-12-16 18:20:07 +08:00
Kane Wang 6c3dd101c6 建立送返修工单表! 2019-12-11 17:28:01 +08:00
Kane Wang d778d5a253 添加文档 2019-12-11 10:21:41 +08:00
Kane Wang 1a9bdfd203 更新抓取循环! 2019-12-10 23:06:07 +08:00
Kane Wang c142afe342 ... 2019-12-10 19:06:05 +08:00
Kane Wang 3254d7473a 补充文档 2019-12-10 18:00:53 +08:00
Kane Wang b681fc24d6 新建项目! 2019-12-10 17:54:37 +08:00
王炜 84ff952106 Initial commit 2019-12-10 17:52:25 +08:00
174 changed files with 49711 additions and 3 deletions

1
.gitignore vendored
View File

@ -794,3 +794,4 @@ fabric.properties
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
*.~*

View File

@ -1,3 +1,10 @@
# car_deal_util
车商渠道综合管理工具。
<!--
* @Author: Kane
* @Date: 2022-09-28 10:04:24
* @LastEditors: Kane
* @LastEditTime: 2022-09-28 10:06:04
* @FilePath: \undefinedd:\develop\cpicxim\car_dealer_util\README.md
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
-->

View File

@ -0,0 +1,218 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<Image Include="..\..\..\source\car_dealer_util.ico" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\source\car_dealer_util.rc" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\source\data\AppParameters\AppParameters.cpp" />
<ClCompile Include="..\..\..\source\Data\DataManipulation\Excel\ExportToExcel.cpp" />
<ClCompile Include="..\..\..\source\Data\DataManipulation\Excel\LoadFromExcel.cpp" />
<ClCompile Include="..\..\..\source\data\DataManipulation\FromExcelToOracle\FromExcelToOracle.cpp" />
<ClCompile Include="..\..\..\source\Data\DataManipulation\oracle\ImportToOracle.cpp" />
<ClCompile Include="..\..\..\source\Data\Datastructure\CarDealerAchievement\CarDealerAchievement.cpp" />
<ClCompile Include="..\..\..\source\Data\Datastructure\CarDealerScheme\CarDealerScheme.cpp" />
<ClCompile Include="..\..\..\source\Data\Datastructure\CarDealer\CarDealer.cpp" />
<ClCompile Include="..\..\..\source\Data\Datastructure\CarDealer\CarDealerMap.cpp" />
<ClCompile Include="..\..\..\source\data\Datastructure\RepairOrder\RepairOrder.cpp" />
<ClCompile Include="..\..\..\source\Data\Datastructure\RepairSuggestion\RepairRecommandationRecord.cpp" />
<ClCompile Include="..\..\..\source\data\Datastructure\UserInfo\UserInfo.cpp" />
<ClCompile Include="..\..\..\source\Data\Datastructure\新送返修监控报表\新送返修监控报表.cpp" />
<ClCompile Include="..\..\..\source\data\excel\excel.cpp" />
<ClCompile Include="..\..\..\source\data\query\query_user.cpp" />
<ClCompile Include="..\..\..\source\db\ocilib\db_oper.cpp" />
<ClCompile Include="..\..\..\source\main.cpp" />
<ClCompile Include="..\..\..\source\system\system_util.cpp" />
<ClCompile Include="..\..\..\source\test\test.cpp" />
<ClCompile Include="..\..\..\source\util\qt\qt_util.cpp" />
<ClCompile Include="..\..\..\source\Widgets\ContentWidget\parameters_management\QParametersManagementWidget\QParametersManagementWidget.cpp" />
<ClCompile Include="..\..\..\source\Widgets\ContentWidget\QCarDealerAchievementWidget\QCarDealerAchievementWidget.cpp" />
<ClCompile Include="..\..\..\source\Widgets\ContentWidget\QCarDealerSchemaWidget\QCarDealerSchemaWidget.cpp" />
<ClCompile Include="..\..\..\source\widgets\ContentWidget\QDataManagementWidget\QDataManagementWidget.cpp" />
<ClCompile Include="..\..\..\source\Widgets\ContentWidget\QNewRepairMonitorWidget\QNewRepairMonitorWidget.cpp" />
<ClCompile Include="..\..\..\source\Widgets\ContentWidget\QRepairOrderWidget\QRepairOrderWidget.cpp" />
<ClCompile Include="..\..\..\source\Widgets\ContentWidget\QRepairRecommendationWidget\QRepairRecommendationWidget.cpp" />
<ClCompile Include="..\..\..\source\widgets\LoginWidget\QLoginDialog.cpp" />
<ClCompile Include="..\..\..\source\Widgets\MainFrame\QMainFrame.cpp" />
</ItemGroup>
<ItemGroup>
<QtRcc Include="..\..\..\source\resource.qrc" />
</ItemGroup>
<ItemGroup>
<QtUic Include="..\..\..\source\Widgets\ContentWidget\parameters_management\QParametersManagementWidget\QParametersManagementWidget.ui" />
<QtUic Include="..\..\..\source\Widgets\ContentWidget\QCarDealerAchievementWidget\QCarDealerAchievementWidget.ui" />
<QtUic Include="..\..\..\source\Widgets\ContentWidget\QCarDealerSchemaWidget\QCarDealerSchemaWidget.ui" />
<QtUic Include="..\..\..\source\widgets\ContentWidget\QDataManagementWidget\QDataManagementWidget.ui" />
<QtUic Include="..\..\..\source\Widgets\ContentWidget\QNewRepairMonitorWidget\QNewRepairMonitorWidget.ui" />
<QtUic Include="..\..\..\source\Widgets\ContentWidget\QRepairOrderWidget\QRepairOrderWidget.ui" />
<QtUic Include="..\..\..\source\Widgets\ContentWidget\QRepairRecommendationWidget\QRepairRecommendationWidget.ui" />
<QtUic Include="..\..\..\source\widgets\LoginWidget\QLoginDialog.ui" />
<QtUic Include="..\..\..\source\Widgets\MainFrame\QMainFrame.ui" />
</ItemGroup>
<ItemGroup>
<QtMoc Include="..\..\..\source\Widgets\MainFrame\QMainFrame.h" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\source\data\AppParameters\AppParameters.h" />
<ClInclude Include="..\..\..\source\Data\DataManipulation\Excel\ExportToExcel.h" />
<ClInclude Include="..\..\..\source\Data\DataManipulation\Excel\LoadFromExcel.h" />
<ClInclude Include="..\..\..\source\data\DataManipulation\FromExcelToOracle\FromExcelToOracle.h" />
<ClInclude Include="..\..\..\source\Data\DataManipulation\oracle\ImportToOracle.h" />
<ClInclude Include="..\..\..\source\Data\Datastructure\CarDealerAchievement\CarDealerAchievement.h" />
<ClInclude Include="..\..\..\source\Data\Datastructure\CarDealerScheme\CarDealerScheme.h" />
<ClInclude Include="..\..\..\source\Data\Datastructure\CarDealer\CarDealer.h" />
<ClInclude Include="..\..\..\source\Data\Datastructure\CarDealer\CarDealerMap.h" />
<ClInclude Include="..\..\..\source\data\Datastructure\RepairOrder\RepairOrder.h" />
<ClInclude Include="..\..\..\source\Data\Datastructure\RepairSuggestion\RepairRecommandationRecord.h" />
<ClInclude Include="..\..\..\source\data\Datastructure\UserInfo\UserInfo.h" />
<ClInclude Include="..\..\..\source\Data\Datastructure\新送返修监控报表\新送返修监控报表.h" />
<ClInclude Include="..\..\..\source\data\excel\excel.h" />
<ClInclude Include="..\..\..\source\data\query\query_user.h" />
<ClInclude Include="..\..\..\source\db\ocilib\db_oper.h" />
<ClInclude Include="..\..\..\source\system\system_util.h" />
<ClInclude Include="..\..\..\source\test\test.h" />
<ClInclude Include="..\..\..\source\util\qt\111.h" />
<ClInclude Include="..\..\..\source\util\qt\qt_util.h" />
<QtMoc Include="..\..\..\source\Widgets\ContentWidget\parameters_management\QParametersManagementWidget\QParametersManagementWidget.h" />
<QtMoc Include="..\..\..\source\Widgets\ContentWidget\QNewRepairMonitorWidget\QNewRepairMonitorWidget.h" />
<QtMoc Include="..\..\..\source\Widgets\ContentWidget\QRepairRecommendationWidget\QRepairRecommendationWidget.h" />
<QtMoc Include="..\..\..\source\Widgets\ContentWidget\QCarDealerAchievementWidget\QCarDealerAchievementWidget.h" />
<QtMoc Include="..\..\..\source\Widgets\ContentWidget\QRepairOrderWidget\QRepairOrderWidget.h" />
<QtMoc Include="..\..\..\source\Widgets\ContentWidget\QCarDealerSchemaWidget\QCarDealerSchemaWidget.h" />
<QtMoc Include="..\..\..\source\widgets\ContentWidget\QDataManagementWidget\QDataManagementWidget.h" />
<QtMoc Include="..\..\..\source\widgets\LoginWidget\QLoginDialog.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{B12702AD-ABFB-343A-A199-8E24837244A3}</ProjectGuid>
<Keyword>QtVS_v303</Keyword>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<QtMsBuild Condition="'$(QtMsBuild)'=='' or !Exists('$(QtMsBuild)\qt.targets')">$(MSBuildProjectDirectory)\QtMsBuild</QtMsBuild>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Target Name="QtMsBuildNotFound" BeforeTargets="CustomBuild;ClCompile" Condition="!Exists('$(QtMsBuild)\qt.targets') or !Exists('$(QtMsBuild)\qt.props')">
<Message Importance="High" Text="QtMsBuild: could not locate qt.targets, qt.props; project may not build correctly." />
</Target>
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Label="Shared" />
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\..\..\..\..\..\sdk\cpp\libxl\libxl-3.8.5.0\libxl_3.8.5.0_x64.props" />
<Import Project="..\..\..\..\..\..\..\..\..\sdk\cpp\ocilib\4.6.3\ocilib_4.6.3_x64_vs2019_ansi.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="..\..\..\..\..\..\..\..\..\sdk\cpp\libxl\libxl-3.8.5.0\libxl_3.8.5.0_x64.props" />
<Import Project="..\..\..\..\..\..\..\..\..\sdk\cpp\ocilib\4.6.3\ocilib_4.6.3_x64_vs2019_ansi.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt_defaults.props')">
<Import Project="$(QtMsBuild)\qt_defaults.props" />
</ImportGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<SourcePath>.\source\;vs2019\car_dealer_util\source\;$(SourcePath)</SourcePath>
<IncludePath>vs2019\car_dealer_util\source\;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<SourcePath>.\source\;vs2019\car_dealer_util\source\;$(SourcePath)</SourcePath>
<IncludePath>vs2019\car_dealer_util\source\;$(IncludePath)</IncludePath>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<QtInstall>5.14.2_msvc2017_x64</QtInstall>
<QtModules>core;gui;widgets</QtModules>
</PropertyGroup>
<PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<QtInstall>5.14.2_msvc2017_x64</QtInstall>
<QtModules>core;gui;widgets</QtModules>
</PropertyGroup>
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.props')">
<Import Project="$(QtMsBuild)\qt.props" />
</ImportGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<QtMoc>
<PrependInclude>
</PrependInclude>
<QtMocDir>vs2019\car_dealer_util\source\%(RelativeDir)</QtMocDir>
</QtMoc>
<ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<Optimization>Disabled</Optimization>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>.\GeneratedFiles\$(ConfigurationName);.\GeneratedFiles;..\..\..\source\widgets\LoginWidget;..\..\..\source\widgets\ContentWidget\QDataManagementWidget;..\..\..\source\Widgets\ContentWidget\QCarDealerSchemaWidget;..\..\..\source\Widgets\ContentWidget\QCarDealerAchievementWidget;..\..\..\source\Widgets\ContentWidget\QRepairOrderWidget;.\;..\..\..\source\Widgets\ContentWidget\parameters_management\QParametersManagementWidget;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EntryPointSymbol>
</EntryPointSymbol>
</Link>
<QtRcc>
<QtRccDir>$(IntDir)\rcc\%(RelativeDir)</QtRccDir>
</QtRcc>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<QtMoc>
<PrependInclude>
</PrependInclude>
<QtMocDir>vs2019\car_dealer_util\source\%(RelativeDir)</QtMocDir>
</QtMoc>
<ClCompile>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<DebugInformationFormat />
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile>
<PrecompiledHeaderOutputFile>$(IntDir)$(TargetName).pch</PrecompiledHeaderOutputFile>
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
<AdditionalIncludeDirectories>.\GeneratedFiles\$(ConfigurationName);.\GeneratedFiles;..\..\..\source\widgets\LoginWidget;..\..\..\source\widgets\ContentWidget\QDataManagementWidget;..\..\..\source\Widgets\ContentWidget\QCarDealerSchemaWidget;..\..\..\source\Widgets\ContentWidget\QCarDealerAchievementWidget;..\..\..\source\Widgets\ContentWidget\QRepairOrderWidget;.\;..\..\..\source\Widgets\ContentWidget\parameters_management\QParametersManagementWidget;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<OutputFile>D:\应用\车商渠道\输出\$(ProjectName).exe</OutputFile>
<GenerateDebugInformation>false</GenerateDebugInformation>
<EntryPointSymbol>
</EntryPointSymbol>
</Link>
<QtRcc>
<QtRccDir>$(IntDir)\rcc\%(RelativeDir)</QtRccDir>
</QtRcc>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Condition="Exists('$(QtMsBuild)\qt.targets')">
<Import Project="$(QtMsBuild)\qt.targets" />
</ImportGroup>
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -0,0 +1,356 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
<Extensions>qrc;*</Extensions>
<ParseFiles>false</ParseFiles>
</Filter>
<Filter Include="Form Files">
<UniqueIdentifier>{99349809-55BA-4b9d-BF79-8FDBB0286EB3}</UniqueIdentifier>
<Extensions>ui</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
<Extensions>qrc;*</Extensions>
<ParseFiles>false</ParseFiles>
</Filter>
<Filter Include="窗口">
<UniqueIdentifier>{5c87e659-1421-43a0-a48d-42619f174fc9}</UniqueIdentifier>
</Filter>
<Filter Include="窗口\主窗口">
<UniqueIdentifier>{bcfdef90-7980-4f25-8c6b-e1b05ab76277}</UniqueIdentifier>
</Filter>
<Filter Include="数据">
<UniqueIdentifier>{fc082078-769c-4eb6-a822-e6879fd3a289}</UniqueIdentifier>
</Filter>
<Filter Include="数据\数据结构">
<UniqueIdentifier>{87f39309-91c4-4326-9ed1-7b5851f44ddd}</UniqueIdentifier>
</Filter>
<Filter Include="数据\数据结构\车商方案表">
<UniqueIdentifier>{ad4e7129-bd8d-4793-b7b0-ed3c754f1e8a}</UniqueIdentifier>
</Filter>
<Filter Include="数据\数据结构\车商业绩表">
<UniqueIdentifier>{2c961c49-9981-447f-901d-c449e261fada}</UniqueIdentifier>
</Filter>
<Filter Include="数据\数据管理">
<UniqueIdentifier>{3a2c4541-3486-4b47-9f4d-5aa7355190ed}</UniqueIdentifier>
</Filter>
<Filter Include="数据\数据管理\导入导出">
<UniqueIdentifier>{1aa1a23b-6239-4b36-98be-cd6497547504}</UniqueIdentifier>
</Filter>
<Filter Include="测试">
<UniqueIdentifier>{c6a0a5fd-26f9-4d8d-84a5-ce7edb04eb5f}</UniqueIdentifier>
</Filter>
<Filter Include="excel">
<UniqueIdentifier>{61d5dd61-6b1f-4507-bb22-4ce463ad5b85}</UniqueIdentifier>
</Filter>
<Filter Include="数据\数据结构\送返修工单">
<UniqueIdentifier>{985188c7-d233-46c8-bc1f-f7079c27bb2e}</UniqueIdentifier>
</Filter>
<Filter Include="操作系统">
<UniqueIdentifier>{fe56cbb8-cdae-4845-ba36-378341641817}</UniqueIdentifier>
</Filter>
<Filter Include="数据\数据管理\导入导出\excel">
<UniqueIdentifier>{849ef05c-ca3c-479b-ad38-3b9eae188820}</UniqueIdentifier>
</Filter>
<Filter Include="数据\数据管理\导入导出\oracle">
<UniqueIdentifier>{cfe6b511-cb09-441f-8496-69415615391a}</UniqueIdentifier>
</Filter>
<Filter Include="数据库">
<UniqueIdentifier>{6e142c33-b01c-4c8d-b8a4-beaaee863cee}</UniqueIdentifier>
</Filter>
<Filter Include="数据库\ocilib">
<UniqueIdentifier>{e5f3c3be-5fe7-471e-8dc7-d5889f5f87d9}</UniqueIdentifier>
</Filter>
<Filter Include="窗口\登录窗口">
<UniqueIdentifier>{4aafaac0-1c39-407d-9701-175ad2e441c2}</UniqueIdentifier>
</Filter>
<Filter Include="数据\查询">
<UniqueIdentifier>{ae2625d1-a2b0-48d2-8391-d8f42760e1ff}</UniqueIdentifier>
</Filter>
<Filter Include="数据\数据结构\用户信息">
<UniqueIdentifier>{f51a3f4d-ff6f-4590-b123-b61afde72f0a}</UniqueIdentifier>
</Filter>
<Filter Include="数据\全局对象">
<UniqueIdentifier>{7f951e1f-a198-4833-bbec-853de77c8cfe}</UniqueIdentifier>
</Filter>
<Filter Include="数据\数据管理\导入导出\直接导入导出">
<UniqueIdentifier>{ef490558-0c27-4a12-a626-583699d6a35f}</UniqueIdentifier>
</Filter>
<Filter Include="窗口\内容窗口">
<UniqueIdentifier>{c8f4e91d-d7b8-43e9-98c2-ba4d6336404f}</UniqueIdentifier>
</Filter>
<Filter Include="窗口\内容窗口\数据管理">
<UniqueIdentifier>{c84c9e39-55b1-4672-9565-1fbe35c349a9}</UniqueIdentifier>
</Filter>
<Filter Include="窗口\内容窗口\数据管理\车商方案表">
<UniqueIdentifier>{8590121c-3735-435c-bc37-248e931917d8}</UniqueIdentifier>
</Filter>
<Filter Include="窗口\内容窗口\数据管理\车商业绩表">
<UniqueIdentifier>{5951fafd-9da2-476a-8ef9-bd6825240e55}</UniqueIdentifier>
</Filter>
<Filter Include="数据\数据结构\送返修推荐表">
<UniqueIdentifier>{21e75150-0798-4087-8cc8-8bcad02c0694}</UniqueIdentifier>
</Filter>
<Filter Include="数据\数据结构\新送返修监控报表">
<UniqueIdentifier>{8d1f7b99-d4bb-406c-a9f3-1e0256517982}</UniqueIdentifier>
</Filter>
<Filter Include="窗口\内容窗口\数据管理\送返修工单表">
<UniqueIdentifier>{4f98736e-47b6-4cf8-b9e8-d9f18032e5d5}</UniqueIdentifier>
</Filter>
<Filter Include="窗口\内容窗口\数据管理\新送返修监控表">
<UniqueIdentifier>{59d4a644-9e59-4094-ad3f-875cd1afda21}</UniqueIdentifier>
</Filter>
<Filter Include="窗口\内容窗口\数据管理\卢霖城 - 送返修推荐表">
<UniqueIdentifier>{10df9eca-f59f-4326-aa5c-d925cd47da8d}</UniqueIdentifier>
</Filter>
<Filter Include="工具">
<UniqueIdentifier>{3510187f-abab-4e08-b5b5-0c094c4f4952}</UniqueIdentifier>
</Filter>
<Filter Include="工具\qt相关">
<UniqueIdentifier>{1145dd3a-e5a2-4742-8581-94299ac233c6}</UniqueIdentifier>
</Filter>
<Filter Include="数据\数据结构\车商">
<UniqueIdentifier>{45259765-7391-4bf0-80f8-f404fbda68f1}</UniqueIdentifier>
</Filter>
<Filter Include="窗口\内容窗口\参数管理">
<UniqueIdentifier>{4ee2330d-f9a1-47da-82a8-e56e41a0d77f}</UniqueIdentifier>
</Filter>
<Filter Include="窗口\内容窗口\参数管理\参数管理主窗口">
<UniqueIdentifier>{1e27ec48-de97-4220-8270-8c5b54bc453c}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\source\main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Widgets\MainFrame\QMainFrame.cpp">
<Filter>窗口\主窗口</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Data\Datastructure\CarDealerScheme\CarDealerScheme.cpp">
<Filter>数据\数据结构\车商方案表</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Data\Datastructure\CarDealerAchievement\CarDealerAchievement.cpp">
<Filter>数据\数据结构\车商业绩表</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Data\DataManipulation\Excel\ExportToExcel.cpp">
<Filter>数据\数据管理\导入导出\excel</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Data\DataManipulation\Excel\LoadFromExcel.cpp">
<Filter>数据\数据管理\导入导出\excel</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\test\test.cpp">
<Filter>测试</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\data\excel\excel.cpp">
<Filter>excel</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\data\Datastructure\RepairOrder\RepairOrder.cpp">
<Filter>数据\数据结构\送返修工单</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\system\system_util.cpp">
<Filter>操作系统</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Data\DataManipulation\oracle\ImportToOracle.cpp">
<Filter>数据\数据管理\导入导出\oracle</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\db\ocilib\db_oper.cpp">
<Filter>数据库\ocilib</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\widgets\LoginWidget\QLoginDialog.cpp">
<Filter>窗口\登录窗口</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\data\query\query_user.cpp">
<Filter>数据\查询</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\data\Datastructure\UserInfo\UserInfo.cpp">
<Filter>数据\数据结构\用户信息</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\data\AppParameters\AppParameters.cpp">
<Filter>数据\全局对象</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\data\DataManipulation\FromExcelToOracle\FromExcelToOracle.cpp">
<Filter>数据\数据管理\导入导出\直接导入导出</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\widgets\ContentWidget\QDataManagementWidget\QDataManagementWidget.cpp">
<Filter>窗口\内容窗口\数据管理</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Widgets\ContentWidget\QCarDealerSchemaWidget\QCarDealerSchemaWidget.cpp">
<Filter>窗口\内容窗口\数据管理\车商方案表</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Widgets\ContentWidget\QRepairOrderWidget\QRepairOrderWidget.cpp">
<Filter>窗口\内容窗口\数据管理\送返修工单表</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Widgets\ContentWidget\QCarDealerAchievementWidget\QCarDealerAchievementWidget.cpp">
<Filter>窗口\内容窗口\数据管理\车商业绩表</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Data\Datastructure\新送返修监控报表\新送返修监控报表.cpp">
<Filter>数据\数据结构\新送返修监控报表</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Widgets\ContentWidget\QRepairRecommendationWidget\QRepairRecommendationWidget.cpp">
<Filter>窗口\内容窗口\数据管理\卢霖城 - 送返修推荐表</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\util\qt\qt_util.cpp">
<Filter>工具\qt相关</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Data\Datastructure\CarDealer\CarDealer.cpp">
<Filter>数据\数据结构\车商</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Data\Datastructure\CarDealer\CarDealerMap.cpp">
<Filter>数据\数据结构\车商</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Data\Datastructure\RepairSuggestion\RepairRecommandationRecord.cpp">
<Filter>数据\数据结构\送返修推荐表</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Widgets\ContentWidget\QNewRepairMonitorWidget\QNewRepairMonitorWidget.cpp">
<Filter>窗口\内容窗口\数据管理\新送返修监控表</Filter>
</ClCompile>
<ClCompile Include="..\..\..\source\Widgets\ContentWidget\parameters_management\QParametersManagementWidget\QParametersManagementWidget.cpp">
<Filter>窗口\内容窗口\参数管理\参数管理主窗口</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<QtRcc Include="..\..\..\source\resource.qrc">
<Filter>Resource Files</Filter>
</QtRcc>
</ItemGroup>
<ItemGroup>
<QtUic Include="..\..\..\source\Widgets\MainFrame\QMainFrame.ui">
<Filter>窗口\主窗口</Filter>
</QtUic>
<QtUic Include="..\..\..\source\widgets\LoginWidget\QLoginDialog.ui">
<Filter>窗口\登录窗口</Filter>
</QtUic>
<QtUic Include="..\..\..\source\widgets\ContentWidget\QDataManagementWidget\QDataManagementWidget.ui">
<Filter>窗口\内容窗口\数据管理</Filter>
</QtUic>
<QtUic Include="..\..\..\source\Widgets\ContentWidget\QCarDealerSchemaWidget\QCarDealerSchemaWidget.ui">
<Filter>窗口\内容窗口\数据管理\车商方案表</Filter>
</QtUic>
<QtUic Include="..\..\..\source\Widgets\ContentWidget\QRepairOrderWidget\QRepairOrderWidget.ui">
<Filter>窗口\内容窗口\数据管理\送返修工单表</Filter>
</QtUic>
<QtUic Include="..\..\..\source\Widgets\ContentWidget\QCarDealerAchievementWidget\QCarDealerAchievementWidget.ui">
<Filter>窗口\内容窗口\数据管理\车商业绩表</Filter>
</QtUic>
<QtUic Include="..\..\..\source\Widgets\ContentWidget\QRepairRecommendationWidget\QRepairRecommendationWidget.ui">
<Filter>窗口\内容窗口\数据管理\卢霖城 - 送返修推荐表</Filter>
</QtUic>
<QtUic Include="..\..\..\source\Widgets\ContentWidget\QNewRepairMonitorWidget\QNewRepairMonitorWidget.ui">
<Filter>窗口\内容窗口\数据管理\新送返修监控表</Filter>
</QtUic>
<QtUic Include="..\..\..\source\Widgets\ContentWidget\parameters_management\QParametersManagementWidget\QParametersManagementWidget.ui">
<Filter>窗口\内容窗口\参数管理\参数管理主窗口</Filter>
</QtUic>
</ItemGroup>
<ItemGroup>
<QtMoc Include="..\..\..\source\Widgets\MainFrame\QMainFrame.h">
<Filter>窗口\主窗口</Filter>
</QtMoc>
<QtMoc Include="..\..\..\source\widgets\LoginWidget\QLoginDialog.h">
<Filter>窗口\登录窗口</Filter>
</QtMoc>
<QtMoc Include="..\..\..\source\widgets\ContentWidget\QDataManagementWidget\QDataManagementWidget.h">
<Filter>窗口\内容窗口\数据管理</Filter>
</QtMoc>
<QtMoc Include="..\..\..\source\Widgets\ContentWidget\QCarDealerSchemaWidget\QCarDealerSchemaWidget.h">
<Filter>窗口\内容窗口\数据管理\车商方案表</Filter>
</QtMoc>
<QtMoc Include="..\..\..\source\Widgets\ContentWidget\QRepairOrderWidget\QRepairOrderWidget.h">
<Filter>窗口\内容窗口\数据管理\送返修工单表</Filter>
</QtMoc>
<QtMoc Include="..\..\..\source\Widgets\ContentWidget\QCarDealerAchievementWidget\QCarDealerAchievementWidget.h">
<Filter>窗口\内容窗口\数据管理\车商业绩表</Filter>
</QtMoc>
<QtMoc Include="..\..\..\source\Widgets\ContentWidget\QRepairRecommendationWidget\QRepairRecommendationWidget.h">
<Filter>窗口\内容窗口\数据管理\卢霖城 - 送返修推荐表</Filter>
</QtMoc>
<QtMoc Include="..\..\..\source\Widgets\ContentWidget\QNewRepairMonitorWidget\QNewRepairMonitorWidget.h">
<Filter>窗口\内容窗口\数据管理\新送返修监控表</Filter>
</QtMoc>
<QtMoc Include="..\..\..\source\Widgets\ContentWidget\parameters_management\QParametersManagementWidget\QParametersManagementWidget.h">
<Filter>窗口\内容窗口\参数管理\参数管理主窗口</Filter>
</QtMoc>
</ItemGroup>
<ItemGroup>
<Image Include="..\..\..\source\car_dealer_util.ico">
<Filter>Resource Files</Filter>
</Image>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\..\source\car_dealer_util.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\source\Data\Datastructure\CarDealerScheme\CarDealerScheme.h">
<Filter>数据\数据结构\车商方案表</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\Data\Datastructure\CarDealerAchievement\CarDealerAchievement.h">
<Filter>数据\数据结构\车商业绩表</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\Data\DataManipulation\Excel\ExportToExcel.h">
<Filter>数据\数据管理\导入导出\excel</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\Data\DataManipulation\Excel\LoadFromExcel.h">
<Filter>数据\数据管理\导入导出\excel</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\test\test.h">
<Filter>测试</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\data\excel\excel.h">
<Filter>excel</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\data\Datastructure\RepairOrder\RepairOrder.h">
<Filter>数据\数据结构\送返修工单</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\system\system_util.h">
<Filter>操作系统</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\Data\DataManipulation\oracle\ImportToOracle.h">
<Filter>数据\数据管理\导入导出\oracle</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\db\ocilib\db_oper.h">
<Filter>数据库\ocilib</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\data\query\query_user.h">
<Filter>数据\查询</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\data\Datastructure\UserInfo\UserInfo.h">
<Filter>数据\数据结构\用户信息</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\data\AppParameters\AppParameters.h">
<Filter>数据\全局对象</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\data\DataManipulation\FromExcelToOracle\FromExcelToOracle.h">
<Filter>数据\数据管理\导入导出\直接导入导出</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\Data\Datastructure\新送返修监控报表\新送返修监控报表.h">
<Filter>数据\数据结构\新送返修监控报表</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\util\qt\qt_util.h">
<Filter>工具\qt相关</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\util\qt\111.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\Data\Datastructure\CarDealer\CarDealer.h">
<Filter>数据\数据结构\车商</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\Data\Datastructure\CarDealer\CarDealerMap.h">
<Filter>数据\数据结构\车商</Filter>
</ClInclude>
<ClInclude Include="..\..\..\source\Data\Datastructure\RepairSuggestion\RepairRecommandationRecord.h">
<Filter>数据\数据结构\送返修推荐表</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

View File

@ -0,0 +1,124 @@
/****************************************************************************
** Meta object code from reading C++ file 'QCarDealerAchievementWidget.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.14.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "D:/develop/projects_win/2019/car_dealer_util/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QCarDealerAchievementWidget/QCarDealerAchievementWidget.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'QCarDealerAchievementWidget.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.14.2. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_QCarDealerAchievementWidget_t {
QByteArrayData data[4];
char stringdata0[63];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_QCarDealerAchievementWidget_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_QCarDealerAchievementWidget_t qt_meta_stringdata_QCarDealerAchievementWidget = {
{
QT_MOC_LITERAL(0, 0, 27), // "QCarDealerAchievementWidget"
QT_MOC_LITERAL(1, 28, 8), // "onImport"
QT_MOC_LITERAL(2, 37, 0), // ""
QT_MOC_LITERAL(3, 38, 24) // "showCarDealerAchievement"
},
"QCarDealerAchievementWidget\0onImport\0"
"\0showCarDealerAchievement"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_QCarDealerAchievementWidget[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
2, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 0, 24, 2, 0x09 /* Protected */,
3, 0, 25, 2, 0x09 /* Protected */,
// slots: parameters
QMetaType::Void,
QMetaType::Void,
0 // eod
};
void QCarDealerAchievementWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<QCarDealerAchievementWidget *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->onImport(); break;
case 1: _t->showCarDealerAchievement(); break;
default: ;
}
}
Q_UNUSED(_a);
}
QT_INIT_METAOBJECT const QMetaObject QCarDealerAchievementWidget::staticMetaObject = { {
QMetaObject::SuperData::link<QWidget::staticMetaObject>(),
qt_meta_stringdata_QCarDealerAchievementWidget.data,
qt_meta_data_QCarDealerAchievementWidget,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *QCarDealerAchievementWidget::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *QCarDealerAchievementWidget::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_QCarDealerAchievementWidget.stringdata0))
return static_cast<void*>(this);
return QWidget::qt_metacast(_clname);
}
int QCarDealerAchievementWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QWidget::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 2)
qt_static_metacall(this, _c, _id, _a);
_id -= 2;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 2)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 2;
}
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

View File

@ -0,0 +1,46 @@
/********************************************************************************
** Form generated from reading UI file 'QCarDealerAchievementWidget.ui'
**
** Created by: Qt User Interface Compiler version 5.13.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_QCARDEALERACHIEVEMENTWIDGET_H
#define UI_QCARDEALERACHIEVEMENTWIDGET_H
#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_QCarDealerAchievementWidget
{
public:
void setupUi(QWidget *QCarDealerAchievementWidget)
{
if (QCarDealerAchievementWidget->objectName().isEmpty())
QCarDealerAchievementWidget->setObjectName(QString::fromUtf8("QCarDealerAchievementWidget"));
QCarDealerAchievementWidget->resize(400, 300);
retranslateUi(QCarDealerAchievementWidget);
QMetaObject::connectSlotsByName(QCarDealerAchievementWidget);
} // setupUi
void retranslateUi(QWidget *QCarDealerAchievementWidget)
{
QCarDealerAchievementWidget->setWindowTitle(QCoreApplication::translate("QCarDealerAchievementWidget", "QCarDealerAchievementWidget", nullptr));
} // retranslateUi
};
namespace Ui {
class QCarDealerAchievementWidget: public Ui_QCarDealerAchievementWidget {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_QCARDEALERACHIEVEMENTWIDGET_H

View File

@ -0,0 +1,119 @@
/****************************************************************************
** Meta object code from reading C++ file 'QCarDealerSchemaWidget.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.14.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../../../../../../../source/Widgets/ContentWidget/QCarDealerSchemaWidget/QCarDealerSchemaWidget.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'QCarDealerSchemaWidget.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.14.2. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_QCarDealerSchemaWidget_t {
QByteArrayData data[3];
char stringdata0[33];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_QCarDealerSchemaWidget_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_QCarDealerSchemaWidget_t qt_meta_stringdata_QCarDealerSchemaWidget = {
{
QT_MOC_LITERAL(0, 0, 22), // "QCarDealerSchemaWidget"
QT_MOC_LITERAL(1, 23, 8), // "onImport"
QT_MOC_LITERAL(2, 32, 0) // ""
},
"QCarDealerSchemaWidget\0onImport\0"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_QCarDealerSchemaWidget[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
1, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 0, 19, 2, 0x09 /* Protected */,
// slots: parameters
QMetaType::Void,
0 // eod
};
void QCarDealerSchemaWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<QCarDealerSchemaWidget *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->onImport(); break;
default: ;
}
}
Q_UNUSED(_a);
}
QT_INIT_METAOBJECT const QMetaObject QCarDealerSchemaWidget::staticMetaObject = { {
QMetaObject::SuperData::link<QWidget::staticMetaObject>(),
qt_meta_stringdata_QCarDealerSchemaWidget.data,
qt_meta_data_QCarDealerSchemaWidget,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *QCarDealerSchemaWidget::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *QCarDealerSchemaWidget::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_QCarDealerSchemaWidget.stringdata0))
return static_cast<void*>(this);
return QWidget::qt_metacast(_clname);
}
int QCarDealerSchemaWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QWidget::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 1)
qt_static_metacall(this, _c, _id, _a);
_id -= 1;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 1)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 1;
}
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

View File

@ -0,0 +1,46 @@
/********************************************************************************
** Form generated from reading UI file 'QCarDealerSchemaWidget.ui'
**
** Created by: Qt User Interface Compiler version 5.13.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_QCARDEALERSCHEMAWIDGET_H
#define UI_QCARDEALERSCHEMAWIDGET_H
#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_QCarDealerSchemaWidget
{
public:
void setupUi(QWidget *QCarDealerSchemaWidget)
{
if (QCarDealerSchemaWidget->objectName().isEmpty())
QCarDealerSchemaWidget->setObjectName(QString::fromUtf8("QCarDealerSchemaWidget"));
QCarDealerSchemaWidget->resize(725, 508);
retranslateUi(QCarDealerSchemaWidget);
QMetaObject::connectSlotsByName(QCarDealerSchemaWidget);
} // setupUi
void retranslateUi(QWidget *QCarDealerSchemaWidget)
{
QCarDealerSchemaWidget->setWindowTitle(QCoreApplication::translate("QCarDealerSchemaWidget", "QCarDealerSchemaWidget", nullptr));
} // retranslateUi
};
namespace Ui {
class QCarDealerSchemaWidget: public Ui_QCarDealerSchemaWidget {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_QCARDEALERSCHEMAWIDGET_H

View File

@ -0,0 +1,95 @@
/****************************************************************************
** Meta object code from reading C++ file 'QDataManagementWidget.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.14.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../../../../../../../source/widgets/ContentWidget/QDataManagementWidget/QDataManagementWidget.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'QDataManagementWidget.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.14.2. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_QDataManagementWidget_t {
QByteArrayData data[1];
char stringdata0[22];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_QDataManagementWidget_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_QDataManagementWidget_t qt_meta_stringdata_QDataManagementWidget = {
{
QT_MOC_LITERAL(0, 0, 21) // "QDataManagementWidget"
},
"QDataManagementWidget"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_QDataManagementWidget[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
0 // eod
};
void QDataManagementWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
}
QT_INIT_METAOBJECT const QMetaObject QDataManagementWidget::staticMetaObject = { {
QMetaObject::SuperData::link<QWidget::staticMetaObject>(),
qt_meta_stringdata_QDataManagementWidget.data,
qt_meta_data_QDataManagementWidget,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *QDataManagementWidget::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *QDataManagementWidget::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_QDataManagementWidget.stringdata0))
return static_cast<void*>(this);
return QWidget::qt_metacast(_clname);
}
int QDataManagementWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QWidget::qt_metacall(_c, _id, _a);
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

View File

@ -0,0 +1,87 @@
/********************************************************************************
** Form generated from reading UI file 'QDataManagementWidget.ui'
**
** Created by: Qt User Interface Compiler version 5.13.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_QDATAMANAGEMENTWIDGET_H
#define UI_QDATAMANAGEMENTWIDGET_H
#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QTabWidget>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_QDataManagementWidget
{
public:
QWidget *gridLayoutWidget;
QGridLayout *pLayoutMain;
QTabWidget *tabWidget;
QWidget *tab;
QWidget *tab_2;
QWidget *tab_3;
QWidget *tab_4;
void setupUi(QWidget *QDataManagementWidget)
{
if (QDataManagementWidget->objectName().isEmpty())
QDataManagementWidget->setObjectName(QString::fromUtf8("QDataManagementWidget"));
QDataManagementWidget->resize(759, 487);
gridLayoutWidget = new QWidget(QDataManagementWidget);
gridLayoutWidget->setObjectName(QString::fromUtf8("gridLayoutWidget"));
gridLayoutWidget->setGeometry(QRect(30, 20, 681, 431));
pLayoutMain = new QGridLayout(gridLayoutWidget);
pLayoutMain->setSpacing(6);
pLayoutMain->setContentsMargins(11, 11, 11, 11);
pLayoutMain->setObjectName(QString::fromUtf8("pLayoutMain"));
pLayoutMain->setContentsMargins(5, 5, 5, 0);
tabWidget = new QTabWidget(gridLayoutWidget);
tabWidget->setObjectName(QString::fromUtf8("tabWidget"));
tab = new QWidget();
tab->setObjectName(QString::fromUtf8("tab"));
tabWidget->addTab(tab, QString());
tab_2 = new QWidget();
tab_2->setObjectName(QString::fromUtf8("tab_2"));
tabWidget->addTab(tab_2, QString());
tab_3 = new QWidget();
tab_3->setObjectName(QString::fromUtf8("tab_3"));
tabWidget->addTab(tab_3, QString());
tab_4 = new QWidget();
tab_4->setObjectName(QString::fromUtf8("tab_4"));
tabWidget->addTab(tab_4, QString());
pLayoutMain->addWidget(tabWidget, 0, 0, 1, 1);
retranslateUi(QDataManagementWidget);
tabWidget->setCurrentIndex(3);
QMetaObject::connectSlotsByName(QDataManagementWidget);
} // setupUi
void retranslateUi(QWidget *QDataManagementWidget)
{
QDataManagementWidget->setWindowTitle(QCoreApplication::translate("QDataManagementWidget", "QDataManagementWidget", nullptr));
tabWidget->setTabText(tabWidget->indexOf(tab), QCoreApplication::translate("QDataManagementWidget", "\350\275\246\345\225\206\344\270\232\347\273\251\350\241\250", nullptr));
tabWidget->setTabText(tabWidget->indexOf(tab_2), QCoreApplication::translate("QDataManagementWidget", "\350\275\246\345\225\206\346\226\271\346\241\210\350\241\250", nullptr));
tabWidget->setTabText(tabWidget->indexOf(tab_3), QCoreApplication::translate("QDataManagementWidget", "\351\200\201\350\277\224\344\277\256\345\267\245\345\215\225", nullptr));
tabWidget->setTabText(tabWidget->indexOf(tab_4), QCoreApplication::translate("QDataManagementWidget", "\346\226\260\351\200\201\350\277\224\344\277\256\347\233\221\346\216\247\346\212\245\350\241\250", nullptr));
} // retranslateUi
};
namespace Ui {
class QDataManagementWidget: public Ui_QDataManagementWidget {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_QDATAMANAGEMENTWIDGET_H

View File

@ -0,0 +1,119 @@
/****************************************************************************
** Meta object code from reading C++ file 'QNewRepairMonitorWidget.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.14.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../../../../../../../source/Widgets/ContentWidget/QNewRepairMonitorWidget/QNewRepairMonitorWidget.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'QNewRepairMonitorWidget.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.14.2. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_QNewRepairMonitorWidget_t {
QByteArrayData data[3];
char stringdata0[34];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_QNewRepairMonitorWidget_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_QNewRepairMonitorWidget_t qt_meta_stringdata_QNewRepairMonitorWidget = {
{
QT_MOC_LITERAL(0, 0, 23), // "QNewRepairMonitorWidget"
QT_MOC_LITERAL(1, 24, 8), // "onImport"
QT_MOC_LITERAL(2, 33, 0) // ""
},
"QNewRepairMonitorWidget\0onImport\0"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_QNewRepairMonitorWidget[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
1, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 0, 19, 2, 0x09 /* Protected */,
// slots: parameters
QMetaType::Void,
0 // eod
};
void QNewRepairMonitorWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<QNewRepairMonitorWidget *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->onImport(); break;
default: ;
}
}
Q_UNUSED(_a);
}
QT_INIT_METAOBJECT const QMetaObject QNewRepairMonitorWidget::staticMetaObject = { {
QMetaObject::SuperData::link<QWidget::staticMetaObject>(),
qt_meta_stringdata_QNewRepairMonitorWidget.data,
qt_meta_data_QNewRepairMonitorWidget,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *QNewRepairMonitorWidget::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *QNewRepairMonitorWidget::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_QNewRepairMonitorWidget.stringdata0))
return static_cast<void*>(this);
return QWidget::qt_metacast(_clname);
}
int QNewRepairMonitorWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QWidget::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 1)
qt_static_metacall(this, _c, _id, _a);
_id -= 1;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 1)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 1;
}
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

View File

@ -0,0 +1,119 @@
/****************************************************************************
** Meta object code from reading C++ file 'QRepairOrderWidget.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.14.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../../../../../../../source/Widgets/ContentWidget/QRepairOrderWidget/QRepairOrderWidget.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'QRepairOrderWidget.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.14.2. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_QRepairOrderWidget_t {
QByteArrayData data[3];
char stringdata0[29];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_QRepairOrderWidget_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_QRepairOrderWidget_t qt_meta_stringdata_QRepairOrderWidget = {
{
QT_MOC_LITERAL(0, 0, 18), // "QRepairOrderWidget"
QT_MOC_LITERAL(1, 19, 8), // "onImport"
QT_MOC_LITERAL(2, 28, 0) // ""
},
"QRepairOrderWidget\0onImport\0"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_QRepairOrderWidget[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
1, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 0, 19, 2, 0x09 /* Protected */,
// slots: parameters
QMetaType::Void,
0 // eod
};
void QRepairOrderWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<QRepairOrderWidget *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->onImport(); break;
default: ;
}
}
Q_UNUSED(_a);
}
QT_INIT_METAOBJECT const QMetaObject QRepairOrderWidget::staticMetaObject = { {
QMetaObject::SuperData::link<QWidget::staticMetaObject>(),
qt_meta_stringdata_QRepairOrderWidget.data,
qt_meta_data_QRepairOrderWidget,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *QRepairOrderWidget::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *QRepairOrderWidget::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_QRepairOrderWidget.stringdata0))
return static_cast<void*>(this);
return QWidget::qt_metacast(_clname);
}
int QRepairOrderWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QWidget::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 1)
qt_static_metacall(this, _c, _id, _a);
_id -= 1;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 1)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 1;
}
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

View File

@ -0,0 +1,46 @@
/********************************************************************************
** Form generated from reading UI file 'QRepairOrderWidget.ui'
**
** Created by: Qt User Interface Compiler version 5.13.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_QREPAIRORDERWIDGET_H
#define UI_QREPAIRORDERWIDGET_H
#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_QRepairOrderWidget
{
public:
void setupUi(QWidget *QRepairOrderWidget)
{
if (QRepairOrderWidget->objectName().isEmpty())
QRepairOrderWidget->setObjectName(QString::fromUtf8("QRepairOrderWidget"));
QRepairOrderWidget->resize(400, 300);
retranslateUi(QRepairOrderWidget);
QMetaObject::connectSlotsByName(QRepairOrderWidget);
} // setupUi
void retranslateUi(QWidget *QRepairOrderWidget)
{
QRepairOrderWidget->setWindowTitle(QCoreApplication::translate("QRepairOrderWidget", "QRepairOrderWidget", nullptr));
} // retranslateUi
};
namespace Ui {
class QRepairOrderWidget: public Ui_QRepairOrderWidget {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_QREPAIRORDERWIDGET_H

View File

@ -0,0 +1,120 @@
/****************************************************************************
** Meta object code from reading C++ file 'QRepairRecommendationWidget.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.14.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "D:/develop/projects_win/2019/car_dealer_util/code/cpp/car_dealer_util/source/Widgets/ContentWidget/QRepairRecommendationWidget/QRepairRecommendationWidget.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'QRepairRecommendationWidget.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.14.2. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_QRepairRecommendationWidget_t {
QByteArrayData data[3];
char stringdata0[38];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_QRepairRecommendationWidget_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_QRepairRecommendationWidget_t qt_meta_stringdata_QRepairRecommendationWidget = {
{
QT_MOC_LITERAL(0, 0, 27), // "QRepairRecommendationWidget"
QT_MOC_LITERAL(1, 28, 8), // "onImport"
QT_MOC_LITERAL(2, 37, 0) // ""
},
"QRepairRecommendationWidget\0onImport\0"
""
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_QRepairRecommendationWidget[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
1, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 0, 19, 2, 0x09 /* Protected */,
// slots: parameters
QMetaType::Void,
0 // eod
};
void QRepairRecommendationWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<QRepairRecommendationWidget *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->onImport(); break;
default: ;
}
}
Q_UNUSED(_a);
}
QT_INIT_METAOBJECT const QMetaObject QRepairRecommendationWidget::staticMetaObject = { {
QMetaObject::SuperData::link<QWidget::staticMetaObject>(),
qt_meta_stringdata_QRepairRecommendationWidget.data,
qt_meta_data_QRepairRecommendationWidget,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *QRepairRecommendationWidget::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *QRepairRecommendationWidget::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_QRepairRecommendationWidget.stringdata0))
return static_cast<void*>(this);
return QWidget::qt_metacast(_clname);
}
int QRepairRecommendationWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QWidget::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 1)
qt_static_metacall(this, _c, _id, _a);
_id -= 1;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 1)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 1;
}
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

View File

@ -0,0 +1,95 @@
/****************************************************************************
** Meta object code from reading C++ file 'QParametersManagementWidget.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.14.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "D:/develop/projects_win/2019/car_dealer_util/code/cpp/car_dealer_util/source/Widgets/ContentWidget/parameters_management/QParametersManagementWidget/QParametersManagementWidget.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'QParametersManagementWidget.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.14.2. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_QParametersManagementWidget_t {
QByteArrayData data[1];
char stringdata0[28];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_QParametersManagementWidget_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_QParametersManagementWidget_t qt_meta_stringdata_QParametersManagementWidget = {
{
QT_MOC_LITERAL(0, 0, 27) // "QParametersManagementWidget"
},
"QParametersManagementWidget"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_QParametersManagementWidget[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
0, 0, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
0 // eod
};
void QParametersManagementWidget::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
Q_UNUSED(_o);
Q_UNUSED(_id);
Q_UNUSED(_c);
Q_UNUSED(_a);
}
QT_INIT_METAOBJECT const QMetaObject QParametersManagementWidget::staticMetaObject = { {
QMetaObject::SuperData::link<QWidget::staticMetaObject>(),
qt_meta_stringdata_QParametersManagementWidget.data,
qt_meta_data_QParametersManagementWidget,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *QParametersManagementWidget::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *QParametersManagementWidget::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_QParametersManagementWidget.stringdata0))
return static_cast<void*>(this);
return QWidget::qt_metacast(_clname);
}
int QParametersManagementWidget::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QWidget::qt_metacall(_c, _id, _a);
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

View File

@ -0,0 +1,140 @@
/****************************************************************************
** Meta object code from reading C++ file 'QLoginDialog.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.14.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../../../../../../source/widgets/LoginWidget/QLoginDialog.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'QLoginDialog.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.14.2. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_QLoginDialog_t {
QByteArrayData data[8];
char stringdata0[63];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_QLoginDialog_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_QLoginDialog_t qt_meta_stringdata_QLoginDialog = {
{
QT_MOC_LITERAL(0, 0, 12), // "QLoginDialog"
QT_MOC_LITERAL(1, 13, 4), // "init"
QT_MOC_LITERAL(2, 18, 0), // ""
QT_MOC_LITERAL(3, 19, 8), // "initData"
QT_MOC_LITERAL(4, 28, 10), // "initSignal"
QT_MOC_LITERAL(5, 39, 11), // "initWidgets"
QT_MOC_LITERAL(6, 51, 4), // "onOK"
QT_MOC_LITERAL(7, 56, 6) // "onExit"
},
"QLoginDialog\0init\0\0initData\0initSignal\0"
"initWidgets\0onOK\0onExit"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_QLoginDialog[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
6, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 0, 44, 2, 0x09 /* Protected */,
3, 0, 45, 2, 0x09 /* Protected */,
4, 0, 46, 2, 0x09 /* Protected */,
5, 0, 47, 2, 0x09 /* Protected */,
6, 0, 48, 2, 0x09 /* Protected */,
7, 0, 49, 2, 0x09 /* Protected */,
// slots: parameters
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
QMetaType::Void,
0 // eod
};
void QLoginDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<QLoginDialog *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->init(); break;
case 1: _t->initData(); break;
case 2: _t->initSignal(); break;
case 3: _t->initWidgets(); break;
case 4: _t->onOK(); break;
case 5: _t->onExit(); break;
default: ;
}
}
Q_UNUSED(_a);
}
QT_INIT_METAOBJECT const QMetaObject QLoginDialog::staticMetaObject = { {
QMetaObject::SuperData::link<QDialog::staticMetaObject>(),
qt_meta_stringdata_QLoginDialog.data,
qt_meta_data_QLoginDialog,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *QLoginDialog::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *QLoginDialog::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_QLoginDialog.stringdata0))
return static_cast<void*>(this);
return QDialog::qt_metacast(_clname);
}
int QLoginDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QDialog::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 6)
qt_static_metacall(this, _c, _id, _a);
_id -= 6;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 6)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 6;
}
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

View File

@ -0,0 +1,197 @@
/********************************************************************************
** Form generated from reading UI file 'QLoginDialog.ui'
**
** Created by: Qt User Interface Compiler version 5.13.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_QLOGINDIALOG_H
#define UI_QLOGINDIALOG_H
#include <QtCore/QVariant>
#include <QtGui/QIcon>
#include <QtWidgets/QApplication>
#include <QtWidgets/QDialog>
#include <QtWidgets/QGridLayout>
#include <QtWidgets/QGroupBox>
#include <QtWidgets/QHBoxLayout>
#include <QtWidgets/QLabel>
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QSpacerItem>
#include <QtWidgets/QToolButton>
#include <QtWidgets/QVBoxLayout>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_QLoginDialog
{
public:
QWidget *layoutWidget;
QVBoxLayout *pLayoutMain;
QHBoxLayout *horizontalLayout;
QLabel *label;
QGroupBox *groupBox;
QGridLayout *gridLayout;
QLabel *label_2;
QLineEdit *pEditSystemUserName;
QLabel *label_3;
QLineEdit *pEditUserName;
QLabel *label_4;
QLineEdit *pEditStaffPost;
QHBoxLayout *horizontalLayout_2;
QSpacerItem *horizontalSpacer;
QToolButton *pButtonExit;
QToolButton *pButtonOK;
void setupUi(QDialog *QLoginDialog)
{
if (QLoginDialog->objectName().isEmpty())
QLoginDialog->setObjectName(QString::fromUtf8("QLoginDialog"));
QLoginDialog->resize(350, 160);
QLoginDialog->setMinimumSize(QSize(350, 160));
QLoginDialog->setMaximumSize(QSize(350, 160));
QIcon icon;
icon.addFile(QString::fromUtf8(":/QMainFrame/Resources/CPIC\351\200\217\346\230\216.png"), QSize(), QIcon::Normal, QIcon::On);
QLoginDialog->setWindowIcon(icon);
layoutWidget = new QWidget(QLoginDialog);
layoutWidget->setObjectName(QString::fromUtf8("layoutWidget"));
layoutWidget->setGeometry(QRect(0, 0, 349, 158));
pLayoutMain = new QVBoxLayout(layoutWidget);
pLayoutMain->setSpacing(6);
pLayoutMain->setContentsMargins(11, 11, 11, 11);
pLayoutMain->setObjectName(QString::fromUtf8("pLayoutMain"));
pLayoutMain->setContentsMargins(5, 5, 5, 5);
horizontalLayout = new QHBoxLayout();
horizontalLayout->setSpacing(6);
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
label = new QLabel(layoutWidget);
label->setObjectName(QString::fromUtf8("label"));
label->setPixmap(QPixmap(QString::fromUtf8(":/QMainFrame/Resources/cat.png")));
horizontalLayout->addWidget(label);
groupBox = new QGroupBox(layoutWidget);
groupBox->setObjectName(QString::fromUtf8("groupBox"));
gridLayout = new QGridLayout(groupBox);
gridLayout->setSpacing(6);
gridLayout->setContentsMargins(11, 11, 11, 11);
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
label_2 = new QLabel(groupBox);
label_2->setObjectName(QString::fromUtf8("label_2"));
label_2->setMinimumSize(QSize(85, 0));
label_2->setMaximumSize(QSize(85, 16777215));
label_2->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
gridLayout->addWidget(label_2, 0, 0, 1, 1);
pEditSystemUserName = new QLineEdit(groupBox);
pEditSystemUserName->setObjectName(QString::fromUtf8("pEditSystemUserName"));
pEditSystemUserName->setMinimumSize(QSize(120, 0));
pEditSystemUserName->setMaximumSize(QSize(120, 16777215));
pEditSystemUserName->setStyleSheet(QString::fromUtf8("border: 1px solid silver;"));
pEditSystemUserName->setAlignment(Qt::AlignCenter);
pEditSystemUserName->setReadOnly(true);
gridLayout->addWidget(pEditSystemUserName, 0, 1, 1, 1);
label_3 = new QLabel(groupBox);
label_3->setObjectName(QString::fromUtf8("label_3"));
label_3->setMinimumSize(QSize(85, 0));
label_3->setMaximumSize(QSize(85, 16777215));
label_3->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
gridLayout->addWidget(label_3, 1, 0, 1, 1);
pEditUserName = new QLineEdit(groupBox);
pEditUserName->setObjectName(QString::fromUtf8("pEditUserName"));
pEditUserName->setMinimumSize(QSize(120, 0));
pEditUserName->setMaximumSize(QSize(120, 16777215));
pEditUserName->setStyleSheet(QString::fromUtf8("border: 1px solid silver;"));
pEditUserName->setAlignment(Qt::AlignCenter);
pEditUserName->setReadOnly(true);
gridLayout->addWidget(pEditUserName, 1, 1, 1, 1);
label_4 = new QLabel(groupBox);
label_4->setObjectName(QString::fromUtf8("label_4"));
label_4->setMinimumSize(QSize(85, 0));
label_4->setMaximumSize(QSize(85, 16777215));
label_4->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
gridLayout->addWidget(label_4, 2, 0, 1, 1);
pEditStaffPost = new QLineEdit(groupBox);
pEditStaffPost->setObjectName(QString::fromUtf8("pEditStaffPost"));
pEditStaffPost->setMinimumSize(QSize(120, 0));
pEditStaffPost->setMaximumSize(QSize(120, 16777215));
pEditStaffPost->setStyleSheet(QString::fromUtf8("border: 1px solid silver;"));
pEditStaffPost->setAlignment(Qt::AlignCenter);
pEditStaffPost->setReadOnly(true);
gridLayout->addWidget(pEditStaffPost, 2, 1, 1, 1);
horizontalLayout->addWidget(groupBox);
pLayoutMain->addLayout(horizontalLayout);
horizontalLayout_2 = new QHBoxLayout();
horizontalLayout_2->setSpacing(6);
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
horizontalLayout_2->addItem(horizontalSpacer);
pButtonExit = new QToolButton(layoutWidget);
pButtonExit->setObjectName(QString::fromUtf8("pButtonExit"));
QIcon icon1;
icon1.addFile(QString::fromUtf8(":/QMainFrame/Resources/quit.png"), QSize(), QIcon::Normal, QIcon::On);
pButtonExit->setIcon(icon1);
pButtonExit->setIconSize(QSize(32, 32));
pButtonExit->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
horizontalLayout_2->addWidget(pButtonExit);
pButtonOK = new QToolButton(layoutWidget);
pButtonOK->setObjectName(QString::fromUtf8("pButtonOK"));
QIcon icon2;
icon2.addFile(QString::fromUtf8(":/QMainFrame/Resources/ok.png"), QSize(), QIcon::Normal, QIcon::On);
pButtonOK->setIcon(icon2);
pButtonOK->setIconSize(QSize(32, 32));
pButtonOK->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
horizontalLayout_2->addWidget(pButtonOK);
pLayoutMain->addLayout(horizontalLayout_2);
retranslateUi(QLoginDialog);
QMetaObject::connectSlotsByName(QLoginDialog);
} // setupUi
void retranslateUi(QDialog *QLoginDialog)
{
QLoginDialog->setWindowTitle(QCoreApplication::translate("QLoginDialog", "\347\214\234\347\214\234\344\275\240\346\230\257\350\260\201~~~~", nullptr));
label->setText(QString());
groupBox->setTitle(QCoreApplication::translate("QLoginDialog", "\344\272\272\345\221\230\344\277\241\346\201\257\357\274\232", nullptr));
label_2->setText(QCoreApplication::translate("QLoginDialog", "\347\263\273\347\273\237\347\224\250\346\210\267\345\220\215\357\274\232", nullptr));
label_3->setText(QCoreApplication::translate("QLoginDialog", "\344\272\272\345\221\230\345\220\215\347\247\260\357\274\232", nullptr));
label_4->setText(QCoreApplication::translate("QLoginDialog", "\345\262\227\344\275\215\357\274\232", nullptr));
pButtonExit->setText(QCoreApplication::translate("QLoginDialog", "\351\200\200\345\207\272", nullptr));
pButtonOK->setText(QCoreApplication::translate("QLoginDialog", "\347\241\256\350\256\244", nullptr));
} // retranslateUi
};
namespace Ui {
class QLoginDialog: public Ui_QLoginDialog {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_QLOGINDIALOG_H

View File

@ -0,0 +1,124 @@
/****************************************************************************
** Meta object code from reading C++ file 'QMainFrame.h'
**
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.14.2)
**
** WARNING! All changes made in this file will be lost!
*****************************************************************************/
#include <memory>
#include "../../../../../../source/Widgets/MainFrame/QMainFrame.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qmetatype.h>
#if !defined(Q_MOC_OUTPUT_REVISION)
#error "The header file 'QMainFrame.h' doesn't include <QObject>."
#elif Q_MOC_OUTPUT_REVISION != 67
#error "This file was generated using the moc from 5.14.2. It"
#error "cannot be used with the include files from this version of Qt."
#error "(The moc has changed too much.)"
#endif
QT_BEGIN_MOC_NAMESPACE
QT_WARNING_PUSH
QT_WARNING_DISABLE_DEPRECATED
struct qt_meta_stringdata_QMainFrame_t {
QByteArrayData data[4];
char stringdata0[72];
};
#define QT_MOC_LITERAL(idx, ofs, len) \
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
qptrdiff(offsetof(qt_meta_stringdata_QMainFrame_t, stringdata0) + ofs \
- idx * sizeof(QByteArrayData)) \
)
static const qt_meta_stringdata_QMainFrame_t qt_meta_stringdata_QMainFrame = {
{
QT_MOC_LITERAL(0, 0, 10), // "QMainFrame"
QT_MOC_LITERAL(1, 11, 26), // "onOpenDataManagementWidget"
QT_MOC_LITERAL(2, 38, 0), // ""
QT_MOC_LITERAL(3, 39, 32) // "onOpenParametersManagementWidget"
},
"QMainFrame\0onOpenDataManagementWidget\0"
"\0onOpenParametersManagementWidget"
};
#undef QT_MOC_LITERAL
static const uint qt_meta_data_QMainFrame[] = {
// content:
8, // revision
0, // classname
0, 0, // classinfo
2, 14, // methods
0, 0, // properties
0, 0, // enums/sets
0, 0, // constructors
0, // flags
0, // signalCount
// slots: name, argc, parameters, tag, flags
1, 0, 24, 2, 0x09 /* Protected */,
3, 0, 25, 2, 0x09 /* Protected */,
// slots: parameters
QMetaType::Void,
QMetaType::Void,
0 // eod
};
void QMainFrame::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
{
if (_c == QMetaObject::InvokeMetaMethod) {
auto *_t = static_cast<QMainFrame *>(_o);
Q_UNUSED(_t)
switch (_id) {
case 0: _t->onOpenDataManagementWidget(); break;
case 1: _t->onOpenParametersManagementWidget(); break;
default: ;
}
}
Q_UNUSED(_a);
}
QT_INIT_METAOBJECT const QMetaObject QMainFrame::staticMetaObject = { {
QMetaObject::SuperData::link<QMainWindow::staticMetaObject>(),
qt_meta_stringdata_QMainFrame.data,
qt_meta_data_QMainFrame,
qt_static_metacall,
nullptr,
nullptr
} };
const QMetaObject *QMainFrame::metaObject() const
{
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
}
void *QMainFrame::qt_metacast(const char *_clname)
{
if (!_clname) return nullptr;
if (!strcmp(_clname, qt_meta_stringdata_QMainFrame.stringdata0))
return static_cast<void*>(this);
return QMainWindow::qt_metacast(_clname);
}
int QMainFrame::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
_id = QMainWindow::qt_metacall(_c, _id, _a);
if (_id < 0)
return _id;
if (_c == QMetaObject::InvokeMetaMethod) {
if (_id < 2)
qt_static_metacall(this, _c, _id, _a);
_id -= 2;
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
if (_id < 2)
*reinterpret_cast<int*>(_a[0]) = -1;
_id -= 2;
}
return _id;
}
QT_WARNING_POP
QT_END_MOC_NAMESPACE

View File

@ -0,0 +1,113 @@
/********************************************************************************
** Form generated from reading UI file 'QMainFrame.ui'
**
** Created by: Qt User Interface Compiler version 5.13.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/
#ifndef UI_QMAINFRAME_H
#define UI_QMAINFRAME_H
#include <QtCore/QVariant>
#include <QtWidgets/QAction>
#include <QtWidgets/QApplication>
#include <QtWidgets/QMainWindow>
#include <QtWidgets/QMenu>
#include <QtWidgets/QMenuBar>
#include <QtWidgets/QStatusBar>
#include <QtWidgets/QToolBar>
#include <QtWidgets/QWidget>
QT_BEGIN_NAMESPACE
class Ui_QMainFrameClass
{
public:
QAction *pActionExit;
QAction *pActionAbout;
QAction *pActionDataManagement;
QAction *pActionParamentersManagement;
QWidget *centralWidget;
QMenuBar *menuBar;
QMenu *menu;
QMenu *menu_2;
QToolBar *mainToolBar;
QStatusBar *statusBar;
void setupUi(QMainWindow *QMainFrameClass)
{
if (QMainFrameClass->objectName().isEmpty())
QMainFrameClass->setObjectName(QString::fromUtf8("QMainFrameClass"));
QMainFrameClass->resize(796, 558);
pActionExit = new QAction(QMainFrameClass);
pActionExit->setObjectName(QString::fromUtf8("pActionExit"));
QIcon icon;
icon.addFile(QString::fromUtf8(":/QMainFrame/Resources/quit.png"), QSize(), QIcon::Normal, QIcon::Off);
pActionExit->setIcon(icon);
pActionAbout = new QAction(QMainFrameClass);
pActionAbout->setObjectName(QString::fromUtf8("pActionAbout"));
QIcon icon1;
icon1.addFile(QString::fromUtf8(":/QMainFrame/Resources/cat.png"), QSize(), QIcon::Normal, QIcon::Off);
pActionAbout->setIcon(icon1);
pActionDataManagement = new QAction(QMainFrameClass);
pActionDataManagement->setObjectName(QString::fromUtf8("pActionDataManagement"));
QIcon icon2;
icon2.addFile(QString::fromUtf8(":/QMainFrame/Resources/excel.png"), QSize(), QIcon::Normal, QIcon::Off);
pActionDataManagement->setIcon(icon2);
pActionParamentersManagement = new QAction(QMainFrameClass);
pActionParamentersManagement->setObjectName(QString::fromUtf8("pActionParamentersManagement"));
QIcon icon3;
icon3.addFile(QString::fromUtf8(":/QMainFrame/Resources/option.png"), QSize(), QIcon::Normal, QIcon::Off);
pActionParamentersManagement->setIcon(icon3);
centralWidget = new QWidget(QMainFrameClass);
centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
QMainFrameClass->setCentralWidget(centralWidget);
menuBar = new QMenuBar(QMainFrameClass);
menuBar->setObjectName(QString::fromUtf8("menuBar"));
menuBar->setGeometry(QRect(0, 0, 796, 23));
menu = new QMenu(menuBar);
menu->setObjectName(QString::fromUtf8("menu"));
menu_2 = new QMenu(menuBar);
menu_2->setObjectName(QString::fromUtf8("menu_2"));
QMainFrameClass->setMenuBar(menuBar);
mainToolBar = new QToolBar(QMainFrameClass);
mainToolBar->setObjectName(QString::fromUtf8("mainToolBar"));
mainToolBar->setIconSize(QSize(36, 36));
QMainFrameClass->addToolBar(Qt::TopToolBarArea, mainToolBar);
statusBar = new QStatusBar(QMainFrameClass);
statusBar->setObjectName(QString::fromUtf8("statusBar"));
QMainFrameClass->setStatusBar(statusBar);
menuBar->addAction(menu->menuAction());
menuBar->addAction(menu_2->menuAction());
menu->addAction(pActionExit);
menu_2->addAction(pActionAbout);
mainToolBar->addAction(pActionDataManagement);
mainToolBar->addAction(pActionParamentersManagement);
retranslateUi(QMainFrameClass);
QMetaObject::connectSlotsByName(QMainFrameClass);
} // setupUi
void retranslateUi(QMainWindow *QMainFrameClass)
{
QMainFrameClass->setWindowTitle(QCoreApplication::translate("QMainFrameClass", "QMainFrame", nullptr));
pActionExit->setText(QCoreApplication::translate("QMainFrameClass", "\351\200\200\345\207\272", nullptr));
pActionAbout->setText(QCoreApplication::translate("QMainFrameClass", "\345\205\263\344\272\216", nullptr));
pActionDataManagement->setText(QCoreApplication::translate("QMainFrameClass", "\346\225\260\346\215\256\347\256\241\347\220\206", nullptr));
pActionParamentersManagement->setText(QCoreApplication::translate("QMainFrameClass", "\345\217\202\346\225\260\347\256\241\347\220\206", nullptr));
menu->setTitle(QCoreApplication::translate("QMainFrameClass", "\347\263\273\347\273\237", nullptr));
menu_2->setTitle(QCoreApplication::translate("QMainFrameClass", "\345\270\256\345\212\251", nullptr));
} // retranslateUi
};
namespace Ui {
class QMainFrameClass: public Ui_QMainFrameClass {};
} // namespace Ui
QT_END_NAMESPACE
#endif // UI_QMAINFRAME_H

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,36 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29609.76
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "car_dealer_util", "car_dealer_util\car_dealer_util.vcxproj", "{B12702AD-ABFB-343A-A199-8E24837244A3}"
EndProject
Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "车商渠道数据采集", "..\..\..\..\python\车商渠道数据采集\车商渠道数据采集.pyproj", "{81F2541E-C96A-4C05-B3F5-643B25E708D5}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|Any CPU.ActiveCfg = Debug|x64
{B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.ActiveCfg = Debug|x64
{B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.Build.0 = Debug|x64
{B12702AD-ABFB-343A-A199-8E24837244A3}.Release|Any CPU.ActiveCfg = Release|x64
{B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.ActiveCfg = Release|x64
{B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.Build.0 = Release|x64
{81F2541E-C96A-4C05-B3F5-643B25E708D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{81F2541E-C96A-4C05-B3F5-643B25E708D5}.Debug|x64.ActiveCfg = Debug|Any CPU
{81F2541E-C96A-4C05-B3F5-643B25E708D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{81F2541E-C96A-4C05-B3F5-643B25E708D5}.Release|x64.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7A1F667A-8FB5-4B18-8D74-E810D205DFA9}
Qt5Version = 5.14.2_msvc2017_x64
EndGlobalSection
EndGlobal

View File

@ -0,0 +1,35 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>636b8684-898c-46dc-bfb0-b5f81f274867</ProjectGuid>
<ProjectHome>.</ProjectHome>
<StartupFile>车商渠道系统数据采集.py</StartupFile>
<SearchPath>
</SearchPath>
<WorkingDirectory>.</WorkingDirectory>
<OutputPath>.</OutputPath>
<Name>车商渠道系统数据采集</Name>
<RootNamespace>车商渠道系统数据采集</RootNamespace>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<DebugSymbols>true</DebugSymbols>
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<DebugSymbols>true</DebugSymbols>
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
</PropertyGroup>
<ItemGroup>
<Compile Include="车商渠道系统数据采集.py" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Python Tools\Microsoft.PythonTools.targets" />
<!-- Uncomment the CoreCompile target to enable the Build command in
Visual Studio and specify your pre- and post-build commands in
the BeforeBuild and AfterBuild targets below. -->
<!--<Target Name="CoreCompile" />-->
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
</Project>

View File

@ -0,0 +1,10 @@
#include "AppParameters.h"
using namespace std;
UserInfo * pStaffInfo = nullptr;
const string SYSTEM_ADMIN = "999";
const string ADMIN = "000";
const string TEAM_LEADER = "001";

View File

@ -0,0 +1,11 @@
#pragma once
#include <iostream>
#include "../Datastructure/UserInfo/UserInfo.h"
extern UserInfo * pStaffInfo;
extern const std::string SYSTEM_ADMIN;
extern const std::string ADMIN;
extern const std::string TEAM_LEADER;

View File

@ -0,0 +1,10 @@

#include <libxl.h>
#include "ExportToExcel.h"
using namespace libxl;
using namespace std;

View File

@ -0,0 +1,2 @@
#pragma once

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,75 @@
#pragma once
#include <string>
#include <vector>
#include "../../Datastructure/CarDealerScheme/CarDealerScheme.h"
#include "../../Datastructure/CarDealerAchievement/CarDealerAchievement.h"
#include "../../Datastructure/RepairOrder/RepairOrder.h"
#include "../../Datastructure/RepairSuggestion/RepairRecommandationRecord.h"
#include "../../Datastructure/新送返修监控报表/新送返修监控报表.h"
/************************************************
* \brief Excel文件导入车商方案表
* \param filePath
* \param sheetIndex
* \param startRowIndex
* \param schemeVector
************************************************/
void LoadCarDealerSchemeFromXlsx( const std::wstring & filePath,
unsigned int sheetIndex,
unsigned int startRowIndex,
std::vector<CarDealerScheme> & schemeVector );
/************************************************
* \brief Excel文件导入车商业绩表
* \param filePath
* \param sheetIndex
* \param startRowIndex
* \param achievementVector
************************************************/
void LoadCarDealerAchievementFromXlsx( const std::wstring & filePath,
unsigned int sheetIndex,
unsigned int startRowIndex,
std::vector<CarDealerAchievement> & achievementVector );
/************************************************
* \brief
* \param filePath
* \param sheetIndex
* \param startRowIndex
* \param orderVector
************************************************/
void LoadRepairOrderFromXlsx( const std::wstring & filePath,
unsigned int sheetIndex,
unsigned int startRowIndex,
std::vector<RepairOrder> & orderVector );
// void LoadRepairOrderFromXls( const std::wstring & filePath,
// unsigned sheetIndex,
// unsigned startRowIndex,
// std::vector<RepairOrder> & orderVector );
/************************************************
* \brief
* \param filePath
* \param sheetIndex
* \param startRowIndex
* \param recordVector
************************************************/
void LoadRepairRecommandationFromXlsx( const std::wstring & filePath,
unsigned int sheetIndex,
unsigned int startRowIndex,
std::vector<RepairRecommandationRecord> & recordVector );
/************************************************
* \brief
* \param filePath
* \param sheetIndex
* \param startRowIndex
* \param recordVector
************************************************/
void LoadNewRepairMonitorReportFromXlsx( const std::wstring & filePath,
unsigned int sheetIndex,
unsigned int startRowIndex,
std::vector<NewRepairMonitorReportRecord> & recordVector );

View File

@ -0,0 +1,106 @@
#include <map>
#include <stdexcept>
#include <exception>
#include <ocilib.hpp>
#include <libxl.h>
#include "FromExcelToOracle.h"
#include "../../excel/excel.h"
using namespace std;;
using namespace ocilib;
using namespace libxl;
void RepairMonitoringFromExcelToOracle( const std::wstring & filePath,
unsigned int sheetIndex,
bool hasTitleRow,
const std::string & tnsName,
const std::string & userName,
const std::string & password )
{
//防御性验证
if ( filePath.empty() == true ||
tnsName.empty() == true ||
userName.empty() == true ||
password.empty() == true )
{
throw runtime_error( "参数错误!" );
}
//libxl对象
Book * pBook = xlCreateBookW();
Sheet * pSheet = nullptr;
map<int, wstring> titleMap; //存放标题行
unsigned int firstColumnIndex; //第一列
unsigned int lastColumnIndex; //最后一列
unsigned int firstRowIndex;
unsigned int lastRowIndex;
//ocilib对象
Connection * pConnection = nullptr;
Statement * pStatement = nullptr;
if ( pBook == nullptr )
{
throw runtime_error( "libxl初始化失败" );
}
if ( pBook->load( filePath.c_str() ) != true )
{
throw runtime_error( "打开excel文件失败" );
}
pSheet = pBook->getSheet( sheetIndex );
if ( pSheet == nullptr )
{
throw runtime_error( "读取sheet失败失败" );
}
firstColumnIndex = pSheet->firstCol();
lastColumnIndex = pSheet->lastCol();
firstRowIndex = pSheet->firstRow();
lastRowIndex = pSheet->lastRow();
unsigned int colIndex = firstColumnIndex;
unsigned int rowIndex = firstRowIndex;
//保存标题
if ( hasTitleRow )
{
while ( colIndex <= lastColumnIndex )
{
wstring && title = ReadCellStringFromXlsx( pBook, sheetIndex, firstRowIndex, colIndex, false );
titleMap.insert( pair<int, wstring>( colIndex, title ) );
++colIndex;
}
}
//逐行保存数据
while ( colIndex <= lastColumnIndex )
{
wstring && title = ReadCellStringFromXlsx( pBook, sheetIndex, firstRowIndex, colIndex, false );
titleMap.insert( pair<int, wstring>( colIndex, title ) );
++colIndex;
}
//逐行保存数据
for ( rowIndex = firstRowIndex; rowIndex >= lastRowIndex; rowIndex++ )
{
//如果是标题行,就跳过
if ( rowIndex == firstRowIndex )
{
continue;
}
//逐列绑定sql语句
for ( colIndex = firstColumnIndex; colIndex <= lastColumnIndex; colIndex++ )
{
}
}
}

View File

@ -0,0 +1,10 @@
#pragma once
#include <iostream>
void RepairMonitoringFromExcelToOracle( const std::wstring & filePath,
unsigned int sheetIndex,
bool hasTitleRow,
const std::string & tnsName,
const std::string & userName,
const std::string & password );

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,90 @@
#pragma once
#include <string>
#include <vector>
#include "../../Datastructure/CarDealerAchievement/CarDealerAchievement.h"
#include "../../Datastructure/CarDealerScheme/CarDealerScheme.h"
#include "../../Datastructure/RepairOrder/RepairOrder.h"
#include "../../Datastructure/RepairSuggestion/RepairRecommandationRecord.h"
#include "../Excel/LoadFromExcel.h"
/************************************************
* \brief oracle数据库写入车商业绩表
* \param userName oracle数据库用户名
* \param password oracle数据库密码
* \param tnsName oracle TNS名称
* \param orderVector
************************************************/
void ImportCarDealerAchievementToOracleCpp( const std::string & userName,
const std::string & password,
const std::string & tnsName,
const std::vector<CarDealerAchievement> & achievementVector );
/************************************************
* \brief oracle数据库写入车商业绩表
* \param userName oracle数据库用户名
* \param password oracle数据库密码
* \param tnsName oracle TNS名称
* \param orderVector
************************************************/
void ImportCarDealerAchievementToOracle( std::string userName,
std::string password,
std::string tnsName,
std::vector<CarDealerAchievement> & achievementVector );
/************************************************
* \brief oracle数据库写入车商方案表
* \param userName oracle数据库用户名
* \param password oracle数据库密码
* \param tnsName oracle TNS名称
* \param orderVector
************************************************/
void ImportCarDealerSchemeToOracle( const std::string & userName,
const std::string & password,
const std::string & tnsName,
std::vector<CarDealerScheme> & achievementVector );
/************************************************
* \brief oracle数据库写入送返修工单信息
* \param userName oracle数据库用户名
* \param password oracle数据库密码
* \param tnsName oracle TNS名称
* \param orderVector
************************************************/
void ImportRepairOrderToOracle( const std::string & userName,
const std::string & password,
const std::string & tnsName,
const std::vector<RepairOrder> & orderVector );
/************************************************
* \brief
* \param userName
* \param password
* \param tnsName
* \param recordVector
************************************************/
void ImportRepairRecommandationToOracle( const std::string & userName,
const std::string & password,
const std::string & tnsName,
const std::vector<RepairRecommandationRecord> & recordVector );
void ImportNewRepairMonitorToOracle( const std::string & userName,
const std::string & password,
const std::string & tnsName,
const std::vector<NewRepairMonitorReportRecord> & recordVector );
/************************************************
* \brief -
* \param userName
* \param password
* \param tnsName
* \param recordVector
************************************************/
void ImportPriceCheckedListToOracle( const std::string & userName,
const std::string & password,
const std::string & tnsName,
const std::vector<NewRepairMonitorReportRecord> & recordVector );

View File

@ -0,0 +1,9 @@
// **********************************************************
// 文件名CarDealer.cpp
// 创建日期2020-11-20 13:59
// 作者: 王炜
// 说明:车商对象定义
// **********************************************************
#include "CarDealer.h"

View File

@ -0,0 +1,77 @@
// **********************************************************
// 文件名CarDealer.h
// 创建日期2020-11-20 13:59
// 作者: 王炜
// 说明:车商对象定义
// **********************************************************
#pragma once
#include <string>
#include <QString>
class CarDealer
{
public:
CarDealer(QString carDealerCode, QString carDealerName )
: carDealerCode( std::move( carDealerCode ) ),
carDealerName( std::move( carDealerName ) )
{
}
CarDealer( const CarDealer & other )
: carDealerCode( other.carDealerCode ),
carDealerName( other.carDealerName )
{
}
CarDealer( CarDealer && other )
: carDealerCode( std::move( other.carDealerCode ) ),
carDealerName( std::move( other.carDealerName ) )
{
}
CarDealer & operator=( const CarDealer & other )
{
if ( this == &other )
return *this;
carDealerCode = other.carDealerCode;
carDealerName = other.carDealerName;
return *this;
}
CarDealer & operator=( CarDealer && other )
{
if ( this == &other )
return *this;
carDealerCode = std::move( other.carDealerCode );
carDealerName = std::move( other.carDealerName );
return *this;
}
QString getCarDealerCode() const
{
return carDealerCode;
}
void setCarDealerCode( const QString & carDealerCode )
{
this->carDealerCode = carDealerCode;
}
QString getCarDealerName() const
{
return carDealerName;
}
void setCarDealerName( const QString & carDealerName )
{
this->carDealerName = carDealerName;
}
private:
QString carDealerCode;
QString carDealerName;
};

View File

@ -0,0 +1,212 @@
// **********************************************************
// 文件名CarDealerMap.cpp
// 创建日期2020-11-23 13:59
// 作者: 王炜
// 说明:车商对象映射表
// **********************************************************
#include <QString>
#include <ocilib.hpp>
#include <stdexcept>
#include "CarDealer.h"
#include "CarDealerMap.h"
#include <xlocale>
#include "../../../db/ocilib/db_oper.h"
using namespace std;
using namespace ocilib;
unordered_map<wstring, CarDealer> * pCarDealerMap = nullptr;
void InitCarDealerMap()
{
if ( pCarDealerMap != nullptr )
{
delete pCarDealerMap;
}
OCI_Connection * pConnection = nullptr;
OCI_Statement * pStatement = nullptr;
OCI_Resultset * pResult = nullptr;
int returnCode = 0;
ostring sql =
"SELECT auto_code, "
" auto_name "
"FROM idst0.auto_store_t ";
//以后要修改
string userName = "car_dealer";
string password = "cpic123456";
string tnsName = "xmcx1";
returnCode = OCI_Initialize( error_handler, nullptr, OCI_ENV_DEFAULT );
if ( static_cast<bool>(returnCode) == false )
{
//初始化失败
string errorMessage = "ocilib初始化失败";
}
//连接
try
{
pConnection = OCI_ConnectionCreate( tnsName.c_str(),
userName.c_str(),
password.c_str(),
OCI_SESSION_DEFAULT );
}
catch ( runtime_error & error )
{
//连接数据库失败
string errorMessage = "连接数据库失败!";
errorMessage.append( error.what() );
OCI_Cleanup();
throw runtime_error( errorMessage.c_str() );
}
//查询
try
{
pStatement = OCI_StatementCreate( pConnection );
OCI_ExecuteStmt( pStatement, sql.c_str() );
pResult = OCI_GetResultset( pStatement );
pCarDealerMap = new unordered_map<wstring, CarDealer>;
while ( static_cast<bool>(OCI_FetchNext( pResult )) == true )
{
wstring carDealerCodeIndex = QString::fromLocal8Bit( OCI_GetString( pResult, 1 ) ).toStdWString();
QString carDealerCode = QString::fromLocal8Bit( OCI_GetString( pResult, 1 ) );
QString carDealerName = QString::fromLocal8Bit( OCI_GetString( pResult, 2 ) );
CarDealer dealer( carDealerCode, carDealerName );
pCarDealerMap->insert( pair<wstring, CarDealer>( carDealerCodeIndex, dealer ) );
}
}
catch ( runtime_error & error )
{
string errorMessage = "执行查询失败!";
errorMessage.append( error.what() );
OCI_Cleanup();
throw runtime_error( errorMessage.c_str() );
}
OCI_Cleanup();
}
void initCarDealerMapCpp()
{
if ( pCarDealerMap != nullptr )
{
delete pCarDealerMap;
}
// OCI_Connection * pConnection = nullptr;
// OCI_Statement * pStatement = nullptr;
// OCI_Resultset * pResult = nullptr;
// int returnCode = 0;
ostring sql =
"SELECT auto_code, "
" auto_name "
"FROM idst0.auto_store_t ";
//以后要修改
string userName = "car_dealer";
string password = "cpic123456";
string tnsName = "xmcx1";
Connection * pConnection = nullptr;
Statement * pStatement = nullptr;
//Resultset * pResult = nullptr;
try
{
Environment::Initialized();
}
catch ( exception * error )
{
string errorMessage = "ocilib初始化失败";
errorMessage.append( error->what() );
throw runtime_error( errorMessage.c_str() );
}
try
{
pConnection = new Connection( tnsName.c_str(), userName.c_str(), password.c_str() );
}
catch ( exception & error )
{
string errorMessage = "连接oracle数据库失败";
errorMessage.append( error.what() );
Environment::Cleanup();
throw runtime_error( errorMessage.c_str() );
}
try
{
pStatement = new Statement( *pConnection );
pStatement->Execute( sql );
Resultset result = pStatement->GetResultset();
pCarDealerMap = new unordered_map<wstring, CarDealer>;
while ( result.Next() )
{
QString carDealerCode = QString::fromLocal8Bit( result.Get<ostring>( "auto_code" ).c_str() );
QString carDealerName = QString::fromLocal8Bit( result.Get<ostring>( "auto_name" ).c_str() );
wstring carDealerCodeIndex = carDealerCode.toStdWString();
CarDealer dealer( carDealerCode, carDealerName );
pCarDealerMap->insert( pair<wstring, CarDealer>( carDealerCodeIndex, dealer ) );
}
}
catch ( exception & error )
{
Environment::Cleanup();
}
Environment::Cleanup();
}
std::unordered_map<wstring, CarDealer> * GetCarDealerMap()
{
if ( pCarDealerMap != nullptr )
{
InitCarDealerMap();
}
return pCarDealerMap;
}
std::wstring GetCarDealerName( const std::wstring & carDealerCode )
{
auto pCarDealerMap = GetCarDealerMap();
auto iterCarDealer = pCarDealerMap->find(carDealerCode);
wstring carDealerName;
if ( iterCarDealer != pCarDealerMap->end() )
{
carDealerName = iterCarDealer->second.getCarDealerName().toStdWString();
}
return carDealerName;
}

View File

@ -0,0 +1,27 @@
// **********************************************************
// 文件名CarDealerMap.h
// 创建日期2020-11-23 13:59
// 作者: 王炜
// 说明:车商对象映射表
// **********************************************************
#pragma once
#include <unordered_map>
#include <QString>
#include <string>
#include "CarDealer.h"
/************************************************
* \brief
************************************************/
void InitCarDealerMap();
/************************************************
* \brief
* \return
************************************************/
std::unordered_map<std::wstring, CarDealer> * GetCarDealerMap();
std::wstring GetCarDealerName(const std::wstring& carDealerCode);

View File

@ -0,0 +1 @@
#include "CarDealerAchievement.h"

View File

@ -0,0 +1,230 @@
#pragma once
#include <string>
class CarDealerAchievement
{
public:
CarDealerAchievement( const std::wstring & theYear,
const std::wstring & theMonth,
const std::wstring & carDealerCode,
const double checkedAchievement,
const int policyAmount,
const int cpicAmount,
const int piccAmount,
const int pinganAmount,
const int othersAmount )
: theYear( theYear ),
theMonth( theMonth ),
carDealerCode( carDealerCode ),
checkedAchievement( checkedAchievement ),
policyAmount( policyAmount ),
cpicAmount( cpicAmount ),
piccAmount( piccAmount ),
pinganAmount( pinganAmount ),
othersAmount( othersAmount )
{
}
CarDealerAchievement( const wchar_t * theYear,
const wchar_t * theMonth,
const wchar_t * carDealerCode,
const double checkedAchievement,
const int policyAmount,
const int cpicAmount,
const int piccAmount,
const int pinganAmount,
const int othersAmount )
: theYear( theYear ),
theMonth( theMonth ),
carDealerCode( carDealerCode ),
checkedAchievement( checkedAchievement ),
policyAmount( policyAmount ),
cpicAmount( cpicAmount ),
piccAmount( piccAmount ),
pinganAmount( pinganAmount ),
othersAmount( othersAmount )
{
}
CarDealerAchievement( const CarDealerAchievement & other )
: theYear( other.theYear ),
theMonth( other.theMonth ),
carDealerCode( other.carDealerCode ),
checkedAchievement( other.checkedAchievement ),
policyAmount( other.policyAmount ),
cpicAmount( other.cpicAmount ),
piccAmount( other.piccAmount ),
pinganAmount( other.pinganAmount ),
othersAmount( other.othersAmount )
{
}
CarDealerAchievement( CarDealerAchievement && other )
: theYear( std::move( other.theYear ) ),
theMonth( std::move( other.theMonth ) ),
carDealerCode( std::move( other.carDealerCode ) ),
checkedAchievement( other.checkedAchievement ),
policyAmount( other.policyAmount ),
cpicAmount( other.cpicAmount ),
piccAmount( other.piccAmount ),
pinganAmount( other.pinganAmount ),
othersAmount( other.othersAmount )
{
}
CarDealerAchievement & operator=( const CarDealerAchievement & other )
{
if ( this == &other )
return *this;
theYear = other.theYear;
theMonth = other.theMonth;
carDealerCode = other.carDealerCode;
checkedAchievement = other.checkedAchievement;
policyAmount = other.policyAmount;
cpicAmount = other.cpicAmount;
piccAmount = other.piccAmount;
pinganAmount = other.pinganAmount;
othersAmount = other.othersAmount;
return *this;
}
CarDealerAchievement & operator=( CarDealerAchievement && other )
{
if ( this == &other )
return *this;
theYear = std::move( other.theYear );
theMonth = std::move( other.theMonth );
carDealerCode = std::move( other.carDealerCode );
checkedAchievement = other.checkedAchievement;
policyAmount = other.policyAmount;
cpicAmount = other.cpicAmount;
piccAmount = other.piccAmount;
pinganAmount = other.pinganAmount;
othersAmount = other.othersAmount;
return *this;
}
friend bool operator==( const CarDealerAchievement & lhs, const CarDealerAchievement & rhs )
{
return lhs.theYear == rhs.theYear
&& lhs.theMonth == rhs.theMonth
&& lhs.carDealerCode == rhs.carDealerCode
&& lhs.checkedAchievement == rhs.checkedAchievement
&& lhs.policyAmount == rhs.policyAmount
&& lhs.cpicAmount == rhs.cpicAmount
&& lhs.piccAmount == rhs.piccAmount
&& lhs.pinganAmount == rhs.pinganAmount
&& lhs.othersAmount == rhs.othersAmount;
}
friend bool operator!=( const CarDealerAchievement & lhs, const CarDealerAchievement & rhs )
{
return !(lhs == rhs);
}
std::wstring getTheYear() const
{
return theYear;
}
void setTheYear( const std::wstring & theYear )
{
this->theYear = theYear;
}
std::wstring getTheMonth() const
{
return theMonth;
}
void setTheMonth( const std::wstring & theMonth )
{
this->theMonth = theMonth;
}
std::wstring getCarDealerCode() const
{
return carDealerCode;
}
void setCarDealerCode( const std::wstring & carDealerCode )
{
this->carDealerCode = carDealerCode;
}
double getCheckedAchievement() const
{
return checkedAchievement;
}
void setCheckedAchievement( const long double checkedAchievement )
{
this->checkedAchievement = checkedAchievement;
}
int getPolicyAmount() const
{
return policyAmount;
}
void setPolicyAmount( const int policyAmount )
{
this->policyAmount = policyAmount;
}
int getCpicAmount() const
{
return cpicAmount;
}
void setCpicAmount( const int cpicAmount )
{
this->cpicAmount = cpicAmount;
}
int getPiccAmount() const
{
return piccAmount;
}
void setPiccAmount( const int piccAmount )
{
this->piccAmount = piccAmount;
}
int getPinganAmount() const
{
return pinganAmount;
}
void setPinganAmount( const int pinganAmount )
{
this->pinganAmount = pinganAmount;
}
int getOthersAmount() const
{
return othersAmount;
}
void setOthersAmount( const int othersAmount )
{
this->othersAmount = othersAmount;
}
private:
std::wstring theYear;
std::wstring theMonth;
std::wstring carDealerCode;
double checkedAchievement;
int policyAmount;
int cpicAmount;
int piccAmount;
int pinganAmount;
int othersAmount;
};

View File

@ -0,0 +1 @@
#include "CarDealerScheme.h"

View File

@ -0,0 +1,193 @@
#pragma once
#include <string>
class CarDealerScheme
{
public:
CarDealerScheme( const std::wstring & theYear,
const std::wstring & theMonth,
const std::wstring & carDealerCode,
const std::wstring & manHourPrice,
const std::wstring & partPrice,
const std::wstring & claimSupport,
const std::wstring & scheme,
const std::wstring & isQualified )
: theYear( theYear ),
theMonth( theMonth ),
carDealerCode( carDealerCode ),
manHourPrice( manHourPrice ),
partPrice( partPrice ),
claimSupport( claimSupport ),
scheme( scheme ),
isQualified( isQualified )
{
}
CarDealerScheme( const wchar_t * theYear,
const wchar_t * theMonth,
const wchar_t * carDealerCode,
const wchar_t * manHourPrice,
const wchar_t * partPrice,
const wchar_t * claimSupport,
const wchar_t * scheme,
const wchar_t * isQualified )
: theYear( theYear ),
theMonth( theMonth ),
carDealerCode( carDealerCode ),
manHourPrice( manHourPrice ),
partPrice( partPrice ),
claimSupport( claimSupport ),
scheme( scheme ),
isQualified( isQualified )
{
}
CarDealerScheme( const CarDealerScheme & other )
: theYear( other.theYear ),
theMonth( other.theMonth ),
carDealerCode( other.carDealerCode ),
manHourPrice( other.manHourPrice ),
partPrice( other.partPrice ),
claimSupport( other.claimSupport ),
scheme( other.scheme ),
isQualified( other.isQualified )
{
}
CarDealerScheme( CarDealerScheme && other )
: theYear( std::move( other.theYear ) ),
theMonth( std::move( other.theMonth ) ),
carDealerCode( std::move( other.carDealerCode ) ),
manHourPrice( std::move( other.manHourPrice ) ),
partPrice( std::move( other.partPrice ) ),
claimSupport( std::move( other.claimSupport ) ),
scheme( std::move( other.scheme ) ),
isQualified( std::move( other.isQualified ) )
{
}
CarDealerScheme & operator=( const CarDealerScheme & other )
{
if ( this == &other )
return *this;
theYear = other.theYear;
theMonth = other.theMonth;
carDealerCode = other.carDealerCode;
manHourPrice = other.manHourPrice;
partPrice = other.partPrice;
claimSupport = other.claimSupport;
scheme = other.scheme;
isQualified = other.isQualified;
return *this;
}
CarDealerScheme & operator=( CarDealerScheme && other )
{
if ( this == &other )
return *this;
theYear = std::move( other.theYear );
theMonth = std::move( other.theMonth );
carDealerCode = std::move( other.carDealerCode );
manHourPrice = std::move( other.manHourPrice );
partPrice = std::move( other.partPrice );
claimSupport = std::move( other.claimSupport );
scheme = std::move( other.scheme );
isQualified = std::move( other.isQualified );
return *this;
}
std::wstring getTheYear() const
{
return theYear;
}
void setTheYear( const std::wstring & theYear )
{
this->theYear = theYear;
}
std::wstring getTheMonth() const
{
return theMonth;
}
void setTheMonth( const std::wstring & theMonth )
{
this->theMonth = theMonth;
}
std::wstring getCarDealerCode() const
{
return carDealerCode;
}
void setCarDealerCode( const std::wstring & carDealerCode )
{
this->carDealerCode = carDealerCode;
}
std::wstring getManHourPrice() const
{
return manHourPrice;
}
void setManHourPrice( const std::wstring & manHourPrice )
{
this->manHourPrice = manHourPrice;
}
std::wstring getPartPrice() const
{
return partPrice;
}
void setPartPrice( const std::wstring & partPrice )
{
this->partPrice = partPrice;
}
std::wstring getClaimSupport() const
{
return claimSupport;
}
void setClaimSupport( const std::wstring & claimSupport )
{
this->claimSupport = claimSupport;
}
std::wstring getScheme() const
{
return scheme;
}
void setScheme( const std::wstring & scheme )
{
this->scheme = scheme;
}
std::wstring getIsQualified() const
{
return isQualified;
}
void setIsQualified( const std::wstring & isQualified )
{
this->isQualified = isQualified;
}
private:
std::wstring theYear;
std::wstring theMonth;
std::wstring carDealerCode;
std::wstring manHourPrice;
std::wstring partPrice;
std::wstring claimSupport; //理赔支持
std::wstring scheme;
std::wstring isQualified; //是否达成预期
};

View File

@ -0,0 +1,2 @@

#include "RepairOrder.h"

View File

@ -0,0 +1,514 @@
#pragma once
#include <string>
#include <utility>
class RepairOrder
{
public:
RepairOrder( std::wstring branchName,
std::wstring orderNo,
std::wstring orderType,
std::wstring notifyNo,
std::wstring damageArea,
std::wstring damageDate,
std::wstring generatingDate,
std::wstring policyNo,
std::wstring policyNoJqx,
std::wstring plateNumber,
std::wstring brandName,
std::wstring isInsuranceObject,
std::wstring isSuccess,
std::wstring recommandDealerCode,
std::wstring recommandDealerName,
std::wstring recommandDealerCodeInNotify,
std::wstring recommandDealerNameInNotify,
std::wstring recommandDealerNameInSurvey,
std::wstring agentName,
std::wstring surveyor,
std::wstring checkDate,
std::wstring repairingStartDate,
std::wstring repairingFinishDate,
std::wstring status,
std::wstring lostItemId,
std::wstring surveyorRecommandStatus )
: branchName( std::move( branchName ) ),
orderNo( std::move( orderNo ) ),
orderType( std::move( orderType ) ),
notifyNo( std::move( notifyNo ) ),
damageArea( std::move( damageArea ) ),
damageDate( std::move( damageDate ) ),
generatingDate( std::move( generatingDate ) ),
policyNo( std::move( policyNo ) ),
policyNoJQX( std::move( policyNoJqx ) ),
plateNumber( std::move( plateNumber ) ),
brandName( std::move( brandName ) ),
isInsuranceObject( std::move( isInsuranceObject ) ),
isSuccess( std::move( isSuccess ) ),
recommandDealerCode( std::move( recommandDealerCode ) ),
recommandDealerName( std::move( recommandDealerName ) ),
recommandDealerCodeInNotify( std::move( recommandDealerCodeInNotify ) ),
recommandDealerNameInNotify( std::move( recommandDealerNameInNotify ) ),
recommandDealerNameInSurvey( std::move( recommandDealerNameInSurvey ) ),
agentName( std::move( agentName ) ),
surveyor( std::move( surveyor ) ),
checkDate( std::move( checkDate ) ),
repairingStartDate( std::move( repairingStartDate ) ),
repairingFinishDate( std::move( repairingFinishDate ) ),
status( std::move( status ) ),
lostItemID( std::move( lostItemId ) ),
surveyorRecommandStatus( std::move( surveyorRecommandStatus ) )
{
}
RepairOrder( const RepairOrder & other )
: branchName( other.branchName ),
orderNo( other.orderNo ),
orderType( other.orderType ),
notifyNo( other.notifyNo ),
damageArea( other.damageArea ),
damageDate( other.damageDate ),
generatingDate( other.generatingDate ),
policyNo( other.policyNo ),
policyNoJQX( other.policyNoJQX ),
plateNumber( other.plateNumber ),
brandName( other.brandName ),
isInsuranceObject( other.isInsuranceObject ),
isSuccess( other.isSuccess ),
recommandDealerCode( other.recommandDealerCode ),
recommandDealerName( other.recommandDealerName ),
recommandDealerCodeInNotify( other.recommandDealerCodeInNotify ),
recommandDealerNameInNotify( other.recommandDealerNameInNotify ),
recommandDealerNameInSurvey( other.recommandDealerNameInSurvey ),
agentName( other.agentName ),
surveyor( other.surveyor ),
checkDate( other.checkDate ),
repairingStartDate( other.repairingStartDate ),
repairingFinishDate( other.repairingFinishDate ),
status( other.status ),
lostItemID( other.lostItemID ),
surveyorRecommandStatus( other.surveyorRecommandStatus )
{
}
RepairOrder( RepairOrder && other )
: branchName( std::move( other.branchName ) ),
orderNo( std::move( other.orderNo ) ),
orderType( std::move( other.orderType ) ),
notifyNo( std::move( other.notifyNo ) ),
damageArea( std::move( other.damageArea ) ),
damageDate( std::move( other.damageDate ) ),
generatingDate( std::move( other.generatingDate ) ),
policyNo( std::move( other.policyNo ) ),
policyNoJQX( std::move( other.policyNoJQX ) ),
plateNumber( std::move( other.plateNumber ) ),
brandName( std::move( other.brandName ) ),
isInsuranceObject( std::move( other.isInsuranceObject ) ),
isSuccess( std::move( other.isSuccess ) ),
recommandDealerCode( std::move( other.recommandDealerCode ) ),
recommandDealerName( std::move( other.recommandDealerName ) ),
recommandDealerCodeInNotify( std::move( other.recommandDealerCodeInNotify ) ),
recommandDealerNameInNotify( std::move( other.recommandDealerNameInNotify ) ),
recommandDealerNameInSurvey( std::move( other.recommandDealerNameInSurvey ) ),
agentName( std::move( other.agentName ) ),
surveyor( std::move( other.surveyor ) ),
checkDate( std::move( other.checkDate ) ),
repairingStartDate( std::move( other.repairingStartDate ) ),
repairingFinishDate( std::move( other.repairingFinishDate ) ),
status( std::move( other.status ) ),
lostItemID( std::move( other.lostItemID ) ),
surveyorRecommandStatus( std::move( other.surveyorRecommandStatus ) )
{
}
RepairOrder & operator=( const RepairOrder & other )
{
if ( this == &other )
return *this;
branchName = other.branchName;
orderNo = other.orderNo;
orderType = other.orderType;
notifyNo = other.notifyNo;
damageArea = other.damageArea;
damageDate = other.damageDate;
generatingDate = other.generatingDate;
policyNo = other.policyNo;
policyNoJQX = other.policyNoJQX;
plateNumber = other.plateNumber;
brandName = other.brandName;
isInsuranceObject = other.isInsuranceObject;
isSuccess = other.isSuccess;
recommandDealerCode = other.recommandDealerCode;
recommandDealerName = other.recommandDealerName;
recommandDealerCodeInNotify = other.recommandDealerCodeInNotify;
recommandDealerNameInNotify = other.recommandDealerNameInNotify;
recommandDealerNameInSurvey = other.recommandDealerNameInSurvey;
agentName = other.agentName;
surveyor = other.surveyor;
checkDate = other.checkDate;
repairingStartDate = other.repairingStartDate;
repairingFinishDate = other.repairingFinishDate;
status = other.status;
lostItemID = other.lostItemID;
surveyorRecommandStatus = other.surveyorRecommandStatus;
return *this;
}
RepairOrder & operator=( RepairOrder && other )
{
if ( this == &other )
return *this;
branchName = std::move( other.branchName );
orderNo = std::move( other.orderNo );
orderType = std::move( other.orderType );
notifyNo = std::move( other.notifyNo );
damageArea = std::move( other.damageArea );
damageDate = std::move( other.damageDate );
generatingDate = std::move( other.generatingDate );
policyNo = std::move( other.policyNo );
policyNoJQX = std::move( other.policyNoJQX );
plateNumber = std::move( other.plateNumber );
brandName = std::move( other.brandName );
isInsuranceObject = std::move( other.isInsuranceObject );
isSuccess = std::move( other.isSuccess );
recommandDealerCode = std::move( other.recommandDealerCode );
recommandDealerName = std::move( other.recommandDealerName );
recommandDealerCodeInNotify = std::move( other.recommandDealerCodeInNotify );
recommandDealerNameInNotify = std::move( other.recommandDealerNameInNotify );
recommandDealerNameInSurvey = std::move( other.recommandDealerNameInSurvey );
agentName = std::move( other.agentName );
surveyor = std::move( other.surveyor );
checkDate = std::move( other.checkDate );
repairingStartDate = std::move( other.repairingStartDate );
repairingFinishDate = std::move( other.repairingFinishDate );
status = std::move( other.status );
lostItemID = std::move( other.lostItemID );
surveyorRecommandStatus = std::move( other.surveyorRecommandStatus );
return *this;
}
friend bool operator==( const RepairOrder & lhs, const RepairOrder & rhs )
{
return lhs.branchName == rhs.branchName
&& lhs.orderNo == rhs.orderNo
&& lhs.orderType == rhs.orderType
&& lhs.notifyNo == rhs.notifyNo
&& lhs.damageArea == rhs.damageArea
&& lhs.damageDate == rhs.damageDate
&& lhs.generatingDate == rhs.generatingDate
&& lhs.policyNo == rhs.policyNo
&& lhs.policyNoJQX == rhs.policyNoJQX
&& lhs.plateNumber == rhs.plateNumber
&& lhs.brandName == rhs.brandName
&& lhs.isInsuranceObject == rhs.isInsuranceObject
&& lhs.isSuccess == rhs.isSuccess
&& lhs.recommandDealerCode == rhs.recommandDealerCode
&& lhs.recommandDealerName == rhs.recommandDealerName
&& lhs.recommandDealerCodeInNotify == rhs.recommandDealerCodeInNotify
&& lhs.recommandDealerNameInNotify == rhs.recommandDealerNameInNotify
&& lhs.recommandDealerNameInSurvey == rhs.recommandDealerNameInSurvey
&& lhs.agentName == rhs.agentName
&& lhs.surveyor == rhs.surveyor
&& lhs.checkDate == rhs.checkDate
&& lhs.repairingStartDate == rhs.repairingStartDate
&& lhs.repairingFinishDate == rhs.repairingFinishDate
&& lhs.status == rhs.status
&& lhs.lostItemID == rhs.lostItemID
&& lhs.surveyorRecommandStatus == rhs.surveyorRecommandStatus;
}
friend bool operator!=( const RepairOrder & lhs, const RepairOrder & rhs )
{
return !(lhs == rhs);
}
std::wstring getBranchName() const
{
return branchName;
}
void setBranchName( const std::wstring & branchName )
{
this->branchName = branchName;
}
std::wstring getOrderNo() const
{
return orderNo;
}
void setOrderNo( const std::wstring & orderNo )
{
this->orderNo = orderNo;
}
std::wstring getOrderType() const
{
return orderType;
}
void setOrderType( const std::wstring & orderType )
{
this->orderType = orderType;
}
std::wstring getNotifyNo() const
{
return notifyNo;
}
void setNotifyNo( const std::wstring & notifyNo )
{
this->notifyNo = notifyNo;
}
std::wstring getDamageArea() const
{
return damageArea;
}
void setDamageArea( const std::wstring & damageArea )
{
this->damageArea = damageArea;
}
std::wstring getDamageDate() const
{
return damageDate;
}
void setDamageDate( const std::wstring & damageDate )
{
this->damageDate = damageDate;
}
std::wstring getGeneratingDate() const
{
return generatingDate;
}
void setGeneratingDate( const std::wstring & generatingDate )
{
this->generatingDate = generatingDate;
}
std::wstring getPolicyNo() const
{
return policyNo;
}
void setPolicyNo( const std::wstring & policyNo )
{
this->policyNo = policyNo;
}
std::wstring getPolicyNoJqx() const
{
return policyNoJQX;
}
void setPolicyNoJqx( const std::wstring & policyNoJqx )
{
policyNoJQX = policyNoJqx;
}
std::wstring getPlateNumber() const
{
return plateNumber;
}
void setPlateNumber( const std::wstring & plateNumber )
{
this->plateNumber = plateNumber;
}
std::wstring getBrandName() const
{
return brandName;
}
void setBrandName( const std::wstring & brandName )
{
this->brandName = brandName;
}
std::wstring getIsInsuranceObject() const
{
return isInsuranceObject;
}
void setIsInsuranceObject( const std::wstring & isInsuranceObject )
{
this->isInsuranceObject = isInsuranceObject;
}
std::wstring getIsSuccess() const
{
return isSuccess;
}
void setIsSuccess( const std::wstring & isSuccess )
{
this->isSuccess = isSuccess;
}
std::wstring getRecommandDealerCode() const
{
return recommandDealerCode;
}
void setRecommandDealerCode( const std::wstring & recommandDealerCode )
{
this->recommandDealerCode = recommandDealerCode;
}
std::wstring getRecommandDealerName() const
{
return recommandDealerName;
}
void setRecommandDealerName( const std::wstring & recommandDealerName )
{
this->recommandDealerName = recommandDealerName;
}
std::wstring getRecommandDealerCodeInNotify() const
{
return recommandDealerCodeInNotify;
}
void setRecommandDealerCodeInNotify( const std::wstring & recommandDealerCodeInNotify )
{
this->recommandDealerCodeInNotify = recommandDealerCodeInNotify;
}
std::wstring getRecommandDealerNameInNotify() const
{
return recommandDealerNameInNotify;
}
void setRecommandDealerNameInNotify( const std::wstring & recommandDealerNameInNotify )
{
this->recommandDealerNameInNotify = recommandDealerNameInNotify;
}
std::wstring getRecommandDealerNameInSurvey() const
{
return recommandDealerNameInSurvey;
}
void setRecommandDealerNameInSurvey( const std::wstring & recommandDealerNameInSurvey )
{
this->recommandDealerNameInSurvey = recommandDealerNameInSurvey;
}
std::wstring getAgentName() const
{
return agentName;
}
void setAgentName( const std::wstring & agentName )
{
this->agentName = agentName;
}
std::wstring getSurveyor() const
{
return surveyor;
}
void setSurveyor( const std::wstring & surveyor )
{
this->surveyor = surveyor;
}
std::wstring getCheckDate() const
{
return checkDate;
}
void setCheckDate( const std::wstring & checkDate )
{
this->checkDate = checkDate;
}
std::wstring getRepairingStartDate() const
{
return repairingStartDate;
}
void setRepairingStartDate( const std::wstring & repairingStartDate )
{
this->repairingStartDate = repairingStartDate;
}
std::wstring getRepairingFinishDate() const
{
return repairingFinishDate;
}
void setRepairingFinishDate( const std::wstring & repairingFinishDate )
{
this->repairingFinishDate = repairingFinishDate;
}
std::wstring getStatus() const
{
return status;
}
void setStatus( const std::wstring & status )
{
this->status = status;
}
std::wstring getLostItemId() const
{
return lostItemID;
}
void setLostItemId( const std::wstring & lostItemId )
{
lostItemID = lostItemId;
}
std::wstring getSurveyorRecommandStatus() const
{
return surveyorRecommandStatus;
}
void setSurveyorRecommandStatus( const std::wstring & surveyorRecommandStatus )
{
this->surveyorRecommandStatus = surveyorRecommandStatus;
}
private:
std::wstring branchName;
std::wstring orderNo;
std::wstring orderType;
std::wstring notifyNo;
std::wstring damageArea;
std::wstring damageDate;
std::wstring generatingDate;
std::wstring policyNo;
std::wstring policyNoJQX;
std::wstring plateNumber;
std::wstring brandName;
std::wstring isInsuranceObject;
std::wstring isSuccess;
std::wstring recommandDealerCode;
std::wstring recommandDealerName;
std::wstring recommandDealerCodeInNotify;
std::wstring recommandDealerNameInNotify;
std::wstring recommandDealerNameInSurvey;
std::wstring agentName;
std::wstring surveyor; //查勘员
std::wstring checkDate;
std::wstring repairingStartDate;
std::wstring repairingFinishDate;
std::wstring status;
std::wstring lostItemID;
std::wstring surveyorRecommandStatus;
};

View File

@ -0,0 +1,2 @@

#include "RepairRecommandationRecord.h"

View File

@ -0,0 +1,257 @@
#pragma once
#include <string>
/************************************************
* \brief
************************************************/
class RepairRecommandationRecord
{
public:
RepairRecommandationRecord( std::wstring branchName, std::wstring orderNo, std::wstring orderType, std::wstring notifyNo, std::wstring suggestedCarDealerCode, std::wstring suggestedCarDealerName, std::wstring damageDate, std::wstring plateNumber, std::wstring brandName, std::wstring messageType, std::wstring messageSendingDate, std::wstring dataSource )
: branchName_( std::move(branchName) ),
orderNo_( std::move(orderNo) ),
orderType_( std::move(orderType) ),
notifyNo_( std::move(notifyNo) ),
suggestedCarDealerCode_( std::move(suggestedCarDealerCode) ),
suggestedCarDealerName_( std::move(suggestedCarDealerName) ),
damageDate_( std::move(damageDate) ),
plateNumber_( std::move(plateNumber) ),
brandName_( std::move(brandName) ),
messageType_( std::move(messageType) ),
messageSendingDate_( std::move(messageSendingDate) ),
dataSource_( std::move(dataSource) )
{
}
RepairRecommandationRecord( const RepairRecommandationRecord & other )
: branchName_( other.branchName_ ),
orderNo_( other.orderNo_ ),
orderType_( other.orderType_ ),
notifyNo_( other.notifyNo_ ),
suggestedCarDealerCode_( other.suggestedCarDealerCode_ ),
suggestedCarDealerName_( other.suggestedCarDealerName_ ),
damageDate_( other.damageDate_ ),
plateNumber_( other.plateNumber_ ),
brandName_( other.brandName_ ),
messageType_( other.messageType_ ),
messageSendingDate_( other.messageSendingDate_ ),
dataSource_( other.dataSource_ )
{
}
RepairRecommandationRecord( RepairRecommandationRecord && other )
: branchName_( std::move(other.branchName_) ),
orderNo_( std::move(other.orderNo_) ),
orderType_( std::move(other.orderType_) ),
notifyNo_( std::move(other.notifyNo_) ),
suggestedCarDealerCode_( std::move(other.suggestedCarDealerCode_) ),
suggestedCarDealerName_( std::move(other.suggestedCarDealerName_) ),
damageDate_( std::move(other.damageDate_) ),
plateNumber_( std::move(other.plateNumber_) ),
brandName_( std::move(other.brandName_) ),
messageType_( std::move(other.messageType_) ),
messageSendingDate_( std::move(other.messageSendingDate_) ),
dataSource_( std::move(other.dataSource_) )
{
}
RepairRecommandationRecord & operator=( const RepairRecommandationRecord & other )
{
if ( this == &other )
return *this;
branchName_ = other.branchName_;
orderNo_ = other.orderNo_;
orderType_ = other.orderType_;
notifyNo_ = other.notifyNo_;
suggestedCarDealerCode_ = other.suggestedCarDealerCode_;
suggestedCarDealerName_ = other.suggestedCarDealerName_;
damageDate_ = other.damageDate_;
plateNumber_ = other.plateNumber_;
brandName_ = other.brandName_;
messageType_ = other.messageType_;
messageSendingDate_ = other.messageSendingDate_;
dataSource_ = other.dataSource_;
return *this;
}
RepairRecommandationRecord & operator=( RepairRecommandationRecord && other )
{
if ( this == &other )
return *this;
branchName_ = std::move( other.branchName_ );
orderNo_ = std::move( other.orderNo_ );
orderType_ = std::move( other.orderType_ );
notifyNo_ = std::move( other.notifyNo_ );
suggestedCarDealerCode_ = std::move( other.suggestedCarDealerCode_ );
suggestedCarDealerName_ = std::move( other.suggestedCarDealerName_ );
damageDate_ = std::move( other.damageDate_ );
plateNumber_ = std::move( other.plateNumber_ );
brandName_ = std::move( other.brandName_ );
messageType_ = std::move( other.messageType_ );
messageSendingDate_ = std::move( other.messageSendingDate_ );
dataSource_ = std::move( other.dataSource_ );
return *this;
}
friend bool operator==( const RepairRecommandationRecord & lhs, const RepairRecommandationRecord & rhs )
{
return lhs.branchName_ == rhs.branchName_
&& lhs.orderNo_ == rhs.orderNo_
&& lhs.orderType_ == rhs.orderType_
&& lhs.notifyNo_ == rhs.notifyNo_
&& lhs.suggestedCarDealerCode_ == rhs.suggestedCarDealerCode_
&& lhs.suggestedCarDealerName_ == rhs.suggestedCarDealerName_
&& lhs.damageDate_ == rhs.damageDate_
&& lhs.plateNumber_ == rhs.plateNumber_
&& lhs.brandName_ == rhs.brandName_
&& lhs.messageType_ == rhs.messageType_
&& lhs.messageSendingDate_ == rhs.messageSendingDate_
&& lhs.dataSource_ == rhs.dataSource_;
}
friend bool operator!=( const RepairRecommandationRecord & lhs, const RepairRecommandationRecord & rhs )
{
return !(lhs == rhs);
}
std::wstring getBranchName() const
{
return branchName_;
}
void setBranchName( const std::wstring & branchName )
{
branchName_ = branchName;
}
std::wstring getOrderNo() const
{
return orderNo_;
}
void setOrderNo( const std::wstring & orderNo )
{
orderNo_ = orderNo;
}
std::wstring getOrderType() const
{
return orderType_;
}
void setOrderType( const std::wstring & orderType )
{
orderType_ = orderType;
}
std::wstring getNotifyNo() const
{
return notifyNo_;
}
void setNotifyNo( const std::wstring & notifyNo )
{
notifyNo_ = notifyNo;
}
std::wstring getSuggestedCarDealerCode() const
{
return suggestedCarDealerCode_;
}
void setSuggestedCarDealerCode( const std::wstring & suggestedCarDealerCode )
{
suggestedCarDealerCode_ = suggestedCarDealerCode;
}
std::wstring getSuggestedCarDealerName() const
{
return suggestedCarDealerName_;
}
void setSuggestedCarDealerName( const std::wstring & suggestedCarDealerName )
{
suggestedCarDealerName_ = suggestedCarDealerName;
}
std::wstring getDamageDate() const
{
return damageDate_;
}
void setDamageDate( const std::wstring & damageDate )
{
damageDate_ = damageDate;
}
std::wstring getPlateNumber() const
{
return plateNumber_;
}
void setPlateNumber( const std::wstring & plateNumber )
{
plateNumber_ = plateNumber;
}
std::wstring getBrandName() const
{
return brandName_;
}
void setBrandName( const std::wstring & brandName )
{
brandName_ = brandName;
}
std::wstring getMessageType() const
{
return messageType_;
}
void setMessageType( const std::wstring & messageType )
{
messageType_ = messageType;
}
std::wstring getMessageSendingDate() const
{
return messageSendingDate_;
}
void setMessageSendingDate( const std::wstring & messageSendingDate )
{
messageSendingDate_ = messageSendingDate;
}
std::wstring getDataSource() const
{
return dataSource_;
}
void setDataSource( const std::wstring & dataSource )
{
dataSource_ = dataSource;
}
private:
std::wstring branchName_;
std::wstring orderNo_;
std::wstring orderType_;
std::wstring notifyNo_;
std::wstring suggestedCarDealerCode_;
std::wstring suggestedCarDealerName_;
std::wstring damageDate_;
std::wstring plateNumber_;
std::wstring brandName_;
std::wstring messageType_;
std::wstring messageSendingDate_;
std::wstring dataSource_;
};

View File

@ -0,0 +1,3 @@
#include "UserInfo.h"

View File

@ -0,0 +1,104 @@
//用户信息相关
#pragma once
#include <QString>
class UserInfo
{
public:
UserInfo( std::string staffP13, std::string staffName, std::string staffPost, std::string staffPostCode )
: staff_p13( std::move(staffP13) ),
staff_name( std::move(staffName) ),
staff_post( std::move(staffPost) ),
staff_post_code( std::move(staffPostCode) )
{
}
UserInfo( const UserInfo & other )
: staff_p13( other.staff_p13 ),
staff_name( other.staff_name ),
staff_post( other.staff_post ),
staff_post_code( other.staff_post_code )
{
}
UserInfo( UserInfo && other )
: staff_p13( std::move(other.staff_p13) ),
staff_name( std::move(other.staff_name) ),
staff_post( std::move(other.staff_post) ),
staff_post_code( std::move(other.staff_post_code) )
{
}
UserInfo & operator=( const UserInfo & other )
{
if ( this == &other )
return *this;
staff_p13 = other.staff_p13;
staff_name = other.staff_name;
staff_post = other.staff_post;
staff_post_code = other.staff_post_code;
return *this;
}
UserInfo & operator=( UserInfo && other )
{
if ( this == &other )
return *this;
staff_p13 = std::move( other.staff_p13 );
staff_name = std::move( other.staff_name );
staff_post = std::move( other.staff_post );
staff_post_code = std::move( other.staff_post_code );
return *this;
}
std::string getStaffP13() const
{
return staff_p13;
}
void setStaffP13( const std::string & staffP13 )
{
staff_p13 = staffP13;
}
std::string getStaffName() const
{
return staff_name;
}
void setStaffName( const std::string & staffName )
{
staff_name = staffName;
}
std::string getStaffPost() const
{
return staff_post;
}
void setStaffPost( const std::string & staffPost )
{
staff_post = staffPost;
}
std::string getStaffPostCode() const
{
return staff_post_code;
}
void setStaffPostCode( const std::string & staffPostCode )
{
staff_post_code = staffPostCode;
}
private:
std::string staff_p13;
std::string staff_name;
std::string staff_post;
std::string staff_post_code;
};

View File

@ -0,0 +1,3 @@

#include "新送返修监控报表.h"

View File

@ -0,0 +1,166 @@
#pragma once
#include <string>
typedef struct NewRepairMonitorReportRecord_
{
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring vin码_;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring 使_;
std::wstring _;
std::wstring _三者车_;
std::wstring 9_行政用车_家庭自用车_;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _当前状态_;
std::wstring _报案环节_;
std::wstring _现场推荐环节_;
std::wstring _核价通过环节_;
std::wstring _结案环节_;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _报案_;
std::wstring _报案_;
std::wstring _核价_;
std::wstring _核价_;
std::wstring _结案_;
std::wstring _结案_;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _其他推荐信息_;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _其他推荐信息_;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _其他推荐信息_;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
std::wstring _;
} NewRepairMonitorReportRecord;

View File

@ -0,0 +1,165 @@
#include <string>
#include <stdio.h>
#include <windows.h>
#include <stdexcept>
#include "excel.h"
using namespace std;
using namespace libxl;
void setKey( libxl::Book * pBook )
{
if ( pBook != nullptr )
{
pBook->setKey( L"cpic", L"windows-202d21040bc4e70060bc6264a6ucu7i1" );
}
}
void setKey( libxl::IBookT<char> * pBook )
{
if (pBook != nullptr)
{
pBook->setKey("cpic", "windows-202d21040bc4e70060bc6264a6ucu7i1");
}
}
std::wstring ReadCellStringFromXlsx( libxl::IBookT<wchar_t> * pBook,
unsigned int sheetIndex,
unsigned int rowIndex,
unsigned int colIndex,
bool isInteger )
{
using namespace libxl;
std::wstring returnValue;
int year = 0;
int month = 0;
int day = 0;
int hour = 0;
int min = 0;
int second = 0;
//验证
if ( pBook == nullptr )
{
throw std::logic_error( "ReadCellStringFromXlsx pSheet参数错误" );
}
ISheetT<wchar_t> * pSheet = pBook->getSheet( sheetIndex );
CellType cellType = pSheet->cellType( rowIndex, colIndex );
//判断单元格类型
switch ( cellType )
{
case CellType::CELLTYPE_BOOLEAN: //bool类型
{
returnValue = pSheet->readBool( rowIndex, colIndex ) ? L"true" : L"false";
break;
}
case CellType::CELLTYPE_NUMBER: //数字类型,还得再判断一下是不是日期类型
{
double cellValue = pSheet->readNum( rowIndex, colIndex );
wchar_t buffer[50]; //生成字符串的缓冲区
if ( pSheet->isDate( rowIndex, colIndex ) == true )
{
//是日期类型
if ( pBook->dateUnpack( cellValue,
&year,
&month,
&day,
&hour,
&min,
&second ) == false )
{
throw std::runtime_error( "转换日期格式失败!" );
}
//排除bug
if ( min >= 60 )
{
hour = hour + 1;
min = min - 60;
}
// if ( hour >= 24 )
// {
// day = day + 1;
// hour = hour - 24;
// }
//
// switch ( month )
// {
// case 1:
// case 3:
// case
// }
wsprintfW( buffer, L"%d-%.2d-%.2d %.2d:%.2d:%.2d", year, month, day, hour, min, second );
}
else
{
//是数字类型, 根据isInteger参数选择输出整型或者浮点型
if ( isInteger == true )
{
wsprintfW( buffer, L"%d", static_cast<long>(cellValue) );
}
else
{
wsprintfW( buffer, L"%f", cellValue );
}
}
returnValue = buffer;
break;
}
case CELLTYPE_STRING: //字符串类型,要先判断一下读取的结果是不是空值
{
const wchar_t * pValue = pSheet->readStr( rowIndex, colIndex );
if ( pValue != nullptr )
{
returnValue = pValue;
}
break;
}
}
return returnValue;
}
libxl::Sheet * getXlsxSheetByName( libxl::IBookT<wchar_t> * pBook, const std::wstring & sheetName )
{
Sheet * pSheet = nullptr;
Sheet * pCurrentSheet = nullptr;
if ( pBook == nullptr )
{
throw logic_error( "参数错误!" );
}
int sheetCount = pBook->sheetCount();
int sheetIndex = 0;
while ( sheetIndex < sheetCount )
{
pCurrentSheet = pBook->getSheet( sheetIndex );
wstring currentSheetName = pCurrentSheet->name();
if ( currentSheetName == sheetName )
{
pSheet = pCurrentSheet;
break;
}
sheetIndex++;
}
return pSheet;
}

View File

@ -0,0 +1,37 @@
#pragma once
#ifndef EXCEL_H_
#define EXCEL_H_
#include <libxl.h>
/************************************************
* \brief libxl产品
* \param pBook
************************************************/
void setKey( libxl::Book * pBook );
void setKey( libxl::IBookT<char> * pBook );
/************************************************
* \brief xlsx文件单元格中读取数据
* \param pBook libxl的Book对象
* \param sheetIndex sheet的索引值
* \param rowIndex
* \param colIndex
* \param isInteger
* \return
************************************************/
std::wstring ReadCellStringFromXlsx( libxl::IBookT<wchar_t> * pBook,
unsigned int sheetIndex,
unsigned int rowIndex,
unsigned int colIndex,
bool isInteger );
/************************************************
* \brief sheet
* \param sheetName
* \return
************************************************/
libxl::Sheet * getXlsxSheetByName( libxl::IBookT<wchar_t> * pBook, const std::wstring & sheetName );
#endif

View File

@ -0,0 +1,90 @@
#include "query_user.h"
#include <stdexcept>
#include <ocilib.h>
#include "../../db/ocilib/db_oper.h"
#include "../Datastructure/UserInfo/UserInfo.h"
using namespace std;
string ERROR_MESSAGE_USERERROR = "您的p13账号无权使用该系统\n请联系工作组添加!";
UserInfo queryUserInfo( const string & userName,
const string & password,
const string & tnsName,
const string & staffP13 )
{
OCI_Connection * pConn = nullptr;
OCI_Statement * pStmt = nullptr;
OCI_Resultset * pResult = nullptr;
int returnCode = 0;
string sqlQueryStaff =
"SELECT a.staff_p13, a.staff_name, b.staff_post_code, b.staff_post \n"
"FROM staff_info a, \n"
"staff_post_code b \n"
"WHERE a.staff_post_code = b.staff_post_code \n"
"AND a.staff_p13 = :p13";
returnCode = OCI_Initialize( l_error_handler, nullptr, OCI_ENV_DEFAULT );
if ( static_cast<bool>(returnCode) == false )
{
string errorMessage( "ocilib初始化错误:" );
errorMessage.append( get_last_error_message() );
throw runtime_error( errorMessage );
}
try
{
pConn = OCI_ConnectionCreate( tnsName.c_str(),
userName.c_str(),
password.c_str(),
OCI_SESSION_DEFAULT );
}
catch ( runtime_error & error )
{
OCI_Cleanup();
throw error;
}
try
{
pStmt = OCI_StatementCreate( pConn );
OCI_Prepare( pStmt, sqlQueryStaff.c_str() );
OCI_AllowRebinding( pStmt, true );
OCI_BindString( pStmt, ":p13", const_cast<otext*>(staffP13.c_str()), staffP13.size() );
OCI_Execute( pStmt );
pResult = OCI_GetResultset( pStmt );
//检查结果集,如果没有返回,则说明没有此用户
if ( OCI_FetchNext( pResult ) == false )
{
throw runtime_error( ERROR_MESSAGE_USERERROR );
}
}
catch ( runtime_error & error )
{
OCI_ConnectionFree( pConn );
OCI_Cleanup();
throw error;
}
UserInfo info( OCI_GetString( pResult, 1 ),
OCI_GetString( pResult, 2 ),
OCI_GetString( pResult, 4 ),
OCI_GetString( pResult, 3 ));
OCI_ConnectionFree( pConn );
OCI_Cleanup();
return info;
}

View File

@ -0,0 +1,10 @@
//查询用户、权限等相关数据
#pragma once
#include <iostream>
#include "../Datastructure/UserInfo/UserInfo.h"
UserInfo queryUserInfo( const std::string & userName,
const std::string & password,
const std::string & tnsName,
const std::string & staffP13 );

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 542 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 952 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Some files were not shown because too many files have changed in this diff Show More