From 8468377df67866c626f5d80fdee96da02d7a3678 Mon Sep 17 00:00:00 2001 From: wxc <191104855@qq.com> Date: Mon, 14 Oct 2024 09:48:20 +0800 Subject: [PATCH] =?UTF-8?q?fit:=20=E8=AD=A6=E5=91=98=E4=B8=AD=E5=BF=83-?= =?UTF-8?q?=E8=AD=A6=E5=91=98=E6=96=B0=E5=A2=9E=E5=A4=B4=E5=83=8F=E3=80=81?= =?UTF-8?q?=E4=BA=BA=E5=91=98=E5=B1=9E=E6=80=A7=E3=80=81=E5=A9=9A=E5=A7=BB?= =?UTF-8?q?=E7=8A=B6=E5=86=B5=E3=80=81=E5=AD=90=E5=A5=B3=E7=AD=89=E5=B1=9E?= =?UTF-8?q?=E6=80=A7=E3=80=82=20fit:=20=E6=96=B0=E5=A2=9E=E5=9F=BA?= =?UTF-8?q?=E7=A1=80=E6=95=B0=E6=8D=AE=E5=9B=BD=E5=AE=B6=E4=BF=A1=E8=AE=BF?= =?UTF-8?q?=E6=8A=95=E8=AF=89=E3=80=82=20fit:=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=9F=BA=E7=A1=80=E6=95=B0=E6=8D=AE=E5=85=AC=E5=AE=89=E9=83=A8?= =?UTF-8?q?=E4=BF=A1=E8=AE=BF=E6=8A=95=E8=AF=89=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 7 ++ sql/1008.sql | 108 +++++++++++++++++- sql/1011.sql | 5 + .../supervision/constants/AppConstants.java | 6 +- .../enums/NegativeTaskCategoryEnum.java | 13 +++ .../enums/NegativeTaskStatusEnum.java | 14 +++ .../constants/enums/ProblemSourcesEnum.java | 26 +++-- .../constants/enums/ProcessingStatusEnum.java | 23 +++- .../controller/FileController.java | 20 +--- .../controller/data/DataController.java | 10 -- .../data/DataPetitionComplaintController.java | 79 +++++++++++++ .../controller/system/DepartController.java | 23 +++- .../system/DictContentController.java | 10 +- .../controller/system/HolidayController.java | 49 +++++++- .../controller/system/PoliceController.java | 9 +- .../controller/work/NegativeController.java | 25 ++-- .../work/NegativeTaskController.java | 26 +++++ .../mapper/NegativeTaskMapper.java | 8 ++ .../mapper/SupDictContentMapper.java | 4 +- .../supervision/pojo/domain/PoliceAuth.java | 2 +- .../pojo/dto/DataPetitionComplaintDto.java | 3 +- .../dto/DataPetitionComplaintImportDto.java | 62 ++++++++++ .../pojo/entity/DataPetitionComplaint.java | 93 +-------------- .../pojo/entity/NegSourceAuthority.java | 2 +- .../supervision/pojo/entity/NegativeTask.java | 83 ++++++++++++++ ...ctContent.java => SupDictProblemType.java} | 3 +- .../supervision/pojo/entity/SupPolice.java | 12 ++ .../supervision/pojo/model/PoliceModel.java | 18 +++ .../supervision/pojo/model/UserAuth.java | 2 +- .../supervision/pojo/param/BasePage.java | 14 +++ .../DataPetitionComplaintQueryParam.java | 9 ++ .../pojo/param/DepartQueryParam.java | 16 +++ .../pojo/param/DepartTreeListParam.java | 1 - .../pojo/param/ModelQueryParam.java | 6 +- .../pojo/param/NegativeQueryParam.java | 4 +- .../pojo/param/NegativeTaskQueryParam.java | 20 ++++ .../pojo/param/PoliceQueryParam.java | 4 +- .../pojo/param/UserQueryParam.java | 4 +- .../supervision/pojo/param/WorkParam.java | 4 +- .../supervision/pojo/vo/DepartTree.java | 2 + .../supervision/pojo/vo/ExportNegativeVo.java | 13 ++- .../supervision/service/FileService.java | 44 +++++++ .../service/NegSourceAuthorityService.java | 2 +- .../supervision/service/NegativeService.java | 2 +- .../service/NegativeTaskService.java | 90 +++++++++++++++ .../supervision/service/SupDepartService.java | 26 +++-- .../service/SupDictContentService.java | 15 +-- .../supervision/service/SupPoliceService.java | 11 +- src/main/resources/application-local.yml | 4 + src/main/resources/application.yml | 2 - src/main/resources/mapper/SupPoliceMapper.xml | 5 +- .../信访投诉数据台账(模板).xlsx | Bin 0 -> 11152 bytes .../java/com/biutag/supervision/StrUtil.java | 8 +- .../supervision/tools/GenCodeTests.java | 2 +- 54 files changed, 837 insertions(+), 216 deletions(-) create mode 100644 sql/1011.sql create mode 100644 src/main/java/com/biutag/supervision/constants/enums/NegativeTaskCategoryEnum.java create mode 100644 src/main/java/com/biutag/supervision/constants/enums/NegativeTaskStatusEnum.java delete mode 100644 src/main/java/com/biutag/supervision/controller/data/DataController.java create mode 100644 src/main/java/com/biutag/supervision/controller/data/DataPetitionComplaintController.java create mode 100644 src/main/java/com/biutag/supervision/controller/work/NegativeTaskController.java create mode 100644 src/main/java/com/biutag/supervision/mapper/NegativeTaskMapper.java create mode 100644 src/main/java/com/biutag/supervision/pojo/dto/DataPetitionComplaintImportDto.java create mode 100644 src/main/java/com/biutag/supervision/pojo/entity/NegativeTask.java rename src/main/java/com/biutag/supervision/pojo/entity/{SupDictContent.java => SupDictProblemType.java} (94%) create mode 100644 src/main/java/com/biutag/supervision/pojo/param/BasePage.java create mode 100644 src/main/java/com/biutag/supervision/pojo/param/DataPetitionComplaintQueryParam.java create mode 100644 src/main/java/com/biutag/supervision/pojo/param/DepartQueryParam.java create mode 100644 src/main/java/com/biutag/supervision/pojo/param/NegativeTaskQueryParam.java create mode 100644 src/main/java/com/biutag/supervision/service/FileService.java create mode 100644 src/main/java/com/biutag/supervision/service/NegativeTaskService.java create mode 100644 src/main/resources/static/templates/信访投诉数据台账(模板).xlsx diff --git a/pom.xml b/pom.xml index a15f23e..1898dd3 100644 --- a/pom.xml +++ b/pom.xml @@ -84,6 +84,13 @@ 4.0.1 + + commons-io + commons-io + 2.17.0 + + + cn.hutool hutool-core diff --git a/sql/1008.sql b/sql/1008.sql index b751754..b7f5b8a 100644 --- a/sql/1008.sql +++ b/sql/1008.sql @@ -2,10 +2,114 @@ ALTER TABLE `negative`.`negative_problem_relation` ADD COLUMN `threeLevelCode` varchar(255) NULL AFTER `twoLevelContent`, ADD COLUMN `threeLevelContent` varchar(255) NULL AFTER `threeLevelCode`; - ALTER TABLE `negative`.`sup_police` ADD COLUMN `position` varchar(255); update sup_police set position = '正职' where job like '%正职%'; -update sup_police set position = '副职' where job like '%副职%'; \ No newline at end of file +update sup_police set position = '副职' where job like '%副职%'; + + +INSERT INTO `sup_dict_problem_type` VALUES (1, '内务管理', '1', '-1', '0', '内务管理', '', 1, 1, NULL, '', '', '', '', '2020-08-13 14:47:51', '521677655146233856', 'oumyye', '127.0.0.1'); +INSERT INTO `sup_dict_problem_type` VALUES (2, '服务群众', '2', '-1', '0', '服务群众', '', 1, 2, NULL, '', '', '', '', '2020-08-13 14:48:21', '521677655146233856', 'oumyye', '127.0.0.1'); +INSERT INTO `sup_dict_problem_type` VALUES (3, '服务基层', '3', '-1', '0', NULL, NULL, 1, 3, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (4, '纪律作风', '4', '-1', '0', NULL, NULL, 1, 4, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (5, '执法办案', '5', '-1', '0', NULL, NULL, 1, 5, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (6, '安保维稳', '6', '-1', '0', NULL, NULL, 1, 6, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (7, '专项工作', '7', '-1', '0', NULL, NULL, 1, 7, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (8, '“二十个不准”', '8', '-1', '0', NULL, NULL, 1, 8, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (9, '钉钉使用弄虚作假。', '9', '1', '0', NULL, '/1/', 2, 9, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (10, '未按规定请示报告。', '10', '1', '0', NULL, '/1/', 2, 10, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (11, '迟到、早退、脱岗、旷工等。', '11', '1', '0', NULL, '/1/', 2, 11, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (12, '值班装备配备、使用不规范。', '12', '1', '0', NULL, '/1/', 2, 12, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (13, '内务卫生不整洁', '13', '1', '0', NULL, '/1/', 2, 13, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (14, '违反着装管理规定', '14', '1', '0', NULL, '/1/', 2, 14, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (15, '枪支保管使用不规范', '15', '1', '0', NULL, '/1/', 2, 15, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (16, '公车管理使用不规范', '16', '1', '0', NULL, '/1/', 2, 16, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (17, '办公备勤用房违规', '17', '1', '0', NULL, '/1/', 2, 17, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (18, '内部安全防范不到位', '18', '1', '0', NULL, '/1/', 2, 18, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (19, '会风会纪差', '19', '1', '0', NULL, '/1/', 2, 19, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (20, '违反保密管理规定', '20', '1', '0', NULL, '/1/', 2, 20, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (21, '泄露警务秘密', '21', '1', '0', NULL, '/1/', 2, 21, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (22, '违反宣传纪律', '22', '1', '0', NULL, '/1/', 2, 22, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (23, '其他', '23', '1', '0', NULL, '/1/', 2, 23, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (24, '态度不好', '24', '2', '0', NULL, '/2/', 2, 24, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (26, '办事推诿、拖拉', '26', '2', '0', NULL, '/2/', 2, 26, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (27, '违规办理', '27', '2', '0', NULL, '/2/', 2, 27, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (28, '吃拿卡要', '28', '2', '0', NULL, '/2/', 2, 28, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (29, '其他', '29', '2', '0', NULL, '/2/', 2, 29, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (30, '测评满意率低', '30', '3', '0', NULL, '/3/', 2, 30, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (31, '办事推诿、拖拉', '31', '3', '0', NULL, '/3/', 2, 31, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (32, '违规摊派任务', '32', '3', '0', NULL, '/3/', 2, 32, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (33, '办理不满意', '33', '3', '0', NULL, '/3/', 2, 33, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (34, '拒不整改问题', '34', '3', '0', NULL, '/3/', 2, 34, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (35, '形式主义、官僚主义', '35', '3', '0', NULL, '/3/', 2, 35, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (36, '其他', '36', '3', '0', NULL, '/3/', 2, 36, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (37, '违反规定饮酒。', '37', '4', '0', NULL, '/4/', 2, 37, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (38, '酒后驾驶机动车。', '38', '4', '0', NULL, '/4/', 2, 38, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (39, '在公共场所酗酒滋事。', '39', '4', '0', NULL, '/4/', 2, 39, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (40, '携带枪支饮酒。', '40', '4', '0', NULL, '/4/', 2, 40, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (41, '吸食、注射毒品。', '41', '4', '0', NULL, '/4/', 2, 41, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (42, '贪污受贿', '42', '4', '0', NULL, '/4/', 2, 42, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (43, '其他违反政治纪律的行为', '43', '4', '0', NULL, '/4/', 2, 43, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (44, '其他违反组织纪律的行为', '44', '4', '0', NULL, '/4/', 2, 44, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (45, '其他违反廉洁纪律的行为', '45', '4', '0', NULL, '/4/', 2, 45, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (46, '其他违反群众纪律的行为', '46', '4', '0', NULL, '/4/', 2, 46, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (47, '其他违反工作纪律的行为', '47', '4', '0', NULL, '/4/', 2, 47, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (48, '其他违反生活纪律的行为', '48', '4', '0', NULL, '/4/', 2, 48, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (49, '其他违法犯罪行为', '49', '4', '0', NULL, '/4/', 2, 49, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (50, '其他', '50', '4', '0', NULL, '/4/', 2, 50, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (51, '接处警不及时。', '51', '5', '0', NULL, '/5/', 2, 51, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (52, '现场处置不文明、不规范。', '52', '5', '0', NULL, '/5/', 2, 52, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (53, '不如实、及时受立案', '53', '5', '0', NULL, '/5/', 2, 53, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (54, '调查取证不及时', '54', '5', '0', NULL, '/5/', 2, 54, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (55, '未按规定使用执法记录仪', '55', '5', '0', NULL, '/5/', 2, 55, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (56, '违反执法办案场所相关规定', '56', '5', '0', NULL, '/5/', 2, 56, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (57, '违反规定采取强制措施', '57', '5', '0', NULL, '/5/', 2, 57, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (58, '违规处理案件,执法不公、不严。', '58', '5', '0', NULL, '/5/', 2, 58, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (59, '执行不到位', '59', '5', '0', NULL, '/5/', 2, 59, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (60, '违规介入经济纠纷', '60', '5', '0', NULL, '/5/', 2, 60, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (61, '违规查封、扣押、冻结,影响营商环境', '61', '5', '0', NULL, '/5/', 2, 61, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (62, '涉案财物、随身物品管理违规', '62', '5', '0', NULL, '/5/', 2, 62, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (63, '违反法定程序办案。', '63', '5', '0', NULL, '/5/', 2, 63, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (64, '指供、诱供、刑讯逼供。', '64', '5', '0', NULL, '/5/', 2, 64, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (65, '办人情案、关系案、金钱案。', '65', '5', '0', NULL, '/5/', 2, 65, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (66, '充当违法犯罪保护伞。', '66', '5', '0', NULL, '/5/', 2, 66, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (67, '向违法犯罪嫌疑人通风报信', '67', '5', '0', NULL, '/5/', 2, 67, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (68, '违规安排会见,私自传递物品、信件。', '68', '5', '0', NULL, '/5/', 2, 68, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (69, '体罚、虐待被监管人员。', '69', '5', '0', NULL, '/5/', 2, 69, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (70, '违反监所安全管理规定。', '70', '5', '0', NULL, '/5/', 2, 70, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (71, '失职渎职导致发生执法安全事故', '71', '5', '0', NULL, '/5/', 2, 71, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (72, '处置不当引发负面舆情', '72', '5', '0', NULL, '/5/', 2, 72, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (73, '其他', '73', '5', '0', NULL, '/5/', 2, 73, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (74, '未按时到岗、脱岗', '74', '6', '0', NULL, '/6/', 2, 74, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (75, '履职不认真', '75', '6', '0', NULL, '/6/', 2, 75, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (76, '不按规定佩戴装备', '76', '6', '0', NULL, '/6/', 2, 76, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (77, '警容不整及不文明行为', '77', '6', '0', NULL, '/6/', 2, 77, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (78, '处置不规范', '78', '6', '0', NULL, '/6/', 2, 78, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (79, '失职渎职', '79', '6', '0', NULL, '/6/', 2, 79, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (80, '其他', '80', '6', '0', NULL, '/6/', 2, 80, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (81, '部署推进不力', '81', '7', '0', NULL, '/7/', 2, 81, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (82, '考核排名落后', '82', '7', '0', NULL, '/7/', 2, 82, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (83, '被上级点名通报', '83', '7', '0', NULL, '/7/', 2, 83, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (84, '其他', '84', '7', '0', NULL, '/7/', 2, 84, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (85, '搞团团伙伙。', '85', '8', '0', NULL, '/8/', 2, 85, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (86, '搞权力交换、利益输送。', '86', '8', '0', NULL, '/8/', 2, 86, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (87, '收受礼金及贵重礼品。', '87', '8', '0', NULL, '/8/', 2, 87, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (88, '组织参与黄、赌活动', '88', '8', '0', NULL, '/8/', 2, 88, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (89, '相互拆台、诬告、陷害,破坏队伍团结。', '89', '8', '0', NULL, '/8/', 2, 89, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (90, '拒绝、拖延执行上级依法依规作出的决定。', '90', '8', '0', NULL, '/8/', 2, 90, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (91, '违反党的干部政策,培植私人势力。', '91', '8', '0', NULL, '/8/', 2, 91, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (92, '干预执法办案。', '92', '8', '0', NULL, '/8/', 2, 92, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (93, '搞无原则一团和气。', '93', '8', '0', NULL, '/8/', 2, 93, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (94, '使用庸俗化称谓,搞人身依附。', '94', '8', '0', NULL, '/8/', 2, 94, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (95, '妄议中央大政方针。', '95', '8', '0', NULL, '/8/', 2, 95, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (96, '结交“风水大师”、参与迷信活动。', '96', '8', '0', NULL, '/8/', 2, 96, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (97, '帮助违法犯罪嫌疑人逃避法律责任。', '97', '8', '0', NULL, '/8/', 2, 97, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (98, '违规与当事人、中间人等特定关系人交往。', '98', '8', '0', NULL, '/8/', 2, 98, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (99, '超越“亲”“清”政商关系与企业老板交往。', '99', '8', '0', NULL, '/8/', 2, 99, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (100, '受雇于任何组织、个人。', '100', '8', '0', NULL, '/8/', 2, 100, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (101, '收受管理、服务对象及其代理人任何好处。', '101', '8', '0', NULL, '/8/', 2, 101, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (102, '违规从事盈利性经营活动。', '102', '8', '0', NULL, '/8/', 2, 102, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (103, '利用职权或影响力为亲友谋取好处。', '103', '8', '0', NULL, '/8/', 2, 103, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `sup_dict_problem_type` VALUES (104, '利用网络社交媒体进行不正当交往。', '104', '8', '0', NULL, '/8/', 2, 104, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); diff --git a/sql/1011.sql b/sql/1011.sql new file mode 100644 index 0000000..ad0ae15 --- /dev/null +++ b/sql/1011.sql @@ -0,0 +1,5 @@ +ALTER TABLE `negative`.`sup_police` + ADD COLUMN `person_type` varchar(255) NULL COMMENT '人员属性' AFTER `position`, +ADD COLUMN `marital_status` varchar(255) NULL COMMENT '婚姻状况' AFTER `person_type`, +ADD COLUMN `have_children` tinyint(1) NULL COMMENT '子女' AFTER `marital_status`, +ADD COLUMN `education` varchar(255) NULL COMMENT '学历' AFTER `have_children`; \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/constants/AppConstants.java b/src/main/java/com/biutag/supervision/constants/AppConstants.java index 1b50ddf..18d145b 100644 --- a/src/main/java/com/biutag/supervision/constants/AppConstants.java +++ b/src/main/java/com/biutag/supervision/constants/AppConstants.java @@ -4,7 +4,7 @@ public class AppConstants { public static final int MENU_ROOT_ID = 0; - // 部门 + // 单位 public static final String DICT_CONTENT_ROOT_PARENT_CODE = "-1"; public static final Integer DICT_PROBLEM_SOURCE_ROOT_PARENT_CODE = -1; @@ -13,11 +13,11 @@ public class AppConstants { public static final String USER_TYPE_SUPER = "super"; - // 部门 + // 单位 public static final String DEPART_ROOT_PID = "0"; - // 部门跟节点ID(长沙市公安局) + // 单位根节点ID(长沙市公安局) public static final String ROOT_DEPART_ID = "12630"; public static final String ROOT_DEPART_NAME = "长沙市公安局"; diff --git a/src/main/java/com/biutag/supervision/constants/enums/NegativeTaskCategoryEnum.java b/src/main/java/com/biutag/supervision/constants/enums/NegativeTaskCategoryEnum.java new file mode 100644 index 0000000..04aa08d --- /dev/null +++ b/src/main/java/com/biutag/supervision/constants/enums/NegativeTaskCategoryEnum.java @@ -0,0 +1,13 @@ +package com.biutag.supervision.constants.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +public enum NegativeTaskCategoryEnum { + IMPORT("0"), + EXPORT("2"); + + @Getter + private String value; +} diff --git a/src/main/java/com/biutag/supervision/constants/enums/NegativeTaskStatusEnum.java b/src/main/java/com/biutag/supervision/constants/enums/NegativeTaskStatusEnum.java new file mode 100644 index 0000000..3102a9d --- /dev/null +++ b/src/main/java/com/biutag/supervision/constants/enums/NegativeTaskStatusEnum.java @@ -0,0 +1,14 @@ +package com.biutag.supervision.constants.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +public enum NegativeTaskStatusEnum { + SUCCESS("0"), + FAIL("1"), + PADDING("2"); + + @Getter + private String value; +} diff --git a/src/main/java/com/biutag/supervision/constants/enums/ProblemSourcesEnum.java b/src/main/java/com/biutag/supervision/constants/enums/ProblemSourcesEnum.java index d4327fe..c313f56 100644 --- a/src/main/java/com/biutag/supervision/constants/enums/ProblemSourcesEnum.java +++ b/src/main/java/com/biutag/supervision/constants/enums/ProblemSourcesEnum.java @@ -6,22 +6,34 @@ import lombok.Getter; @Getter @AllArgsConstructor public enum ProblemSourcesEnum { - XFTS("信访投诉", "1"), + XCDC("现场督察", "13"), + SZDC("数字督察", "14"), + ZXDC("专项督察", "15"), + SPDC("视频督察", "16"), + + A12389("12389", "17"), + SLDJB("市局领导交办", "18"), + ZDDJB("支队领导交办", "19"), + SJJB("上级交办", "20"), + + GJXFPT("国家信访平台", "21"), + GABXF("公安部信访", "22"), + JZXX("局长信箱", "23"), + XF12337("12337信访", "24"), + XF_QT("其他", "25"), + + SJJD("审计监督", "26"), + JWDC("警务调查", "2"), JYDC("警意调查", "3"), CFJD("持法监督", "4"), - WSPC("360度网上测评", "5"), - DDKQ("钉钉考勤", "6"), - JDGL("监督管理", "7"), JCKH("检查考核", "8"), - OTHER("其他", "9"), - WJWG("违纪违规", "10"); + QT("其他", "9"); private String label; private String value; - public static ProblemSourcesEnum get(String value) { for (ProblemSourcesEnum problemSourcesEnum : values()) { if (problemSourcesEnum.value.equals(value)) { diff --git a/src/main/java/com/biutag/supervision/constants/enums/ProcessingStatusEnum.java b/src/main/java/com/biutag/supervision/constants/enums/ProcessingStatusEnum.java index d194e8c..617753f 100644 --- a/src/main/java/com/biutag/supervision/constants/enums/ProcessingStatusEnum.java +++ b/src/main/java/com/biutag/supervision/constants/enums/ProcessingStatusEnum.java @@ -1,11 +1,26 @@ package com.biutag.supervision.constants.enums; +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor public enum ProcessingStatusEnum { - signing, - processing, - approval, - completed; + signing("签收中"), + processing("办理中"), + approval("审批中"), + completed("已办结"); + + @Getter + private String label; + public static String getLabel(String name) { + for (ProcessingStatusEnum value : values()) { + if (value.name().equals(name)) { + return value.getLabel(); + } + } + return null; + } } diff --git a/src/main/java/com/biutag/supervision/controller/FileController.java b/src/main/java/com/biutag/supervision/controller/FileController.java index c5ffea4..a1dd2d9 100644 --- a/src/main/java/com/biutag/supervision/controller/FileController.java +++ b/src/main/java/com/biutag/supervision/controller/FileController.java @@ -1,18 +1,13 @@ package com.biutag.supervision.controller; -import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IoUtil; -import cn.hutool.http.HttpResponse; -import cn.hutool.http.HttpUtil; import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.vo.FileVo; -import com.github.tobato.fastdfs.domain.fdfs.StorePath; -import com.github.tobato.fastdfs.service.FastFileStorageClient; +import com.biutag.supervision.service.FileService; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -25,32 +20,27 @@ import java.io.IOException; @Controller public class FileController { - private final FastFileStorageClient fastFileStorageClient; - - @Value("${fdfs.preview-url}") - private String FDFS_PREVIEW_URL; + private final FileService fileService; @ResponseBody @PostMapping("upload") public Result upload(@RequestPart("file") MultipartFile file) throws IOException { log.info("文件上传 upload------------------------------"); - StorePath storePath = fastFileStorageClient.uploadFile("group1", file.getInputStream(), file.getSize(), FileUtil.extName(file.getOriginalFilename())); + String filePath = fileService.upload(file); return Result.success(new FileVo() .setFileName(file.getOriginalFilename()) - .setFilePath("/" + storePath.getFullPath())); + .setFilePath(filePath)); } @GetMapping("stream/**") public void download(HttpServletRequest request, HttpServletResponse response) throws IOException { String filePath = request.getRequestURI().substring(12); - HttpResponse httpResponse = HttpUtil.createGet(FDFS_PREVIEW_URL + filePath) - .execute(); if (filePath.toLowerCase().endsWith(".pdf")) { response.setContentType("application/pdf"); } else { response.setContentType("application/octet-stream"); } - IoUtil.copy(httpResponse.bodyStream(), response.getOutputStream()); + IoUtil.copy(fileService.download(filePath), response.getOutputStream()); } } diff --git a/src/main/java/com/biutag/supervision/controller/data/DataController.java b/src/main/java/com/biutag/supervision/controller/data/DataController.java deleted file mode 100644 index 8723f96..0000000 --- a/src/main/java/com/biutag/supervision/controller/data/DataController.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.biutag.supervision.controller.data; - -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.RestController; - -@RequiredArgsConstructor -@RestController -public class DataController { - -} diff --git a/src/main/java/com/biutag/supervision/controller/data/DataPetitionComplaintController.java b/src/main/java/com/biutag/supervision/controller/data/DataPetitionComplaintController.java new file mode 100644 index 0000000..04e32a1 --- /dev/null +++ b/src/main/java/com/biutag/supervision/controller/data/DataPetitionComplaintController.java @@ -0,0 +1,79 @@ +package com.biutag.supervision.controller.data; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.ExcelReader; +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.read.listener.ReadListener; +import com.alibaba.excel.read.metadata.ReadSheet; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.biutag.supervision.pojo.Result; +import com.biutag.supervision.pojo.dto.DataPetitionComplaintImportDto; +import com.biutag.supervision.pojo.entity.DataPetitionComplaint; +import com.biutag.supervision.pojo.param.DataPetitionComplaintQueryParam; +import com.biutag.supervision.service.DataPetitionComplaintService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +@Slf4j +@RequiredArgsConstructor +@RequestMapping("data/petitionComplaint") +@RestController +public class DataPetitionComplaintController { + + private final DataPetitionComplaintService dataPetitionComplaintService; + + @GetMapping + public Result> list(DataPetitionComplaintQueryParam queryParam) { + return Result.success(dataPetitionComplaintService.page(Page.of(queryParam.getCurrent(), queryParam.getSize()))); + } + + @PostMapping("import") + public Result> importExcel(@RequestPart("file") MultipartFile file) throws IOException { + log.info("文件导入中------------------------------"); + if (!file.getOriginalFilename().toLowerCase().endsWith(".xls") && !file.getOriginalFilename().toLowerCase().endsWith(".xlsx")) { + throw new RuntimeException("仅支持 xls/xlsx 格式文件的导入"); + } + List list = new ArrayList<>(); + ExcelReader excelReader = EasyExcel.read(file.getInputStream(), DataPetitionComplaintImportDto.class, new ReadListener() { + @Override + public void invoke(DataPetitionComplaintImportDto data, AnalysisContext analysisContext) { + list.add(data); + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + + } + }).build(); + ReadSheet sheet = EasyExcel.readSheet(0).build(); + excelReader.read(sheet); + excelReader.close(); + return Result.success(list); + } + + @PostMapping + public Result add(@RequestBody List body) { + if (body.isEmpty()) { + return Result.success(); + } + LocalDateTime now = LocalDateTime.now(); + List list = body.stream().map(item -> { + DataPetitionComplaint data = new DataPetitionComplaint(); + BeanUtils.copyProperties(item, data); + data.setCrtTime(now); + data.setUpdTime(now); + return data; + }).toList(); + dataPetitionComplaintService.saveBatch(list); + return Result.success(); + } + +} diff --git a/src/main/java/com/biutag/supervision/controller/system/DepartController.java b/src/main/java/com/biutag/supervision/controller/system/DepartController.java index eeb81b6..45aee8c 100644 --- a/src/main/java/com/biutag/supervision/controller/system/DepartController.java +++ b/src/main/java/com/biutag/supervision/controller/system/DepartController.java @@ -4,12 +4,15 @@ import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.NumberUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.biutag.supervision.constants.enums.DepartLevelEnum; import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.entity.SupDepart; +import com.biutag.supervision.pojo.param.DepartQueryParam; import com.biutag.supervision.pojo.param.DepartTreeListParam; import com.biutag.supervision.pojo.vo.DepartTree; import com.biutag.supervision.service.SupDepartService; +import com.biutag.supervision.service.SupPoliceService; import jakarta.validation.ValidationException; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; @@ -24,18 +27,25 @@ public class DepartController { private final SupDepartService departService; + public final SupPoliceService policeService; + @GetMapping public Result> treeList(DepartTreeListParam departTreeListParam) { return Result.success(departService.buildTreeByParam(departTreeListParam)); } + @GetMapping("list") + public Result> list(DepartQueryParam departQueryParam) { + return Result.success(departService.page(departQueryParam)); + } + @PostMapping public Result add(@RequestBody SupDepart supDepart) { if (departService.existsByName(supDepart.getName())) { - throw new ValidationException("部门全称已存在"); + throw new ValidationException("单位全称已存在"); } if (departService.existsByCode(supDepart.getCode())) { - throw new ValidationException("部门编码已存在"); + throw new ValidationException("单位编码已存在"); } SupDepart parent = departService.getById(supDepart.getPid()); supDepart.setId(String.valueOf(NumberUtil.nullToZero(departService.getMaxId()) + 1)); @@ -47,10 +57,10 @@ public class DepartController { @PutMapping public Result update(@RequestBody SupDepart supDepart) { if (departService.exists(new LambdaQueryWrapper().eq(SupDepart::getName, supDepart.getName()).ne(SupDepart::getId, supDepart.getId()))) { - throw new ValidationException("部门全程已存在"); + throw new ValidationException("单位全称已存在"); } if (departService.exists(new LambdaQueryWrapper().eq(SupDepart::getCode, supDepart.getCode()).ne(SupDepart::getId, supDepart.getId()))) { - throw new ValidationException("部门编码已存在"); + throw new ValidationException("单位编码已存在"); } SupDepart parent = departService.getById(supDepart.getPid()); supDepart.setLevel(parent.getLevel() + 1); @@ -60,6 +70,9 @@ public class DepartController { @DeleteMapping("{id}") public Result del(@PathVariable String id) { + if (policeService.exists(id)) { + throw new RuntimeException("该单位下还有警务人员,请移除后再删除"); + } return Result.success(departService.removeById(id)); } @@ -69,7 +82,7 @@ public class DepartController { } @GetMapping("second") - public Result> list() { + public Result> seconds() { List supDeparts = departService.listByLevel(List.of(DepartLevelEnum.SECOND_CATEGORY.getValue(), DepartLevelEnum.SECOND.getValue())); return Result.success(departService.buildTree(supDeparts)); } diff --git a/src/main/java/com/biutag/supervision/controller/system/DictContentController.java b/src/main/java/com/biutag/supervision/controller/system/DictContentController.java index 3f68534..203c210 100644 --- a/src/main/java/com/biutag/supervision/controller/system/DictContentController.java +++ b/src/main/java/com/biutag/supervision/controller/system/DictContentController.java @@ -3,7 +3,7 @@ package com.biutag.supervision.controller.system; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.biutag.supervision.pojo.Result; -import com.biutag.supervision.pojo.entity.SupDictContent; +import com.biutag.supervision.pojo.entity.SupDictProblemType; import com.biutag.supervision.pojo.vo.DictContentTree; import com.biutag.supervision.service.SupDictContentService; import lombok.RequiredArgsConstructor; @@ -25,17 +25,17 @@ public class DictContentController { } @PostMapping - public Result add(@RequestBody SupDictContent dictContent) { + public Result add(@RequestBody SupDictProblemType dictContent) { dictContent.setUpdTime(LocalDateTime.now()); dictContent.setCrtTime(LocalDateTime.now()); dictContent.setStatus("0"); dictContentService.save(dictContent); - dictContentService.update(new LambdaUpdateWrapper().eq(SupDictContent::getId, dictContent.getId()).set(SupDictContent::getCode, dictContent.getId())); + dictContentService.update(new LambdaUpdateWrapper().eq(SupDictProblemType::getId, dictContent.getId()).set(SupDictProblemType::getCode, dictContent.getId())); return Result.success(); } @PutMapping - public Result update(@RequestBody SupDictContent dictContent) { + public Result update(@RequestBody SupDictProblemType dictContent) { dictContent.setUpdTime(LocalDateTime.now()); dictContentService.updateById(dictContent); return Result.success(); @@ -43,7 +43,7 @@ public class DictContentController { @DeleteMapping("{id}") public Result update(@PathVariable Integer id) { - if (dictContentService.exists(new LambdaQueryWrapper().eq(SupDictContent::getParentCode, id))) { + if (dictContentService.exists(new LambdaQueryWrapper().eq(SupDictProblemType::getParentCode, id))) { throw new RuntimeException("该节点下还存在子节点,无法删除"); } dictContentService.removeById(id); diff --git a/src/main/java/com/biutag/supervision/controller/system/HolidayController.java b/src/main/java/com/biutag/supervision/controller/system/HolidayController.java index 0e234b4..a331b0b 100644 --- a/src/main/java/com/biutag/supervision/controller/system/HolidayController.java +++ b/src/main/java/com/biutag/supervision/controller/system/HolidayController.java @@ -3,12 +3,17 @@ package com.biutag.supervision.controller.system; import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.entity.Holiday; import com.biutag.supervision.service.HolidayService; +import lombok.Getter; import lombok.RequiredArgsConstructor; +import lombok.Setter; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.time.LocalDate; +import java.time.temporal.TemporalAdjusters; +import java.util.ArrayList; import java.util.List; @RequiredArgsConstructor @@ -18,9 +23,49 @@ public class HolidayController { private final HolidayService holidayService; + public static final List months = List.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12); + @GetMapping("{year}") - public Result> list(@PathVariable Integer year) { - return Result.success(holidayService.list(year)); + public Result> list(@PathVariable Integer year) { + List holidays = holidayService.list(year); + List list = months.stream().map(month -> { + HolidayVo holidayVo = new HolidayVo(); + holidayVo.setMonth(month); + LocalDate beginDay = LocalDate.of(year, month, 1); + int beginDayOfWeek = beginDay.getDayOfWeek().getValue(); + for (int i = 0; i < (beginDayOfWeek != 0 ? beginDayOfWeek - 1 : 6); i++) { + holidayVo.getDays().add(new Day()); + } + LocalDate.of(year, month, 1); + for (int i = 1; i <= beginDay.with(TemporalAdjusters.lastDayOfMonth()).getDayOfMonth(); i++) { + String date = LocalDate.of(year, month, i).toString(); + Boolean flag = holidays.stream().filter(item -> item.getDate().equals(date)).findFirst().map(Holiday::getFlag).orElse(false); + holidayVo.getDays().add(Day.of(i, flag)); + } + return holidayVo; + }).toList(); + return Result.success(list); + } + + @Setter + @Getter + public static class HolidayVo { + private Integer month; + private List days = new ArrayList<>(); + } + + @Setter + @Getter + public static class Day { + private Integer day; + private Boolean flag = false; + + public static Day of(Integer day, Boolean flag) { + Day obj = new Day(); + obj.setDay(day); + obj.setFlag(flag); + return obj; + } } } diff --git a/src/main/java/com/biutag/supervision/controller/system/PoliceController.java b/src/main/java/com/biutag/supervision/controller/system/PoliceController.java index 57a450a..faf89e6 100644 --- a/src/main/java/com/biutag/supervision/controller/system/PoliceController.java +++ b/src/main/java/com/biutag/supervision/controller/system/PoliceController.java @@ -1,5 +1,7 @@ package com.biutag.supervision.controller.system; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.biutag.supervision.pojo.Result; @@ -15,6 +17,7 @@ import com.biutag.supervision.service.SupPoliceService; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; +import java.time.LocalDateTime; import java.util.Date; import java.util.List; @@ -37,14 +40,14 @@ public class PoliceController { @PostMapping public Result add(@RequestBody SupPolice police) { police.setId(IdUtil.getSnowflakeNextIdStr()); - police.setUpdatedAt(String.valueOf(new Date().getTime())); - police.setCreatedAt(String.valueOf(new Date().getTime())); + police.setUpdatedAt(DateUtil.format(new Date(), DatePattern.NORM_DATETIME_FORMAT)); + police.setCreatedAt(DateUtil.format(new Date(), DatePattern.NORM_DATETIME_FORMAT)); return Result.success(policeService.save(police)); } @PutMapping public Result update(@RequestBody SupPolice police) { - police.setUpdatedAt(String.valueOf(new Date().getTime())); + police.setUpdatedAt(DateUtil.format(new Date(), DatePattern.NORM_DATETIME_FORMAT)); return Result.success(policeService.updateById(police)); } diff --git a/src/main/java/com/biutag/supervision/controller/work/NegativeController.java b/src/main/java/com/biutag/supervision/controller/work/NegativeController.java index 56bba15..4b9a703 100644 --- a/src/main/java/com/biutag/supervision/controller/work/NegativeController.java +++ b/src/main/java/com/biutag/supervision/controller/work/NegativeController.java @@ -1,26 +1,21 @@ package com.biutag.supervision.controller.work; -import com.alibaba.excel.EasyExcel; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.biutag.supervision.flow.FlowService; import com.biutag.supervision.pojo.Result; import com.biutag.supervision.pojo.domain.NegativeDetail; import com.biutag.supervision.pojo.dto.ActionDto; import com.biutag.supervision.pojo.dto.NegativeDto; +import com.biutag.supervision.pojo.entity.NegativeTask; import com.biutag.supervision.pojo.param.NegativeQueryParam; -import com.biutag.supervision.pojo.vo.ExportNegativeVo; import com.biutag.supervision.pojo.vo.NegativeQueryVo; import com.biutag.supervision.service.NegativeQueryService; import com.biutag.supervision.service.NegativeService; -import jakarta.servlet.http.HttpServletResponse; +import com.biutag.supervision.service.NegativeTaskService; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; -import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; -import java.io.IOException; -import java.util.List; - @RequiredArgsConstructor @RequestMapping("negative") @RestController @@ -32,6 +27,9 @@ public class NegativeController { private final NegativeQueryService negativeQueryService; + private final NegativeTaskService negativeTaskService; + + @GetMapping public Result> list(NegativeQueryParam queryParam) { return Result.success(negativeQueryService.page(queryParam)); @@ -53,17 +51,14 @@ public class NegativeController { return Result.success(flowService.execute(action)); } - @PostMapping("export") - public void export(NegativeQueryParam queryParam, HttpServletResponse response) throws IOException { + @PostMapping("export/excel") + public Result export(NegativeQueryParam queryParam) { queryParam.setSize(10000); queryParam.setCurrent(1); Page page = negativeQueryService.page(queryParam); - List list = page.getRecords().stream().map(item -> { - ExportNegativeVo vo = new ExportNegativeVo(); - BeanUtils.copyProperties(item, vo); - return vo; - }).toList(); - EasyExcel.write(response.getOutputStream(), ExportNegativeVo.class).inMemory(Boolean.TRUE).sheet("问题台账").doWrite(list); + NegativeTask negativeTask = negativeTaskService.save(page.getRecords().size()); + negativeTaskService.updateExcel(page.getRecords(), negativeTask.getId()); + return Result.success(); } } diff --git a/src/main/java/com/biutag/supervision/controller/work/NegativeTaskController.java b/src/main/java/com/biutag/supervision/controller/work/NegativeTaskController.java new file mode 100644 index 0000000..73d52fe --- /dev/null +++ b/src/main/java/com/biutag/supervision/controller/work/NegativeTaskController.java @@ -0,0 +1,26 @@ +package com.biutag.supervision.controller.work; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.biutag.supervision.pojo.Result; +import com.biutag.supervision.pojo.entity.NegativeTask; +import com.biutag.supervision.pojo.param.NegativeTaskQueryParam; +import com.biutag.supervision.service.NegativeTaskService; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RequiredArgsConstructor +@RequestMapping("negativeTask") +@RestController +public class NegativeTaskController { + + private final NegativeTaskService negativeTaskService; + + @GetMapping + public Result> page(NegativeTaskQueryParam param) { + return Result.success(negativeTaskService.page(param)); + } + +} diff --git a/src/main/java/com/biutag/supervision/mapper/NegativeTaskMapper.java b/src/main/java/com/biutag/supervision/mapper/NegativeTaskMapper.java new file mode 100644 index 0000000..3fd1ad8 --- /dev/null +++ b/src/main/java/com/biutag/supervision/mapper/NegativeTaskMapper.java @@ -0,0 +1,8 @@ +package com.biutag.supervision.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.biutag.supervision.pojo.entity.NegativeTask; + +public interface NegativeTaskMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/mapper/SupDictContentMapper.java b/src/main/java/com/biutag/supervision/mapper/SupDictContentMapper.java index a5e151e..4df70ab 100644 --- a/src/main/java/com/biutag/supervision/mapper/SupDictContentMapper.java +++ b/src/main/java/com/biutag/supervision/mapper/SupDictContentMapper.java @@ -1,8 +1,8 @@ package com.biutag.supervision.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.biutag.supervision.pojo.entity.SupDictContent; +import com.biutag.supervision.pojo.entity.SupDictProblemType; -public interface SupDictContentMapper extends BaseMapper { +public interface SupDictContentMapper extends BaseMapper { } \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/domain/PoliceAuth.java b/src/main/java/com/biutag/supervision/pojo/domain/PoliceAuth.java index 0357303..d477eef 100644 --- a/src/main/java/com/biutag/supervision/pojo/domain/PoliceAuth.java +++ b/src/main/java/com/biutag/supervision/pojo/domain/PoliceAuth.java @@ -13,6 +13,6 @@ public class PoliceAuth { private List departs; - private List sources; + private List sources; } diff --git a/src/main/java/com/biutag/supervision/pojo/dto/DataPetitionComplaintDto.java b/src/main/java/com/biutag/supervision/pojo/dto/DataPetitionComplaintDto.java index 6b53e95..cf532a7 100644 --- a/src/main/java/com/biutag/supervision/pojo/dto/DataPetitionComplaintDto.java +++ b/src/main/java/com/biutag/supervision/pojo/dto/DataPetitionComplaintDto.java @@ -32,7 +32,7 @@ public class DataPetitionComplaintDto { @Schema(description = "登记时间(问题发现时间) 示例:2024-08-28 11:00:00") @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss") @NotNull - private LocalDateTime discovery_time; + private LocalDateTime discoveryTime; // 投诉人 @Schema(description = "投诉人") @@ -45,6 +45,7 @@ public class DataPetitionComplaintDto { private String responderPhone; // 初重信访 + @Schema(description = "初重信访") @NotBlank private String initialPetition; diff --git a/src/main/java/com/biutag/supervision/pojo/dto/DataPetitionComplaintImportDto.java b/src/main/java/com/biutag/supervision/pojo/dto/DataPetitionComplaintImportDto.java new file mode 100644 index 0000000..dae55ff --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/dto/DataPetitionComplaintImportDto.java @@ -0,0 +1,62 @@ +package com.biutag.supervision.pojo.dto; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Schema(description = "信访投诉") +@Setter +@Getter +public class DataPetitionComplaintImportDto { + + // 信件编号 + @ExcelProperty({"信访基本信息", "信件编号"}) + private String originId; + + // 投诉渠道 + @ExcelProperty({"信访基本信息", "投诉渠道"}) + private String channelForFilingComplaints; + + // 受理层级 + @ExcelProperty({"信访基本信息", "受理层级"}) + private String acceptanceLevel; + + // 登记时间 + @ExcelProperty({"信访基本信息", "登记时间"}) + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm") + private LocalDateTime discoveryTime; + + // 投诉人 + @ExcelProperty({"信访基本信息", "投诉人"}) + private String responderName; + + // 投诉人电话 + @ExcelProperty({"信访基本信息", "投诉人电话"}) + private String contactPhone; + + // 初重信访 + @ExcelProperty({"信访基本信息", "初重信访"}) + private String initialPetition; + + // 缠访闹访 + @ExcelProperty({"信访基本信息", "缠访闹访"}) + private String entanglementVisits; + + // 群众集访 + @ExcelProperty({"信访基本信息", "群众集访"}) + private String massVisits; + + // 被投诉机构 + @ExcelProperty({"信访基本信息", "被投诉机构"}) + private String complainedDepartName; + + // 具体内容 + @ExcelProperty({"信访基本信息", "具体内容"}) + private String thingDesc; + + +} \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/entity/DataPetitionComplaint.java b/src/main/java/com/biutag/supervision/pojo/entity/DataPetitionComplaint.java index f5e7150..c11026f 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/DataPetitionComplaint.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/DataPetitionComplaint.java @@ -1,8 +1,8 @@ package com.biutag.supervision.pojo.entity; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; -import io.swagger.v3.oas.annotations.media.Schema; import lombok.Getter; import lombok.Setter; @@ -15,9 +15,12 @@ import java.time.LocalDateTime; @Getter public class DataPetitionComplaint { + + @TableId(type = IdType.AUTO) + private Integer id; + // 信件编号 - @TableId - private Integer letterId; + private String originId; // 投诉渠道 @TableField("channel_for_filing_complaints") @@ -74,11 +77,6 @@ public class DataPetitionComplaint { @TableField("thing_desc") private String thingDesc; - // 办结时间 - private String completedTime; - - // 办结状态 - private String completedState; //--------------------- @@ -90,85 +88,6 @@ public class DataPetitionComplaint { @TableField("involve_depart_name") private String involveDepartName; - // 是否单位责任 - @TableField("is_unit_responsible") - private Integer isUnitResponsible; - - // 单位处理结果 - @TableField("depart_processing_results") - private String departProcessingResults; - - // 涉及人姓名 - @TableField("involved_name") - private String involvedName; - - // 身份证号码 - @TableField("involved_id_code") - private String involvedIdCode; - - // 人员属性 - @TableField("personnel_attributes") - private String personnelAttributes; - - // 督察措施 - @TableField("inspection_measures") - private String inspectionMeasures; - - // 问题类型 - @TableField("problem_type") - private String problemType; - - // 主观方面 - @TableField("subjective_aspect") - private String subjectiveAspect; - - // 责任类别 - @TableField("responsibility_category") - private String responsibilityCategory; - - // 处理结果 - @TableField("processing_results") - private String processingResults; - - // 维权容错 - @TableField("rights_protection_fault_tolerance") - private String rightsProtectionFaultTolerance; - - // 帮扶情况 - @TableField("assistance_situation") - private String assistanceSituation; - - // 帮扶开始时间 - @TableField("assistance_start_time") - private LocalDateTime assistanceStartTime; - - // 帮扶结束时间 - @TableField("assistance_end_time") - private LocalDateTime assistanceEndTime; - - // 涉及领导姓名 - @TableField("involved_leader_name") - private String involvedLeaderName; - - // 身份证号码 - @TableField("involved_leader_id_code") - private String involvedLeaderIdCode; - - // 督察措施 - @TableField("involved_leader_inspection_measures") - private String involvedLeaderInspectionMeasures; - - // 责任类别 - @TableField("involved_leader_responsibility_category") - private String involvedLeaderResponsibilityCategory; - - // 处理结果 - @TableField("involved_leader_processing_results") - private String involvedLeaderProcessingResults; - - // 维权容错 - @TableField("involved_leader_rights_protection_fault_tolerance") - private String involvedLeaderRightsProtectionFaultTolerance; // @TableField("crt_time") diff --git a/src/main/java/com/biutag/supervision/pojo/entity/NegSourceAuthority.java b/src/main/java/com/biutag/supervision/pojo/entity/NegSourceAuthority.java index 7440624..202376f 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/NegSourceAuthority.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/NegSourceAuthority.java @@ -16,6 +16,6 @@ public class NegSourceAuthority { private String idCode; // 可查看的来源 - private String source; + private Integer source; } \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/entity/NegativeTask.java b/src/main/java/com/biutag/supervision/pojo/entity/NegativeTask.java new file mode 100644 index 0000000..66cba99 --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/entity/NegativeTask.java @@ -0,0 +1,83 @@ +package com.biutag.supervision.pojo.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Getter; +import lombok.Setter; + +import java.time.LocalDateTime; + +@Setter +@Getter +public class NegativeTask { + + // + @TableId(value = "id") + private String id; + + // 任务名称 + @TableField("taskName") + private String taskName; + + // 导入条数 + @TableField("importRow") + private Integer importRow; + + // 成功条数 + @TableField("successRow") + private String successRow; + + // 错误条数 + @TableField("errorRow") + private String errorRow; + + // 文件路径 + @TableField("filePath") + private String filePath; + + // 错误信息下载 + @TableField("errorPath") + private String errorPath; + + @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @TableField("crtTime") + private LocalDateTime crtTime; + + // + @TableField("crtUser") + private String crtUser; + + @JsonFormat(pattern = "YYYY-MM-dd HH:mm") + @TableField("updTime") + private LocalDateTime updTime; + + // + @TableField("updUser") + private String updUser; + + // 状态 0 成功 1 失败 2 导入中 + @TableField("status") + private String status; + + // 备注 + @TableField("remark") + private String remark; + + // 文件id + @TableField("fileId") + private String fileId; + + // 导入任务类型 0 完整导入 1 部分导入 + @TableField("type") + private String type; + + // + @TableField("excepionInfo") + private String excepionInfo; + + // + @TableField("category") + private String category; + +} \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/entity/SupDictContent.java b/src/main/java/com/biutag/supervision/pojo/entity/SupDictProblemType.java similarity index 94% rename from src/main/java/com/biutag/supervision/pojo/entity/SupDictContent.java rename to src/main/java/com/biutag/supervision/pojo/entity/SupDictProblemType.java index e263e88..71afc1c 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/SupDictContent.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/SupDictProblemType.java @@ -6,13 +6,12 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Getter; import lombok.Setter; -import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; @Setter @Getter -public class SupDictContent { +public class SupDictProblemType { @TableId(type = IdType.AUTO) private Integer id; diff --git a/src/main/java/com/biutag/supervision/pojo/entity/SupPolice.java b/src/main/java/com/biutag/supervision/pojo/entity/SupPolice.java index b389b99..ae58107 100644 --- a/src/main/java/com/biutag/supervision/pojo/entity/SupPolice.java +++ b/src/main/java/com/biutag/supervision/pojo/entity/SupPolice.java @@ -123,4 +123,16 @@ public class SupPolice { // 职位 正职 副职 private String position; + // 人员属性 + private String personType; + + // 婚姻状况 + private String maritalStatus; + + // 子女 + private Boolean haveChildren; + + // 学历 + private String education; + } \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/pojo/model/PoliceModel.java b/src/main/java/com/biutag/supervision/pojo/model/PoliceModel.java index 44d3cc7..3e45d1e 100644 --- a/src/main/java/com/biutag/supervision/pojo/model/PoliceModel.java +++ b/src/main/java/com/biutag/supervision/pojo/model/PoliceModel.java @@ -75,6 +75,24 @@ public class PoliceModel { private String departShortName; + private String parentDepartShortName; + private String position; + // 人员属性 + private String personType; + + // 婚姻状况 + private String maritalStatus; + + // 子女 + private Boolean haveChildren; + + // 学历 + private String education; + + private String createdAt; + + private String updatedAt; + } diff --git a/src/main/java/com/biutag/supervision/pojo/model/UserAuth.java b/src/main/java/com/biutag/supervision/pojo/model/UserAuth.java index 14a828c..2915246 100644 --- a/src/main/java/com/biutag/supervision/pojo/model/UserAuth.java +++ b/src/main/java/com/biutag/supervision/pojo/model/UserAuth.java @@ -28,7 +28,7 @@ public class UserAuth implements Serializable { private List roleCodes; // 权限(问题来源) - private List authSources; + private List authSources; private List authDepartIds; diff --git a/src/main/java/com/biutag/supervision/pojo/param/BasePage.java b/src/main/java/com/biutag/supervision/pojo/param/BasePage.java new file mode 100644 index 0000000..c259aec --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/param/BasePage.java @@ -0,0 +1,14 @@ +package com.biutag.supervision.pojo.param; + +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class BasePage { + + private long current = 1; + private long size = 10; + + +} diff --git a/src/main/java/com/biutag/supervision/pojo/param/DataPetitionComplaintQueryParam.java b/src/main/java/com/biutag/supervision/pojo/param/DataPetitionComplaintQueryParam.java new file mode 100644 index 0000000..fe622e5 --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/param/DataPetitionComplaintQueryParam.java @@ -0,0 +1,9 @@ +package com.biutag.supervision.pojo.param; + +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class DataPetitionComplaintQueryParam extends BasePage { +} diff --git a/src/main/java/com/biutag/supervision/pojo/param/DepartQueryParam.java b/src/main/java/com/biutag/supervision/pojo/param/DepartQueryParam.java new file mode 100644 index 0000000..8f6a092 --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/param/DepartQueryParam.java @@ -0,0 +1,16 @@ +package com.biutag.supervision.pojo.param; + +import lombok.Getter; +import lombok.Setter; + +@Setter +@Getter +public class DepartQueryParam extends BasePage { + + private String shortName; + + private String name; + + private String code; + +} diff --git a/src/main/java/com/biutag/supervision/pojo/param/DepartTreeListParam.java b/src/main/java/com/biutag/supervision/pojo/param/DepartTreeListParam.java index 0547381..f2fa5be 100644 --- a/src/main/java/com/biutag/supervision/pojo/param/DepartTreeListParam.java +++ b/src/main/java/com/biutag/supervision/pojo/param/DepartTreeListParam.java @@ -9,6 +9,5 @@ public class DepartTreeListParam { private String pid; - private String shortName; } diff --git a/src/main/java/com/biutag/supervision/pojo/param/ModelQueryParam.java b/src/main/java/com/biutag/supervision/pojo/param/ModelQueryParam.java index a4651ac..c7ffaec 100644 --- a/src/main/java/com/biutag/supervision/pojo/param/ModelQueryParam.java +++ b/src/main/java/com/biutag/supervision/pojo/param/ModelQueryParam.java @@ -5,11 +5,7 @@ import lombok.Setter; @Setter @Getter -public class ModelQueryParam { - - private Long current = 1L; - - private Long size = 9L; +public class ModelQueryParam extends BasePage { private String modelName; diff --git a/src/main/java/com/biutag/supervision/pojo/param/NegativeQueryParam.java b/src/main/java/com/biutag/supervision/pojo/param/NegativeQueryParam.java index 9b5c797..f27366a 100644 --- a/src/main/java/com/biutag/supervision/pojo/param/NegativeQueryParam.java +++ b/src/main/java/com/biutag/supervision/pojo/param/NegativeQueryParam.java @@ -10,10 +10,8 @@ import java.util.List; @Setter @Getter -public class NegativeQueryParam { +public class NegativeQueryParam extends BasePage { - private long current = 1; - private long size = 10; private String originId; // 问题发生时间 diff --git a/src/main/java/com/biutag/supervision/pojo/param/NegativeTaskQueryParam.java b/src/main/java/com/biutag/supervision/pojo/param/NegativeTaskQueryParam.java new file mode 100644 index 0000000..96c0c10 --- /dev/null +++ b/src/main/java/com/biutag/supervision/pojo/param/NegativeTaskQueryParam.java @@ -0,0 +1,20 @@ +package com.biutag.supervision.pojo.param; + +import lombok.Getter; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@Setter +@Getter +public class NegativeTaskQueryParam extends BasePage { + + private String taskName; + + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private List crtTime = new ArrayList<>(); + +} diff --git a/src/main/java/com/biutag/supervision/pojo/param/PoliceQueryParam.java b/src/main/java/com/biutag/supervision/pojo/param/PoliceQueryParam.java index 65d8acd..8cb1809 100644 --- a/src/main/java/com/biutag/supervision/pojo/param/PoliceQueryParam.java +++ b/src/main/java/com/biutag/supervision/pojo/param/PoliceQueryParam.java @@ -5,10 +5,8 @@ import lombok.Setter; @Setter @Getter -public class PoliceQueryParam { +public class PoliceQueryParam extends BasePage { - private long current = 1; - private long size = 10; private String name; private String empNo; private String idCode; diff --git a/src/main/java/com/biutag/supervision/pojo/param/UserQueryParam.java b/src/main/java/com/biutag/supervision/pojo/param/UserQueryParam.java index 79340a1..2080e06 100644 --- a/src/main/java/com/biutag/supervision/pojo/param/UserQueryParam.java +++ b/src/main/java/com/biutag/supervision/pojo/param/UserQueryParam.java @@ -7,10 +7,8 @@ import java.util.List; @Setter @Getter -public class UserQueryParam { +public class UserQueryParam extends BasePage { - private long current = 1; - private long size = 10; private String userName; private String nickName; private List roleId; diff --git a/src/main/java/com/biutag/supervision/pojo/param/WorkParam.java b/src/main/java/com/biutag/supervision/pojo/param/WorkParam.java index 946acb2..5f624b1 100644 --- a/src/main/java/com/biutag/supervision/pojo/param/WorkParam.java +++ b/src/main/java/com/biutag/supervision/pojo/param/WorkParam.java @@ -10,10 +10,8 @@ import java.util.List; @Setter @Getter -public class WorkParam { +public class WorkParam extends BasePage { - private long current = 1; - private long size = 10; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private List happenTime = new ArrayList<>(); private String problemSourcesCode; diff --git a/src/main/java/com/biutag/supervision/pojo/vo/DepartTree.java b/src/main/java/com/biutag/supervision/pojo/vo/DepartTree.java index 1b28c47..a233978 100644 --- a/src/main/java/com/biutag/supervision/pojo/vo/DepartTree.java +++ b/src/main/java/com/biutag/supervision/pojo/vo/DepartTree.java @@ -30,6 +30,8 @@ public class DepartTree { private Integer orderNo; + private String updatedAt; + private List children = new ArrayList<>(); private boolean hasChildren = false; diff --git a/src/main/java/com/biutag/supervision/pojo/vo/ExportNegativeVo.java b/src/main/java/com/biutag/supervision/pojo/vo/ExportNegativeVo.java index 5b266b8..7aec4d0 100644 --- a/src/main/java/com/biutag/supervision/pojo/vo/ExportNegativeVo.java +++ b/src/main/java/com/biutag/supervision/pojo/vo/ExportNegativeVo.java @@ -1,6 +1,7 @@ package com.biutag.supervision.pojo.vo; import com.alibaba.excel.annotation.ExcelProperty; +import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Getter; import lombok.Setter; @@ -61,11 +62,19 @@ public class ExportNegativeVo { private String processingStatus; // 办理单位 二级 - @ExcelProperty("办理单位") + @ExcelProperty("办理单位(二级)") private String handleSecondDepartName; // 办理单位 三级 - @ExcelProperty("办理单位") + @ExcelProperty("办理单位(三级)") private String handleThreeDepartName; + // 核查情况 + @ExcelProperty("核查情况") + private String checkStatusName; + + // 是否整改 + @ExcelProperty("是否整改") + private String isRectifyName; + } \ No newline at end of file diff --git a/src/main/java/com/biutag/supervision/service/FileService.java b/src/main/java/com/biutag/supervision/service/FileService.java new file mode 100644 index 0000000..f969293 --- /dev/null +++ b/src/main/java/com/biutag/supervision/service/FileService.java @@ -0,0 +1,44 @@ +package com.biutag.supervision.service; + +import cn.hutool.core.io.FileUtil; +import cn.hutool.http.HttpResponse; +import cn.hutool.http.HttpUtil; +import com.biutag.supervision.pojo.Result; +import com.biutag.supervision.pojo.vo.FileVo; +import com.github.tobato.fastdfs.domain.fdfs.StorePath; +import com.github.tobato.fastdfs.service.FastFileStorageClient; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.RequestPart; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +@RequiredArgsConstructor +@Service +public class FileService { + + private final FastFileStorageClient fastFileStorageClient; + + @Value("${fdfs.preview-url}") + private String FDFS_PREVIEW_URL; + + public String upload(MultipartFile file) throws IOException { + return upload(file.getInputStream(), file.getSize(), FileUtil.extName(file.getOriginalFilename())); + } + + public String upload(InputStream is, long size, String fileExtName) { + StorePath storePath = fastFileStorageClient.uploadFile("group1", is, size, fileExtName); + return "/" + storePath.getFullPath(); + } + + public InputStream download(String filePath) { + HttpResponse httpResponse = HttpUtil.createGet(FDFS_PREVIEW_URL + filePath) + .execute(); + return httpResponse.bodyStream(); + } + +} diff --git a/src/main/java/com/biutag/supervision/service/NegSourceAuthorityService.java b/src/main/java/com/biutag/supervision/service/NegSourceAuthorityService.java index 695d7e4..325504f 100644 --- a/src/main/java/com/biutag/supervision/service/NegSourceAuthorityService.java +++ b/src/main/java/com/biutag/supervision/service/NegSourceAuthorityService.java @@ -14,7 +14,7 @@ import java.util.List; public class NegSourceAuthorityService extends ServiceImpl { @Transactional(rollbackFor = Exception.class) - public boolean save(String idCode, List sources) { + public boolean save(String idCode, List sources) { remove(new LambdaQueryWrapper().eq(NegSourceAuthority::getIdCode, idCode)); if (sources.isEmpty()) { return true; diff --git a/src/main/java/com/biutag/supervision/service/NegativeService.java b/src/main/java/com/biutag/supervision/service/NegativeService.java index 44c7627..cb1e723 100644 --- a/src/main/java/com/biutag/supervision/service/NegativeService.java +++ b/src/main/java/com/biutag/supervision/service/NegativeService.java @@ -226,7 +226,7 @@ public class NegativeService extends ServiceImpl { .setUpdateTime(now) .setCreateTime(now); } else { - log.error("未匹配上部门:{}, code: {}", item.getDepartName(), item.getDepartCode()); + log.error("未匹配上单位:{}, code: {}", item.getDepartName(), item.getDepartCode()); work.setNegativeId(negative.getId()) .setStatus(WorkStatusEnum.todo.name()) .setDepartId(AppConstants.ROOT_DEPART_ID) diff --git a/src/main/java/com/biutag/supervision/service/NegativeTaskService.java b/src/main/java/com/biutag/supervision/service/NegativeTaskService.java new file mode 100644 index 0000000..2755ca8 --- /dev/null +++ b/src/main/java/com/biutag/supervision/service/NegativeTaskService.java @@ -0,0 +1,90 @@ +package com.biutag.supervision.service; + +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.excel.EasyExcel; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.biutag.supervision.common.UserContextHolder; +import com.biutag.supervision.constants.enums.NegativeTaskCategoryEnum; +import com.biutag.supervision.constants.enums.NegativeTaskStatusEnum; +import com.biutag.supervision.constants.enums.ProcessingStatusEnum; +import com.biutag.supervision.mapper.NegativeTaskMapper; +import com.biutag.supervision.pojo.entity.NegativeTask; +import com.biutag.supervision.pojo.param.NegativeTaskQueryParam; +import com.biutag.supervision.pojo.vo.ExportNegativeVo; +import com.biutag.supervision.pojo.vo.NegativeQueryVo; +import com.biutag.supervision.util.JSON; +import com.fasterxml.jackson.databind.JsonNode; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +@RequiredArgsConstructor +@Service +public class NegativeTaskService extends ServiceImpl { + + private final FileService fileService; + + public Page page(NegativeTaskQueryParam param) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .eq(NegativeTask::getCategory, NegativeTaskCategoryEnum.EXPORT.getValue()) + .like(StrUtil.isNotBlank(param.getTaskName()), NegativeTask::getTaskName, param.getTaskName()) + .orderByDesc(NegativeTask::getCrtTime); + if (param.getCrtTime().size() == 2) { + queryWrapper.between(NegativeTask::getCrtTime, param.getCrtTime().get(0), param.getCrtTime().get(1)); + } + return page(Page.of(param.getCurrent(), param.getSize()), queryWrapper); + } + + public NegativeTask save(Integer importRow) { + NegativeTask task = new NegativeTask(); + task.setId(IdUtil.simpleUUID()); + task.setTaskName(String.format("问题台账_%s", LocalDate.now())); + task.setImportRow(importRow); + task.setCrtTime(LocalDateTime.now()); + task.setStatus(NegativeTaskStatusEnum.PADDING.getValue()); + task.setCategory(NegativeTaskCategoryEnum.EXPORT.getValue()); + task.setCrtUser(UserContextHolder.getCurrentUser().getNickName()); + save(task); + return task; + } + + @Async + public boolean updateExcel(List data, String negativeTaskId) { + List list = data.stream().map(item -> { + ExportNegativeVo vo = new ExportNegativeVo(); + BeanUtils.copyProperties(item, vo); + if (StrUtil.isNotBlank(item.getInvolveProblem())) { + JsonNode jsonNode = JSON.readTree(item.getInvolveProblem()); + List arr = new ArrayList<>(); + jsonNode.forEach(problem -> { + String dictLabel = problem.get("dictLabel").asText(); + arr.add(dictLabel); + }); + vo.setInvolveProblem(arr.stream().collect(Collectors.joining("、"))); + } + vo.setProcessingStatus(ProcessingStatusEnum.getLabel(item.getProcessingStatus())); + return vo; + }).toList(); + ByteArrayOutputStream os = new ByteArrayOutputStream(); + EasyExcel.write(os, ExportNegativeVo.class).inMemory(Boolean.TRUE).sheet("问题台账").doWrite(list); + String filePath = fileService.upload(new ByteArrayInputStream(os.toByteArray()), os.size(), ".xlsx"); + return update(new LambdaUpdateWrapper().eq(NegativeTask::getId, negativeTaskId) + .set(NegativeTask::getStatus, NegativeTaskStatusEnum.SUCCESS.getValue()) + .set(NegativeTask::getFilePath, filePath) + .set(NegativeTask::getUpdTime, LocalDateTime.now())); + } + +} diff --git a/src/main/java/com/biutag/supervision/service/SupDepartService.java b/src/main/java/com/biutag/supervision/service/SupDepartService.java index 041d3fe..9729829 100644 --- a/src/main/java/com/biutag/supervision/service/SupDepartService.java +++ b/src/main/java/com/biutag/supervision/service/SupDepartService.java @@ -2,11 +2,13 @@ package com.biutag.supervision.service; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.biutag.supervision.constants.AppConstants; import com.biutag.supervision.constants.enums.StatusEnum; import com.biutag.supervision.pojo.entity.SupDepart; import com.biutag.supervision.mapper.SupDepartMapper; +import com.biutag.supervision.pojo.param.DepartQueryParam; import com.biutag.supervision.pojo.param.DepartTreeListParam; import com.biutag.supervision.pojo.vo.DepartTree; import org.springframework.beans.BeanUtils; @@ -17,6 +19,17 @@ import java.util.*; @Service public class SupDepartService extends ServiceImpl { + public Page page(DepartQueryParam param) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .like(StrUtil.isNotBlank(param.getShortName()), SupDepart::getShortName, param.getShortName()) + .like(StrUtil.isNotBlank(param.getName()), SupDepart::getName, param.getName()) + .like(StrUtil.isNotBlank(param.getCode()), SupDepart::getCode, param.getCode()) + .ne(SupDepart::getId, AppConstants.ROOT_DEPART_ID) + .orderByAsc(SupDepart::getLevel) + .orderByAsc(SupDepart::getOrderNo); + return page(Page.of(param.getCurrent(), param.getSize()), queryWrapper); + } + public List listByEnabled() { return list(new LambdaQueryWrapper() .ne(SupDepart::getId, AppConstants.ROOT_DEPART_ID) @@ -115,15 +128,6 @@ public class SupDepartService extends ServiceImpl { } public List buildTreeByParam(DepartTreeListParam departTreeListParam) { - if (StrUtil.isNotBlank(departTreeListParam.getShortName())) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper().like(SupDepart::getShortName, departTreeListParam.getShortName()).orderByAsc(SupDepart::getOrderNo); - return list(queryWrapper).stream() - .map(depart -> { - DepartTree node = new DepartTree(); - BeanUtils.copyProperties(depart, node); - return node; - }).toList(); - } if (Objects.nonNull(departTreeListParam.getPid())) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper().eq(SupDepart::getPid, departTreeListParam.getPid()).orderByAsc(SupDepart::getOrderNo); return list(queryWrapper).stream() @@ -135,7 +139,7 @@ public class SupDepartService extends ServiceImpl { }).toList(); } LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() - .in(SupDepart::getLevel, List.of(0, 1)).orderByAsc(SupDepart::getOrderNo); + .in(SupDepart::getLevel, List.of(1)).orderByAsc(SupDepart::getOrderNo); List departs = list(queryWrapper); Map> childMap = new HashMap<>(); List tree = new ArrayList<>(); @@ -146,7 +150,7 @@ public class SupDepartService extends ServiceImpl { List children = childMap.computeIfAbsent(node.getPid(), k -> new ArrayList<>()); children.add(node); String pid = node.getPid(); - if (AppConstants.DEPART_ROOT_PID.equals(pid) || pid.equals(departTreeListParam.getPid())) { + if (AppConstants.ROOT_DEPART_ID.equals(pid) || pid.equals(departTreeListParam.getPid())) { tree.add(node); } } diff --git a/src/main/java/com/biutag/supervision/service/SupDictContentService.java b/src/main/java/com/biutag/supervision/service/SupDictContentService.java index 3b6b653..634ea9d 100644 --- a/src/main/java/com/biutag/supervision/service/SupDictContentService.java +++ b/src/main/java/com/biutag/supervision/service/SupDictContentService.java @@ -4,10 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.biutag.supervision.constants.AppConstants; import com.biutag.supervision.mapper.SupDictContentMapper; -import com.biutag.supervision.pojo.entity.SupDictContent; -import com.biutag.supervision.pojo.entity.SupDictContent; -import com.biutag.supervision.pojo.vo.DictContentTree; -import com.biutag.supervision.pojo.vo.DictContentTree; +import com.biutag.supervision.pojo.entity.SupDictProblemType; import com.biutag.supervision.pojo.vo.DictContentTree; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -15,17 +12,17 @@ import org.springframework.stereotype.Service; import java.util.*; @Service -public class SupDictContentService extends ServiceImpl { +public class SupDictContentService extends ServiceImpl { - public List list() { - return list(new LambdaQueryWrapper().orderByAsc(SupDictContent::getSort)); + public List list() { + return list(new LambdaQueryWrapper().orderByAsc(SupDictProblemType::getSort)); } public List buildTree() { - List dictContents = list(); + List dictContents = list(); Map> childMap = new HashMap<>(); List tree = new ArrayList<>(); - for (SupDictContent dictContent : dictContents) { + for (SupDictProblemType dictContent : dictContents) { DictContentTree node = new DictContentTree(); BeanUtils.copyProperties(dictContent, node); List children = childMap.computeIfAbsent(node.getParentCode(), k -> new ArrayList<>()); diff --git a/src/main/java/com/biutag/supervision/service/SupPoliceService.java b/src/main/java/com/biutag/supervision/service/SupPoliceService.java index 5063964..cb417e4 100644 --- a/src/main/java/com/biutag/supervision/service/SupPoliceService.java +++ b/src/main/java/com/biutag/supervision/service/SupPoliceService.java @@ -9,6 +9,7 @@ import com.biutag.supervision.common.UserContextHolder; import com.biutag.supervision.constants.AppConstants; import com.biutag.supervision.constants.enums.RoleCodeEnum; import com.biutag.supervision.mapper.SupPoliceMapper; +import com.biutag.supervision.pojo.entity.SupDepart; import com.biutag.supervision.pojo.entity.SupPolice; import com.biutag.supervision.pojo.model.PoliceModel; import com.biutag.supervision.pojo.model.UserAuth; @@ -49,7 +50,7 @@ public class SupPoliceService extends ServiceImpl { queryWrapper.eq("p.org_id", param.getDepartId()); } } - queryWrapper.orderByDesc("p.emp_no"); + queryWrapper.orderByAsc("p.emp_no"); return baseMapper.queryPage(Page.of(param.getCurrent(), param.getSize()), queryWrapper); } @@ -67,4 +68,12 @@ public class SupPoliceService extends ServiceImpl { return list(new LambdaQueryWrapper().in(SupPolice::getOrgId, departIds).isNotNull(SupPolice::getPhone)); } + public Boolean exists(String departId) { + List orgIds = departService.listAndChildrenIds(departId); + if (orgIds.isEmpty()) { + return false; + } + return exists(new LambdaQueryWrapper().in(SupPolice::getOrgId, orgIds)); + } + } diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index 1b57321..506acbc 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -19,6 +19,10 @@ spring: port: 6379 password: 123456 +mybatis-plus: + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + fdfs: tracker-list: #TrackerList参数,支持多个 - 172.31.217.20:32060 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 2da8be4..64d18db 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -23,8 +23,6 @@ spring: mybatis-plus: # 对应的 XML 文件位置 mapper-locations: classpath*:mapper/*Mapper.xml - configuration: - log-impl: org.apache.ibatis.logging.stdout.StdOutImpl fdfs: soTimeout: 1500 # socket连接超时时长 diff --git a/src/main/resources/mapper/SupPoliceMapper.xml b/src/main/resources/mapper/SupPoliceMapper.xml index 5648c02..29aa689 100644 --- a/src/main/resources/mapper/SupPoliceMapper.xml +++ b/src/main/resources/mapper/SupPoliceMapper.xml @@ -5,9 +5,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/src/main/resources/static/templates/信访投诉数据台账(模板).xlsx b/src/main/resources/static/templates/信访投诉数据台账(模板).xlsx new file mode 100644 index 0000000000000000000000000000000000000000..aa62330737d0d317d3f8ef7643407df5bbdb938f GIT binary patch literal 11152 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�E5F{}pLOCC%WTK# z40rFkMSrA3-3vW5WscgcKv05Sqwv?8H-^%5ckh-bZV4(EZj@@XS_BSFbM_yaw;BOE z3wT@ymH1`3iyL`E$;=TNv~M5hMU-6xULb=o?5@p|a(QG%+7(Ta9I!EA`MFrSH8wL8 z4w*lO{*jXXn&C{oI7)Pb>xiAG;0pS`oSM0zqsd2QXGaTLv)_H&in{&>paQlZ_cAi^(g1CL;K3%1mp3jdR3V0gnQ^NiQB;608j z@Q|pUJ!-fC3B>~Fbh7!_^6iqZY4g0PjEZwa)=?Cj;%ZMSyx5(bPM$hgBiQ%aacfgK zBN0bFZ7VUq>)oDPyIfp-ub82x8f`7k4m`1X(!Loo<-2X~$WQP3Ec5_lR*EtXi0v}0 zlG!QlwlcAo?TIpMaiV!Na*?v|95^^;(A1)F0jc=p=cb{4zHjgfmTI#MdJ(O%Pl01j z4XgbiyR+yStu)0&mTk*n#CC^ZRMm>Qu!dtKV|)L9@)FNi48%M&%l>X1eG`j61P3 z7;4M0zzY!QK1keFMdOgBQSJO*yPAjeqHtc&ZvgekzaYDNwdA4Gj-dRKdV5Ctvb^Wxn+8_RpcTusrz43UP0@SH|u=iAV);h+}*P> zt=X%JaY`K3k9;>s(#AIMpdaF652`?WZMw_;{a9=8t(NU$_JC?>NS2Sg!Q5qc=s}3_ z0zsNV$x8oRe{NJ*ihSM)ZGCWt88>d6^O~Omzs~gJLHC)05Dv7SNL&h8@sq@!wJh_N z<&wHI+Bd%g1ej)=y@kU>?WSI4*NRtDmS=mNnGDCay|Z48DX?$9x=si5p4rw>u_F?z zpRa%n;A0hshx&6mx5m~4MAD-%Q~N6DgIaruSF0zs$Jk4h2q&?JH!J43!!7b(z1TUxri=`oGDj}&%?rN7`L-innzc&a-VmB0wS_x zQ@#>p)6{UNz7D~zza#ulqWkE~nFt)W1#e}p0nkZ}&QnofpS=IsWDl;K`TxwkM z<7HU|Nf&-7A{DKbJ+}DWpp}U1<*smzT$a+J^7h-$+wx0UC|i4i1gr$hjVQpvxXp`q zcQy}K)9TkD2d@19&>OR0i`>Tfd*W141Y;LBnRD^|Mh!*dCfiLfh{xw7I}vtuC3n8^ z@7OO~JdXMwyP$4$IM}dTXxnx+zbxkRqi&~@GCfhz^}wXpNMV0-JJla^Qw&4$kUuA7 zMSP-V>Y6PSwVf2E?Kz5V}~2tKlZt*pfN z^1UqRA-7U13^0)+*8$OEYtI$`vEX_$}8&7I- z4R!Y719b{qfg9^k4zT42HkESWO0zuWA_ZvD9JkoZT(Y(*!LT&OUlApFsVYsYtbjl@ zj39464^JD{Riq z#N&m~T_>Z0`d-Fw_rq>m9GcF{GkzL}oZ+ngRFIRwAuDN6pQ?u4idI5uWaXtx&J=n6 zdZ}$r^0W0}%(0nU%1z0$cTMi>)Q|q3vtsg&Eqz8Xg)zVs29K2e#hSV}IosL%kH!Dy zFaS`PFd^H^g7@3xhS;#cSX|@bTVO2bsxUuoX`77nOw}Y6wRDNtlfO+pj#oXA*9v2j@K&<#Dh zgbgOZvM|TDw=vtrKFZMh%Xkv2JZ0h*t<0M!V*-;3Yvn51>V4}0JlSl7;i;nRg8BiW zko@||}Jr`IkYfUxB|4nEVNy1y_T988`VA{P$k{pHKi`0O5D= z|EF{RtDIjOxPMBzNBYl?_^)>EuTp;PXZ$IJ1>6`0zsj%Ojb8=)S_Au2fWWKY1^ihN z`xW|Yrtv2fljINRuX)F>68;{z{fP$vV8{W0{|e)Nh5y~z{uLe%uIT*-{x8@2EBfzt i?yqR&*MC79|HtYn$ijf>@!J?565zKCtA+NrZ~qUli6)u= literal 0 HcmV?d00001 diff --git a/src/test/java/com/biutag/supervision/StrUtil.java b/src/test/java/com/biutag/supervision/StrUtil.java index 9b1495c..94f0df7 100644 --- a/src/test/java/com/biutag/supervision/StrUtil.java +++ b/src/test/java/com/biutag/supervision/StrUtil.java @@ -1,6 +1,9 @@ package com.biutag.supervision; import cn.hutool.core.io.resource.ResourceUtil; +import com.biutag.supervision.util.JSON; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.Test; import java.net.URL; @@ -10,8 +13,7 @@ public class StrUtil { @Test public void testSubstr() { - List integers = List.of(3, 2, 1); - integers = integers.stream().sorted().toList(); - System.out.println(integers); + JsonNode jsonNode = JSON.readTree("[{\"dictType\":\"suspectProblem\",\"dictLabel\":\"执法规范不满意\",\"dictValue\":\"24\"}]"); + System.out.println(jsonNode); } } diff --git a/src/test/java/com/biutag/supervision/tools/GenCodeTests.java b/src/test/java/com/biutag/supervision/tools/GenCodeTests.java index 1b28aa3..b533f49 100644 --- a/src/test/java/com/biutag/supervision/tools/GenCodeTests.java +++ b/src/test/java/com/biutag/supervision/tools/GenCodeTests.java @@ -25,7 +25,7 @@ public class GenCodeTests { @Test public void genEntity() throws TemplateException, IOException { - String tableName = "business_depart"; + String tableName = "negative_task"; String tableSchema = "negative"; boolean genMapper = true; boolean genService = true;