فهرست منبع

干部换届管理、干部任期届满考核

lizeyu 5 ماه پیش
والد
کامیت
df448f84ab
32فایلهای تغییر یافته به همراه6117 افزوده شده و 2 حذف شده
  1. 81 0
      lib/数据更新脚本.txt
  2. 207 0
      src/main/java/com/ghsc/partybuild/controller/LeaderAssessController.java
  3. 158 0
      src/main/java/com/ghsc/partybuild/controller/LeaderReshuffleController.java
  4. 11 0
      src/main/java/com/ghsc/partybuild/mapper/LeaderworkCQuery.java
  5. 30 0
      src/main/java/com/ghsc/partybuild/mapper/LwLeaderAssessMapper.java
  6. 30 0
      src/main/java/com/ghsc/partybuild/mapper/LwLeaderReshuffleMapper.java
  7. 215 0
      src/main/java/com/ghsc/partybuild/model/LwLeaderAssess.java
  8. 1621 0
      src/main/java/com/ghsc/partybuild/model/LwLeaderAssessExample.java
  9. 125 0
      src/main/java/com/ghsc/partybuild/model/LwLeaderReshuffle.java
  10. 1011 0
      src/main/java/com/ghsc/partybuild/model/LwLeaderReshuffleExample.java
  11. 20 0
      src/main/java/com/ghsc/partybuild/service/LeaderAssessService.java
  12. 17 0
      src/main/java/com/ghsc/partybuild/service/LeaderReshuffleService.java
  13. 228 0
      src/main/java/com/ghsc/partybuild/service/impl/LeaderAssessServiceImpl.java
  14. 102 0
      src/main/java/com/ghsc/partybuild/service/impl/LeaderReshuffleServiceImpl.java
  15. 12 0
      src/main/java/com/ghsc/partybuild/vo/LeaderAssessVo.java
  16. 9 0
      src/main/java/com/ghsc/partybuild/vo/LeaderReshuffleVo.java
  17. 2 0
      src/main/resources/generatorConfig.xml
  18. 79 2
      src/main/resources/mapping/LeaderworkCQuery.xml
  19. 465 0
      src/main/resources/mapping/LwLeaderAssessMapper.xml
  20. 323 0
      src/main/resources/mapping/LwLeaderReshuffleMapper.xml
  21. 90 0
      src/main/resources/static/app/main/app.js
  22. 52 0
      src/main/resources/static/app/main/leaderwork/leaderassess/detail.html
  23. 36 0
      src/main/resources/static/app/main/leaderwork/leaderassess/detail.js
  24. 150 0
      src/main/resources/static/app/main/leaderwork/leaderassess/edit.html
  25. 90 0
      src/main/resources/static/app/main/leaderwork/leaderassess/edit.js
  26. 235 0
      src/main/resources/static/app/main/leaderwork/leaderassess/list.html
  27. 212 0
      src/main/resources/static/app/main/leaderwork/leaderassess/list.js
  28. 112 0
      src/main/resources/static/app/main/leaderwork/leaderreshuffle/edit.html
  29. 81 0
      src/main/resources/static/app/main/leaderwork/leaderreshuffle/edit.js
  30. 172 0
      src/main/resources/static/app/main/leaderwork/leaderreshuffle/list.html
  31. 141 0
      src/main/resources/static/app/main/leaderwork/leaderreshuffle/list.js
  32. BIN
      src/main/resources/static/doc/template/干部任期届满考核导入模板.xlsx

+ 81 - 0
lib/数据更新脚本.txt

@@ -520,3 +520,84 @@ INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`,
 INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`) VALUES ('17455b74-0000-aaaa-0002-a173acf6009a', 2, '其他', 'activityType', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '活动类型', '2019-09-23 09:19:12', 'A', 'N');
 
 
