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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
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;