183 Commits

Author SHA1 Message Date
f713dfd5ba xxx 2022-12-15 17:45:19 +08:00
ac1cd2e9b7 保存进度! 2022-11-18 18:05:08 +08:00
71adc2622e 注册页面 2022-11-16 18:03:17 +08:00
7e8c5da593 保存进度! 2022-11-15 17:56:34 +08:00
d249fdd576 ... 2022-11-14 10:23:26 +08:00
cdda49370f 保存进度! 2022-11-13 00:31:39 +08:00
9cd7373f90 尝试新的背影颜色!#f4f5f7 2022-11-04 00:22:28 +08:00
15bf339118 ... 2022-11-03 17:53:04 +08:00
0c392ee354 保存进度! 2022-11-02 18:02:22 +08:00
3aa898fee8 保存进度! 2022-11-01 17:51:14 +08:00
fd6e7ad959 保存进度! 2022-11-01 10:06:40 +08:00
a634bdfad4 保存进度! 2022-11-01 00:13:34 +08:00
52e7a355bf 保存进度! 2022-10-31 23:08:51 +08:00
fe484c0eec 保存进度! 2022-10-31 18:01:26 +08:00
a89f773825 学习axios
联系用axios发送请求,并且复习springmvc接收json请求。
2022-10-31 16:59:21 +08:00
dfac0eaa64 开始编写数据上传的前后端。 2022-10-31 11:41:55 +08:00
ccdd94ed1a Merge branch 'javaweb' of http://222.76.244.118:3000/CPICXIM/car_deal_util into javaweb 2022-10-31 00:13:41 +08:00
82eed0a470 删掉一些没用的代码! 2022-10-31 00:12:55 +08:00
b0f9f4e48d 保存进度! 2022-10-25 18:01:01 +08:00
e4fff250d2 保存进度! 2022-10-23 15:32:03 +08:00
6a3f5d820f 修改了一些样式! 2022-10-23 00:41:28 +08:00
bfb0375e84 学习设置滚动条样式! 2022-10-22 01:52:42 +08:00
2a160aaabc 保存进度! 2022-10-22 01:35:43 +08:00
c768a04b90 保存进度! 2022-10-21 19:03:12 +08:00
a963a76d01 保存进度! 2022-10-21 11:49:40 +08:00
b7df4c2235 保存进度! 2022-10-21 01:19:47 +08:00
7439e216b9 保存进度! 2022-10-20 18:04:19 +08:00
8e3dcf4e5b 保存进度! 2022-10-20 00:07:19 +08:00
60017b58aa Merge branch 'javaweb' of http://222.76.244.118:3000/CPICXIM/car_deal_util into javaweb 2022-10-19 22:45:08 +08:00
55c81f3df6 保存进度! 2022-10-19 22:44:56 +08:00
e3443e9a97 保存进度! 2022-10-19 17:39:31 +08:00
bd13a42b7d 保存进度! 2022-10-14 17:42:39 +08:00
64ec3b07c1 保存进度! 2022-10-13 18:06:50 +08:00
0eeb9a3724 保存进度! 2022-10-12 21:15:16 +08:00
03a069dca2 保存进度! 2022-10-12 21:03:59 +08:00
3f65685e17 字体存放到本地 2022-10-12 17:58:40 +08:00
67a7935728 做了一个登陆界面! 2022-10-12 15:39:37 +08:00
e3fbd6e0f3 Merge branch 'javaweb' of http://222.76.244.118:3000/CPICXIM/car_deal_util into javaweb 2022-10-12 08:49:14 +08:00
a5bb97e43f 开始开发前端页面。 2022-10-12 01:15:31 +08:00
d490ca3945 保存进度! 2022-10-11 16:10:50 +08:00
cebd7f8f28 修改文件上传功能的文档。 2022-10-11 09:40:59 +08:00
1f93a93e69 加入车商渠道常用表格记录 2022-10-10 18:16:43 +08:00
a1c328714e 保存进度! 2022-10-10 15:29:40 +08:00
40bcfa916f 保存进度! 2022-10-10 10:27:25 +08:00
01384e15e0 保存进度! 2022-10-09 15:11:22 +08:00
7b01cf6be8 保存进度! 2022-10-09 10:45:03 +08:00
9d65be4a67 保存进度! 2022-10-09 10:43:28 +08:00
f288a5002c 保存进度! 2022-10-09 10:41:19 +08:00
ded2b3e06d 增加跨域功能
以Filter的方式增加跨域功能,直接取得请求头的Origin参数,作为Access-Control-Allow-Origin的值。
2022-10-09 10:31:13 +08:00
93b556f09f 请求路径改成相对路径
将post请求的路径改成相对路径,测试成功。
2022-10-01 00:09:09 +08:00
7ac97a6413 保存进度! 2022-09-30 17:34:49 +08:00
a26d1b5203 修改了资源访问和controller映射路径。
修改了临时文件目录。
2022-09-30 11:30:51 +08:00
c41bcc6a35 实现异步文件上传功能! 2022-09-30 00:41:42 +08:00
0a22d33d78 研究异步文件上传! 2022-09-29 19:33:00 +08:00
497d86d491 使用 javax.servlet-api 4.0.1 可以运行! 2022-09-29 09:35:07 +08:00
6dda3fd9d2 保存进度! 2022-09-29 00:16:32 +08:00
655e856ad9 保存进度! 2022-09-29 00:11:52 +08:00
66b911ab6a 保存进度! 2022-09-28 23:07:47 +08:00
5c35da664e 保存进度! 2022-09-28 20:18:03 +08:00
abc401fed2 保存进度! 2022-09-28 10:35:17 +08:00
863d65fa7c 保存进度! 2022-09-28 10:07:48 +08:00
7fb1741a89 Merge branch 'main' of http://222.76.244.118:3000/CPICXIM/car_deal_util 2022-09-28 10:06:16 +08:00
173aa6655f 提交信息! 2021-03-18 16:19:57 +08:00
92681a8cfe 提交信息! 2021-03-18 11:44:01 +08:00
8d6b4b07d1 提交信息! 2021-03-18 11:13:31 +08:00
8f63de9a42 更新ignore文件 2021-02-02 14:36:21 +08:00
02eb1eb2c8 修复一个bug 2021-01-26 11:15:26 +08:00
114e6c4ecd 增加参数配置窗口 2020-12-29 10:38:40 +08:00
e57beeb725 修改了输出目录。 2020-12-23 19:56:41 +08:00
7f2933dd1e 修复一个bug! 2020-12-21 18:05:20 +08:00
ac893d419e 提交信息! 2020-12-19 18:22:39 +08:00
81e782f82c 修复一个bug! 2020-12-18 17:41:42 +08:00
6be7e49dd2 提交信息! 2020-12-18 17:21:29 +08:00
63910b48ea 提交信息! 2020-12-09 14:33:52 +08:00
aff4ec48f6 完成表格模板验证 2020-12-09 10:46:16 +08:00
96bd16a290 开了个头! 2020-12-08 22:46:37 +08:00
50304c0c80 窗口界面开发完成! 2020-12-08 17:59:27 +08:00
1667755910 。。。 2020-12-08 07:07:48 +08:00
e0f80ea9f4 ... 2020-12-07 21:55:03 +08:00
8c6fef3c46 ... 2020-12-07 21:46:27 +08:00
b72efb0b1e 提交信息! 2020-12-07 17:39:40 +08:00
094db4b9b5 ... 2020-12-05 13:29:40 +08:00
a798752d7c 提交信息! 2020-12-01 18:27:07 +08:00
1328642946 提交信息! 2020-12-01 15:35:23 +08:00
92e1a1255d 提交信息! 2020-11-30 16:45:24 +08:00
8555274b9c 提交信息! 2020-11-30 12:50:17 +08:00
f961688dc1 提交信息! 2020-11-27 16:47:22 +08:00
773bba3c06 提交信息! 2020-11-27 11:40:53 +08:00
52d85dd319 做了一些修改 2020-11-27 11:32:13 +08:00
c5be602bcf 提交信息! 2020-11-26 18:00:16 +08:00
563bd85212 111 2020-11-25 17:47:25 +08:00
d2cc541da4 提交信息! 2020-11-24 18:06:13 +08:00
cd259de06a 加入python部分脚本 2020-11-23 17:47:48 +08:00
6b8cfe2c98 完成车商代码验证功能. 2020-11-23 16:10:12 +08:00
1e628ccc30 提交信息! 2020-11-23 15:48:50 +08:00
6572379132 搞定车商代码缓存! 2020-11-23 14:30:05 +08:00
a4d1e51da8 111 2020-11-23 11:43:54 +08:00
82600f1beb 提交信息! 2020-11-20 17:54:29 +08:00
99b3a4ef41 提交信息! 2020-11-20 11:42:43 +08:00
7ba184a311 车商业绩基本完成。 2020-11-17 16:31:34 +08:00
fd604459bc 提交信息! 2020-11-16 16:42:19 +08:00
4fb1aa003f 增加卢霖城的送返修推荐表窗口对象 2020-11-16 14:11:31 +08:00
1441ee2978 提交信息! 2020-11-11 09:09:04 +08:00
33a3b4a61f 提交信息! 2020-11-03 18:02:45 +08:00
3936a66f39 提交信息! 2020-10-20 16:43:44 +08:00
3b52e2cbc8 提交信息! 2020-10-12 17:39:34 +08:00
1c1989931a ... 2020-08-17 21:20:33 +08:00
6ec6f32fee ... 2020-08-13 17:52:18 +08:00
f8421cd75d ... 2020-07-28 19:18:49 +08:00
e49e4493a8 ... 2020-07-14 16:31:57 +08:00
639715e8fa ... 2020-07-14 11:52:16 +08:00
fc2d04d57b 变更一下代码文目录名,防止qt编译中文路径出错。 2020-07-14 11:17:31 +08:00
05dacbfec4 修改车商业绩表界面。 2020-07-13 17:43:14 +08:00
75fa45e103 ... 2020-07-13 13:35:34 +08:00
5192de6706 ... 2020-07-13 09:43:27 +08:00
902d2944af 完成所有的导入功能 2020-07-09 17:51:51 +08:00
c87698746a ... 2020-07-08 16:55:59 +08:00
c04f0363cb ... 2020-07-07 17:53:41 +08:00
95f8839446 ... 2020-07-07 15:13:22 +08:00
7d265d106b 完成,还未测试! 2020-07-01 17:50:32 +08:00
f653eddf5b ... 2020-06-28 17:12:59 +08:00
c2251573db 回家吃饭 2020-06-28 11:36:19 +08:00
21c3f5fe75 ... 2020-06-27 22:44:15 +08:00
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
a129349734 尝试中文变量名 2020-06-27 21:59:17 +08:00
f927673fa3 ... 2020-06-27 21:30:26 +08:00
beac5d18ec 增加卢霖城的数据表 2020-06-24 17:28:23 +08:00
b2bc134c0a ... 2020-05-27 20:42:36 +08:00
76704f699d ... 2020-05-13 21:24:02 +08:00
9cfdd61539 ... 2020-05-13 18:17:27 +08:00
2d3e5a8e69 ... 2020-05-12 16:51:41 +08:00
571779d33a ... 2020-05-12 16:48:05 +08:00
fb3f0fb20d 。。。 2020-05-12 16:44:34 +08:00
54672647d6 先做界面吧! 2020-04-11 20:42:53 +08:00
1c61f5c9c5 ... 2020-03-18 20:42:45 +08:00
13309fcf74 最后一个表! 2020-03-18 18:24:18 +08:00
d6faa08e7a 三个导入导出功能完成。 2020-03-17 17:25:36 +08:00
87a729cbaf 车商方案表导入功能完成! 2020-03-16 21:14:50 +08:00
89192f2a82 更新存储过程。 2020-03-16 18:05:29 +08:00
4c5b5ee863 ..... 2020-03-16 17:42:43 +08:00
5b19ff7aba 送返修工单搞定。 2020-03-16 15:07:03 +08:00
4e48c7f233 用字符串保存时间,现在改成用日期对象保存! 2020-03-16 14:09:43 +08:00
fa4f2fd956 ... 2020-03-16 10:52:17 +08:00
f5838d7bd1 ... 2020-03-15 23:51:42 +08:00
d42810605a ... 2020-03-15 21:10:04 +08:00
6227880fdb 11111 2020-03-15 21:03:58 +08:00
dedb1e0b34 ... 2020-03-11 19:08:32 +08:00
a9dce57cf3 .... 2020-03-10 17:50:58 +08:00
3d1ff9c9a9 ... 2020-03-09 17:56:01 +08:00
41c802c70c ... 2020-03-07 22:53:50 +08:00
e8e2e18d0d ... 2020-03-07 20:01:16 +08:00
2778431121 加入登录窗口 2020-03-06 11:43:58 +08:00
06f18d2080 ... 2020-01-18 16:33:28 +08:00
24ed0dedcc 改c 2020-01-18 11:10:53 +08:00
067026ac95 ... 2020-01-18 09:22:54 +08:00
cd181674e9 ... 2019-12-29 15:03:09 +08:00
99ad1a491d ... 2019-12-29 15:02:41 +08:00
8a7ff68090 ... 2019-12-29 13:53:54 +08:00
cfbc7d40d5 ... 2019-12-28 13:14:15 +08:00
83cbfdec72 ... 2019-12-28 10:26:35 +08:00
3fad90b56c ... 2019-12-28 10:24:36 +08:00
ccd6a901a8 ... 2019-12-27 18:22:58 +08:00
6ce14499cf ... 2019-12-27 17:04:44 +08:00
4b825bf9a6 .... 2019-12-27 16:08:50 +08:00
9d9426f1a8 ... 2019-12-26 17:06:41 +08:00
c08352b76c 。。。 2019-12-26 17:02:56 +08:00
aaec461d4a 增加获取当前登录用户名功能,增加送返修工单excel文件读取功能。 2019-12-26 16:32:40 +08:00
330d2923b0 ... 2019-12-20 19:33:43 +08:00
ae8f9ec881 ... 2019-12-20 16:45:57 +08:00
413c6c2f29 搞定车商方案表读取。 2019-12-19 17:10:29 +08:00
57194b10ea 清理项目文件。 2019-12-19 11:25:01 +08:00
2d1b9535cb 开始编写excel导入导出。 2019-12-18 18:04:20 +08:00
eb6bdf43a0 ... 2019-12-17 15:24:24 +08:00
30115756b3 增加车商业绩表和车商方案表数据结构文件。 2019-12-17 11:39:38 +08:00
adbe7bc808 ... 2019-12-16 18:20:07 +08:00
6c3dd101c6 建立送返修工单表! 2019-12-11 17:28:01 +08:00
d778d5a253 添加文档 2019-12-11 10:21:41 +08:00
1a9bdfd203 更新抓取循环! 2019-12-10 23:06:07 +08:00
c142afe342 ... 2019-12-10 19:06:05 +08:00
3254d7473a 补充文档 2019-12-10 18:00:53 +08:00
b681fc24d6 新建项目! 2019-12-10 17:54:37 +08:00
84ff952106 Initial commit 2019-12-10 17:52:25 +08:00
241 changed files with 76367 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