+-- 2024-8-9 中层干部换届与考核
+-- 干部换届管理
+DROP TABLE IF EXISTS `lw_leader_reshuffle`;
+CREATE TABLE `lw_leader_reshuffle`  (
+  `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+  `reshuffleType` int NULL DEFAULT NULL COMMENT '换届类型 reshuffleType(1-中层换届、2-职位补充、3-其他)',
+  `date` varchar(12) NULL DEFAULT NULL COMMENT '任职时间',
+  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任职人姓名',
+  `position` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任职职位',
+  `departmentName` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任职单位',
+  `fileTitle` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任职文件标题',
+  `fileNo` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任职文件文号',
+  `createTime` datetime NULL DEFAULT NULL,
+  `createUserId` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+  `updateTime` datetime NULL DEFAULT NULL,
+  `updateUserId` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '干部换届管理' ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+-- 干部任(试用)期届满考核
+DROP TABLE IF EXISTS `lw_leader_assess`;
+CREATE TABLE `lw_leader_assess`  (
+  `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+  `assessType` int NULL DEFAULT NULL COMMENT '考核类型 assessType 1-任期; 2-试用期;',
+  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '姓名',
+  `sex` int NULL DEFAULT NULL COMMENT '性别',
+  `idCard` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '身份证号',
+  `birthDate` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '出生年月',
+  `education` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '学历',
+  `jobTitle` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '职称',
+  `workDate` varchar(12) NULL DEFAULT NULL COMMENT '参加工作时间',
+  `position` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '职位',
+  `beginDate` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任(试用)期开始日期',
+  `endDate` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任(试用)期结束日期',
+  `assessBeginDate` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '考核开始时间',
+  `assessEndDate` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '考核结束时间',
+  `grade` int NULL DEFAULT NULL COMMENT '等次 gradeType(优秀、称职、基本称职、不称职)',
+  `result` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '考核结果',
+  `content` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '考核内容',
+  `createTime` datetime NULL DEFAULT NULL,
+  `createUserId` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+  `updateTime` datetime NULL DEFAULT NULL,
+  `updateUserId` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
+  PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '干部任(试用)期届满考核' ROW_FORMAT = Dynamic;
+
+SET FOREIGN_KEY_CHECKS = 1;
+
+
+-- 换届类型 reshuffleType(1-中层换届、2-职位补充、3-其他)
+INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`) VALUES ('ea6cad8a-0001-4481-ab20-3c0e016aa59e', 1, '中层换届', 'reshuffleType', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '换届类型', '2019-09-23 09:19:12', 'A', 'N');
+INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`) VALUES ('ea6cad8a-0002-4481-ab20-3c0e016aa59e', 2, '职位补充', 'reshuffleType', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '换届类型', '2019-09-23 09:19:12', 'A', 'N');
+INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`) VALUES ('ea6cad8a-0003-4481-ab20-3c0e016aa59e', 3, '其他', 'reshuffleType', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '换届类型', '2019-09-23 09:19:12', 'A', 'N');
+-- 考核类型 assessType  1-任期; 2-试用期;
+INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`) VALUES ('ea6cad8a-0004-0001-ab20-3c0e016aa59e', 1, '干部任期届满考核', 'assessType', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '考核类型', '2019-09-23 09:19:12', 'A', 'N');
+INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`) VALUES ('ea6cad8a-0005-0002-ab20-3c0e016aa59e', 2, '干部试用期届满考核', 'assessType', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '考核类型', '2019-09-23 09:19:12', 'A', 'N');
+-- 等次 gradeType(优秀、称职、基本称职、不称职)
+INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`) VALUES ('ea6cad8a-0006-0000-0001-3c0e016aa59e', 1, '优秀', 'gradeType', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '等次', '2019-09-23 09:19:12', 'A', 'N');
+INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`) VALUES ('ea6cad8a-0007-0000-0002-3c0e016aa59e', 2, '称职', 'gradeType', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '等次', '2019-09-23 09:19:12', 'A', 'N');
+INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`) VALUES ('ea6cad8a-0008-0000-0003-3c0e016aa59e', 3, '基本称职', 'gradeType', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '等次', '2019-09-23 09:19:12', 'A', 'N');
+INSERT INTO `cf_dictionary` (`DICTIONARYID`, `DICKEY`, `DICVALUE`, `DICTYPEKEY`, `DICTYPE`, `APPLICATIONID`, `DICNOTE`, `OPERATETIME`, `OPERATESTATE`, `SYNCSTATE`) VALUES ('ea6cad8a-0009-0000-0004-3c0e016aa59e', 4, '不称职', 'gradeType', 2, 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '等次', '2019-09-23 09:19:12', 'A', 'N');
+
+-- 中层干部换届与考核
+INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `MENUORDER`, `MENUNO`, `MENUNAME`, `MENUPROGRAM`, `MENUPIC`, `MENUDESC`, `ISVISIBLE`, `ISLEAF`, `ISBLANK`) VALUES ('a30bc101-0000-0000-0001-557a666c7ff8', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', '996c7331-1f94-48f0-b246-d6ddb178ae7f', NULL, 14, 'leaderReshuffleAndAssess', '中层干部换届与考核', NULL, 'receipt', NULL, 1, 0, NULL);
+
+-- 干部换届管理
+INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `MENUORDER`, `MENUNO`, `MENUNAME`, `MENUPROGRAM`, `MENUPIC`, `MENUDESC`, `ISVISIBLE`, `ISLEAF`, `ISBLANK`) VALUES ('a30bc101-0000-0001-0001-557a666c7ff8', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', 'a30bc101-0000-0000-0001-557a666c7ff8', NULL, 1, 'home.leaderReshuffle', '干部换届管理', '', '', '', 1, 0, NULL);
+
+-- 干部任期届满考核
+INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `MENUORDER`, `MENUNO`, `MENUNAME`, `MENUPROGRAM`, `MENUPIC`, `MENUDESC`, `ISVISIBLE`, `ISLEAF`, `ISBLANK`) VALUES ('a30bc101-0004-0002-0001-557a666c7ff8', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', 'a30bc101-0000-0002-0001-557a666c7ff8', NULL, 1, 'home.leaderAssessAdd1', '新增干部任期届满考核', '', '', '', 0, 0, NULL);
+INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `MENUORDER`, `MENUNO`, `MENUNAME`, `MENUPROGRAM`, `MENUPIC`, `MENUDESC`, `ISVISIBLE`, `ISLEAF`, `ISBLANK`) VALUES ('a30bc101-0005-0002-0001-557a666c7ff8', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', 'a30bc101-0000-0002-0001-557a666c7ff8', NULL, 2, 'home.leaderAssessEdit1', '编辑干部任期届满考核', '', '', '', 0, 0, NULL);
+INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `MENUORDER`, `MENUNO`, `MENUNAME`, `MENUPROGRAM`, `MENUPIC`, `MENUDESC`, `ISVISIBLE`, `ISLEAF`, `ISBLANK`) VALUES ('a30bc101-0006-0002-0001-557a666c7ff8', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', 'a30bc101-0000-0002-0001-557a666c7ff8', NULL, 3, 'home.leaderAssessDetail1', '查看干部任期届满考核详情', '', '', '', 0, 0, NULL);
+INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `MENUORDER`, `MENUNO`, `MENUNAME`, `MENUPROGRAM`, `MENUPIC`, `MENUDESC`, `ISVISIBLE`, `ISLEAF`, `ISBLANK`) VALUES ('a30bc101-0000-0002-0001-557a666c7ff8', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', 'a30bc101-0000-0000-0001-557a666c7ff8', NULL, 2, 'home.leaderAssessList1', '干部任期届满考核', '', '', '', 1, 0, NULL);
+
+-- 干部试用期届满考核
+INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `MENUORDER`, `MENUNO`, `MENUNAME`, `MENUPROGRAM`, `MENUPIC`, `MENUDESC`, `ISVISIBLE`, `ISLEAF`, `ISBLANK`) VALUES ('a30bc101-0007-0003-0001-557a666c7ff8', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', 'a30bc101-0000-0003-0001-557a666c7ff8', NULL, 1, 'home.leaderAssessAdd2', '新增干部试用期届满考核', '', '', '', 0, 0, NULL);
+INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `MENUORDER`, `MENUNO`, `MENUNAME`, `MENUPROGRAM`, `MENUPIC`, `MENUDESC`, `ISVISIBLE`, `ISLEAF`, `ISBLANK`) VALUES ('a30bc101-0008-0003-0001-557a666c7ff8', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', 'a30bc101-0000-0003-0001-557a666c7ff8', NULL, 2, 'home.leaderAssessEdit2', '编辑干部试用期届满考核', '', '', '', 0, 0, NULL);
+INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `MENUORDER`, `MENUNO`, `MENUNAME`, `MENUPROGRAM`, `MENUPIC`, `MENUDESC`, `ISVISIBLE`, `ISLEAF`, `ISBLANK`) VALUES ('a30bc101-0009-0003-0001-557a666c7ff8', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', 'a30bc101-0000-0003-0001-557a666c7ff8', NULL, 3, 'home.leaderAssessDetail2', '查看干部试用期届满考核详情', '', '', '', 0, 0, NULL);
+INSERT INTO `cf_menu` (`MENUID`, `APPLICATIONID`, `PARENTMENUID`, `MNUSYSTEM`, `MENUORDER`, `MENUNO`, `MENUNAME`, `MENUPROGRAM`, `MENUPIC`, `MENUDESC`, `ISVISIBLE`, `ISLEAF`, `ISBLANK`) VALUES ('a30bc101-0000-0003-0001-557a666c7ff8', 'f0c4fa7f9f3c4fb6bd56aac608b7ad3f', 'a30bc101-0000-0000-0001-557a666c7ff8', NULL, 3, 'home.leaderAssessList2', '干部试用期届满考核', '', '', '', 1, 0, NULL);

+ 207 - 0
src/main/java/com/ghsc/partybuild/controller/LeaderAssessController.java

@@ -0,0 +1,207 @@
+package com.ghsc.partybuild.controller;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.ghsc.partybuild.controller.jsonmodel.RequsetData;
+import com.ghsc.partybuild.model.CfDictionary;
+import com.ghsc.partybuild.service.DictionaryService;
+import com.ghsc.partybuild.service.LeaderAssessService;
+import com.ghsc.partybuild.service.UserService;
+import com.ghsc.partybuild.util.ExcelHelper;
+import com.ghsc.partybuild.util.JsonMapper;
+import com.ghsc.partybuild.util.StringUtils;
+import com.ghsc.partybuild.vo.LeaderAssessVo;
+import com.github.pagehelper.PageInfo;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+@Slf4j
+@RestController
+@RequestMapping(value = "/api/leaderWork/leaderassess")
+public class LeaderAssessController {
+    @Autowired
+    private LeaderAssessService leaderAssessService;
+    @Autowired
+    private UserService userService;
+    @Autowired
+    private DictionaryService dictionaryService;
+    @Autowired
+    private StringUtils stringUtils;
+
+    @ResponseBody
+    @GetMapping("/getList")
+    public RequsetData<PageInfo<LeaderAssessVo>> getList(int pageindex, int pagesize, int assessType,
+                                                         @RequestParam(required = false) String name, @RequestParam(required = false) String idCard,
+                                                         @RequestParam(required = false) String position, @RequestParam(required = false) String grade,
+                                                         @RequestParam(required = false) String beginDate, @RequestParam(required = false) String endDate,
+                                                         @RequestParam(required = false) String assessBeginDate, @RequestParam(required = false) String assessEndDate) {
+        RequsetData<PageInfo<LeaderAssessVo>> result = new RequsetData<>();
+        result.setItem(leaderAssessService.getList(pageindex, pagesize, assessType, null, name, idCard, position, grade, beginDate, endDate, assessBeginDate, assessEndDate));
+        return result;
+    }
+
+    @ResponseBody
+    @GetMapping("/get")
+    public RequsetData<LeaderAssessVo> get(@RequestParam(required = false) String id) {
+        RequsetData<LeaderAssessVo> res = new RequsetData<>();
+
+        LeaderAssessVo model = leaderAssessService.getById(id);
+        if (model == null || (model != null && stringUtils.IsNullOrEmpty(model.getId()))) {
+            UUID uuid = UUID.randomUUID();
+            model = new LeaderAssessVo();
+            model.setId(uuid.toString());
+        }
+
+        res.setItem(model);
+        return res;
+    }
+
+    @ResponseBody
+    @PostMapping("/save")
+    public RequsetData<String> save(@RequestBody LeaderAssessVo data) {
+        RequsetData<String> result = new RequsetData<String>();
+        int count = 0;
+        String message = "";
+
+        try {
+            count = leaderAssessService.save(data, userService.getLoginUser().getUserid());
+        } catch (Exception e) {
+            e.printStackTrace();
+            message = e.toString();
+        }
+
+        if (count > 0) {
+            result.setSuccess(true);
+            result.setMsg("保存成功!");
+        } else {
+            result.setSuccess(false);
+            result.setMsg("保存失败!" + message);
+        }
+        return result;
+    }
+
+    @ResponseBody
+    @PostMapping("/delete")
+    public RequsetData<Integer> delete(@RequestBody Map<String, Object> reqMap) {
+        RequsetData<Integer> result = new RequsetData<>();
+        int count = 0;
+        String message = "";
+
+        try {
+            List<String> idList = JsonMapper.jsonToObject(reqMap.get("ids").toString(), new TypeReference<List<String>>() {
+            });
+            count = leaderAssessService.delete(idList);
+        } catch (Exception e) {
+            e.printStackTrace();
+            message = e.toString();
+        }
+
+        if (count > 0) {
+            result.setItem(count);
+            result.setSuccess(true);
+            result.setMsg("删除成功!");
+        } else {
+            result.setSuccess(false);
+            result.setMsg("删除失败!" + message);
+        }
+        return result;
+    }
+
+    @RequestMapping(value = "/export", method = RequestMethod.GET)
+    public void export(HttpServletResponse response, int assessType,
+                       @RequestParam(required = false) String name, @RequestParam(required = false) String idCard,
+                       @RequestParam(required = false) String position, @RequestParam(required = false) String grade,
+                       @RequestParam(required = false) String beginDate, @RequestParam(required = false) String endDate,
+                       @RequestParam(required = false) String assessBeginDate, @RequestParam(required = false) String assessEndDate) throws Exception {
+        /**查询数据**/
+        List<LeaderAssessVo> dataList = leaderAssessService.getList(1, 10000, assessType, null, name, idCard, position, grade, beginDate, endDate, assessBeginDate, assessEndDate).getList();
+
+        ExcelHelper excelHelper = new ExcelHelper();
+        ExcelHelper.ExcelData data = excelHelper.new ExcelData();
+
+        List<CfDictionary> leaderTeamTypeList = dictionaryService.getDictionaryListByDicTypeKey("assessType");
+        String title = dictionaryService.getDicByKey(assessType, leaderTeamTypeList).getDicvalue();
+
+        data.setName(title);
+        List<String> titles = new ArrayList();
+        titles.add("序号");
+        titles.add("姓名");
+        titles.add("性别");
+        titles.add("身份证号");
+        titles.add("出生年月");
+        titles.add("学历");
+        titles.add("职称");
+        titles.add("参加工作时间");
+        titles.add("职位");
+        titles.add("任期开始日期");
+        titles.add("任期结束日期");
+        titles.add("考核开始时间");
+        titles.add("考核结束时间");
+        titles.add("等次");
+        titles.add("考核结果");
+        titles.add("考核内容");
+        data.setTitles(titles);
+
+        int index = 1;
+        List<List<Object>> rows = new ArrayList();
+        for (LeaderAssessVo item : dataList) {
+            List<Object> row = new ArrayList();
+            row.add(index++);
+            row.add(item.getName());
+            row.add(item.getSexname());
+            row.add(item.getIdcard());
+            row.add(item.getBirthdate());
+            row.add(item.getEducation());
+            row.add(item.getJobtitle());
+            row.add(item.getWorkdate());
+            row.add(item.getPosition());
+            row.add(item.getBegindate());
+            row.add(item.getEnddate());
+            row.add(item.getAssessbegindate());
+            row.add(item.getAssessenddate());
+            row.add(item.getGradetypename());
+            row.add(item.getResult());
+            row.add(item.getContent());
+
+            rows.add(row);
+        }
+        data.setRows(rows);
+
+        excelHelper.exportExcel(response, title + "导出.xlsx", data);
+    }
+
+    @ResponseBody
+    @RequestMapping("/import")
+    public RequsetData<List<LeaderAssessVo>> importLeaderAssess(@RequestBody Map<String, Object> reqMap) {
+        RequsetData<List<LeaderAssessVo>> res = new RequsetData<>();
+        List<LeaderAssessVo> errorInfo = new ArrayList<>();
+        String message = "";
+        try {
+            List<LeaderAssessVo> dataList = JsonMapper.jsonToObject(reqMap.get("dataList").toString(), new TypeReference<List<LeaderAssessVo>>() {
+            });
+
+            int assessType = Integer.parseInt(reqMap.get("assessType").toString());
+
+            errorInfo = leaderAssessService.importLeaderAssess(assessType, dataList, userService.getLoginUser().getUserid());
+        } catch (Exception e) {
+            e.printStackTrace();
+            message = e.toString();
+        }
+        if (errorInfo.size() <= 0 && stringUtils.IsNullOrEmpty(message)) {
+            res.setSuccess(true);
+            res.setMsg("操作成功!");
+        } else {
+            res.setSuccess(false);
+            res.setMsg("操作失败!" + message);
+            res.setItem(errorInfo);
+        }
+        return res;
+    }
+
+}

+ 158 - 0
src/main/java/com/ghsc/partybuild/controller/LeaderReshuffleController.java

@@ -0,0 +1,158 @@
+package com.ghsc.partybuild.controller;
+
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.ghsc.partybuild.controller.jsonmodel.RequsetData;
+import com.ghsc.partybuild.service.DictionaryService;
+import com.ghsc.partybuild.service.LeaderReshuffleService;
+import com.ghsc.partybuild.service.UserService;
+import com.ghsc.partybuild.util.DateUtils;
+import com.ghsc.partybuild.util.ExcelHelper;
+import com.ghsc.partybuild.util.JsonMapper;
+import com.ghsc.partybuild.util.StringUtils;
+import com.ghsc.partybuild.vo.LeaderReshuffleVo;
+import com.github.pagehelper.PageInfo;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+@Slf4j
+@RestController
+@RequestMapping(value = "/api/leaderWork/reshuffle")
+public class LeaderReshuffleController {
+    @Autowired
+    private LeaderReshuffleService leaderReshuffleService;
+    @Autowired
+    private UserService userService;
+    @Autowired
+    private DictionaryService dictionaryService;
+    @Autowired
+    private StringUtils stringUtils;
+    @Autowired
+    private DateUtils dateUtils;
+    private static final String dateTimeFormat = "yyyy-MM-dd";
+
+    @ResponseBody
+    @GetMapping("/getList")
+    public RequsetData<PageInfo<LeaderReshuffleVo>> getList(int pageindex, int pagesize, @RequestParam(required = false) String departmentName,
+                                                            @RequestParam(required = false) String name, @RequestParam(required = false) String position,
+                                                            @RequestParam(required = false) String beginDate,
+                                                            @RequestParam(required = false) String endDate) {
+        RequsetData<PageInfo<LeaderReshuffleVo>> result = new RequsetData<>();
+        result.setItem(leaderReshuffleService.getList(pageindex, pagesize, null, departmentName, name, position, beginDate, endDate));
+        return result;
+    }
+
+    @ResponseBody
+    @GetMapping("/get")
+    public RequsetData<LeaderReshuffleVo> get(@RequestParam(required = false) String id) {
+        RequsetData<LeaderReshuffleVo> res = new RequsetData<>();
+
+        LeaderReshuffleVo model = leaderReshuffleService.getById(id);
+        if (model == null || (model != null && stringUtils.IsNullOrEmpty(model.getId()))) {
+            model = new LeaderReshuffleVo();
+            model.setId(UUID.randomUUID().toString());
+        }
+
+        res.setItem(model);
+        return res;
+    }
+
+    @ResponseBody
+    @PostMapping("/save")
+    public RequsetData<String> save(@RequestBody LeaderReshuffleVo data) {
+        RequsetData<String> result = new RequsetData<String>();
+        int count = 0;
+        String message = "";
+
+        try {
+            count = leaderReshuffleService.save(data, userService.getLoginUser().getUserid());
+        } catch (Exception e) {
+            e.printStackTrace();
+            message = e.toString();
+        }
+
+        if (count > 0) {
+            result.setSuccess(true);
+            result.setMsg("保存成功!");
+        } else {
+            result.setSuccess(false);
+            result.setMsg("保存失败!" + message);
+        }
+        return result;
+    }
+
+    @ResponseBody
+    @PostMapping("/delete")
+    public RequsetData<Integer> delete(@RequestBody Map<String, Object> reqMap) {
+        RequsetData<Integer> result = new RequsetData<>();
+        int count = 0;
+        String message = "";
+
+        try {
+            List<String> idList = JsonMapper.jsonToObject(reqMap.get("ids").toString(), new TypeReference<List<String>>() {
+            });
+            count = leaderReshuffleService.delete(idList);
+        } catch (Exception e) {
+            e.printStackTrace();
+            message = e.toString();
+        }
+
+        if (count > 0) {
+            result.setItem(count);
+            result.setSuccess(true);
+            result.setMsg("删除成功!");
+        } else {
+            result.setSuccess(false);
+            result.setMsg("删除失败!" + message);
+        }
+        return result;
+    }
+
+    @RequestMapping(value = "/export", method = RequestMethod.GET)
+    public void export(HttpServletResponse response, @RequestParam(required = false) String departmentName,
+                       @RequestParam(required = false) String name, @RequestParam(required = false) String position,
+                       @RequestParam(required = false) String beginDate,
+                       @RequestParam(required = false) String endDate) throws Exception {
+        /**查询数据**/
+        List<LeaderReshuffleVo> dataList = leaderReshuffleService.getList(1, 10000, null, departmentName, name, position, beginDate, endDate).getList();
+
+        ExcelHelper excelHelper = new ExcelHelper();
+        ExcelHelper.ExcelData data = excelHelper.new ExcelData();
+
+        data.setName("干部换届管理");
+        List<String> titles = new ArrayList();
+        titles.add("序号");
+        titles.add("换届类型");
+        titles.add("任职时间");
+        titles.add("任职人姓名");
+        titles.add("任职职位");
+        titles.add("任职单位");
+        titles.add("任职文件标题");
+        titles.add("任职文件文号");
+        data.setTitles(titles);
+
+        int index = 1;
+        List<List<Object>> rows = new ArrayList();
+        for (LeaderReshuffleVo item : dataList) {
+            List<Object> row = new ArrayList();
+            row.add(index++);
+            row.add(item.getReshuffletypename());
+            row.add(item.getDate());
+            row.add(item.getName());
+            row.add(item.getPosition());
+            row.add(item.getDepartmentname());
+            row.add(item.getFiletitle());
+            row.add(item.getFileno());
+            rows.add(row);
+        }
+        data.setRows(rows);
+
+        excelHelper.exportExcel(response, "干部换届管理.xlsx", data);
+    }
+}

+ 11 - 0
src/main/java/com/ghsc/partybuild/mapper/LeaderworkCQuery.java

@@ -1,6 +1,8 @@
 package com.ghsc.partybuild.mapper;
 
+import com.ghsc.partybuild.vo.LeaderAssessVo;
 import com.ghsc.partybuild.vo.LeaderAssessmentVo;
+import com.ghsc.partybuild.vo.LeaderReshuffleVo;
 import com.ghsc.partybuild.vo.LeaderTeamVo;
 import org.apache.ibatis.annotations.Param;
 
@@ -18,4 +20,13 @@ public interface LeaderworkCQuery {
     List<LeaderAssessmentVo> selectLeaderAssessmentList(@Param("id") String id, @Param("departmentName") String departmentName, @Param("userName") String userName, @Param("position") String position, @Param("assessmentResult") String assessmentResult,
                                                         @Param("year") Integer year);
 
+    List<LeaderReshuffleVo> selectLeaderReshuffleList(@Param("id") String id, @Param("departmentName") String departmentName,
+                                                      @Param("name") String name, @Param("position") String position,
+                                                      @Param("beginDate") String beginDate, @Param("endDate") String endDate);
+
+    List<LeaderAssessVo> selectLeaderAssessList(@Param("assessType") Integer assessType, @Param("id") String id,
+                                                @Param("name") String name, @Param("idCard") String idCard,
+                                                @Param("position") String position, @Param("grade") String grade,
+                                                @Param("beginDate") String beginDate, @Param("endDate") String endDate,
+                                                @Param("assessBeginDate") String assessBeginDate, @Param("assessEndDate") String assessEndDate);
 }

+ 30 - 0
src/main/java/com/ghsc/partybuild/mapper/LwLeaderAssessMapper.java

@@ -0,0 +1,30 @@
+package com.ghsc.partybuild.mapper;
+
+import com.ghsc.partybuild.model.LwLeaderAssess;
+import com.ghsc.partybuild.model.LwLeaderAssessExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface LwLeaderAssessMapper {
+    long countByExample(LwLeaderAssessExample example);
+
+    int deleteByExample(LwLeaderAssessExample example);
+
+    int deleteByPrimaryKey(String id);
+
+    int insert(LwLeaderAssess record);
+
+    int insertSelective(LwLeaderAssess record);
+
+    List<LwLeaderAssess> selectByExample(LwLeaderAssessExample example);
+
+    LwLeaderAssess selectByPrimaryKey(String id);
+
+    int updateByExampleSelective(@Param("record") LwLeaderAssess record, @Param("example") LwLeaderAssessExample example);
+
+    int updateByExample(@Param("record") LwLeaderAssess record, @Param("example") LwLeaderAssessExample example);
+
+    int updateByPrimaryKeySelective(LwLeaderAssess record);
+
+    int updateByPrimaryKey(LwLeaderAssess record);
+}

+ 30 - 0
src/main/java/com/ghsc/partybuild/mapper/LwLeaderReshuffleMapper.java

@@ -0,0 +1,30 @@
+package com.ghsc.partybuild.mapper;
+
+import com.ghsc.partybuild.model.LwLeaderReshuffle;
+import com.ghsc.partybuild.model.LwLeaderReshuffleExample;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface LwLeaderReshuffleMapper {
+    long countByExample(LwLeaderReshuffleExample example);
+
+    int deleteByExample(LwLeaderReshuffleExample example);
+
+    int deleteByPrimaryKey(String id);
+
+    int insert(LwLeaderReshuffle record);
+
+    int insertSelective(LwLeaderReshuffle record);
+
+    List<LwLeaderReshuffle> selectByExample(LwLeaderReshuffleExample example);
+
+    LwLeaderReshuffle selectByPrimaryKey(String id);
+
+    int updateByExampleSelective(@Param("record") LwLeaderReshuffle record, @Param("example") LwLeaderReshuffleExample example);
+
+    int updateByExample(@Param("record") LwLeaderReshuffle record, @Param("example") LwLeaderReshuffleExample example);
+
+    int updateByPrimaryKeySelective(LwLeaderReshuffle record);
+
+    int updateByPrimaryKey(LwLeaderReshuffle record);
+}

+ 215 - 0
src/main/java/com/ghsc/partybuild/model/LwLeaderAssess.java

@@ -0,0 +1,215 @@
+package com.ghsc.partybuild.model;
+
+import java.util.Date;
+
+public class LwLeaderAssess {
+    private String id;
+
+    private Integer assesstype;
+
+    private String name;
+
+    private Integer sex;
+
+    private String idcard;
+
+    private String birthdate;
+
+    private String education;
+
+    private String jobtitle;
+
+    private String workdate;
+
+    private String position;
+
+    private String begindate;
+
+    private String enddate;
+
+    private String assessbegindate;
+
+    private String assessenddate;
+
+    private Integer grade;
+
+    private String result;
+
+    private String content;
+
+    private Date createtime;
+
+    private String createuserid;
+
+    private Date updatetime;
+
+    private String updateuserid;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    public Integer getAssesstype() {
+        return assesstype;
+    }
+
+    public void setAssesstype(Integer assesstype) {
+        this.assesstype = assesstype;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name == null ? null : name.trim();
+    }
+
+    public Integer getSex() {
+        return sex;
+    }
+
+    public void setSex(Integer sex) {
+        this.sex = sex;
+    }
+
+    public String getIdcard() {
+        return idcard;
+    }
+
+    public void setIdcard(String idcard) {
+        this.idcard = idcard == null ? null : idcard.trim();
+    }
+
+    public String getBirthdate() {
+        return birthdate;
+    }
+
+    public void setBirthdate(String birthdate) {
+        this.birthdate = birthdate == null ? null : birthdate.trim();
+    }
+
+    public String getEducation() {
+        return education;
+    }
+
+    public void setEducation(String education) {
+        this.education = education == null ? null : education.trim();
+    }
+
+    public String getJobtitle() {
+        return jobtitle;
+    }
+
+    public void setJobtitle(String jobtitle) {
+        this.jobtitle = jobtitle == null ? null : jobtitle.trim();
+    }
+
+    public String getWorkdate() {
+        return workdate;
+    }
+
+    public void setWorkdate(String workdate) {
+        this.workdate = workdate == null ? null : workdate.trim();
+    }
+
+    public String getPosition() {
+        return position;
+    }
+
+    public void setPosition(String position) {
+        this.position = position == null ? null : position.trim();
+    }
+
+    public String getBegindate() {
+        return begindate;
+    }
+
+    public void setBegindate(String begindate) {
+        this.begindate = begindate == null ? null : begindate.trim();
+    }
+
+    public String getEnddate() {
+        return enddate;
+    }
+
+    public void setEnddate(String enddate) {
+        this.enddate = enddate == null ? null : enddate.trim();
+    }
+
+    public String getAssessbegindate() {
+        return assessbegindate;
+    }
+
+    public void setAssessbegindate(String assessbegindate) {
+        this.assessbegindate = assessbegindate == null ? null : assessbegindate.trim();
+    }
+
+    public String getAssessenddate() {
+        return assessenddate;
+    }
+
+    public void setAssessenddate(String assessenddate) {
+        this.assessenddate = assessenddate == null ? null : assessenddate.trim();
+    }
+
+    public Integer getGrade() {
+        return grade;
+    }
+
+    public void setGrade(Integer grade) {
+        this.grade = grade;
+    }
+
+    public String getResult() {
+        return result;
+    }
+
+    public void setResult(String result) {
+        this.result = result == null ? null : result.trim();
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content == null ? null : content.trim();
+    }
+
+    public Date getCreatetime() {
+        return createtime;
+    }
+
+    public void setCreatetime(Date createtime) {
+        this.createtime = createtime;
+    }
+
+    public String getCreateuserid() {
+        return createuserid;
+    }
+
+    public void setCreateuserid(String createuserid) {
+        this.createuserid = createuserid == null ? null : createuserid.trim();
+    }
+
+    public Date getUpdatetime() {
+        return updatetime;
+    }
+
+    public void setUpdatetime(Date updatetime) {
+        this.updatetime = updatetime;
+    }
+
+    public String getUpdateuserid() {
+        return updateuserid;
+    }
+
+    public void setUpdateuserid(String updateuserid) {
+        this.updateuserid = updateuserid == null ? null : updateuserid.trim();
+    }
+}

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1621 - 0
src/main/java/com/ghsc/partybuild/model/LwLeaderAssessExample.java


+ 125 - 0
src/main/java/com/ghsc/partybuild/model/LwLeaderReshuffle.java

@@ -0,0 +1,125 @@
+package com.ghsc.partybuild.model;
+
+import java.util.Date;
+
+public class LwLeaderReshuffle {
+    private String id;
+
+    private Integer reshuffletype;
+
+    private String date;
+
+    private String name;
+
+    private String position;
+
+    private String departmentname;
+
+    private String filetitle;
+
+    private String fileno;
+
+    private Date createtime;
+
+    private String createuserid;
+
+    private Date updatetime;
+
+    private String updateuserid;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    public Integer getReshuffletype() {
+        return reshuffletype;
+    }
+
+    public void setReshuffletype(Integer reshuffletype) {
+        this.reshuffletype = reshuffletype;
+    }
+
+    public String getDate() {
+        return date;
+    }
+
+    public void setDate(String date) {
+        this.date = date == null ? null : date.trim();
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name == null ? null : name.trim();
+    }
+
+    public String getPosition() {
+        return position;
+    }
+
+    public void setPosition(String position) {
+        this.position = position == null ? null : position.trim();
+    }
+
+    public String getDepartmentname() {
+        return departmentname;
+    }
+
+    public void setDepartmentname(String departmentname) {
+        this.departmentname = departmentname == null ? null : departmentname.trim();
+    }
+
+    public String getFiletitle() {
+        return filetitle;
+    }
+
+    public void setFiletitle(String filetitle) {
+        this.filetitle = filetitle == null ? null : filetitle.trim();
+    }
+
+    public String getFileno() {
+        return fileno;
+    }
+
+    public void setFileno(String fileno) {
+        this.fileno = fileno == null ? null : fileno.trim();
+    }
+
+    public Date getCreatetime() {
+        return createtime;
+    }
+
+    public void setCreatetime(Date createtime) {
+        this.createtime = createtime;
+    }
+
+    public String getCreateuserid() {
+        return createuserid;
+    }
+
+    public void setCreateuserid(String createuserid) {
+        this.createuserid = createuserid == null ? null : createuserid.trim();
+    }
+
+    public Date getUpdatetime() {
+        return updatetime;
+    }
+
+    public void setUpdatetime(Date updatetime) {
+        this.updatetime = updatetime;
+    }
+
+    public String getUpdateuserid() {
+        return updateuserid;
+    }
+
+    public void setUpdateuserid(String updateuserid) {
+        this.updateuserid = updateuserid == null ? null : updateuserid.trim();
+    }
+}

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 1011 - 0
src/main/java/com/ghsc/partybuild/model/LwLeaderReshuffleExample.java


+ 20 - 0
src/main/java/com/ghsc/partybuild/service/LeaderAssessService.java

@@ -0,0 +1,20 @@
+package com.ghsc.partybuild.service;
+
+import com.ghsc.partybuild.vo.LeaderAssessVo;
+import com.github.pagehelper.PageInfo;
+
+import java.util.List;
+
+public interface LeaderAssessService {
+    PageInfo<LeaderAssessVo> getList(int pageIndex, int pageSize, Integer assessType, String id,
+                                     String name, String idCard, String position, String grade,
+                                     String beginDate, String endDate, String assessBeginDate, String assessEndDate);
+
+    LeaderAssessVo getById(String id);
+
+    int save(LeaderAssessVo data, String userId);
+
+    int delete(List<String> idList);
+
+    List<LeaderAssessVo> importLeaderAssess(int assessType, List<LeaderAssessVo> dataList, String userID) throws Exception;
+}

+ 17 - 0
src/main/java/com/ghsc/partybuild/service/LeaderReshuffleService.java

@@ -0,0 +1,17 @@
+package com.ghsc.partybuild.service;
+
+import com.ghsc.partybuild.vo.LeaderReshuffleVo;
+import com.github.pagehelper.PageInfo;
+
+import java.util.List;
+
+public interface LeaderReshuffleService {
+    PageInfo<LeaderReshuffleVo> getList(int pageIndex, int pageSize, String id, String departmentName,
+                                        String name, String position, String beginDate, String endDate);
+
+    LeaderReshuffleVo getById(String id);
+
+    int save(LeaderReshuffleVo data, String userId);
+
+    int delete(List<String> idList);
+}

+ 228 - 0
src/main/java/com/ghsc/partybuild/service/impl/LeaderAssessServiceImpl.java

@@ -0,0 +1,228 @@
+package com.ghsc.partybuild.service.impl;
+
+import com.ghsc.partybuild.mapper.LeaderworkCQuery;
+import com.ghsc.partybuild.mapper.LwLeaderAssessMapper;
+import com.ghsc.partybuild.model.CfDictionary;
+import com.ghsc.partybuild.model.LwLeaderAssess;
+import com.ghsc.partybuild.model.LwLeaderAssessExample;
+import com.ghsc.partybuild.service.DictionaryService;
+import com.ghsc.partybuild.service.LeaderAssessService;
+import com.ghsc.partybuild.util.StringUtils;
+import com.ghsc.partybuild.vo.LeaderAssessVo;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+import java.util.stream.Collectors;
+
+@Service("LeaderAssessService")
+public class LeaderAssessServiceImpl implements LeaderAssessService {
+
+    @Autowired
+    private LwLeaderAssessMapper leaderAssessMapper;
+    @Autowired
+    private LeaderworkCQuery leaderworkCQuery;
+    @Autowired
+    private DictionaryService dictionaryService;
+    @Autowired
+    private StringUtils stringUtils;
+
+    @Override
+    public PageInfo<LeaderAssessVo> getList(int pageIndex, int pageSize, Integer assessType, String id, String name, String idCard, String position,
+                                            String grade, String beginDate, String endDate, String assessBeginDate, String assessEndDate) {
+
+        PageHelper.startPage(pageIndex, pageSize);
+        List<LeaderAssessVo> list = leaderworkCQuery.selectLeaderAssessList(assessType, id, name, idCard, position, grade, beginDate, endDate, assessBeginDate, assessEndDate);
+
+        List<CfDictionary> assessTypeList = dictionaryService.getDictionaryListByDicTypeKey("assessType");
+        List<CfDictionary> gradeTypeList = dictionaryService.getDictionaryListByDicTypeKey("gradeType");
+        List<CfDictionary> dicSexList = dictionaryService.getDictionaryListByDicTypeKey("dic_sex");
+
+        list.forEach(item -> {
+            item.setAssesstypename(dictionaryService.getDicByKey(item.getAssesstype(), assessTypeList).getDicvalue());
+            item.setGradetypename(dictionaryService.getDicByKey(item.getGrade(), gradeTypeList).getDicvalue());
+            item.setSexname(dictionaryService.getDicByKey(item.getSex(), dicSexList).getDicvalue());
+        });
+
+        PageInfo<LeaderAssessVo> result = new PageInfo(list);
+        return result;
+    }
+
+    @Override
+    public LeaderAssessVo getById(String id) {
+        if (stringUtils.IsNullOrEmpty(id))
+            return null;
+
+        List<LeaderAssessVo> list = getList(1, 999999, null, id, null, null, null, null, null, null, null, null).getList();
+
+        return list.size() > 0 ? list.get(0) : null;
+    }
+
+    @Override
+    public int save(LeaderAssessVo data, String userId) {
+        int result = 0;
+        LwLeaderAssess model = leaderAssessMapper.selectByPrimaryKey(data.getId());
+        if (model == null) {
+            model = new LwLeaderAssess();
+            model.setId(data.getId());
+            model.setAssesstype(data.getAssesstype());
+            model.setName(data.getName());
+            model.setSex(data.getSex());
+            model.setIdcard(data.getIdcard());
+            model.setBirthdate(data.getBirthdate());
+            model.setEducation(data.getEducation());
+            model.setJobtitle(data.getJobtitle());
+            model.setWorkdate(data.getWorkdate());
+            model.setPosition(data.getPosition());
+            model.setBegindate(data.getBegindate());
+            model.setEnddate(data.getEnddate());
+            model.setAssessbegindate(data.getAssessbegindate());
+            model.setAssessenddate(data.getAssessenddate());
+            model.setGrade(data.getGrade());
+            model.setResult(data.getResult());
+            model.setContent(data.getContent());
+            model.setCreatetime(new Date());
+            model.setCreateuserid(userId);
+
+            result = leaderAssessMapper.insert(model);
+        } else {
+            model.setAssesstype(data.getAssesstype());
+            model.setName(data.getName());
+            model.setSex(data.getSex());
+            model.setIdcard(data.getIdcard());
+            model.setBirthdate(data.getBirthdate());
+            model.setEducation(data.getEducation());
+            model.setJobtitle(data.getJobtitle());
+            model.setWorkdate(data.getWorkdate());
+            model.setPosition(data.getPosition());
+            model.setBegindate(data.getBegindate());
+            model.setEnddate(data.getEnddate());
+            model.setAssessbegindate(data.getAssessbegindate());
+            model.setAssessenddate(data.getAssessenddate());
+            model.setGrade(data.getGrade());
+            model.setResult(data.getResult());
+            model.setContent(data.getContent());
+            model.setUpdatetime(new Date());
+            model.setUpdateuserid(userId);
+
+            result = leaderAssessMapper.updateByPrimaryKey(model);
+        }
+
+        return result;
+    }
+
+    @Override
+    public int delete(List<String> idList) {
+        LwLeaderAssessExample exp = new LwLeaderAssessExample();
+        exp.or().andIdIn(idList);
+
+        return leaderAssessMapper.deleteByExample(exp);
+    }
+
+    public List<LeaderAssessVo> importLeaderAssess(int assessType, List<LeaderAssessVo> dataList, String userID) throws Exception {
+
+        dataList = dataList.stream().filter(it -> !"".equals(it.getName())).collect(Collectors.toList());
+        if (dataList.size() <= 0) {
+            throw new Exception("请添加导入数据");
+        }
+
+        List<String> nameList = dataList.stream().filter(it -> !stringUtils.IsNullOrEmpty(it.getName())).map(it -> it.getName().trim()).collect(Collectors.toList());
+        if (nameList.stream().distinct().count() != nameList.size()) {
+            throw new Exception("导入数据存在相同姓名,请修改后重新导入!");
+        }
+
+        List<CfDictionary> assessTypeList = dictionaryService.getDictionaryListByDicTypeKey("assessType");
+        List<CfDictionary> gradeTypeList = dictionaryService.getDictionaryListByDicTypeKey("gradeType");
+        List<CfDictionary> dicSexList = dictionaryService.getDictionaryListByDicTypeKey("dic_sex");
+
+        List<LeaderAssessVo> errorList = new ArrayList<>();
+        List<LwLeaderAssess> resultList = new ArrayList<>();
+        for (int i = 0; i < dataList.size(); i++) {
+            LeaderAssessVo item = dataList.get(i);
+
+            String errorInfo = "";
+
+            item.setSex(dictionaryService.getDickeyByName(item.getSexname(), dicSexList));
+            item.setAssesstype(dictionaryService.getDickeyByName(item.getAssesstypename(), assessTypeList));
+            item.setGrade(dictionaryService.getDickeyByName(item.getGradetypename(), gradeTypeList));
+
+            if (stringUtils.IsNullOrEmpty(item.getName()))
+                errorInfo += "请填写姓名!";
+            if (item.getSex() == null)
+                errorInfo += "请根据单元格下拉选项选择性别!";
+            if (stringUtils.IsNullOrEmpty(item.getIdcard()))
+                errorInfo += "请填写身份证号!";
+            if (stringUtils.IsNullOrEmpty(item.getPosition()))
+                errorInfo += "请填写职位!";
+            if (stringUtils.IsNullOrEmpty(item.getBegindate())) {
+                errorInfo += "请填写任期开始日期!";
+            } else {
+                if (stringUtils.valueOf(item.getBegindate()).length() != 6)
+                    errorInfo += "任期开始日期格式错误!";
+            }
+            if (stringUtils.IsNullOrEmpty(item.getEnddate())) {
+                errorInfo += "请填写任期结束日期!";
+            } else {
+                if (stringUtils.valueOf(item.getEnddate()).length() != 6)
+                    errorInfo += "任期结束日期格式错误!";
+            }
+            if (stringUtils.IsNullOrEmpty(item.getAssessbegindate())) {
+                errorInfo += "请填写考核开始时间!";
+            } else {
+                if (stringUtils.valueOf(item.getAssessbegindate()).length() != 6)
+                    errorInfo += "考核开始时间格式错误!";
+            }
+            if (stringUtils.IsNullOrEmpty(item.getAssessenddate())) {
+                errorInfo += "请填写考核结束时间!";
+            } else {
+                if (stringUtils.valueOf(item.getAssessenddate()).length() != 6)
+                    errorInfo += "考核结束时间格式错误!";
+            }
+            if (item.getGrade() == null)
+                errorInfo += "请根据单元格下拉选项选择等次!";
+            if (stringUtils.IsNullOrEmpty(item.getResult()))
+                errorInfo += "请填写考核结果!";
+
+            if (stringUtils.IsNullOrEmpty(errorInfo)) {
+                LwLeaderAssess model = new LeaderAssessVo();
+                model.setName(item.getName());
+                model.setSex(item.getSex());
+                model.setIdcard(item.getIdcard());
+                model.setBirthdate(item.getBirthdate());
+                model.setEducation(item.getEducation());
+                model.setJobtitle(item.getJobtitle());
+                model.setWorkdate(item.getWorkdate());
+                model.setPosition(item.getPosition());
+                model.setBegindate(item.getBegindate());
+                model.setEnddate(item.getEnddate());
+                model.setAssessbegindate(item.getAssessbegindate());
+                model.setAssessenddate(item.getAssessenddate());
+                model.setGrade(item.getGrade());
+                model.setResult(item.getResult());
+                model.setContent(item.getContent());
+                resultList.add(model);
+            } else {
+                item.setErrorInfo("第" + (i + 1) + "行," + errorInfo);
+                errorList.add(item);
+            }
+        }
+
+        if (errorList.size() <= 0) {
+            resultList.forEach(item -> {
+                item.setId(UUID.randomUUID().toString());
+                item.setAssesstype(assessType);
+                item.setCreateuserid(userID);
+                item.setCreatetime(new Date());
+                leaderAssessMapper.insert(item);
+            });
+        }
+
+        return errorList;
+    }
+
+}

+ 102 - 0
src/main/java/com/ghsc/partybuild/service/impl/LeaderReshuffleServiceImpl.java

@@ -0,0 +1,102 @@
+package com.ghsc.partybuild.service.impl;
+
+import com.ghsc.partybuild.mapper.LeaderworkCQuery;
+import com.ghsc.partybuild.mapper.LwLeaderReshuffleMapper;
+import com.ghsc.partybuild.model.CfDictionary;
+import com.ghsc.partybuild.model.LwLeaderReshuffle;
+import com.ghsc.partybuild.model.LwLeaderReshuffleExample;
+import com.ghsc.partybuild.service.DictionaryService;
+import com.ghsc.partybuild.service.LeaderReshuffleService;
+import com.ghsc.partybuild.util.DateUtils;
+import com.ghsc.partybuild.util.StringUtils;
+import com.ghsc.partybuild.vo.LeaderReshuffleVo;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+
+@Service("LeaderReshuffleService")
+public class LeaderReshuffleServiceImpl implements LeaderReshuffleService {
+
+    @Autowired
+    private LwLeaderReshuffleMapper leaderReshuffleMapper;
+    @Autowired
+    private LeaderworkCQuery leaderworkCQuery;
+    @Autowired
+    private DictionaryService dictionaryService;
+    @Autowired
+    private StringUtils stringUtils;
+    @Autowired
+    private DateUtils dateUtils;
+
+    @Override
+    public PageInfo<LeaderReshuffleVo> getList(int pageIndex, int pageSize, String id, String departmentName,
+                                               String name, String position, String beginDate, String endDate) {
+        PageHelper.startPage(pageIndex, pageSize);
+        List<LeaderReshuffleVo> list = leaderworkCQuery.selectLeaderReshuffleList(id, departmentName, name, position, beginDate, endDate);
+
+        List<CfDictionary> reshuffleTypeTypeList = dictionaryService.getDictionaryListByDicTypeKey("reshuffleType");
+
+        list.forEach(item -> {
+            item.setReshuffletypename(dictionaryService.getDicByKey(item.getReshuffletype(), reshuffleTypeTypeList).getDicvalue());
+        });
+
+        PageInfo<LeaderReshuffleVo> result = new PageInfo(list);
+        return result;
+    }
+
+    @Override
+    public LeaderReshuffleVo getById(String id) {
+        if (stringUtils.IsNullOrEmpty(id))
+            return null;
+
+        List<LeaderReshuffleVo> list = getList(1, 999999, id, null, null, null, null, null).getList();
+
+        return list.size() > 0 ? list.get(0) : null;
+    }
+
+    @Override
+    public int save(LeaderReshuffleVo data, String userId) {
+        int result = 0;
+        LwLeaderReshuffle model = leaderReshuffleMapper.selectByPrimaryKey(data.getId());
+        if (model == null) {
+            model = new LwLeaderReshuffle();
+            model.setId(data.getId());
+            model.setReshuffletype(data.getReshuffletype());
+            model.setDate(data.getDate());
+            model.setName(data.getName());
+            model.setPosition(data.getPosition());
+            model.setDepartmentname(data.getDepartmentname());
+            model.setFiletitle(data.getFiletitle());
+            model.setFileno(data.getFileno());
+            model.setCreatetime(new Date());
+            model.setCreateuserid(userId);
+
+            result = leaderReshuffleMapper.insert(model);
+        } else {
+            model.setReshuffletype(data.getReshuffletype());
+            model.setDate(data.getDate());
+            model.setName(data.getName());
+            model.setPosition(data.getPosition());
+            model.setDepartmentname(data.getDepartmentname());
+            model.setFiletitle(data.getFiletitle());
+            model.setFileno(data.getFileno());
+            model.setUpdatetime(new Date());
+            model.setUpdateuserid(userId);
+
+            result = leaderReshuffleMapper.updateByPrimaryKey(model);
+        }
+
+        return result;
+    }
+
+    @Override
+    public int delete(List<String> idList) {
+        LwLeaderReshuffleExample exp = new LwLeaderReshuffleExample();
+        exp.or().andIdIn(idList);
+        return leaderReshuffleMapper.deleteByExample(exp);
+    }
+}

+ 12 - 0
src/main/java/com/ghsc/partybuild/vo/LeaderAssessVo.java

@@ -0,0 +1,12 @@
+package com.ghsc.partybuild.vo;
+
+import com.ghsc.partybuild.model.LwLeaderAssess;
+import lombok.Data;
+
+@Data
+public class LeaderAssessVo extends LwLeaderAssess {
+    public String assesstypename;
+    public String gradetypename;
+    public String sexname;
+    public String errorInfo;
+}

+ 9 - 0
src/main/java/com/ghsc/partybuild/vo/LeaderReshuffleVo.java

@@ -0,0 +1,9 @@
+package com.ghsc.partybuild.vo;
+
+import com.ghsc.partybuild.model.LwLeaderReshuffle;
+import lombok.Data;
+
+@Data
+public class LeaderReshuffleVo extends LwLeaderReshuffle {
+    public String reshuffletypename;
+}

+ 2 - 0
src/main/resources/generatorConfig.xml

@@ -293,6 +293,8 @@
         <table schema="" tableName="zz_asses_item_score"></table>
         <table schema="" tableName="pf_practical_activity"></table>
         <table schema="" tableName="pf_practical_activity_user"></table>
+        <table schema="" tableName="lw_leader_assess"></table>
+        <table schema="" tableName="lw_leader_reshuffle"></table>
         -->
     </context>
 </generatorConfiguration>

+ 79 - 2
src/main/resources/mapping/LeaderworkCQuery.xml

@@ -7,7 +7,8 @@
         ldt.samePositionDate,ldt.joinDate, ldt.workDate, ldt.educationType, ldt.qualificationType, ldt.professionalType,
         ldt.undergraduateProfessional, ldt.masterProfessional, ldt.remark, ldt.createTime, ldt.createUserId,
         ldt.updateTime, ldt.updateUserId, ldt.party ,ldt.jobTitle,ldt.birthplace,ldt.engageDate,
-        ldt.graduationSchoolMajor,ldt.inJobEducationType,ldt.inJobQualificationType, ldt.inJobGraduationSchoolMajor,ldt.workExperience
+        ldt.graduationSchoolMajor,ldt.inJobEducationType,ldt.inJobQualificationType,
+        ldt.inJobGraduationSchoolMajor,ldt.workExperience
         from lw_leaderteam ldt
         where 1=1
         <if test="leaderTeamType != null">
@@ -46,7 +47,6 @@
         order by ldt.createTime desc
     </select>
 
-
     <select id="selectLeaderAssessmentList" resultType="com.ghsc.partybuild.vo.LeaderAssessmentVo">
         select lda.leaderAssessmentID, lda.departmentName, lda.name, lda.no,
         lda.position,lda.assessmentResult,lda.year,lda.createTime, lda.createUserId, lda.updateTime, lda.updateUserId
@@ -73,4 +73,81 @@
         order by lda.year desc,lda.departmentName,lda.name
     </select>
 
+    <select id="selectLeaderReshuffleList" resultType="com.ghsc.partybuild.vo.LeaderReshuffleVo">
+        select llr.id, llr.reshuffleType, llr.date, llr.name, llr.position, llr.departmentName, llr.fileTitle,
+        llr.fileNo,
+        llr.createTime, llr.createUserId, llr.updateTime , llr.updateUserId
+        from lw_leader_reshuffle llr
+        where 1=1
+        <if test="id != null and id != ''">
+            and llr.id = #{id}
+        </if>
+        <if test="name != null and name != ''">
+            and llr.name like concat('%',#{name},'%')
+        </if>
+        <if test="position != null and position != ''">
+            and llr.position like concat('%',#{position},'%')
+        </if>
+        <if test="departmentName != null and departmentName != ''">
+            and llr.departmentName like concat('%',#{departmentName},'%')
+        </if>
+        <if test="beginDate != null">
+            and llr.date <![CDATA[ >= ]]> #{beginDate}
+        </if>
+        <if test="endDate != null">
+            and llr.date <![CDATA[ < ]]> #{endDate}
+        </if>
+        order by llr.createTime desc
+    </select>
+
+    <select id="selectLeaderAssessList" resultType="com.ghsc.partybuild.vo.LeaderAssessVo">
+        select lla.id, lla.assessType, lla.name, lla.sex, lla.idCard, lla.birthDate, lla.education,
+        lla.jobTitle, lla.workDate, lla.position, lla.beginDate, lla.endDate, lla.assessBeginDate,
+        lla.assessEndDate, lla.grade, lla.result, lla.content, lla.createTime, lla.createUserId,
+        lla.updateTime, lla.updateUserId
+        from lw_leader_assess lla
+        where 1=1
+        <if test="assessType != null">
+            and lla.assessType = #{assessType}
+        </if>
+        <if test="id != null and id != ''">
+            and lla.id = #{id}
+        </if>
+        <if test="name != null and name != ''">
+            and lla.name like concat('%',#{name},'%')
+        </if>
+        <if test="idCard != null and idCard != ''">
+            and lla.idCard like concat('%',#{idCard},'%')
+        </if>
+        <if test="position != null and position != ''">
+            and lla.position like concat('%',#{position},'%')
+        </if>
+        <if test="grade != null and grade != ''">
+            and lla.grade = #{grade}
+        </if>
+        <choose>
+            <when test="beginDate!=null and endDate!=null ">
+                and (ptc.beginDate <![CDATA[ <= ]]> #{endDate} and ptc.endDate <![CDATA[ >= ]]> #{beginDate})
+            </when>
+            <when test="beginDate!=null">
+                and ptc.beginDate <![CDATA[ >= ]]> #{beginDate}
+            </when>
+            <when test="endDate!=null">
+                and ptc.endDate <![CDATA[ <= ]]> #{endDate}
+            </when>
+        </choose>
+        <choose>
+            <when test="assessBeginDate!=null and assessEndDate!=null ">
+                and (ptc.assessBeginDate <![CDATA[ <= ]]> #{assessEndDate} and ptc.assessEndDate <![CDATA[ >= ]]>
+                #{assessBeginDate})
+            </when>
+            <when test="assessBeginDate!=null">
+                and ptc.assessBeginDate <![CDATA[ >= ]]> #{assessBeginDate}
+            </when>
+            <when test="assessEndDate!=null">
+                and ptc.assessEndDate <![CDATA[ <= ]]> #{assessEndDate}
+            </when>
+        </choose>
+        order by lla.createTime desc
+    </select>
 </mapper>

+ 465 - 0
src/main/resources/mapping/LwLeaderAssessMapper.xml

@@ -0,0 +1,465 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ghsc.partybuild.mapper.LwLeaderAssessMapper">
+  <resultMap id="BaseResultMap" type="com.ghsc.partybuild.model.LwLeaderAssess">
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="assessType" jdbcType="INTEGER" property="assesstype" />
+    <result column="name" jdbcType="VARCHAR" property="name" />
+    <result column="sex" jdbcType="INTEGER" property="sex" />
+    <result column="idCard" jdbcType="VARCHAR" property="idcard" />
+    <result column="birthDate" jdbcType="VARCHAR" property="birthdate" />
+    <result column="education" jdbcType="VARCHAR" property="education" />
+    <result column="jobTitle" jdbcType="VARCHAR" property="jobtitle" />
+    <result column="workDate" jdbcType="VARCHAR" property="workdate" />
+    <result column="position" jdbcType="VARCHAR" property="position" />
+    <result column="beginDate" jdbcType="VARCHAR" property="begindate" />
+    <result column="endDate" jdbcType="VARCHAR" property="enddate" />
+    <result column="assessBeginDate" jdbcType="VARCHAR" property="assessbegindate" />
+    <result column="assessEndDate" jdbcType="VARCHAR" property="assessenddate" />
+    <result column="grade" jdbcType="INTEGER" property="grade" />
+    <result column="result" jdbcType="VARCHAR" property="result" />
+    <result column="content" jdbcType="VARCHAR" property="content" />
+    <result column="createTime" jdbcType="TIMESTAMP" property="createtime" />
+    <result column="createUserId" jdbcType="VARCHAR" property="createuserid" />
+    <result column="updateTime" jdbcType="TIMESTAMP" property="updatetime" />
+    <result column="updateUserId" jdbcType="VARCHAR" property="updateuserid" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    id, assessType, name, sex, idCard, birthDate, education, jobTitle, workDate, position, 
+    beginDate, endDate, assessBeginDate, assessEndDate, grade, result, content, createTime, 
+    createUserId, updateTime, updateUserId
+  </sql>
+  <select id="selectByExample" parameterType="com.ghsc.partybuild.model.LwLeaderAssessExample" resultMap="BaseResultMap">
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from lw_leader_assess
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    select 
+    <include refid="Base_Column_List" />
+    from lw_leader_assess
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    delete from lw_leader_assess
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.ghsc.partybuild.model.LwLeaderAssessExample">
+    delete from lw_leader_assess
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.ghsc.partybuild.model.LwLeaderAssess">
+    insert into lw_leader_assess (id, assessType, name, 
+      sex, idCard, birthDate, 
+      education, jobTitle, workDate, 
+      position, beginDate, endDate, 
+      assessBeginDate, assessEndDate, grade, 
+      result, content, createTime, 
+      createUserId, updateTime, updateUserId
+      )
+    values (#{id,jdbcType=VARCHAR}, #{assesstype,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, 
+      #{sex,jdbcType=INTEGER}, #{idcard,jdbcType=VARCHAR}, #{birthdate,jdbcType=VARCHAR}, 
+      #{education,jdbcType=VARCHAR}, #{jobtitle,jdbcType=VARCHAR}, #{workdate,jdbcType=VARCHAR}, 
+      #{position,jdbcType=VARCHAR}, #{begindate,jdbcType=VARCHAR}, #{enddate,jdbcType=VARCHAR}, 
+      #{assessbegindate,jdbcType=VARCHAR}, #{assessenddate,jdbcType=VARCHAR}, #{grade,jdbcType=INTEGER}, 
+      #{result,jdbcType=VARCHAR}, #{content,jdbcType=VARCHAR}, #{createtime,jdbcType=TIMESTAMP}, 
+      #{createuserid,jdbcType=VARCHAR}, #{updatetime,jdbcType=TIMESTAMP}, #{updateuserid,jdbcType=VARCHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.ghsc.partybuild.model.LwLeaderAssess">
+    insert into lw_leader_assess
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="assesstype != null">
+        assessType,
+      </if>
+      <if test="name != null">
+        name,
+      </if>
+      <if test="sex != null">
+        sex,
+      </if>
+      <if test="idcard != null">
+        idCard,
+      </if>
+      <if test="birthdate != null">
+        birthDate,
+      </if>
+      <if test="education != null">
+        education,
+      </if>
+      <if test="jobtitle != null">
+        jobTitle,
+      </if>
+      <if test="workdate != null">
+        workDate,
+      </if>
+      <if test="position != null">
+        position,
+      </if>
+      <if test="begindate != null">
+        beginDate,
+      </if>
+      <if test="enddate != null">
+        endDate,
+      </if>
+      <if test="assessbegindate != null">
+        assessBeginDate,
+      </if>
+      <if test="assessenddate != null">
+        assessEndDate,
+      </if>
+      <if test="grade != null">
+        grade,
+      </if>
+      <if test="result != null">
+        result,
+      </if>
+      <if test="content != null">
+        content,
+      </if>
+      <if test="createtime != null">
+        createTime,
+      </if>
+      <if test="createuserid != null">
+        createUserId,
+      </if>
+      <if test="updatetime != null">
+        updateTime,
+      </if>
+      <if test="updateuserid != null">
+        updateUserId,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="assesstype != null">
+        #{assesstype,jdbcType=INTEGER},
+      </if>
+      <if test="name != null">
+        #{name,jdbcType=VARCHAR},
+      </if>
+      <if test="sex != null">
+        #{sex,jdbcType=INTEGER},
+      </if>
+      <if test="idcard != null">
+        #{idcard,jdbcType=VARCHAR},
+      </if>
+      <if test="birthdate != null">
+        #{birthdate,jdbcType=VARCHAR},
+      </if>
+      <if test="education != null">
+        #{education,jdbcType=VARCHAR},
+      </if>
+      <if test="jobtitle != null">
+        #{jobtitle,jdbcType=VARCHAR},
+      </if>
+      <if test="workdate != null">
+        #{workdate,jdbcType=VARCHAR},
+      </if>
+      <if test="position != null">
+        #{position,jdbcType=VARCHAR},
+      </if>
+      <if test="begindate != null">
+        #{begindate,jdbcType=VARCHAR},
+      </if>
+      <if test="enddate != null">
+        #{enddate,jdbcType=VARCHAR},
+      </if>
+      <if test="assessbegindate != null">
+        #{assessbegindate,jdbcType=VARCHAR},
+      </if>
+      <if test="assessenddate != null">
+        #{assessenddate,jdbcType=VARCHAR},
+      </if>
+      <if test="grade != null">
+        #{grade,jdbcType=INTEGER},
+      </if>
+      <if test="result != null">
+        #{result,jdbcType=VARCHAR},
+      </if>
+      <if test="content != null">
+        #{content,jdbcType=VARCHAR},
+      </if>
+      <if test="createtime != null">
+        #{createtime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="createuserid != null">
+        #{createuserid,jdbcType=VARCHAR},
+      </if>
+      <if test="updatetime != null">
+        #{updatetime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateuserid != null">
+        #{updateuserid,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.ghsc.partybuild.model.LwLeaderAssessExample" resultType="java.lang.Long">
+    select count(*) from lw_leader_assess
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    update lw_leader_assess
+    <set>
+      <if test="record.id != null">
+        id = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.assesstype != null">
+        assessType = #{record.assesstype,jdbcType=INTEGER},
+      </if>
+      <if test="record.name != null">
+        name = #{record.name,jdbcType=VARCHAR},
+      </if>
+      <if test="record.sex != null">
+        sex = #{record.sex,jdbcType=INTEGER},
+      </if>
+      <if test="record.idcard != null">
+        idCard = #{record.idcard,jdbcType=VARCHAR},
+      </if>
+      <if test="record.birthdate != null">
+        birthDate = #{record.birthdate,jdbcType=VARCHAR},
+      </if>
+      <if test="record.education != null">
+        education = #{record.education,jdbcType=VARCHAR},
+      </if>
+      <if test="record.jobtitle != null">
+        jobTitle = #{record.jobtitle,jdbcType=VARCHAR},
+      </if>
+      <if test="record.workdate != null">
+        workDate = #{record.workdate,jdbcType=VARCHAR},
+      </if>
+      <if test="record.position != null">
+        position = #{record.position,jdbcType=VARCHAR},
+      </if>
+      <if test="record.begindate != null">
+        beginDate = #{record.begindate,jdbcType=VARCHAR},
+      </if>
+      <if test="record.enddate != null">
+        endDate = #{record.enddate,jdbcType=VARCHAR},
+      </if>
+      <if test="record.assessbegindate != null">
+        assessBeginDate = #{record.assessbegindate,jdbcType=VARCHAR},
+      </if>
+      <if test="record.assessenddate != null">
+        assessEndDate = #{record.assessenddate,jdbcType=VARCHAR},
+      </if>
+      <if test="record.grade != null">
+        grade = #{record.grade,jdbcType=INTEGER},
+      </if>
+      <if test="record.result != null">
+        result = #{record.result,jdbcType=VARCHAR},
+      </if>
+      <if test="record.content != null">
+        content = #{record.content,jdbcType=VARCHAR},
+      </if>
+      <if test="record.createtime != null">
+        createTime = #{record.createtime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.createuserid != null">
+        createUserId = #{record.createuserid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.updatetime != null">
+        updateTime = #{record.updatetime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.updateuserid != null">
+        updateUserId = #{record.updateuserid,jdbcType=VARCHAR},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    update lw_leader_assess
+    set id = #{record.id,jdbcType=VARCHAR},
+      assessType = #{record.assesstype,jdbcType=INTEGER},
+      name = #{record.name,jdbcType=VARCHAR},
+      sex = #{record.sex,jdbcType=INTEGER},
+      idCard = #{record.idcard,jdbcType=VARCHAR},
+      birthDate = #{record.birthdate,jdbcType=VARCHAR},
+      education = #{record.education,jdbcType=VARCHAR},
+      jobTitle = #{record.jobtitle,jdbcType=VARCHAR},
+      workDate = #{record.workdate,jdbcType=VARCHAR},
+      position = #{record.position,jdbcType=VARCHAR},
+      beginDate = #{record.begindate,jdbcType=VARCHAR},
+      endDate = #{record.enddate,jdbcType=VARCHAR},
+      assessBeginDate = #{record.assessbegindate,jdbcType=VARCHAR},
+      assessEndDate = #{record.assessenddate,jdbcType=VARCHAR},
+      grade = #{record.grade,jdbcType=INTEGER},
+      result = #{record.result,jdbcType=VARCHAR},
+      content = #{record.content,jdbcType=VARCHAR},
+      createTime = #{record.createtime,jdbcType=TIMESTAMP},
+      createUserId = #{record.createuserid,jdbcType=VARCHAR},
+      updateTime = #{record.updatetime,jdbcType=TIMESTAMP},
+      updateUserId = #{record.updateuserid,jdbcType=VARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.ghsc.partybuild.model.LwLeaderAssess">
+    update lw_leader_assess
+    <set>
+      <if test="assesstype != null">
+        assessType = #{assesstype,jdbcType=INTEGER},
+      </if>
+      <if test="name != null">
+        name = #{name,jdbcType=VARCHAR},
+      </if>
+      <if test="sex != null">
+        sex = #{sex,jdbcType=INTEGER},
+      </if>
+      <if test="idcard != null">
+        idCard = #{idcard,jdbcType=VARCHAR},
+      </if>
+      <if test="birthdate != null">
+        birthDate = #{birthdate,jdbcType=VARCHAR},
+      </if>
+      <if test="education != null">
+        education = #{education,jdbcType=VARCHAR},
+      </if>
+      <if test="jobtitle != null">
+        jobTitle = #{jobtitle,jdbcType=VARCHAR},
+      </if>
+      <if test="workdate != null">
+        workDate = #{workdate,jdbcType=VARCHAR},
+      </if>
+      <if test="position != null">
+        position = #{position,jdbcType=VARCHAR},
+      </if>
+      <if test="begindate != null">
+        beginDate = #{begindate,jdbcType=VARCHAR},
+      </if>
+      <if test="enddate != null">
+        endDate = #{enddate,jdbcType=VARCHAR},
+      </if>
+      <if test="assessbegindate != null">
+        assessBeginDate = #{assessbegindate,jdbcType=VARCHAR},
+      </if>
+      <if test="assessenddate != null">
+        assessEndDate = #{assessenddate,jdbcType=VARCHAR},
+      </if>
+      <if test="grade != null">
+        grade = #{grade,jdbcType=INTEGER},
+      </if>
+      <if test="result != null">
+        result = #{result,jdbcType=VARCHAR},
+      </if>
+      <if test="content != null">
+        content = #{content,jdbcType=VARCHAR},
+      </if>
+      <if test="createtime != null">
+        createTime = #{createtime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="createuserid != null">
+        createUserId = #{createuserid,jdbcType=VARCHAR},
+      </if>
+      <if test="updatetime != null">
+        updateTime = #{updatetime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateuserid != null">
+        updateUserId = #{updateuserid,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.ghsc.partybuild.model.LwLeaderAssess">
+    update lw_leader_assess
+    set assessType = #{assesstype,jdbcType=INTEGER},
+      name = #{name,jdbcType=VARCHAR},
+      sex = #{sex,jdbcType=INTEGER},
+      idCard = #{idcard,jdbcType=VARCHAR},
+      birthDate = #{birthdate,jdbcType=VARCHAR},
+      education = #{education,jdbcType=VARCHAR},
+      jobTitle = #{jobtitle,jdbcType=VARCHAR},
+      workDate = #{workdate,jdbcType=VARCHAR},
+      position = #{position,jdbcType=VARCHAR},
+      beginDate = #{begindate,jdbcType=VARCHAR},
+      endDate = #{enddate,jdbcType=VARCHAR},
+      assessBeginDate = #{assessbegindate,jdbcType=VARCHAR},
+      assessEndDate = #{assessenddate,jdbcType=VARCHAR},
+      grade = #{grade,jdbcType=INTEGER},
+      result = #{result,jdbcType=VARCHAR},
+      content = #{content,jdbcType=VARCHAR},
+      createTime = #{createtime,jdbcType=TIMESTAMP},
+      createUserId = #{createuserid,jdbcType=VARCHAR},
+      updateTime = #{updatetime,jdbcType=TIMESTAMP},
+      updateUserId = #{updateuserid,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 323 - 0
src/main/resources/mapping/LwLeaderReshuffleMapper.xml

@@ -0,0 +1,323 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ghsc.partybuild.mapper.LwLeaderReshuffleMapper">
+  <resultMap id="BaseResultMap" type="com.ghsc.partybuild.model.LwLeaderReshuffle">
+    <id column="id" jdbcType="VARCHAR" property="id" />
+    <result column="reshuffleType" jdbcType="INTEGER" property="reshuffletype" />
+    <result column="date" jdbcType="VARCHAR" property="date" />
+    <result column="name" jdbcType="VARCHAR" property="name" />
+    <result column="position" jdbcType="VARCHAR" property="position" />
+    <result column="departmentName" jdbcType="VARCHAR" property="departmentname" />
+    <result column="fileTitle" jdbcType="VARCHAR" property="filetitle" />
+    <result column="fileNo" jdbcType="VARCHAR" property="fileno" />
+    <result column="createTime" jdbcType="TIMESTAMP" property="createtime" />
+    <result column="createUserId" jdbcType="VARCHAR" property="createuserid" />
+    <result column="updateTime" jdbcType="TIMESTAMP" property="updatetime" />
+    <result column="updateUserId" jdbcType="VARCHAR" property="updateuserid" />
+  </resultMap>
+  <sql id="Example_Where_Clause">
+    <where>
+      <foreach collection="oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Update_By_Example_Where_Clause">
+    <where>
+      <foreach collection="example.oredCriteria" item="criteria" separator="or">
+        <if test="criteria.valid">
+          <trim prefix="(" prefixOverrides="and" suffix=")">
+            <foreach collection="criteria.criteria" item="criterion">
+              <choose>
+                <when test="criterion.noValue">
+                  and ${criterion.condition}
+                </when>
+                <when test="criterion.singleValue">
+                  and ${criterion.condition} #{criterion.value}
+                </when>
+                <when test="criterion.betweenValue">
+                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
+                </when>
+                <when test="criterion.listValue">
+                  and ${criterion.condition}
+                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
+                    #{listItem}
+                  </foreach>
+                </when>
+              </choose>
+            </foreach>
+          </trim>
+        </if>
+      </foreach>
+    </where>
+  </sql>
+  <sql id="Base_Column_List">
+    id, reshuffleType, date, name, position, departmentName, fileTitle, fileNo, createTime, 
+    createUserId, updateTime, updateUserId
+  </sql>
+  <select id="selectByExample" parameterType="com.ghsc.partybuild.model.LwLeaderReshuffleExample" resultMap="BaseResultMap">
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from lw_leader_reshuffle
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
+    select 
+    <include refid="Base_Column_List" />
+    from lw_leader_reshuffle
+    where id = #{id,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    delete from lw_leader_reshuffle
+    where id = #{id,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.ghsc.partybuild.model.LwLeaderReshuffleExample">
+    delete from lw_leader_reshuffle
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.ghsc.partybuild.model.LwLeaderReshuffle">
+    insert into lw_leader_reshuffle (id, reshuffleType, date, 
+      name, position, departmentName, 
+      fileTitle, fileNo, createTime, 
+      createUserId, updateTime, updateUserId
+      )
+    values (#{id,jdbcType=VARCHAR}, #{reshuffletype,jdbcType=INTEGER}, #{date,jdbcType=VARCHAR}, 
+      #{name,jdbcType=VARCHAR}, #{position,jdbcType=VARCHAR}, #{departmentname,jdbcType=VARCHAR}, 
+      #{filetitle,jdbcType=VARCHAR}, #{fileno,jdbcType=VARCHAR}, #{createtime,jdbcType=TIMESTAMP}, 
+      #{createuserid,jdbcType=VARCHAR}, #{updatetime,jdbcType=TIMESTAMP}, #{updateuserid,jdbcType=VARCHAR}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.ghsc.partybuild.model.LwLeaderReshuffle">
+    insert into lw_leader_reshuffle
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        id,
+      </if>
+      <if test="reshuffletype != null">
+        reshuffleType,
+      </if>
+      <if test="date != null">
+        date,
+      </if>
+      <if test="name != null">
+        name,
+      </if>
+      <if test="position != null">
+        position,
+      </if>
+      <if test="departmentname != null">
+        departmentName,
+      </if>
+      <if test="filetitle != null">
+        fileTitle,
+      </if>
+      <if test="fileno != null">
+        fileNo,
+      </if>
+      <if test="createtime != null">
+        createTime,
+      </if>
+      <if test="createuserid != null">
+        createUserId,
+      </if>
+      <if test="updatetime != null">
+        updateTime,
+      </if>
+      <if test="updateuserid != null">
+        updateUserId,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="id != null">
+        #{id,jdbcType=VARCHAR},
+      </if>
+      <if test="reshuffletype != null">
+        #{reshuffletype,jdbcType=INTEGER},
+      </if>
+      <if test="date != null">
+        #{date,jdbcType=VARCHAR},
+      </if>
+      <if test="name != null">
+        #{name,jdbcType=VARCHAR},
+      </if>
+      <if test="position != null">
+        #{position,jdbcType=VARCHAR},
+      </if>
+      <if test="departmentname != null">
+        #{departmentname,jdbcType=VARCHAR},
+      </if>
+      <if test="filetitle != null">
+        #{filetitle,jdbcType=VARCHAR},
+      </if>
+      <if test="fileno != null">
+        #{fileno,jdbcType=VARCHAR},
+      </if>
+      <if test="createtime != null">
+        #{createtime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="createuserid != null">
+        #{createuserid,jdbcType=VARCHAR},
+      </if>
+      <if test="updatetime != null">
+        #{updatetime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateuserid != null">
+        #{updateuserid,jdbcType=VARCHAR},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.ghsc.partybuild.model.LwLeaderReshuffleExample" resultType="java.lang.Long">
+    select count(*) from lw_leader_reshuffle
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    update lw_leader_reshuffle
+    <set>
+      <if test="record.id != null">
+        id = #{record.id,jdbcType=VARCHAR},
+      </if>
+      <if test="record.reshuffletype != null">
+        reshuffleType = #{record.reshuffletype,jdbcType=INTEGER},
+      </if>
+      <if test="record.date != null">
+        date = #{record.date,jdbcType=VARCHAR},
+      </if>
+      <if test="record.name != null">
+        name = #{record.name,jdbcType=VARCHAR},
+      </if>
+      <if test="record.position != null">
+        position = #{record.position,jdbcType=VARCHAR},
+      </if>
+      <if test="record.departmentname != null">
+        departmentName = #{record.departmentname,jdbcType=VARCHAR},
+      </if>
+      <if test="record.filetitle != null">
+        fileTitle = #{record.filetitle,jdbcType=VARCHAR},
+      </if>
+      <if test="record.fileno != null">
+        fileNo = #{record.fileno,jdbcType=VARCHAR},
+      </if>
+      <if test="record.createtime != null">
+        createTime = #{record.createtime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.createuserid != null">
+        createUserId = #{record.createuserid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.updatetime != null">
+        updateTime = #{record.updatetime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="record.updateuserid != null">
+        updateUserId = #{record.updateuserid,jdbcType=VARCHAR},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    update lw_leader_reshuffle
+    set id = #{record.id,jdbcType=VARCHAR},
+      reshuffleType = #{record.reshuffletype,jdbcType=INTEGER},
+      date = #{record.date,jdbcType=VARCHAR},
+      name = #{record.name,jdbcType=VARCHAR},
+      position = #{record.position,jdbcType=VARCHAR},
+      departmentName = #{record.departmentname,jdbcType=VARCHAR},
+      fileTitle = #{record.filetitle,jdbcType=VARCHAR},
+      fileNo = #{record.fileno,jdbcType=VARCHAR},
+      createTime = #{record.createtime,jdbcType=TIMESTAMP},
+      createUserId = #{record.createuserid,jdbcType=VARCHAR},
+      updateTime = #{record.updatetime,jdbcType=TIMESTAMP},
+      updateUserId = #{record.updateuserid,jdbcType=VARCHAR}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByPrimaryKeySelective" parameterType="com.ghsc.partybuild.model.LwLeaderReshuffle">
+    update lw_leader_reshuffle
+    <set>
+      <if test="reshuffletype != null">
+        reshuffleType = #{reshuffletype,jdbcType=INTEGER},
+      </if>
+      <if test="date != null">
+        date = #{date,jdbcType=VARCHAR},
+      </if>
+      <if test="name != null">
+        name = #{name,jdbcType=VARCHAR},
+      </if>
+      <if test="position != null">
+        position = #{position,jdbcType=VARCHAR},
+      </if>
+      <if test="departmentname != null">
+        departmentName = #{departmentname,jdbcType=VARCHAR},
+      </if>
+      <if test="filetitle != null">
+        fileTitle = #{filetitle,jdbcType=VARCHAR},
+      </if>
+      <if test="fileno != null">
+        fileNo = #{fileno,jdbcType=VARCHAR},
+      </if>
+      <if test="createtime != null">
+        createTime = #{createtime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="createuserid != null">
+        createUserId = #{createuserid,jdbcType=VARCHAR},
+      </if>
+      <if test="updatetime != null">
+        updateTime = #{updatetime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updateuserid != null">
+        updateUserId = #{updateuserid,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.ghsc.partybuild.model.LwLeaderReshuffle">
+    update lw_leader_reshuffle
+    set reshuffleType = #{reshuffletype,jdbcType=INTEGER},
+      date = #{date,jdbcType=VARCHAR},
+      name = #{name,jdbcType=VARCHAR},
+      position = #{position,jdbcType=VARCHAR},
+      departmentName = #{departmentname,jdbcType=VARCHAR},
+      fileTitle = #{filetitle,jdbcType=VARCHAR},
+      fileNo = #{fileno,jdbcType=VARCHAR},
+      createTime = #{createtime,jdbcType=TIMESTAMP},
+      createUserId = #{createuserid,jdbcType=VARCHAR},
+      updateTime = #{updatetime,jdbcType=TIMESTAMP},
+      updateUserId = #{updateuserid,jdbcType=VARCHAR}
+    where id = #{id,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 90 - 0
src/main/resources/static/app/main/app.js

@@ -3243,6 +3243,96 @@
                     return $ocLazyLoad.load('../main/leaderwork/leaderteam/detail.js?' + window.sysVersion);
                 }]
             }
+        }).state("home.leaderAssessList1", {
+            url: "leaderAssessList1",
+            params: {"assessType": 1},
+            templateUrl: "../main/leaderwork/leaderassess/list.html?" + window.sysVersion,
+            controller: "leaderAssessListCtrl",
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                    return $ocLazyLoad.load('../main/leaderwork/leaderassess/list.js?' + window.sysVersion);
+                }]
+            }
+        }).state("home.leaderAssessEdit1", {
+            url: "leaderAssessEdit1",
+            params: {"assessType": 1},
+            templateUrl: "../main/leaderwork/leaderassess/edit.html?" + window.sysVersion,
+            controller: "leaderAssessEditCtrl",
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                    return $ocLazyLoad.load('../main/leaderwork/leaderassess/edit.js?' + window.sysVersion);
+                }]
+            }
+        }).state("home.leaderAssessAdd1", {
+            url: "leaderAssessAdd1",
+            params: {"assessType": 1},
+            templateUrl: "../main/leaderwork/leaderassess/edit.html?" + window.sysVersion,
+            controller: "leaderAssessEditCtrl",
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                    return $ocLazyLoad.load('../main/leaderwork/leaderassess/edit.js?' + window.sysVersion);
+                }]
+            }
+        }).state("home.leaderAssessDetail1", {
+            url: "leaderAssessDetail1",
+            params: {"assessType": 1},
+            templateUrl: "../main/leaderwork/leaderassess/detail.html?" + window.sysVersion,
+            controller: "leaderAssessDetailCtrl",
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                    return $ocLazyLoad.load('../main/leaderwork/leaderassess/detail.js?' + window.sysVersion);
+                }]
+            }
+        }).state("home.leaderAssessList2", {
+            url: "leaderAssessList2",
+            params: {"assessType": 2},
+            templateUrl: "../main/leaderwork/leaderassess/list.html?" + window.sysVersion,
+            controller: "leaderAssessListCtrl",
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                    return $ocLazyLoad.load('../main/leaderwork/leaderassess/list.js?' + window.sysVersion);
+                }]
+            }
+        }).state("home.leaderAssessEdit2", {
+            url: "leaderAssessEdit2",
+            params: {"assessType": 2},
+            templateUrl: "../main/leaderwork/leaderassess/edit.html?" + window.sysVersion,
+            controller: "leaderAssessEditCtrl",
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                    return $ocLazyLoad.load('../main/leaderwork/leaderassess/edit.js?' + window.sysVersion);
+                }]
+            }
+        }).state("home.leaderAssessAdd2", {
+            url: "leaderAssessAdd2",
+            params: {"assessType": 2},
+            templateUrl: "../main/leaderwork/leaderassess/edit.html?" + window.sysVersion,
+            controller: "leaderAssessEditCtrl",
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                    return $ocLazyLoad.load('../main/leaderwork/leaderassess/edit.js?' + window.sysVersion);
+                }]
+            }
+        }).state("home.leaderAssessDetail2", {
+            url: "leaderAssessDetail2",
+            params: {"assessType": 2},
+            templateUrl: "../main/leaderwork/leaderassess/detail.html?" + window.sysVersion,
+            controller: "leaderAssessDetailCtrl",
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                    return $ocLazyLoad.load('../main/leaderwork/leaderassess/detail.js?' + window.sysVersion);
+                }]
+            }
+        }).state("home.leaderReshuffle", {
+            url: "leaderReshuffle",
+            templateUrl: "../main/leaderwork/leaderreshuffle/list.html?" + window.sysVersion,
+            controller: "leaderReshuffleCtrl",
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                    $ocLazyLoad.load('../main/leaderwork/leaderreshuffle/edit.js?' + window.sysVersion);
+                    return $ocLazyLoad.load('../main/leaderwork/leaderreshuffle/list.js?' + window.sysVersion);
+                }]
+            }
         }).state("home.PxTrainingRecordList", {
             url: "PxTrainingRecordList",
             templateUrl: "../main/train/trainingrecord/list.html?" + window.sysVersion,

+ 52 - 0
src/main/resources/static/app/main/leaderwork/leaderassess/detail.html

@@ -0,0 +1,52 @@
+<titlemenu></titlemenu>
+<div class="dj-card">
+    <div class="dj-body" activate-input activate-select>
+        <div class="card">
+                <div class="dj-formtable">
+                    <table class="dj-table dj-table3">
+                        <tr>
+                            <th>姓名</th>
+                            <td>{{dataModel.name}}</td>
+                            <th>身份证号</th>
+                            <td>{{dataModel.idcard}}</td>
+                            <th>性别</th>
+                            <td>{{dataModel.sexname}}</td>
+                        </tr>
+                        <tr>
+                            <th>出生年月</th>
+                            <td>{{dataModel.birthdate}}</td>
+                            <th>学历</th>
+                            <td>{{dataModel.education}}</td>
+                            <th>参加工作时间</th>
+                            <td>{{dataModel.workdate}}</td>
+                        </tr>
+                        <tr>
+                            <th>任期日期</th>
+                            <td>{{dataModel.begindate}}~{{dataModel.enddate}}</td>
+                            <th>职称</th>
+                            <td>{{dataModel.jobtitle}}</td>
+                            <th>职位</th>
+                            <td>{{dataModel.position}}</td>
+                        </tr>
+                        <tr>
+                            <th>考核时间</th>
+                            <td>{{dataModel.assessbegindate}}~{{dataModel.assessenddate}}</td>
+                            <th>等次</th>
+                            <td>{{dataModel.gradetypename}}</td>
+                            <th>考核结果</th>
+                            <td>{{dataModel.result}}</td>
+                        </tr>
+                        <tr>
+                            <th>考核内容</th>
+                            <td colspan="5">{{dataModel.content}}</td>
+                        </tr>
+                    </table>
+                </div>
+                <bsfiles ng-model="reqFileModel"/>
+                <div class="form_foot">
+                    <button type="button" class="btn btn-default" ng-click="pagechange()">取消</button>
+                </div>
+            </form>
+        </div>
+    </div>
+</div>

+ 36 - 0
src/main/resources/static/app/main/leaderwork/leaderassess/detail.js

@@ -0,0 +1,36 @@
+(function ($app) {
+    $app.module('gtPartyApp').controller('leaderAssessDetailCtrl', function ($scope, $http, $modal, $ocLazyLoad, $alert, $loading, $state, $bsRouterState, AuthUser, $timeout, $excel, $partySelect, $filter) {
+        $scope.editParams = $bsRouterState.$params($scope);
+        $scope.dataModel = {};
+
+        $scope.reqFileModel = {
+            selectdata: {FileRefID: '', pageindex: 1, pagesize: 10, ptotal: 0},//查询参数:FileRefID为文件关联ID
+            filetype: 71,//文件类型
+            items: [],//列表数据地址
+            readonly: true,//是否只能查看
+            title: '相关文件',
+            addFileButton: '上传'
+        };
+
+        $scope.getData = function () {
+            $http
+            ({
+                method: 'get', url: "../../api/leaderWork/leaderassess/get",
+                params: {
+                    'id': $scope.editParams.id
+                }
+            }).then(function (result) {
+                $scope.dataModel = result.data.item;
+                $scope.reqFileModel.selectdata.FileRefID = $scope.dataModel.id;
+            }, function (resp) {
+                $scope.showMsg('错误', '服务器错误:' + resp.data);
+            });
+        };
+
+        $scope.getData();
+
+        $scope.pagechange = function () {
+            $bsRouterState.$closeTab($scope);
+        };
+    });
+})(angular);

+ 150 - 0
src/main/resources/static/app/main/leaderwork/leaderassess/edit.html

@@ -0,0 +1,150 @@
+<titlemenu></titlemenu>
+<div class="dj-card">
+    <div class="dj-body" activate-input activate-select>
+        <div class="card">
+            <form class="form-horizontal" role="form" id="leaderAssessForm"
+                  name="leaderAssessForm" ng-submit="save(leaderAssessForm.$valid)" novalidate>
+                <div class="dj-formtable">
+                    <table class="dj-table dj-table3">
+                        <tr>
+                            <th>姓名<span style="color: red">*</span></th>
+                            <td ng-class="{ 'has-error' : this.leaderAssessForm.name.$invalid &&  this.leaderAssessForm.$submitted}">
+                                <input type="text" class="form-control" name="name"
+                                       autocomplete="off" autoclose="true"
+                                       ng-model="dataModel.name" ng-required="true"/>
+                                <span ng-show="this.leaderAssessForm.name.$invalid &&  this.leaderAssessForm.$submitted"
+                                      class="error">必填.</span>
+                            </td>
+                            <th>身份证号<span style="color: red">*</span></th>
+                            <td ng-class="{ 'has-error' : this.leaderAssessForm.idcard.$invalid &&  this.leaderAssessForm.$submitted}">
+                                <input type="text" class="form-control" name="idcard"
+                                       autocomplete="off" autoclose="true" maxlength="18"
+                                       ng-model="dataModel.idcard" ng-required="true"/>
+                                <span ng-show="this.leaderAssessForm.idcard.$invalid &&  this.leaderAssessForm.$submitted"
+                                      class="error">必填.</span>
+                            </td>
+                            <th>性别</th>
+                            <td>
+                                <select class="form-control show-tick" ng-model="dataModel.sex"
+                                        ng-options="type.dickey as type.dicvalue for type in sexList"
+                                        class="form-control" name="sex">
+                                    <option value="" selected>--请选择--</option>
+                                </select>
+                            </td>
+                        </tr>
+                        <tr>
+                            <th>出生年月</th>
+                            <td>
+                                <input name="birthdate" class="form-control"
+                                       autocomplete="off" autoclose="true"
+                                       data-date-format="yyyyMM" data-date-type="string"
+                                       data-start-view="1" data-min-view="1"
+                                       ng-model="dataModel.birthdate"
+                                       placeholder="" bs-datepicker/>
+                            </td>
+                            <th>学历</th>
+                            <td>
+                                <input type="text" class="form-control" name="education"
+                                       autocomplete="off" autoclose="true"
+                                       ng-model="dataModel.education"/>
+                            </td>
+                            <th>参加工作时间</th>
+                            <td>
+                                <input name="workdate" class="form-control"
+                                       autocomplete="off" autoclose="true"
+                                       data-date-format="yyyyMM" data-date-type="string"
+                                       data-start-view="1" data-min-view="1"
+                                       ng-model="dataModel.workdate"
+                                       placeholder="" bs-datepicker/>
+                                <span ng-show="this.leaderAssessForm.workdate.$invalid &&  this.leaderAssessForm.$submitted"
+                                      class="error">必填.</span>
+                            </td>
+                        </tr>
+                        <tr>
+                            <th>任期日期<span style="color: red;">*</span></th>
+                            <td ng-class="{ 'has-error' : (this.leaderAssessForm.begindate.$invalid || this.leaderAssessForm.enddate.$invalid) &&  this.leaderAssessForm.$submitted}">
+                                <input style="width: 90px;display: inline;" name="begindate" class="form-control"
+                                       autocomplete="off" autoclose="true"
+                                       data-date-format="yyyyMM" data-date-type="string"
+                                       data-start-view="1" data-min-view="1"
+                                       ng-model="dataModel.begindate"
+                                       ng-required="true" placeholder="" bs-datepicker/>
+                                ~
+                                <input style="width: 90px;display: inline;" name="enddate" class="form-control"
+                                       autocomplete="off" autoclose="true"
+                                       data-date-format="yyyyMM" data-date-type="string"
+                                       data-start-view="1" data-min-view="1"
+                                       ng-model="dataModel.enddate"
+                                       ng-required="true" placeholder="" bs-datepicker/>
+                                <span ng-show="(this.leaderAssessForm.begindate.$invalid || this.leaderAssessForm.enddate.$invalid) &&  this.leaderAssessForm.$submitted"
+                                      class="error">必填.</span>
+                            </td>
+                            <th>职称</th>
+                            <td>
+                                <input type="text" class="form-control" name="jobtitle"
+                                       autocomplete="off" autoclose="true"
+                                       ng-model="dataModel.jobtitle"/>
+                            </td>
+                            <th>职位<span style="color: red">*</span></th>
+                            <td ng-class="{ 'has-error' : this.leaderAssessForm.position.$invalid &&  this.leaderAssessForm.$submitted}">
+                                <input type="text" class="form-control" name="position"
+                                       autocomplete="off" autoclose="true"
+                                       ng-model="dataModel.position" ng-required="true"/>
+                                <span ng-show="this.leaderAssessForm.position.$invalid &&  this.leaderAssessForm.$submitted"
+                                      class="error">必填.</span>
+                            </td>
+                        </tr>
+                        <tr>
+                            <th>考核时间<span style="color: red;">*</span></th>
+                            <td ng-class="{ 'has-error' : (this.leaderAssessForm.assessbegindate.$invalid || this.leaderAssessForm.assessenddate.$invalid) &&  this.leaderAssessForm.$submitted}">
+                                <input style="width: 90px;display: inline;" name="assessbegindate" class="form-control"
+                                       autocomplete="off" autoclose="true"
+                                       data-date-format="yyyyMM" data-date-type="string"
+                                       data-start-view="1" data-min-view="1"
+                                       ng-model="dataModel.assessbegindate"
+                                       ng-required="true" placeholder="" bs-datepicker/>
+                                ~
+                                <input style="width: 90px;display: inline;" name="assessenddate" class="form-control"
+                                       autocomplete="off" autoclose="true"
+                                       data-date-format="yyyyMM" data-date-type="string"
+                                       data-start-view="1" data-min-view="1"
+                                       ng-model="dataModel.assessenddate"
+                                       ng-required="true" placeholder="" bs-datepicker/>
+                                <span ng-show="(this.leaderAssessForm.assessbegindate.$invalid || this.leaderAssessForm.assessenddate.$invalid) &&  this.leaderAssessForm.$submitted"
+                                      class="error">必填.</span>
+                            </td>
+                            <th>等次<span style="color: red">*</span></th>
+                            <td ng-class="{ 'has-error' : this.leaderAssessForm.grade.$invalid &&  this.leaderAssessForm.$submitted}">
+                                <select class="form-control show-tick" ng-model="dataModel.grade"
+                                        ng-options="type.dickey as type.dicvalue for type in gradeTypeList"
+                                        class="form-control" name="grade" ng-required="true">
+                                    <option value="" selected>--请选择--</option>
+                                </select>
+                                <span ng-show="this.leaderAssessForm.grade.$invalid &&  this.leaderAssessForm.$submitted"
+                                      class="error">必填.</span>
+                            </td>
+                            <th>考核结果<span style="color: red">*</span></th>
+                            <td ng-class="{ 'has-error' : this.leaderAssessForm.result.$invalid &&  this.leaderAssessForm.$submitted}">
+                                <input type="text" class="form-control" name="result"
+                                       ng-model="dataModel.result" ng-required="true"/>
+                                <span ng-show="this.leaderAssessForm.result.$invalid &&  this.leaderAssessForm.$submitted"
+                                      class="error">必填.</span>
+                            </td>
+                        </tr>
+                        <tr>
+                            <th>考核内容</th>
+                            <td colspan="5">
+                                <textarea class="form-control" ng-model="dataModel.content" rows="3"></textarea>
+                            </td>
+                        </tr>
+                    </table>
+                </div>
+                <bsfiles ng-model="reqFileModel"/>
+                <div class="form_foot">
+                    <button type="button" class="btn btn-default" ng-click="pagechange()">取消</button>
+                    <button type="submit" class="btn btn-primary" form="leaderAssessForm">保存</button>
+                </div>
+            </form>
+        </div>
+    </div>
+</div>

+ 90 - 0
src/main/resources/static/app/main/leaderwork/leaderassess/edit.js

@@ -0,0 +1,90 @@
+(function ($app) {
+    $app.module('gtPartyApp').controller('leaderAssessEditCtrl', function ($scope, $http, $modal, $ocLazyLoad, $alert, $loading, $state, $bsRouterState, AuthUser, $timeout, $excel, $partySelect, $filter) {
+        $scope.editParams = $bsRouterState.$params($scope);
+        $scope.dataModel = {};
+        $scope.sexList = [];
+        $scope.gradeTypeList = [];
+
+        $scope.reqFileModel = {
+            selectdata: {FileRefID: '', pageindex: 1, pagesize: 10, ptotal: 0},//查询参数:FileRefID为文件关联ID
+            filetype: 71,//文件类型
+            items: [],//列表数据地址
+            readonly: false,//是否只能查看
+            title: '相关文件',
+            addFileButton: '上传'
+        };
+
+        $scope.getData = function () {
+            $http
+            ({
+                method: 'get', url: "../../api/leaderWork/leaderassess/get",
+                params: {
+                    'id': $scope.editParams.id
+                }
+            }).then(function (result) {
+                $scope.dataModel = result.data.item;
+                $scope.dataModel.assesstype = $scope.editParams.assessType;
+                $scope.reqFileModel.selectdata.FileRefID = $scope.dataModel.id;
+                $scope.getSexList();
+                $scope.getGradeTypeList();
+            }, function (resp) {
+                $scope.showMsg('错误', '服务器错误:' + resp.data);
+            });
+        };
+
+        $scope.save = function (isflag) {
+            if (isflag) {
+                $loading.show();
+                $http({
+                    method: "post",
+                    url: "../../api/leaderWork/leaderassess/save",
+                    data: $scope.dataModel
+                }).then(function (result) {
+                    $loading.hide();
+                    if (result.data.success) {
+                        $scope.showMsg('成功', "操作成功");
+                        //重新刷新列表
+                        $scope.pagechange();
+                        $scope.$emit("tabReloadData", {name: 'leaderAssessListCtrl', data: 1});
+                    } else {
+                        $scope.showMsg('失败', result.data.msg);
+                    }
+                }, function (resp) {
+                    $loading.hide();
+                    $scope.showMsg('错误', '服务器错误:' + resp.data);
+                });
+            }
+        };
+
+        $scope.getSexList = function () {
+            $http({
+                method: 'get',
+                url: '../../api/dictionary/getDictionaryListByDicTypeKey',
+                params: {
+                    dicTypeKey: 'dic_sex'
+                }
+            }).then(function (result) {
+                $scope.sexList = result.data;
+            });
+        };
+
+        $scope.getGradeTypeList = function () {
+            $http({
+                method: 'get',
+                url: '../../api/dictionary/getDictionaryListByDicTypeKey',
+                params: {
+                    dicTypeKey: 'gradeType'
+                }
+            }).then(function (result) {
+                $scope.gradeTypeList = result.data;
+            });
+        };
+
+        $scope.pagechange = function () {
+            $bsRouterState.$closeTab($scope);
+        };
+
+        $scope.getData();
+
+    });
+})(angular);

+ 235 - 0
src/main/resources/static/app/main/leaderwork/leaderassess/list.html

@@ -0,0 +1,235 @@
+<titlemenu></titlemenu>
+<div class="dj-list">
+    <div class="dj-list-body">
+        <div class="dj-list-content">
+            <div class="card">
+                <div activate-input activate-select class="header search-header">
+                    <div class="search-param-panel">
+                        <div class="search-input">
+                            <form class="form-horizontal">
+                                <div class="row clearfix form-inline">
+                                    <div class="col-lg-2 col-md-2 dj-label">
+                                        <label>姓名</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <input name="name" class="form-control" type="text"
+                                                       ng-keypress="($event.which === 13)?search():0"
+                                                       ng-model="selectparams.name"
+                                                       placeholder=""/>
+
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2 dj-label">
+                                        <label>任期日期</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <input name="beginDate" class="form-control fm-ct-first"
+                                                       autocomplete="off"
+                                                       autoclose="true"
+                                                       data-date-format="yyyyMM" data-date-type="string"
+                                                       data-min-view="1" data-start-view="1"
+                                                       ng-model="selectparams.beginDate"
+                                                       ng-change="search()"
+                                                       placeholder="" bs-datepicker/>
+                                                <input name="endDate" class="form-control fm-ct-last"
+                                                       autocomplete="off"
+                                                       autoclose="true"
+                                                       data-date-format="yyyyMM" data-date-type="string"
+                                                       data-min-view="1" data-start-view="1"
+                                                       ng-model="selectparams.endDate"
+                                                       ng-change="search()"
+                                                       placeholder="" bs-datepicker/>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2 dj-label">
+                                        <label>考核时间</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <input name="assessBeginDate" class="form-control fm-ct-first"
+                                                       autocomplete="off"
+                                                       autoclose="true"
+                                                       data-date-format="yyyyMM" data-date-type="string"
+                                                       data-min-view="1" data-start-view="1"
+                                                       ng-model="selectparams.assessBeginDate"
+                                                       ng-change="search()"
+                                                       placeholder="" bs-datepicker/>
+                                                <input name="assessEndDate" class="form-control fm-ct-last"
+                                                       autocomplete="off"
+                                                       autoclose="true"
+                                                       data-date-format="yyyyMM" data-date-type="string"
+                                                       data-min-view="1" data-start-view="1"
+                                                       ng-model="selectparams.assessEndDate"
+                                                       ng-change="search()"
+                                                       placeholder="" bs-datepicker/>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="row clearfix form-inline" ng-if="isShow">
+
+                                    <div class="col-lg-2 col-md-2 dj-label">
+                                        <label>等次</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <select class="form-control show-tick" ng-model="selectparams.grade"
+                                                        ng-options="type.dickey as type.dicvalue for type in gradeTypeList"
+                                                        class="form-control"
+                                                        name="grade" ng-change="search()">
+                                                    <option value="" selected>--全部--</option>
+                                                </select>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2 dj-label">
+                                        <label>职位</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <input name="position" class="form-control" type="text"
+                                                       ng-keypress="($event.which === 13)?search():0"
+                                                       ng-model="selectparams.position"
+                                                       placeholder=""/>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                            </form>
+                        </div>
+                        <div class="search-btn" style="margin-right: 20px;">
+                            <div style="min-width: 13em">
+                                <span class="moreSpan" ng-click="isShow = !isShow"
+                                      style='padding-right:1em;cursor:pointer;'>
+                                    {{isShow ? "收起" : "更多"}}<i class="material-icons"
+                                                               style="position: relative;top:7px;">{{isShow ? 'expand_less' : 'expand_more'}}</i></span>
+                                <button class="btn btn-default1"
+                                        ng-click="search()">查询
+                                </button>
+                                <button class="btn btn-default1"
+                                        ng-click="reset()">重置
+                                </button>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="search-btn" style="margin-right: 20px;">
+                        <div style="float: right">
+                            <button class="btn btn-default1"
+                                    ng-click="add()">新增
+                            </button>
+                            <button class="btn btn-default1"
+                                    ng-click="delete()">删除
+                            </button>
+                            <button class="btn btn-default1"
+                                    ng-click="import()">导入
+                            </button>
+                            <button class="btn btn-default1"
+                                    ng-click="export()">导出
+                            </button>
+                        </div>
+                    </div>
+                </div>
+                <div class="body">
+                    <div class="zero-list-table-panel">
+                        <div class="zero-source-table-div">
+                            <table class="table table-bordered table-striped table-hover js-basic-example dataTable text-nowrap">
+                                <thead>
+                                <tr>
+                                    <th class="th-select" th-select-all datalist="dataList"></th>
+                                    <th class="th-rownum">
+                                        <div>序号</div>
+                                    </th>
+                                    <th>姓名</th>
+                                    <th>性别</th>
+                                    <th>身份证号</th>
+                                    <th>出生年月</th>
+                                    <th>学历</th>
+                                    <th>职称</th>
+                                    <th>参加工作时间</th>
+                                    <th>职位</th>
+                                    <th>任期开始日期</th>
+                                    <th>任期结束日期</th>
+                                    <th>考核开始时间</th>
+                                    <th>考核结束时间</th>
+                                    <th>等次</th>
+                                    <th>考核结果</th>
+                                    <th>考核内容</th>
+                                </tr>
+                                </thead>
+                                <tbody>
+                                <tr ng-repeat="it in dataList">
+                                    <td class="text-center">
+                                        <input type="checkbox" id="{{pageId}}_md_checkbox_{{$index+1}}"
+                                               class="filled-in chk-col-red" ng-model="it.rowChecked"/>
+                                        <label class="checkbox_lable" style="top:6px;"
+                                               for="{{pageId}}_md_checkbox_{{$index+1}}"></label>
+                                    </td>
+                                    <td class="text-center" td-rownum index="$index" pageindex="selectparams.pageindex"
+                                        pagesize="selectparams.pagesize"></td>
+                                    <td class="text-center">{{it.name}}</td>
+                                    <td class="text-center">{{it.sexname}}</td>
+                                    <td class="text-center">{{it.idcard}}</td>
+                                    <td class="text-center">{{it.birthdate}}</td>
+                                    <td class="text-center">{{it.education}}</td>
+                                    <td class="text-center">{{it.jobtitle}}</td>
+                                    <td class="text-center">{{it.workdate}}</td>
+                                    <td class="text-center">{{it.position}}</td>
+                                    <td class="text-center">{{it.begindate}}</td>
+                                    <td class="text-center">{{it.enddate}}</td>
+                                    <td class="text-center">{{it.assessbegindate}}</td>
+                                    <td class="text-center">{{it.assessenddate}}</td>
+                                    <td class="text-center">{{it.gradetypename}}</td>
+                                    <td class="text-center">{{it.result}}</td>
+                                    <td class="text-center">{{it.content}}</td>
+                                </tr>
+                                <tr ng-if="dataList.length<=0">
+                                    <td colspan="18" style="text-align:center">暂无数据</td>
+                                </tr>
+                                </tbody>
+                            </table>
+                        </div>
+                        <div class="zero-target-table-div">
+                            <table class="table table-bordered table-striped table-hover js-basic-example dataTable text-nowrap">
+                                <thead>
+                                <tr>
+                                    <th>操作</th>
+                                </tr>
+                                </thead>
+                                <tbody>
+                                <tr ng-repeat="it in dataList" zero-table-height>
+                                    <td>
+                                        <button class="btn td-btn bg-light-green waves-effect"
+                                                ng-click="detail(it.id)"
+                                                title="查看">
+                                            查看
+                                        </button>
+                                        <button class="btn td-btn bg-light-green waves-effect"
+                                                ng-click="edit(it.id)"
+                                                title="修改">
+                                            修改
+                                        </button>
+                                    </td>
+                                </tr>
+                                <tr ng-if="pageInfo.ptotal==0">
+                                    <td colspan="1" style="text-align:center">无</td>
+                                </tr>
+                                </tbody>
+                            </table>
+                        </div>
+                    </div>
+                    <pagination data-pageindex="selectparams.pageindex" data-pagesize="selectparams.pagesize"
+                                data-ptotal="pageInfo.ptotal"></pagination>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>

+ 212 - 0
src/main/resources/static/app/main/leaderwork/leaderassess/list.js

@@ -0,0 +1,212 @@
+(function ($app) {
+    $app.module('gtPartyApp').controller('leaderAssessListCtrl', function ($scope, $http, $modal, $ocLazyLoad, $alert, $loading, $state, $bsRouterState, AuthUser, $timeout, $excel, $partySelect, $filter) {
+        $state.params = $bsRouterState.$params($scope);
+        $scope.loginUserId = AuthUser.getUser().Id;
+        $scope.isShow = false;
+        $scope.assessType = $state.params.assessType;
+        $scope.pageId = "leaderAssessList" + $scope.assessType;
+        $scope.tabNameAdd = "home.leaderAssessAdd" + $scope.assessType;
+        $scope.tabNameEdit = "home.leaderAssessEdit" + $scope.assessType;
+        $scope.tabNameDetail = "home.leaderAssessDetail" + $scope.assessType;
+
+        $scope.dataList = [];
+        $scope.selectparams = {
+            pageindex: 1,
+            pagesize: 10,
+            assessType: $scope.assessType,
+            name: '',
+            idCard: '',
+            position: '',
+            grade: '',
+            beginDate: null,
+            endDate: null,
+            assessBeginDate: null,
+            assessEndDate: null
+        };
+        $scope.resetSelectparams = angular.copy($scope.selectparams);
+        $scope.pageInfo = {ptotal: 0};
+        $scope.gradeTypeList = [];
+
+        $scope.$on('tabChildReloadData', function (event, data) {
+            if (data.name == 'leaderAssessListCtrl') {
+                $scope.getList();
+            }
+        });
+
+        //加载列表数据
+        $scope.getList = function () {
+            $http
+            ({
+                method: 'get', url: '../../api/leaderWork/leaderassess/getList', params: $scope.selectparams
+            }).then(function (result) {
+                $scope.dataList = result.data.item.list;
+                $scope.pageInfo.ptotal = result.data.item.total;
+            }, function (res) {
+                $scope.showMsg('错误', '服务器错误');
+            });
+        };
+
+        $scope.search = function () {
+            $scope.getList();
+        };
+
+        $scope.export = function () {
+            var params = "?1=1";
+            for (var p in $scope.selectparams) {
+                if ($scope.selectparams[p] !== '' && $scope.selectparams[p] !== null)
+                    params += ("&" + p + "=" + encodeURI($scope.selectparams[p]));
+            }
+            window.open('../../api/leaderWork/leaderassess/export' + params);
+        };
+
+        $scope.excelConfig = {
+            filetype: 1,
+            columns: {
+                '姓名': 'name',
+                '性别': 'sexname',
+                '身份证号': 'idcard',
+                '出生年月': 'birthdate',
+                '学历': 'education',
+                '职称': 'jobtitle',
+                '参加工作时间': 'workdate',
+                '职位': 'position',
+                '任期开始日期': 'begindate',
+                '任期结束日期': 'enddate',
+                '考核开始时间': 'assessbegindate',
+                '考核结束时间': 'assessenddate',
+                '等次': 'gradetypename',
+                '考核结果': 'result',
+                '考核内容': 'content'
+            },
+            errorcolumns: {
+                'name': '姓名',
+                'idcard': '身份证号',
+                'position': '职位',
+                'education': '学历',
+                'errorInfo': '错误信息'
+            },
+            readonly: false,
+            templateUrl: '/doc/template/' + ($scope.assessType == 1 ? "干部任期届满考核导入模板.xlsx" : "干部试用期届满考核导入模板.xlsx")
+        };
+
+        $scope.import = function () {
+            $excel.addFile($scope.excelConfig).then(function (items) {
+                $loading.show();
+                $http({
+                    method: "post",
+                    url: "../../api/leaderWork/leaderassess/import",
+                    data: {
+                        dataList: JSON.stringify(items),
+                        assessType: $scope.assessType
+                    }
+                }).then(function (result) {
+                    $loading.hide();
+                    if (result.data.success) {
+                        $scope.getList();
+                        $scope.showMsg('成功', result.data.msg, 3);
+                    } else {
+                        if (result.data.item.length > 0) {
+                            $scope.showMsg('错误', '导入失败,存在错误数据,请修改后重新导入!', 20);
+                            $excel.showErrorInfo(result.data.item);
+                        } else {
+                            $scope.showMsg(result.data.msg);
+                        }
+                    }
+                }, function (resp) {
+                    $loading.hide();
+                    $scope.showMsg('错误', '服务器错误');
+                });
+            });
+        };
+
+        $scope.delete = function (id) {
+            var ids = [];
+            if (id)
+                ids.push(id);
+            else
+                ids = $scope.dataList.filter(it => it.rowChecked == true).map(it => it.id);
+
+            if (ids.length == 0) {
+                $scope.showMsg('消息', "请选择需要删除的数据");
+                return false;
+            }
+
+            if (confirm("确定删除?")) {
+                $loading.show();
+                $http({
+                    method: "post",
+                    url: "../../api/leaderWork/leaderassess/delete",
+                    data: {
+                        ids: JSON.stringify(ids)
+                    }
+                }).then(function (result) {
+                    $loading.hide();
+                    if (result.data.success) {
+                        $scope.showMsg('成功', result.data.msg);
+                        //重新刷新列表
+                        $scope.getList();
+                    } else {
+                        $scope.showMsg('失败', result.data.msg);
+                    }
+                }, function (resp) {
+                    $scope.showMsg('错误', '服务器错误');
+                });
+            }
+        };
+
+        $scope.add = function () {
+            $bsRouterState.$closeTabName($scope.tabNameAdd);
+            $timeout(function () {
+                $bsRouterState.go($scope.tabNameAdd, {
+                    id: '',
+                    assessType: $scope.assessType
+                });
+            }, 100);
+        };
+
+        $scope.edit = function (id) {
+            $bsRouterState.$closeTabName($scope.tabNameEdit);
+            $timeout(function () {
+                $bsRouterState.go($scope.tabNameEdit, {
+                    id: id,
+                    assessType: $scope.assessType
+                });
+            }, 100);
+        };
+
+        $scope.detail = function (id) {
+            $bsRouterState.$closeTabName($scope.tabNameDetail);
+            $timeout(function () {
+                $bsRouterState.go($scope.tabNameDetail, {
+                    id: id,
+                    assessType: $scope.assessType
+                });
+            }, 100);
+        };
+
+        $scope.getGradeTypeList = function () {
+            $http({
+                method: 'get',
+                url: '../../api/dictionary/getDictionaryListByDicTypeKey',
+                params: {
+                    dicTypeKey: 'gradeType'
+                }
+            }).then(function (result) {
+                $scope.gradeTypeList = result.data;
+            });
+        };
+
+        $scope.$watch("selectparams.pageindex", function (newVal, oldVal) {
+            if ($scope.pageInfo.ptotal > 0) {
+                $scope.getList();
+            }
+        });
+        $scope.reset = function () {
+            $scope.selectparams = angular.copy($scope.resetSelectparams);
+            $scope.getList();
+        };
+
+        $scope.getList();
+        $scope.getGradeTypeList();
+    });
+})(angular);

+ 112 - 0
src/main/resources/static/app/main/leaderwork/leaderreshuffle/edit.html

@@ -0,0 +1,112 @@
+<div class="modal" tabindex="-1" role="dialog">
+    <div class="modal-dialog" style="width: 1100px;">
+        <div class="card">
+            <div class="header" dragable-header>
+                <button type="button" class="close" ng-click="$hide()">&times;</button>
+                <h4 class="modal-title">{{editParams.title}}</h4>
+            </div>
+            <div activate-input activate-select class="body" ng-if="editParams.op == 1">
+                <form class="form-horizontal" role="form" id="leaderReshuffleForm"
+                      name="leaderReshuffleForm" ng-submit="save(leaderReshuffleForm.$valid)" novalidate>
+                    <div class="dj-formtable">
+                        <table class="dj-table dj-table3">
+                            <tr>
+                                <th>姓名<span style="color: red">*</span></th>
+                                <td ng-class="{ 'has-error' : this.leaderReshuffleForm.name.$invalid &&  this.leaderReshuffleForm.$submitted}">
+                                    <input type="text" class="form-control" name="name"
+                                           autocomplete="off" autoclose="true"
+                                           ng-model="dataModel.name" ng-required="true"/>
+                                </td>
+                                <th>任职职位<span style="color: red">*</span></th>
+                                <td ng-class="{ 'has-error' : this.leaderReshuffleForm.position.$invalid &&  this.leaderReshuffleForm.$submitted}">
+                                    <input type="text" class="form-control" name="position"
+                                           autocomplete="off" autoclose="true"
+                                           ng-model="dataModel.position" ng-required="true"/>
+                                </td>
+                                <th>任职单位<span style="color: red">*</span></th>
+                                <td ng-class="{ 'has-error' : this.leaderReshuffleForm.departmentname.$invalid &&  this.leaderReshuffleForm.$submitted}">
+                                    <input type="text" class="form-control" name="departmentname"
+                                           autocomplete="off" autoclose="true"
+                                           ng-model="dataModel.departmentname" ng-required="true"/>
+                                </td>
+                            </tr>
+                            <tr>
+                                <th>任职类型<span style="color: red">*</span></th>
+                                <td ng-class="{ 'has-error' : this.leaderReshuffleForm.reshuffletype.$invalid &&  this.leaderReshuffleForm.$submitted}">
+                                    <select class="form-control show-tick" ng-model="dataModel.reshuffletype"
+                                            ng-options="type.dickey as type.dicvalue for type in reshuffleTypeList"
+                                            class="form-control" name="reshuffletype" ng-required="true">
+                                        <option value="" selected>--请选择--</option>
+                                    </select>
+                                    <span ng-show="this.leaderReshuffleForm.reshuffletype.$invalid &&  this.leaderReshuffleForm.$submitted"
+                                          class="error">必填.</span>
+                                </td>
+                                <th>任职时间<span style="color: red">*</span></th>
+                                <td ng-class="{ 'has-error' : this.leaderReshuffleForm.date.$invalid &&  this.leaderReshuffleForm.$submitted}">
+                                    <input name="date" class="form-control" ng-required="true"
+                                           data-date-format="yyyyMM" data-date-type="string"
+                                           data-start-view="1" data-min-view="1"
+                                           autocomplete="off" autoclose="true"
+                                           ng-model="dataModel.date"
+                                           placeholder="" bs-datepicker/>
+                                    <span ng-show="this.leaderReshuffleForm.date.$invalid &&  this.leaderReshuffleForm.$submitted"
+                                          class="error">必填.</span>
+                                </td>
+                                <th>任职文件标题<span style="color: red">*</span></th>
+                                <td ng-class="{ 'has-error' : this.leaderReshuffleForm.filetitle.$invalid &&  this.leaderReshuffleForm.$submitted}">
+                                    <input type="text" class="form-control" name="filetitle"
+                                           autocomplete="off" autoclose="true"
+                                           ng-model="dataModel.filetitle" ng-required="true"/>
+                                </td>
+                            </tr>
+                            <tr>
+                                <th>任职文件号<span style="color: red">*</span></th>
+                                <td colspan="3"
+                                    ng-class="{ 'has-error' : this.leaderReshuffleForm.fileno.$invalid &&  this.leaderReshuffleForm.$submitted}">
+                                    <input type="text" class="form-control" name="fileno"
+                                           autocomplete="off" autoclose="true"
+                                           ng-model="dataModel.fileno" ng-required="true"/>
+                                </td>
+                            </tr>
+                        </table>
+                    </div>
+                    <bsfiles ng-model="reqFileModel"/>
+                    <div class="form_foot">
+                        <button type="button" class="btn btn-default" ng-click="$hide()">取消</button>
+                        <button type="submit" class="btn btn-primary" form="leaderReshuffleForm">保存</button>
+                    </div>
+                </form>
+            </div>
+            <div activate-input activate-select class="body" ng-if="editParams.op == 2">
+                <div class="dj-formtable">
+                    <table class="dj-table dj-table3">
+                        <tr>
+                            <th>姓名</th>
+                            <td>{{dataModel.name}}</td>
+                            <th>任职职位</th>
+                            <td>{{dataModel.position}}</td>
+                            <th>任职单位</th>
+                            <td>{{dataModel.departmentname}}</td>
+                        </tr>
+                        <tr>
+                            <th>任职类型</th>
+                            <td>{{dataModel.reshuffletypename}}</td>
+                            <th>任职时间</th>
+                            <td>{{dataModel.date}}</td>
+                            <th>任职文件标题</th>
+                            <td>{{dataModel.filetitle}}</td>
+                        </tr>
+                        <tr>
+                            <th>任职文件号</th>
+                            <td colspan="3">{{dataModel.fileno}}</td>
+                        </tr>
+                    </table>
+                </div>
+                <bsfiles ng-model="reqFileModel"/>
+                <div class="form_foot">
+                    <button type="button" class="btn btn-default" ng-click="$hide()">取消</button>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>

+ 81 - 0
src/main/resources/static/app/main/leaderwork/leaderreshuffle/edit.js

@@ -0,0 +1,81 @@
+var leaderReshuffle_editCtrl = function ($scope, $http, $alert, $loading) {
+    $scope.parentLoad = leaderReshuffle_editModal.parentLoad;
+    $scope.editParams = leaderReshuffle_editModal.params;
+    $scope.dataModel = {};
+    $scope.reshuffleTypeList = [];
+
+    $scope.reqFileModel = {
+        selectdata: {FileRefID: '', pageindex: 1, pagesize: 10, ptotal: 0},//查询参数:FileRefID为文件关联ID
+        filetype: 71,//文件类型
+        items: [],//列表数据地址
+        readonly: $scope.editParams.op == 2,//是否只能查看
+        title: '相关文件',
+        addFileButton: '上传'
+    };
+
+    $scope.getReshuffleTypeList = function () {
+        $http({
+            method: 'get',
+            url: '../../api/dictionary/getDictionaryListByDicTypeKey',
+            params: {
+                dicTypeKey: 'reshuffleType'
+            }
+        }).then(function (result) {
+            $scope.reshuffleTypeList = result.data;
+        }, function (resp) {
+
+        });
+    };
+
+    $scope.getData = function () {
+        $http
+        ({
+            method: 'get', url: "../../api/leaderWork/reshuffle/get",
+            params: {
+                'id': $scope.editParams.id
+            }
+        }).then(function (result) {
+            $scope.dataModel = result.data.item;
+            $scope.reqFileModel.selectdata.FileRefID = $scope.dataModel.id;
+            $scope.getReshuffleTypeList()
+        }, function (resp) {
+            $scope.showMsg('错误', '服务器错误:' + resp.data);
+        });
+    };
+
+    $scope.save = function (isflag) {
+        if (isflag) {
+
+            if ($scope.reqFileModel.selectdata.ptotal <= 0) {
+                $scope.showMsg('提示', "请上传任职相关文件!");
+                return false;
+            }
+
+            $loading.show();
+            $http({
+                method: "post",
+                url: "../../api/leaderWork/reshuffle/save",
+                data: $scope.dataModel
+            }).then(function (result) {
+                $loading.hide();
+                if (result.data.success) {
+                    $scope.showMsg('成功', "操作成功");
+                    //重新刷新列表
+                    $scope.parentLoad();
+                    $scope.$hide();
+                } else {
+                    $scope.showMsg('失败', result.data.msg);
+                }
+            }, function (resp) {
+                $loading.hide();
+                $scope.showMsg('错误', '服务器错误:' + resp.data);
+            });
+        }
+    };
+
+    $scope.getData();
+
+};
+
+//定义模态框
+var leaderReshuffle_editModal;

+ 172 - 0
src/main/resources/static/app/main/leaderwork/leaderreshuffle/list.html

@@ -0,0 +1,172 @@
+<titlemenu></titlemenu>
+<div class="dj-list">
+    <div class="dj-list-body">
+        <div class="dj-list-content">
+            <div class="card">
+                <div activate-input activate-select class="header search-header">
+                    <div class="search-param-panel">
+                        <div class="search-input">
+                            <form class="form-horizontal">
+                                <div class="row clearfix form-inline">
+                                    <div class="col-lg-2 col-md-2 dj-label">
+                                        <label>任职人姓名</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <input name="name" class="form-control" type="text"
+                                                       ng-keypress="($event.which === 13)?search():0"
+                                                       ng-model="selectparams.name"
+                                                       placeholder=""/>
+
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2 dj-label">
+                                        <label>任职时间</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <input name="beginDate" class="form-control fm-ct-first"
+                                                       autocomplete="off"
+                                                       autoclose="true"
+                                                       data-date-format="yyyyMM" data-date-type="string"
+                                                       data-min-view="1" data-start-view="1"
+                                                       ng-model="selectparams.beginDate"
+                                                       ng-change="search()"
+                                                       placeholder="" bs-datepicker/>
+                                                <input name="endDate" class="form-control fm-ct-last"
+                                                       autocomplete="off"
+                                                       autoclose="true"
+                                                       data-date-format="yyyyMM" data-date-type="string"
+                                                       data-min-view="1" data-start-view="1"
+                                                       ng-model="selectparams.endDate"
+                                                       ng-change="search()"
+                                                       placeholder="" bs-datepicker/>
+                                            </div>
+                                        </div>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2 dj-label">
+                                        <label>任职职位</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <input name="position" class="form-control" type="text"
+                                                       ng-keypress="($event.which === 13)?search():0"
+                                                       ng-model="selectparams.position"
+                                                       placeholder=""/>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="row clearfix form-inline" ng-if="isShow">
+                                    <div class="col-lg-2 col-md-2 dj-label">
+                                        <label>任职单位</label>
+                                    </div>
+                                    <div class="col-lg-2 col-md-2">
+                                        <div class="form-group">
+                                            <div class="form-line">
+                                                <input name="departmentName" class="form-control" type="text"
+                                                       ng-keypress="($event.which === 13)?search():0"
+                                                       ng-model="selectparams.departmentName"
+                                                       placeholder=""/>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                            </form>
+                        </div>
+                        <div class="search-btn" style="margin-right: 20px;">
+                            <div style="min-width: 13em">
+                                <span class="moreSpan" ng-click="isShowClick()"
+                                      style='padding-right:1em;cursor:pointer;'>{{moreTxt}}
+                                    <i class="material-icons"
+                                       style="position: relative;top:7px;">{{isShow ? 'expand_less' : 'expand_more'}}</i>
+                                </span>
+                                <button class="btn btn-default1"
+                                        ng-click="search()">查询
+                                </button>
+                                <button class="btn btn-default1"
+                                        ng-click="reset()">重置
+                                </button>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="search-btn" style="margin-right: 20px;">
+                        <div style="float: right">
+                            <button class="btn btn-default1"
+                                    ng-click="edit()">新增
+                            </button>
+                            <button class="btn btn-default1"
+                                    ng-click="delete()">删除
+                            </button>
+                            <button class="btn btn-default1"
+                                    ng-click="export()">导出
+                            </button>
+                        </div>
+                    </div>
+                </div>
+                <div class="body">
+                    <div class="table-responsive list-table-panel">
+                        <table class="table table-bordered table-striped table-hover js-basic-example dataTable text-nowrap tablefix">
+                            <thead>
+                            <tr>
+                                <th class="th-select" th-select-all datalist="dataList"></th>
+                                <th class="th-rownum">
+                                    <div>序号</div>
+                                </th>
+                                <th>换届类型</th>
+                                <th>任职时间</th>
+                                <th>任职人姓名</th>
+                                <th>任职职位</th>
+                                <th>任职单位</th>
+                                <th style="width: 200px;">任职文件标题</th>
+                                <th style="width: 300px;">任职文件文号</th>
+                                <th style="width: 120px;">操作</th>
+                            </tr>
+                            </thead>
+                            <tbody>
+                            <tr ng-repeat="it in dataList">
+                                <td class="text-center">
+                                    <input type="checkbox" id="{{pageId}}_md_checkbox_{{$index+1}}"
+                                           class="filled-in chk-col-red" ng-model="it.rowChecked"/>
+                                    <label class="checkbox_lable" style="top:6px;"
+                                           for="{{pageId}}_md_checkbox_{{$index+1}}"></label>
+                                </td>
+                                <td class="text-center" td-rownum index="$index" pageindex="selectparams.pageindex"
+                                    pagesize="selectparams.pagesize"></td>
+                                <td class="text-center">{{it.reshuffletypename}}</td>
+                                <td class="text-center">{{it.date}}</td>
+                                <td class="text-center">{{it.name}}</td>
+                                <td class="text-center">{{it.position}}</td>
+                                <td class="text-center">{{it.departmentname}}</td>
+                                <td class="text-center">{{it.filetitle}}</td>
+                                <td class="text-center">{{it.fileno}}</td>
+                                <td class="text-center">
+                                    <button class="btn td-btn bg-light-green waves-effect"
+                                            ng-click="edit(it.id)"
+                                            title="修改">
+                                        修改
+                                    </button>
+                                    <button class="btn td-btn bg-light-green waves-effect"
+                                            ng-click="detail(it.id)"
+                                            title="查看">
+                                        查看
+                                    </button>
+                                </td>
+                            </tr>
+                            <tr ng-if="dataList.length<=0">
+                                <td colspan="10" style="text-align:center">暂无数据</td>
+                            </tr>
+                            </tbody>
+                        </table>
+                    </div>
+                    <pagination data-pageindex="selectparams.pageindex" data-pagesize="selectparams.pagesize"
+                                data-ptotal="pageInfo.ptotal"></pagination>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>

+ 141 - 0
src/main/resources/static/app/main/leaderwork/leaderreshuffle/list.js

@@ -0,0 +1,141 @@
+(function ($app) {
+    $app.module('gtPartyApp').controller('leaderReshuffleCtrl', function ($scope, $http, $modal, $ocLazyLoad, $alert, $loading, $state, $bsRouterState, AuthUser, $timeout, $excel, $partySelect, $filter) {
+        $scope.loginUserId = AuthUser.getUser().Id;
+        $scope.isShow = false;
+        $scope.moreTxt = "更多";
+        $scope.pageId = "leaderReshuffle";
+
+        $scope.dataList = [];
+        $scope.selectparams = {
+            pageindex: 1,
+            pagesize: 10,
+            departmentName: '',
+            name: '',
+            position: '',
+            beginDate: null,
+            endDate: null
+        };
+        $scope.pageInfo = {ptotal: 0};
+        $scope.resetSelectparams = angular.copy($scope.selectparams);
+
+        //定义模态框
+        leaderReshuffle_editCtrl.$inject = ['$scope', '$http', '$alert', '$loading'];
+        leaderReshuffle_editModal = $modal({
+            resolve: {
+                load: ['$ocLazyLoad', function ($ocLazyLoad) {
+                }]
+            },
+            scope: $scope,
+            controller: leaderReshuffle_editCtrl,
+            templateUrl: '../main/leaderwork/leaderreshuffle/edit.html',
+            show: false,
+            animation: 'am-fade-and-slide-top'
+        });
+
+        //加载列表数据
+        $scope.getList = function () {
+            $http
+            ({
+                method: 'get', url: '../../api/leaderWork/reshuffle/getList', params: $scope.selectparams
+            }).then(function (result) {
+                $scope.dataList = result.data.item.list;
+                $scope.pageInfo.ptotal = result.data.item.total;
+            }, function (res) {
+                $scope.showMsg('错误', '服务器错误');
+            });
+        };
+
+        $scope.search = function () {
+            $scope.getList();
+        };
+
+        $scope.edit = function (id) {
+            leaderReshuffle_editModal.params = {
+                id: id,
+                title: (id ? "修改" : "新增") + $scope.title,
+                op: 1
+            };
+            leaderReshuffle_editModal.parentLoad = $scope.getList;
+            leaderReshuffle_editModal.$promise.then(leaderReshuffle_editModal.show);
+        };
+
+        $scope.detail = function (id) {
+            leaderReshuffle_editModal.params = {
+                id: id,
+                title: "查看" + $scope.title,
+                op: 2
+            };
+            leaderReshuffle_editModal.parentLoad = $scope.getList;
+            leaderReshuffle_editModal.$promise.then(leaderReshuffle_editModal.show);
+        };
+
+        $scope.export = function () {
+            var params = "?1=1";
+            for (var p in $scope.selectparams) {
+                if ($scope.selectparams[p] !== '' && $scope.selectparams[p] !== null)
+                    params += ("&" + p + "=" + encodeURI($scope.selectparams[p]));
+            }
+            window.open('../../api/leaderWork/reshuffle/export' + params);
+        };
+
+        $scope.delete = function (id) {
+            var ids = [];
+            if (id)
+                ids.push(id);
+            else
+                ids = $scope.dataList.filter(it => it.rowChecked == true).map(it => it.id);
+
+            if (ids.length == 0) {
+                $scope.showMsg('消息', "请选择需要删除的数据");
+                return false;
+            }
+
+            if (confirm("确定删除?")) {
+                $loading.show();
+                $http({
+                    method: "post",
+                    url: "../../api/leaderWork/reshuffle/delete",
+                    data: {
+                        ids: JSON.stringify(ids)
+                    }
+                }).then(function (result) {
+                    $loading.hide();
+                    if (result.data.success) {
+                        $scope.showMsg('成功', result.data.msg);
+                        //重新刷新列表
+                        $scope.getList();
+                    } else {
+                        $scope.showMsg('失败', result.data.msg);
+                    }
+                }, function (resp) {
+                    $scope.showMsg('错误', '服务器错误');
+                });
+            }
+        };
+
+        $scope.$watch("selectparams.pageindex", function (newVal, oldVal) {
+            if ($scope.pageInfo.ptotal > 0) {
+                $scope.getList();
+            }
+        });
+        $scope.setisunfold = function () {
+            $scope.treeparams.isunfold = !$scope.treeparams.isunfold;
+            $scope.$emit('menudatas.toggle', !$scope.treeparams.isunfold);
+        };
+        $scope.isShowClick = function () {
+            $scope.isShow = !$scope.isShow;
+            if ($scope.moreTxt == "更多") {
+                $scope.moreTxt = "收起";
+            } else if ($scope.moreTxt == "收起") {
+                $scope.moreTxt = "更多";
+            }
+        };
+        $scope.reset = function () {
+            $scope.selectparams = angular.copy($scope.resetSelectparams);
+            $scope.getList();
+        };
+
+        $scope.getList();
+
+    });
+})(angular);

BIN
src/main/resources/static/doc/template/干部任期届满考核导入模板.xlsx