Przeglądaj źródła

web端三会一课

pengjing 9 miesięcy temu
rodzic
commit
6c181ade20
34 zmienionych plików z 2727 dodań i 1631 usunięć
  1. 62 112
      src/main/java/com/ghsc/partybuild/controller/SHYKController.java
  2. 52 99
      src/main/java/com/ghsc/partybuild/controller/app/AppShykController.java
  3. 1 1
      src/main/java/com/ghsc/partybuild/filter/exception/RespGenerstor.java
  4. 15 22
      src/main/java/com/ghsc/partybuild/mapper/SHYKCQuery.java
  5. 30 0
      src/main/java/com/ghsc/partybuild/mapper/ShykMeetingDemocracyreviewMapper.java
  6. 9 8
      src/main/java/com/ghsc/partybuild/mapper/ShykMeetingMapper.java
  7. 24 0
      src/main/java/com/ghsc/partybuild/mapper/ShykMeetingTypeMapper.java
  8. 5 5
      src/main/java/com/ghsc/partybuild/model/ShykMeeting.java
  9. 105 0
      src/main/java/com/ghsc/partybuild/model/ShykMeetingDemocracyreview.java
  10. 878 0
      src/main/java/com/ghsc/partybuild/model/ShykMeetingDemocracyreviewExample.java
  11. 60 0
      src/main/java/com/ghsc/partybuild/model/ShykMeetingExample.java
  12. 330 0
      src/main/java/com/ghsc/partybuild/model/ShykMeetingTypeExample.java
  13. 23 0
      src/main/java/com/ghsc/partybuild/model/ShykMeetingTypeKey.java
  14. 5 115
      src/main/java/com/ghsc/partybuild/model/ShykMeetingWithBLOBs.java
  15. 14 7
      src/main/java/com/ghsc/partybuild/service/SHYKService.java
  16. 79 81
      src/main/java/com/ghsc/partybuild/service/impl/SHYKServiceImpl.java
  17. 12 0
      src/main/java/com/ghsc/partybuild/vo/shyk/MeetingDemocracyReviewVo.java
  18. 9 0
      src/main/java/com/ghsc/partybuild/vo/shyk/MeetingTypeVo.java
  19. 13 0
      src/main/java/com/ghsc/partybuild/vo/shyk/ShykMeetingVo.java
  20. 3 2
      src/main/resources/generatorConfig.xml
  21. 53 29
      src/main/resources/mapping/SHYKCQuery.xml
  22. 291 0
      src/main/resources/mapping/ShykMeetingDemocracyreviewMapper.xml
  23. 47 13
      src/main/resources/mapping/ShykMeetingMapper.xml
  24. 145 0
      src/main/resources/mapping/ShykMeetingTypeMapper.xml
  25. 0 44
      src/main/resources/static/app/main/app.js
  26. 6 0
      src/main/resources/static/app/main/css/gt_style.css
  27. 117 102
      src/main/resources/static/app/main/shyk/edit.html
  28. 235 300
      src/main/resources/static/app/main/shyk/edit.js
  29. 0 257
      src/main/resources/static/app/main/shyk/index.html
  30. 0 302
      src/main/resources/static/app/main/shyk/index.js
  31. 2 81
      src/main/resources/static/app/main/shyk/list.html
  32. 1 1
      src/main/resources/static/app/main/shyk/list.js
  33. 64 49
      src/main/resources/static/app/main/shyk/show.html
  34. 37 1
      src/main/resources/static/app/main/shyk/show.js

+ 62 - 112
src/main/java/com/ghsc/partybuild/controller/SHYKController.java

@@ -1,10 +1,10 @@
 package com.ghsc.partybuild.controller;
 
+import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.ghsc.partybuild.vo.shyk.DecisionUserJsonData;
-import com.ghsc.partybuild.vo.shyk.MeetingTopicJsonData;
-import com.ghsc.partybuild.vo.shyk.MeetingUserJsonData;
+import com.ghsc.partybuild.filter.exception.RespGenerstor;
+import com.ghsc.partybuild.vo.shyk.*;
 import com.github.pagehelper.PageInfo;
 import com.ghsc.partybuild.controller.jsonmodel.RequsetData;
 import com.ghsc.partybuild.model.*;
@@ -63,13 +63,13 @@ public class SHYKController {
                                                                          @RequestParam(required = false) String meetingAddress, @RequestParam(required = false) String beginTime,
                                                                          @RequestParam(required = false) String endTime, @RequestParam(required = false) Integer shykStatus, @RequestParam(required = false) List<Integer> shykType,
                                                                          @RequestParam(required = false) String userid, @RequestParam(required = false) Integer myMeeting,
-                                                                         @RequestParam(required = false) String day,@RequestParam(required = false)String ssdzzdm) {
+                                                                         @RequestParam(required = false) String day, @RequestParam(required = false) String ssdzzdm) {
         RequsetData<PageInfo<HashMap<String, Object>>> result = new RequsetData<>();
 
         try {
             beginTime = dateUtils.strFormat_short(beginTime);
             endTime = dateUtils.strFormat_short(endTime);
-            result.setItem(shykService.getMeetingList(pageIndex, pageSize, partyCode, meetingName, meetingAddress, beginTime, endTime, shykStatus, shykType, userid, myMeeting, day,ssdzzdm));
+            result.setItem(shykService.getMeetingList(pageIndex, pageSize, partyCode, meetingName, meetingAddress, beginTime, endTime, shykStatus, shykType, userid, myMeeting, day, ssdzzdm));
 
         } catch (Exception e) {
             result.setSuccess(false);
@@ -85,13 +85,13 @@ public class SHYKController {
                                 @RequestParam(required = false) String meetingAddress, @RequestParam(required = false) String beginTime,
                                 @RequestParam(required = false) String endTime, @RequestParam(required = false) Integer shykStatus, @RequestParam(required = false) List<Integer> shykType,
                                 @RequestParam(required = false) String userid, @RequestParam(required = false) Integer myMeeting,
-                                @RequestParam(required = false) String day,@RequestParam(required = false)String ssdzzdm) throws Exception {
+                                @RequestParam(required = false) String day, @RequestParam(required = false) String ssdzzdm) throws Exception {
 
         beginTime = dateUtils.strFormat_short(beginTime);
         endTime = dateUtils.strFormat_short(endTime);
 
         /**查询数据**/
-        List<HashMap<String, Object>> dataList = shykService.getMeetingList(1, 100000, partyCode, meetingName, meetingAddress, beginTime, endTime, shykStatus, shykType, userid, myMeeting, day,ssdzzdm).getList();
+        List<HashMap<String, Object>> dataList = shykService.getMeetingList(1, 100000, partyCode, meetingName, meetingAddress, beginTime, endTime, shykStatus, shykType, userid, myMeeting, day, ssdzzdm).getList();
 
         ExcelHelper excelHelper = new ExcelHelper();
         ExcelHelper.ExcelData data = excelHelper.new ExcelData();
@@ -146,15 +146,15 @@ public class SHYKController {
 
     @ResponseBody
     @RequestMapping("/getMeetingById")
-    public RequsetData<ShykMeeting> getMeetingById(@RequestParam("id") String id, @RequestParam(required = false) String dzzdm, @RequestParam(required = false) Integer shyktype) {
+    public RequsetData<ShykMeetingVo> getMeetingById(@RequestParam("id") String id, @RequestParam(required = false) String dzzdm, @RequestParam(required = false) Integer shyktype) {
         //返回信息
-        RequsetData<ShykMeeting> res = new RequsetData<>();
+        RequsetData<ShykMeetingVo> res = new RequsetData<>();
         HashMap<String, Object> extData = new HashMap<String, Object>();//扩展信息
         String message = "";
 
         try {
             //定义变量
-            ShykMeeting model = shykService.getMeetingById(id);//会议信息
+            ShykMeetingVo model = shykService.getMeetingById(id);//会议信息
             ShykMeetinguser user = new ShykMeetinguser();//参会人信息
             long difftime = 0;//会议开始时间与当前时间相差分钟数
             String shykTypeName = "";//会议类型
@@ -164,7 +164,7 @@ public class SHYKController {
 
             if (model == null || (model != null && stringUtils.IsNullOrEmpty(model.getMeetingid()))) {
                 UUID uuid = UUID.randomUUID();
-                model = new ShykMeeting();
+                model = new ShykMeetingVo();
                 model.setMeetingid(uuid.toString());
                 model.setShyktype(shyktype);
                 /*model.setShykstatus(0);*/
@@ -224,108 +224,42 @@ public class SHYKController {
 
     @ResponseBody
     @RequestMapping("/saveMeeting")
-    public RequsetData<String> saveMeeting(@RequestBody Map<String, Object> reqMap) {
-        RequsetData<String> res = new RequsetData<String>();
+    public RequsetData<Integer> saveMeeting(@RequestBody Map<String, Object> reqMap) throws Exception {
         int count = 0;
-        String message = "";
         ObjectMapper mapper = new ObjectMapper();
 
-        try {
-            ShykMeeting dataModel = mapper.readValue(mapper.writeValueAsString(reqMap.get("dataModel")).toString(), ShykMeeting.class);
-            //boolean isnotify = Boolean.parseBoolean(reqMap.get("isnotify").toString());
-            List<MeetingTopicJsonData> topicJsonList = JsonMapper.jsonToObject(reqMap.get("topicList").toString(), new TypeReference<List<MeetingTopicJsonData>>() {
-            });
-            List<MeetingUserJsonData> userJsonList = JsonMapper.jsonToObject(reqMap.get("userList").toString(), new TypeReference<List<MeetingUserJsonData>>() {
-            });
-
-            ShykMeeting dbModel = shykService.getMeetingById(dataModel.getMeetingid());
-            if (dbModel != null && !stringUtils.IsNullOrEmpty(dataModel.getMeetingid()) && dataModel.getShykstatus() == 2) {
-                throw new Exception("会议已取消!");
-            }
-
-            //int shykstatus = Integer.parseInt(reqMap.get("shykstatus").toString());
-            dataModel.setShykstatus(4);
-
-            List<ShykMeetingtopic> topicList = new ArrayList<>();
-            if (topicJsonList.size() > 0) {
-                for (MeetingTopicJsonData topic : topicJsonList) {
-                    ShykMeetingtopic tmodel = new ShykMeetingtopic();
-                    tmodel.setMeetingtopicid(UUID.randomUUID().toString());
-                    tmodel.setMeetingid(dataModel.getMeetingid());
-                    tmodel.setModelid(topic.getId());
-                    tmodel.setTopicname(topic.getMbmc());
-                    topicList.add(tmodel);
-                }
+        ShykMeetingVo dataModel = mapper.readValue(mapper.writeValueAsString(reqMap.get("dataModel")), ShykMeetingVo.class);
+        List<MeetingUserJsonData> userJsonList = JsonMapper.jsonToObject(reqMap.get("userList").toString(), new TypeReference<List<MeetingUserJsonData>>() {
+        });
+        List<ShykMeetingDemocracyreview> democracyReviewList = JsonMapper.jsonToObject(reqMap.get("democracyReviewList").toString(), new TypeReference<List<ShykMeetingDemocracyreview>>() {
+        });
+        List<ShykMeetingTypeKey> typeList = JsonMapper.jsonToObject(reqMap.get("typeList").toString(), new TypeReference<List<ShykMeetingTypeKey>>() {
+        });
+
+        List<ShykMeetinguser> userList = new ArrayList<>();
+        if (userJsonList.size() > 0) {
+            for (MeetingUserJsonData user : userJsonList) {
+                ShykMeetinguser umodel = new ShykMeetinguser();
+                umodel.setMeetinguserid(UUID.randomUUID().toString());
+                umodel.setMeetingid(dataModel.getMeetingid());
+                umodel.setUsercode(user.getRybm());
+                umodel.setUsername(user.getXm());
+                umodel.setPartycode(user.getSzdzbdm());
+                umodel.setPartyname(user.getDzzmc());
+                umodel.setCheckinstatus(1);
+                umodel.setUserremark(user.getUserremark());
+                umodel.setSigninstatus(user.getSigninstatus());
+
+
+                userList.add(umodel);
             }
-            List<ShykMeetinguser> userList = new ArrayList<>();
-            if (userJsonList.size() > 0) {
-
-                //List<HashMap<String, Object>> dbUserList = shykService.getMeetingUserList(1, 10000, dataModel.getMeetingid()).getList();
-
-                for (MeetingUserJsonData user : userJsonList) {
-                    ShykMeetinguser umodel = new ShykMeetinguser();
-                    umodel.setMeetinguserid(UUID.randomUUID().toString());
-                    umodel.setMeetingid(dataModel.getMeetingid());
-                    umodel.setUsercode(user.getRybm());
-                    umodel.setUsername(user.getXm());
-                    umodel.setPartycode(user.getSzdzbdm());
-                    umodel.setPartyname(user.getDzzmc());
-                    /*umodel.setSigninstatus(userService.getLoginUser().getUserid() == user.getRybm() ? 2 : 1); //1未签收,2参加会议,发起人默认参加
-                    umodel.setCheckinstatus(0);//未签到*/
-
-                    //20210617 默认全部参加并签到
-                   /* umodel.setSigninstatus(2);*/
-                    umodel.setCheckinstatus(1);
-                    umodel.setUserremark(user.getUserremark());
-                    umodel.setSigninstatus(user.getSigninstatus());
-
-                    /*if (!isnotify && dbUserList.size() > 0) {*/
-                  /*  if (dbUserList.size() > 0) {
-
-                        List<HashMap<String, Object>> dbusers = dbUserList.stream().filter(it -> it.get("USERCODE").toString().equals(user.getRybm())).collect(Collectors.toList());
-
-                        if (dbusers.size() > 0) {
-                            HashMap<String, Object> dbuser = dbusers.get(0);
-                            if (dbuser != null) {
-                                if (dbuser.get("SIGNINSTATUS") != null) {
-                                    umodel.setSigninstatus(Integer.parseInt(dbuser.get("SIGNINSTATUS").toString()));
-                                }
-                                if (dbuser.get("CHECKINSTATUS") != null) {
-                                    umodel.setCheckinstatus(Integer.parseInt(dbuser.get("CHECKINSTATUS").toString()));
-                                }
-                                if (dbuser.get("USERREMARK") != null) {
-                                    umodel.setUserremark(dbuser.get("USERREMARK").toString());
-                                }
-                            }
-                        }
-
-                    }*/
-
-                    userList.add(umodel);
-                }
-            }
-
-            count = shykService.saveMeeting(dataModel, topicList.stream().distinct().collect(Collectors.toList()), userList.stream().distinct().collect(Collectors.toList()),userService.getLoginUser().getUserid(),
-                    userService.getUserInfobyId(userService.getLoginUser().getUserid()).getName());
+        }
 
-            /*if (count > 0 && isnotify) {
-                //推送通知
-                shykService.sendMeetingNotify(dataModel.getMeetingid(), userService.getLoginUser().getUserid(), userService.getUserInfobyId(userService.getLoginUser().getUserid()).getName());
-            }*/
+        count = shykService.saveMeeting(dataModel, null, userList.stream().distinct().collect(Collectors.toList()), democracyReviewList, typeList, userService.getLoginUser().getUserid(),
+                userService.getUserInfobyId(userService.getLoginUser().getUserid()).getName());
 
-        } catch (Exception e) {
 
-            e.printStackTrace();
-            message = e.getMessage();
-        }
-        if (count > 0) {
-            res.setSuccess(true);
-            res.setMsg("操作成功!");
-        } else {
-            res.setSuccess(false);
-            res.setMsg("操作失败!" + message);
-        }
-        return res;
+        return RespGenerstor.success(count);
     }
 
     @ResponseBody
@@ -337,6 +271,22 @@ public class SHYKController {
         return result;
     }
 
+    @GetMapping("/getMeetingDemocracyReviewList")
+    public RequsetData<List<MeetingDemocracyReviewVo>> getMeetingDemocracyReviewList(@RequestParam(required = false) String meetingId) {
+
+        RequsetData<List<MeetingDemocracyReviewVo>> result = new RequsetData<>();
+        result.setItem(shykService.getMeetingDemocracyReviewList(meetingId));
+        return result;
+    }
+
+    @GetMapping("/getMeetingTypeList")
+    public RequsetData<List<MeetingTypeVo>> getMeetingTypeList(@RequestParam(required = false) String meetingId) {
+
+        RequsetData<List<MeetingTypeVo>> result = new RequsetData<>();
+        result.setItem(shykService.getMeetingTypeList(meetingId));
+        return result;
+    }
+
     @ResponseBody
     @RequestMapping("/deleteMeetingById")
     public RequsetData<String> deleteMeetingById(@RequestParam("id") String id) {
@@ -517,7 +467,7 @@ public class SHYKController {
 
         try {
             String meetingId = reqMap.get("meetingId").toString();
-            ShykMeeting dbModel = shykService.getMeetingById(meetingId);
+            ShykMeetingVo dbModel = shykService.getMeetingById(meetingId);
             if (dbModel.getShykstatus() == 1) {
                 dbModel.setShykstatus(2);
             }
@@ -560,7 +510,7 @@ public class SHYKController {
             String meetingId = reqMap.get("meetingId").toString();
             //String content = reqMap.get("meetingBriefContent").toString();
             int state = Integer.parseInt(reqMap.get("state").toString());//会议记录填写状态
-            ShykMeeting dbModel = shykService.getMeetingById(meetingId);
+            ShykMeetingVo dbModel = shykService.getMeetingById(meetingId);
             //dbModel.setMeetingbriefcontent(content);
             dbModel.setMeetingrecordstate(state);
             if (state == 1) {
@@ -626,7 +576,7 @@ public class SHYKController {
 
             List<DecisionUserJsonData> decisionJsonList = JsonMapper.jsonToObject(reqMap.get("decisionList").toString(), new TypeReference<List<DecisionUserJsonData>>() {
             });
-            ShykMeeting dbModel = shykService.getMeetingById(meetingId);
+            ShykMeetingVo dbModel = shykService.getMeetingById(meetingId);
 
             /*if (dbModel.getDecisionstatus() != null && dbModel.getDecisionstatus() == 1) {
                 throw new Exception("会议已录入决议!");
@@ -733,7 +683,7 @@ public class SHYKController {
             int meetingapprovestatus = Integer.parseInt(reqMap.get("meetingapprovestatus").toString());
             //String meetingapproveopinion = reqMap.get("meetingapproveopinion").toString();
 
-            ShykMeeting dbModel = shykService.getMeetingById(meetingId);
+            ShykMeetingVo dbModel = shykService.getMeetingById(meetingId);
             dbModel.setMeetingapprovestatus(meetingapprovestatus);
             //dbModel.setMeetingapproveopinion(meetingapproveopinion);
             dbModel.setMeetingapproveusercode(userService.getLoginUser().getUserid());
@@ -815,7 +765,7 @@ public class SHYKController {
 
             String meetingId = reqMap.get("meetingId").toString();//会议id
             String approvecontent = reqMap.get("approvecontent") != null ? reqMap.get("approvecontent").toString() : "";
-            ShykMeeting dbModel = shykService.getMeetingById(meetingId);
+            ShykMeetingVo dbModel = shykService.getMeetingById(meetingId);
 
             dbModel.setDecisionapprovecontent(approvecontent);
             dbModel.setDecisionapproveuserid(userService.getLoginUser().getUserid());
@@ -1148,7 +1098,7 @@ public class SHYKController {
         try {
             HashMap<String, Object> extData = new HashMap<String, Object>();//扩展信息
             ShykUserevaluateWithBLOBs model = shykService.getUserevaluateByUserId(meetingUserId);
-            ShykMeeting meetingModel = shykService.getMeetingById(meetingId);//会议信息
+            ShykMeetingVo meetingModel = shykService.getMeetingById(meetingId);//会议信息
             ShykMeetinguser shykMeetinguser = shykService.getMeetinguserById(meetingUserId);//会议成员信息
             boolean isExist = (model == null || (model != null && stringUtils.IsNullOrEmpty(model.getUserevaluateid())));
             String topicName = "";

+ 52 - 99
src/main/java/com/ghsc/partybuild/controller/app/AppShykController.java

@@ -1,9 +1,10 @@
 package com.ghsc.partybuild.controller.app;
 
+import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
-import com.ghsc.partybuild.vo.shyk.MeetingTopicJsonData;
-import com.ghsc.partybuild.vo.shyk.MeetingUserJsonData;
+import com.ghsc.partybuild.filter.exception.RespGenerstor;
+import com.ghsc.partybuild.vo.shyk.*;
 import com.github.pagehelper.PageInfo;
 import com.ghsc.partybuild.controller.jsonmodel.RequsetData;
 import com.ghsc.partybuild.model.*;
@@ -53,14 +54,14 @@ public class AppShykController {
 
     @ResponseBody
     @RequestMapping("/getMeetingById")
-    public RequsetData<ShykMeeting> GetMeetingById(@RequestParam("id") String id, @RequestParam(required = false) String dzzdm, @RequestParam(required = false) String dzzmc, @RequestParam(required = false) Integer shyktype
-            , @RequestParam(required = false) String userId, @RequestParam(required = false) String userName) {
+    public RequsetData<ShykMeetingWithBLOBs> GetMeetingById(@RequestParam("id") String id, @RequestParam(required = false) String dzzdm, @RequestParam(required = false) String dzzmc, @RequestParam(required = false) Integer shyktype
+            , @RequestParam(required = false) String userId, @RequestParam(required = false) String userName) throws Exception {
         //返回信息
-        RequsetData<ShykMeeting> res = new RequsetData<>();
+        RequsetData<ShykMeetingWithBLOBs> res = new RequsetData<>();
         HashMap<String, Object> extData = new HashMap<String, Object>();//扩展信息
 
         //定义变量
-        ShykMeeting model = shykService.getMeetingById(id);//会议信息
+        ShykMeetingVo model = shykService.getMeetingById(id);//会议信息
         ShykMeetinguser user = new ShykMeetinguser();//参会人信息
         long difftime = 0;//会议开始时间与当前时间相差分钟数
         String shykTypeName = "";//会议类型
@@ -70,7 +71,7 @@ public class AppShykController {
         //获取数据
         if (model == null || (model != null && stringUtils.IsNullOrEmpty(model.getMeetingid()))) {
             UUID uuid = UUID.randomUUID();
-            model = new ShykMeeting();
+            model = new ShykMeetingVo();
             model.setMeetingid(uuid.toString());
             model.setShyktype(shyktype);
             model.setIstemp(0);
@@ -124,6 +125,22 @@ public class AppShykController {
         return result;
     }
 
+    @GetMapping("/getMeetingDemocracyReviewList")
+    public RequsetData<List<MeetingDemocracyReviewVo>> getMeetingDemocracyReviewList(@RequestParam(required = false) String meetingId) {
+
+        RequsetData<List<MeetingDemocracyReviewVo>> result = new RequsetData<>();
+        result.setItem(shykService.getMeetingDemocracyReviewList(meetingId));
+        return result;
+    }
+
+    @GetMapping("/getMeetingTypeList")
+    public RequsetData<List<MeetingTypeVo>> getMeetingTypeList(@RequestParam(required = false) String meetingId) {
+
+        RequsetData<List<MeetingTypeVo>> result = new RequsetData<>();
+        result.setItem(shykService.getMeetingTypeList(meetingId));
+        return result;
+    }
+
     @ResponseBody
     @GetMapping("/getMeetingTopicList")
     public RequsetData<List<HashMap<String, Object>>> GetMeetingTopicList(@RequestParam(required = true) String meetingId) {
@@ -142,103 +159,39 @@ public class AppShykController {
 
     @ResponseBody
     @RequestMapping("/saveMeeting")
-    public RequsetData<String> SaveMeeting(@RequestBody Map<String, Object> reqMap) {
-        RequsetData<String> res = new RequsetData<String>();
+    public RequsetData<Integer> SaveMeeting(@RequestBody Map<String, Object> reqMap) throws Exception {
         int count = 0;
-        String message = "";
         ObjectMapper mapper = new ObjectMapper();
 
-        try {
-            ShykMeeting dataModel = mapper.readValue(mapper.writeValueAsString(reqMap.get("dataModel")).toString(), ShykMeeting.class);
-            //boolean isnotify = Boolean.parseBoolean(reqMap.get("isnotify").toString());
-            List<MeetingTopicJsonData> topicJsonList = JsonMapper.jsonToObject(reqMap.get("topicList").toString(), new TypeReference<List<MeetingTopicJsonData>>() {
-            });
-            List<MeetingUserJsonData> userJsonList = JsonMapper.jsonToObject(reqMap.get("userList").toString(), new TypeReference<List<MeetingUserJsonData>>() {
-            });
-            String userId = reqMap.get("userId").toString();
-            String userName = reqMap.get("userName").toString();
-            /*int shykstatus = Integer.parseInt(reqMap.get("shykstatus").toString());*/
-            dataModel.setShykstatus(4);
-
-
-            ShykMeeting dbModel = shykService.getMeetingById(dataModel.getMeetingid());
-            if (dbModel != null && !stringUtils.IsNullOrEmpty(dataModel.getMeetingid()) && dataModel.getShykstatus() == 2) {
-                throw new Exception("会议已取消!");
+        ShykMeetingVo dataModel = mapper.readValue(mapper.writeValueAsString(reqMap.get("dataModel")), ShykMeetingVo.class);
+        String userId = reqMap.get("userId").toString();
+        String userName = reqMap.get("userName").toString();
+        List<MeetingUserJsonData> userJsonList = JsonMapper.jsonToObject(reqMap.get("userList").toString(), new TypeReference<List<MeetingUserJsonData>>() {
+        });
+        List<ShykMeetingDemocracyreview> democracyReviewList = JsonMapper.jsonToObject(reqMap.get("democracyReviewList").toString(), new TypeReference<List<ShykMeetingDemocracyreview>>() {
+        });
+        List<ShykMeetingTypeKey> typeList = JsonMapper.jsonToObject(reqMap.get("typeList").toString(), new TypeReference<List<ShykMeetingTypeKey>>() {
+        });
+        List<ShykMeetinguser> userList = new ArrayList<>();
+        if (userJsonList.size() > 0) {
+            for (MeetingUserJsonData user : userJsonList) {
+                ShykMeetinguser umodel = new ShykMeetinguser();
+                umodel.setMeetinguserid(UUID.randomUUID().toString());
+                umodel.setMeetingid(dataModel.getMeetingid());
+                umodel.setUsercode(user.getRybm());
+                umodel.setUsername(user.getXm());
+                umodel.setPartycode(user.getSzdzbdm());
+                umodel.setPartyname(user.getDzzmc());
+                umodel.setCheckinstatus(1);
+                umodel.setUserremark(user.getUserremark());
+                umodel.setSigninstatus(user.getSigninstatus());
+                userList.add(umodel);
             }
+        }
 
-            List<ShykMeetingtopic> topicList = new ArrayList<>();
-            if (topicJsonList.size() > 0) {
-                for (MeetingTopicJsonData topic : topicJsonList) {
-                    ShykMeetingtopic tmodel = new ShykMeetingtopic();
-                    tmodel.setMeetingtopicid(UUID.randomUUID().toString());
-                    tmodel.setMeetingid(dataModel.getMeetingid());
-                    tmodel.setModelid(topic.getId());
-                    tmodel.setTopicname(topic.getMbmc());
-                    topicList.add(tmodel);
-                }
-            }
-            List<ShykMeetinguser> userList = new ArrayList<>();
-            if (userJsonList.size() > 0) {
-                //List<HashMap<String, Object>> dbUserList = shykService.getMeetingUserList(1, 10000, dataModel.getMeetingid()).getList();
-                for (MeetingUserJsonData user : userJsonList) {
-                    ShykMeetinguser umodel = new ShykMeetinguser();
-                    umodel.setMeetinguserid(UUID.randomUUID().toString());
-                    umodel.setMeetingid(dataModel.getMeetingid());
-                    umodel.setUsercode(user.getRybm());
-                    umodel.setUsername(user.getXm());
-                    umodel.setPartycode(user.getSzdzbdm());
-                    umodel.setPartyname(user.getDzzmc());
-                    /*umodel.setSigninstatus(userId == user.getRybm() ? 2 : 1); //1未签收,2参加会议,发起人默认参加
-                    umodel.setCheckinstatus(0);//未签到*/
-                    //20210617 默认全部参加并签到
-                    //umodel.setSigninstatus(2);
-                    umodel.setCheckinstatus(1);
-                    umodel.setUserremark(user.getUserremark());
-                    umodel.setSigninstatus(user.getSigninstatus());
-
-                    //if (!isnotify && dbUserList.size() > 0) {
-                   /* if (dbUserList.size() > 0) {
-                        List<HashMap<String, Object>> dbusers = dbUserList.stream().filter(it -> it.get("USERCODE").toString().equals(user.getRybm())).collect(Collectors.toList());
-
-                        if (dbusers.size() > 0) {
-                            HashMap<String, Object> dbuser = dbusers.get(0);
-                            if (dbuser != null) {
-                                if (dbuser.get("SIGNINSTATUS") != null) {
-                                    umodel.setSigninstatus(Integer.parseInt(dbuser.get("SIGNINSTATUS").toString()));
-                                }
-                                if (dbuser.get("CHECKINSTATUS") != null) {
-                                    umodel.setCheckinstatus(Integer.parseInt(dbuser.get("CHECKINSTATUS").toString()));
-                                }
-                                if (dbuser.get("USERREMARK") != null) {
-                                    umodel.setUserremark(dbuser.get("USERREMARK").toString());
-                                }
-                            }
-                        }
-                    }*/
-                    userList.add(umodel);
-                }
-            }
-
-            count = shykService.saveMeeting(dataModel, topicList.stream().distinct().collect(Collectors.toList()), userList.stream().distinct().collect(Collectors.toList()), userId, userName);
-
-            /*if (count > 0 && isnotify) {
-                //推送通知 20210617 默认全部参加并签到 不需要发送通知
-                //shykService.sendMeetingNotify(dataModel.getMeetingid(), userId, userName);
-            }*/
-
-        } catch (Exception e) {
+        count = shykService.saveMeeting(dataModel, null, userList.stream().distinct().collect(Collectors.toList()), democracyReviewList, typeList, userId, userName);
 
-            e.printStackTrace();
-            message = e.getMessage();
-        }
-        if (count > 0) {
-            res.setSuccess(true);
-            res.setMsg("操作成功!");
-        } else {
-            res.setSuccess(false);
-            res.setMsg("操作失败!" + message);
-        }
-        return res;
+        return RespGenerstor.success(count);
     }
 
 
@@ -411,7 +364,7 @@ public class AppShykController {
             String userName = reqMap.get("userName").toString();//操作人姓名
             int state = Integer.parseInt(reqMap.get("state").toString());//会议记录填写状态 0保存中,1已提交
 
-            ShykMeeting model = shykService.getMeetingById(meetingId);
+            ShykMeetingVo model = shykService.getMeetingById(meetingId);
             model.setIsuploadimg(1);//已上传图片
             model.setMeetingrecordstate(state);
             if (state == 1) {

+ 1 - 1
src/main/java/com/ghsc/partybuild/filter/exception/RespGenerstor.java

@@ -4,7 +4,7 @@ import java.util.Map;
 
 public class RespGenerstor {
     public static BaseResponse success(Object data) {
-        return new BaseResponse(true, BaseErrorEnum.SUCCESS.getCode(), "接口调用成功", data, null);
+        return new BaseResponse(true, BaseErrorEnum.SUCCESS.getCode(), "", data, null);
     }
 
     public static BaseResponse<Object> fail(BaseErrorEnum baseErrorEnum, Object data) {

+ 15 - 22
src/main/java/com/ghsc/partybuild/mapper/SHYKCQuery.java

@@ -1,5 +1,7 @@
 package com.ghsc.partybuild.mapper;
 
+import com.ghsc.partybuild.vo.shyk.MeetingDemocracyReviewVo;
+import com.ghsc.partybuild.vo.shyk.MeetingTypeVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.HashMap;
@@ -34,28 +36,6 @@ public interface SHYKCQuery {
                                                     @Param("userId") String userId, @Param("myMeeting") Integer myMeeting,
                                                     @Param("day") String day, @Param("page") Integer page, @Param("rows") Integer rows,@Param("ssdzzdm") String ssdzzdm);
 
-    /**
-     * 会议数量
-     *
-     * @param partyCode
-     * @param meetingName
-     * @param meetingAddress
-     * @param beginTime
-     * @param endTime
-     * @param shykStatus
-     * @param shykType
-     * @param userId
-     * @param myMeeting
-     * @param zzfbType
-     * @param recommendType
-     * @param day
-     * @return
-     */
-    long selectMeetingListAllCount(@Param("partyCode") String partyCode, @Param("meetingName") String meetingName, @Param("meetingAddress") String meetingAddress,
-                                   @Param("beginTime") String beginTime, @Param("endTime") String endTime, @Param("shykStatus") Integer shykStatus, @Param("shykType") List<Integer> shykType,
-                                   @Param("userId") String userId, @Param("myMeeting") Integer myMeeting,
-                                   @Param("day") String day,@Param("ssdzzdm") String ssdzzdm);
-
     /**
      * 选择议题
      *
@@ -73,6 +53,10 @@ public interface SHYKCQuery {
      */
     List<HashMap<String, Object>> selectMeetingUserList(@Param("meetingId") String meetingId);
 
+    List<MeetingDemocracyReviewVo> selectMeetingDemocracyReviewList(@Param("meetingId") String meetingId);
+
+    List<MeetingTypeVo> selectMeetingTypeList(@Param("meetingId") String meetingId);
+
     /**
      * 会议议题
      *
@@ -89,6 +73,15 @@ public interface SHYKCQuery {
      */
     int deteteMeetingUser(@Param("meetingId") String meetingId);
 
+    /**
+     * 删除会议民主评议成员
+     * @param meetingId
+     * @return
+     */
+    int deteteMeetingDemocracyreview(@Param("meetingId") String meetingId);
+
+    int deteteMeetingType(@Param("meetingId") String meetingId);
+
     /**
      * 删除会议议题
      *

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

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

+ 9 - 8
src/main/java/com/ghsc/partybuild/mapper/ShykMeetingMapper.java

@@ -2,6 +2,7 @@ package com.ghsc.partybuild.mapper;
 
 import com.ghsc.partybuild.model.ShykMeeting;
 import com.ghsc.partybuild.model.ShykMeetingExample;
+import com.ghsc.partybuild.model.ShykMeetingWithBLOBs;
 import java.util.List;
 import org.apache.ibatis.annotations.Param;
 
@@ -12,25 +13,25 @@ public interface ShykMeetingMapper {
 
     int deleteByPrimaryKey(String meetingid);
 
-    int insert(ShykMeeting record);
+    int insert(ShykMeetingWithBLOBs record);
 
-    int insertSelective(ShykMeeting record);
+    int insertSelective(ShykMeetingWithBLOBs record);
 
-    List<ShykMeeting> selectByExampleWithBLOBs(ShykMeetingExample example);
+    List<ShykMeetingWithBLOBs> selectByExampleWithBLOBs(ShykMeetingExample example);
 
     List<ShykMeeting> selectByExample(ShykMeetingExample example);
 
-    ShykMeeting selectByPrimaryKey(String meetingid);
+    ShykMeetingWithBLOBs selectByPrimaryKey(String meetingid);
 
-    int updateByExampleSelective(@Param("record") ShykMeeting record, @Param("example") ShykMeetingExample example);
+    int updateByExampleSelective(@Param("record") ShykMeetingWithBLOBs record, @Param("example") ShykMeetingExample example);
 
-    int updateByExampleWithBLOBs(@Param("record") ShykMeeting record, @Param("example") ShykMeetingExample example);
+    int updateByExampleWithBLOBs(@Param("record") ShykMeetingWithBLOBs record, @Param("example") ShykMeetingExample example);
 
     int updateByExample(@Param("record") ShykMeeting record, @Param("example") ShykMeetingExample example);
 
-    int updateByPrimaryKeySelective(ShykMeeting record);
+    int updateByPrimaryKeySelective(ShykMeetingWithBLOBs record);
 
-    int updateByPrimaryKeyWithBLOBs(ShykMeeting record);
+    int updateByPrimaryKeyWithBLOBs(ShykMeetingWithBLOBs record);
 
     int updateByPrimaryKey(ShykMeeting record);
 }

+ 24 - 0
src/main/java/com/ghsc/partybuild/mapper/ShykMeetingTypeMapper.java

@@ -0,0 +1,24 @@
+package com.ghsc.partybuild.mapper;
+
+import com.ghsc.partybuild.model.ShykMeetingTypeExample;
+import com.ghsc.partybuild.model.ShykMeetingTypeKey;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+public interface ShykMeetingTypeMapper {
+    long countByExample(ShykMeetingTypeExample example);
+
+    int deleteByExample(ShykMeetingTypeExample example);
+
+    int deleteByPrimaryKey(ShykMeetingTypeKey key);
+
+    int insert(ShykMeetingTypeKey record);
+
+    int insertSelective(ShykMeetingTypeKey record);
+
+    List<ShykMeetingTypeKey> selectByExample(ShykMeetingTypeExample example);
+
+    int updateByExampleSelective(@Param("record") ShykMeetingTypeKey record, @Param("example") ShykMeetingTypeExample example);
+
+    int updateByExample(@Param("record") ShykMeetingTypeKey record, @Param("example") ShykMeetingTypeExample example);
+}

+ 5 - 5
src/main/java/com/ghsc/partybuild/model/ShykMeeting.java

@@ -73,7 +73,7 @@ public class ShykMeeting {
 
     private String attenduser;
 
-    private String meetingbriefcontent;
+    private Boolean isfirsttopic;
 
     public String getMeetingid() {
         return meetingid;
@@ -355,11 +355,11 @@ public class ShykMeeting {
         this.attenduser = attenduser == null ? null : attenduser.trim();
     }
 
-    public String getMeetingbriefcontent() {
-        return meetingbriefcontent;
+    public Boolean getIsfirsttopic() {
+        return isfirsttopic;
     }
 
-    public void setMeetingbriefcontent(String meetingbriefcontent) {
-        this.meetingbriefcontent = meetingbriefcontent == null ? null : meetingbriefcontent.trim();
+    public void setIsfirsttopic(Boolean isfirsttopic) {
+        this.isfirsttopic = isfirsttopic;
     }
 }

+ 105 - 0
src/main/java/com/ghsc/partybuild/model/ShykMeetingDemocracyreview.java

@@ -0,0 +1,105 @@
+package com.ghsc.partybuild.model;
+
+import java.util.Date;
+
+public class ShykMeetingDemocracyreview {
+    private String democracyreviewid;
+
+    private String meetingid;
+
+    private String usercode;
+
+    private Date startdate;
+
+    private Date enddate;
+
+    private Integer democracyreviewresulttype;
+
+    private Date createtime;
+
+    private String createuserid;
+
+    private Date updatetime;
+
+    private String updateuserid;
+
+    public String getDemocracyreviewid() {
+        return democracyreviewid;
+    }
+
+    public void setDemocracyreviewid(String democracyreviewid) {
+        this.democracyreviewid = democracyreviewid == null ? null : democracyreviewid.trim();
+    }
+
+    public String getMeetingid() {
+        return meetingid;
+    }
+
+    public void setMeetingid(String meetingid) {
+        this.meetingid = meetingid == null ? null : meetingid.trim();
+    }
+
+    public String getUsercode() {
+        return usercode;
+    }
+
+    public void setUsercode(String usercode) {
+        this.usercode = usercode == null ? null : usercode.trim();
+    }
+
+    public Date getStartdate() {
+        return startdate;
+    }
+
+    public void setStartdate(Date startdate) {
+        this.startdate = startdate;
+    }
+
+    public Date getEnddate() {
+        return enddate;
+    }
+
+    public void setEnddate(Date enddate) {
+        this.enddate = enddate;
+    }
+
+    public Integer getDemocracyreviewresulttype() {
+        return democracyreviewresulttype;
+    }
+
+    public void setDemocracyreviewresulttype(Integer democracyreviewresulttype) {
+        this.democracyreviewresulttype = democracyreviewresulttype;
+    }
+
+    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();
+    }
+}

+ 878 - 0
src/main/java/com/ghsc/partybuild/model/ShykMeetingDemocracyreviewExample.java

@@ -0,0 +1,878 @@
+package com.ghsc.partybuild.model;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+
+public class ShykMeetingDemocracyreviewExample {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public ShykMeetingDemocracyreviewExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            addCriterion(condition, new java.sql.Date(value.getTime()), property);
+        }
+
+        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
+            if (values == null || values.size() == 0) {
+                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
+            }
+            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
+            Iterator<Date> iter = values.iterator();
+            while (iter.hasNext()) {
+                dateList.add(new java.sql.Date(iter.next().getTime()));
+            }
+            addCriterion(condition, dateList, property);
+        }
+
+        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
+        }
+
+        public Criteria andDemocracyreviewidIsNull() {
+            addCriterion("democracyReviewId is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewidIsNotNull() {
+            addCriterion("democracyReviewId is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewidEqualTo(String value) {
+            addCriterion("democracyReviewId =", value, "democracyreviewid");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewidNotEqualTo(String value) {
+            addCriterion("democracyReviewId <>", value, "democracyreviewid");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewidGreaterThan(String value) {
+            addCriterion("democracyReviewId >", value, "democracyreviewid");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewidGreaterThanOrEqualTo(String value) {
+            addCriterion("democracyReviewId >=", value, "democracyreviewid");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewidLessThan(String value) {
+            addCriterion("democracyReviewId <", value, "democracyreviewid");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewidLessThanOrEqualTo(String value) {
+            addCriterion("democracyReviewId <=", value, "democracyreviewid");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewidLike(String value) {
+            addCriterion("democracyReviewId like", value, "democracyreviewid");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewidNotLike(String value) {
+            addCriterion("democracyReviewId not like", value, "democracyreviewid");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewidIn(List<String> values) {
+            addCriterion("democracyReviewId in", values, "democracyreviewid");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewidNotIn(List<String> values) {
+            addCriterion("democracyReviewId not in", values, "democracyreviewid");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewidBetween(String value1, String value2) {
+            addCriterion("democracyReviewId between", value1, value2, "democracyreviewid");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewidNotBetween(String value1, String value2) {
+            addCriterion("democracyReviewId not between", value1, value2, "democracyreviewid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidIsNull() {
+            addCriterion("meetingId is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidIsNotNull() {
+            addCriterion("meetingId is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidEqualTo(String value) {
+            addCriterion("meetingId =", value, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidNotEqualTo(String value) {
+            addCriterion("meetingId <>", value, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidGreaterThan(String value) {
+            addCriterion("meetingId >", value, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidGreaterThanOrEqualTo(String value) {
+            addCriterion("meetingId >=", value, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidLessThan(String value) {
+            addCriterion("meetingId <", value, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidLessThanOrEqualTo(String value) {
+            addCriterion("meetingId <=", value, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidLike(String value) {
+            addCriterion("meetingId like", value, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidNotLike(String value) {
+            addCriterion("meetingId not like", value, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidIn(List<String> values) {
+            addCriterion("meetingId in", values, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidNotIn(List<String> values) {
+            addCriterion("meetingId not in", values, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidBetween(String value1, String value2) {
+            addCriterion("meetingId between", value1, value2, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidNotBetween(String value1, String value2) {
+            addCriterion("meetingId not between", value1, value2, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsercodeIsNull() {
+            addCriterion("userCode is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsercodeIsNotNull() {
+            addCriterion("userCode is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsercodeEqualTo(String value) {
+            addCriterion("userCode =", value, "usercode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsercodeNotEqualTo(String value) {
+            addCriterion("userCode <>", value, "usercode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsercodeGreaterThan(String value) {
+            addCriterion("userCode >", value, "usercode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsercodeGreaterThanOrEqualTo(String value) {
+            addCriterion("userCode >=", value, "usercode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsercodeLessThan(String value) {
+            addCriterion("userCode <", value, "usercode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsercodeLessThanOrEqualTo(String value) {
+            addCriterion("userCode <=", value, "usercode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsercodeLike(String value) {
+            addCriterion("userCode like", value, "usercode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsercodeNotLike(String value) {
+            addCriterion("userCode not like", value, "usercode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsercodeIn(List<String> values) {
+            addCriterion("userCode in", values, "usercode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsercodeNotIn(List<String> values) {
+            addCriterion("userCode not in", values, "usercode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsercodeBetween(String value1, String value2) {
+            addCriterion("userCode between", value1, value2, "usercode");
+            return (Criteria) this;
+        }
+
+        public Criteria andUsercodeNotBetween(String value1, String value2) {
+            addCriterion("userCode not between", value1, value2, "usercode");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartdateIsNull() {
+            addCriterion("startDate is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartdateIsNotNull() {
+            addCriterion("startDate is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartdateEqualTo(Date value) {
+            addCriterionForJDBCDate("startDate =", value, "startdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartdateNotEqualTo(Date value) {
+            addCriterionForJDBCDate("startDate <>", value, "startdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartdateGreaterThan(Date value) {
+            addCriterionForJDBCDate("startDate >", value, "startdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartdateGreaterThanOrEqualTo(Date value) {
+            addCriterionForJDBCDate("startDate >=", value, "startdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartdateLessThan(Date value) {
+            addCriterionForJDBCDate("startDate <", value, "startdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartdateLessThanOrEqualTo(Date value) {
+            addCriterionForJDBCDate("startDate <=", value, "startdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartdateIn(List<Date> values) {
+            addCriterionForJDBCDate("startDate in", values, "startdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartdateNotIn(List<Date> values) {
+            addCriterionForJDBCDate("startDate not in", values, "startdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartdateBetween(Date value1, Date value2) {
+            addCriterionForJDBCDate("startDate between", value1, value2, "startdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andStartdateNotBetween(Date value1, Date value2) {
+            addCriterionForJDBCDate("startDate not between", value1, value2, "startdate");
+            return (Criteria) this;
+        }
+
+        public Criteria andEnddateIsNull() {
+            addCriterion("endDate is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andEnddateIsNotNull() {
+            addCriterion("endDate is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andEnddateEqualTo(Date value) {
+            addCriterionForJDBCDate("endDate =", value, "enddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andEnddateNotEqualTo(Date value) {
+            addCriterionForJDBCDate("endDate <>", value, "enddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andEnddateGreaterThan(Date value) {
+            addCriterionForJDBCDate("endDate >", value, "enddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andEnddateGreaterThanOrEqualTo(Date value) {
+            addCriterionForJDBCDate("endDate >=", value, "enddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andEnddateLessThan(Date value) {
+            addCriterionForJDBCDate("endDate <", value, "enddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andEnddateLessThanOrEqualTo(Date value) {
+            addCriterionForJDBCDate("endDate <=", value, "enddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andEnddateIn(List<Date> values) {
+            addCriterionForJDBCDate("endDate in", values, "enddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andEnddateNotIn(List<Date> values) {
+            addCriterionForJDBCDate("endDate not in", values, "enddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andEnddateBetween(Date value1, Date value2) {
+            addCriterionForJDBCDate("endDate between", value1, value2, "enddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andEnddateNotBetween(Date value1, Date value2) {
+            addCriterionForJDBCDate("endDate not between", value1, value2, "enddate");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewresulttypeIsNull() {
+            addCriterion("democracyReviewResultType is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewresulttypeIsNotNull() {
+            addCriterion("democracyReviewResultType is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewresulttypeEqualTo(Integer value) {
+            addCriterion("democracyReviewResultType =", value, "democracyreviewresulttype");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewresulttypeNotEqualTo(Integer value) {
+            addCriterion("democracyReviewResultType <>", value, "democracyreviewresulttype");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewresulttypeGreaterThan(Integer value) {
+            addCriterion("democracyReviewResultType >", value, "democracyreviewresulttype");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewresulttypeGreaterThanOrEqualTo(Integer value) {
+            addCriterion("democracyReviewResultType >=", value, "democracyreviewresulttype");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewresulttypeLessThan(Integer value) {
+            addCriterion("democracyReviewResultType <", value, "democracyreviewresulttype");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewresulttypeLessThanOrEqualTo(Integer value) {
+            addCriterion("democracyReviewResultType <=", value, "democracyreviewresulttype");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewresulttypeIn(List<Integer> values) {
+            addCriterion("democracyReviewResultType in", values, "democracyreviewresulttype");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewresulttypeNotIn(List<Integer> values) {
+            addCriterion("democracyReviewResultType not in", values, "democracyreviewresulttype");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewresulttypeBetween(Integer value1, Integer value2) {
+            addCriterion("democracyReviewResultType between", value1, value2, "democracyreviewresulttype");
+            return (Criteria) this;
+        }
+
+        public Criteria andDemocracyreviewresulttypeNotBetween(Integer value1, Integer value2) {
+            addCriterion("democracyReviewResultType not between", value1, value2, "democracyreviewresulttype");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeIsNull() {
+            addCriterion("createTime is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeIsNotNull() {
+            addCriterion("createTime is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeEqualTo(Date value) {
+            addCriterion("createTime =", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotEqualTo(Date value) {
+            addCriterion("createTime <>", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThan(Date value) {
+            addCriterion("createTime >", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("createTime >=", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThan(Date value) {
+            addCriterion("createTime <", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeLessThanOrEqualTo(Date value) {
+            addCriterion("createTime <=", value, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeIn(List<Date> values) {
+            addCriterion("createTime in", values, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotIn(List<Date> values) {
+            addCriterion("createTime not in", values, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeBetween(Date value1, Date value2) {
+            addCriterion("createTime between", value1, value2, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreatetimeNotBetween(Date value1, Date value2) {
+            addCriterion("createTime not between", value1, value2, "createtime");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateuseridIsNull() {
+            addCriterion("createUserId is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateuseridIsNotNull() {
+            addCriterion("createUserId is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateuseridEqualTo(String value) {
+            addCriterion("createUserId =", value, "createuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateuseridNotEqualTo(String value) {
+            addCriterion("createUserId <>", value, "createuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateuseridGreaterThan(String value) {
+            addCriterion("createUserId >", value, "createuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateuseridGreaterThanOrEqualTo(String value) {
+            addCriterion("createUserId >=", value, "createuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateuseridLessThan(String value) {
+            addCriterion("createUserId <", value, "createuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateuseridLessThanOrEqualTo(String value) {
+            addCriterion("createUserId <=", value, "createuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateuseridLike(String value) {
+            addCriterion("createUserId like", value, "createuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateuseridNotLike(String value) {
+            addCriterion("createUserId not like", value, "createuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateuseridIn(List<String> values) {
+            addCriterion("createUserId in", values, "createuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateuseridNotIn(List<String> values) {
+            addCriterion("createUserId not in", values, "createuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateuseridBetween(String value1, String value2) {
+            addCriterion("createUserId between", value1, value2, "createuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andCreateuseridNotBetween(String value1, String value2) {
+            addCriterion("createUserId not between", value1, value2, "createuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeIsNull() {
+            addCriterion("updateTime is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeIsNotNull() {
+            addCriterion("updateTime is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeEqualTo(Date value) {
+            addCriterion("updateTime =", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeNotEqualTo(Date value) {
+            addCriterion("updateTime <>", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeGreaterThan(Date value) {
+            addCriterion("updateTime >", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeGreaterThanOrEqualTo(Date value) {
+            addCriterion("updateTime >=", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeLessThan(Date value) {
+            addCriterion("updateTime <", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeLessThanOrEqualTo(Date value) {
+            addCriterion("updateTime <=", value, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeIn(List<Date> values) {
+            addCriterion("updateTime in", values, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeNotIn(List<Date> values) {
+            addCriterion("updateTime not in", values, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeBetween(Date value1, Date value2) {
+            addCriterion("updateTime between", value1, value2, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdatetimeNotBetween(Date value1, Date value2) {
+            addCriterion("updateTime not between", value1, value2, "updatetime");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateuseridIsNull() {
+            addCriterion("updateUserId is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateuseridIsNotNull() {
+            addCriterion("updateUserId is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateuseridEqualTo(String value) {
+            addCriterion("updateUserId =", value, "updateuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateuseridNotEqualTo(String value) {
+            addCriterion("updateUserId <>", value, "updateuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateuseridGreaterThan(String value) {
+            addCriterion("updateUserId >", value, "updateuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateuseridGreaterThanOrEqualTo(String value) {
+            addCriterion("updateUserId >=", value, "updateuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateuseridLessThan(String value) {
+            addCriterion("updateUserId <", value, "updateuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateuseridLessThanOrEqualTo(String value) {
+            addCriterion("updateUserId <=", value, "updateuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateuseridLike(String value) {
+            addCriterion("updateUserId like", value, "updateuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateuseridNotLike(String value) {
+            addCriterion("updateUserId not like", value, "updateuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateuseridIn(List<String> values) {
+            addCriterion("updateUserId in", values, "updateuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateuseridNotIn(List<String> values) {
+            addCriterion("updateUserId not in", values, "updateuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateuseridBetween(String value1, String value2) {
+            addCriterion("updateUserId between", value1, value2, "updateuserid");
+            return (Criteria) this;
+        }
+
+        public Criteria andUpdateuseridNotBetween(String value1, String value2) {
+            addCriterion("updateUserId not between", value1, value2, "updateuserid");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 60 - 0
src/main/java/com/ghsc/partybuild/model/ShykMeetingExample.java

@@ -2404,6 +2404,66 @@ public class ShykMeetingExample {
             addCriterion("ATTENDUSER not between", value1, value2, "attenduser");
             return (Criteria) this;
         }
+
+        public Criteria andIsfirsttopicIsNull() {
+            addCriterion("isFirstTopic is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfirsttopicIsNotNull() {
+            addCriterion("isFirstTopic is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfirsttopicEqualTo(Boolean value) {
+            addCriterion("isFirstTopic =", value, "isfirsttopic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfirsttopicNotEqualTo(Boolean value) {
+            addCriterion("isFirstTopic <>", value, "isfirsttopic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfirsttopicGreaterThan(Boolean value) {
+            addCriterion("isFirstTopic >", value, "isfirsttopic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfirsttopicGreaterThanOrEqualTo(Boolean value) {
+            addCriterion("isFirstTopic >=", value, "isfirsttopic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfirsttopicLessThan(Boolean value) {
+            addCriterion("isFirstTopic <", value, "isfirsttopic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfirsttopicLessThanOrEqualTo(Boolean value) {
+            addCriterion("isFirstTopic <=", value, "isfirsttopic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfirsttopicIn(List<Boolean> values) {
+            addCriterion("isFirstTopic in", values, "isfirsttopic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfirsttopicNotIn(List<Boolean> values) {
+            addCriterion("isFirstTopic not in", values, "isfirsttopic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfirsttopicBetween(Boolean value1, Boolean value2) {
+            addCriterion("isFirstTopic between", value1, value2, "isfirsttopic");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsfirsttopicNotBetween(Boolean value1, Boolean value2) {
+            addCriterion("isFirstTopic not between", value1, value2, "isfirsttopic");
+            return (Criteria) this;
+        }
     }
 
     public static class Criteria extends GeneratedCriteria {

+ 330 - 0
src/main/java/com/ghsc/partybuild/model/ShykMeetingTypeExample.java

@@ -0,0 +1,330 @@
+package com.ghsc.partybuild.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ShykMeetingTypeExample {
+    protected String orderByClause;
+
+    protected boolean distinct;
+
+    protected List<Criteria> oredCriteria;
+
+    public ShykMeetingTypeExample() {
+        oredCriteria = new ArrayList<Criteria>();
+    }
+
+    public void setOrderByClause(String orderByClause) {
+        this.orderByClause = orderByClause;
+    }
+
+    public String getOrderByClause() {
+        return orderByClause;
+    }
+
+    public void setDistinct(boolean distinct) {
+        this.distinct = distinct;
+    }
+
+    public boolean isDistinct() {
+        return distinct;
+    }
+
+    public List<Criteria> getOredCriteria() {
+        return oredCriteria;
+    }
+
+    public void or(Criteria criteria) {
+        oredCriteria.add(criteria);
+    }
+
+    public Criteria or() {
+        Criteria criteria = createCriteriaInternal();
+        oredCriteria.add(criteria);
+        return criteria;
+    }
+
+    public Criteria createCriteria() {
+        Criteria criteria = createCriteriaInternal();
+        if (oredCriteria.size() == 0) {
+            oredCriteria.add(criteria);
+        }
+        return criteria;
+    }
+
+    protected Criteria createCriteriaInternal() {
+        Criteria criteria = new Criteria();
+        return criteria;
+    }
+
+    public void clear() {
+        oredCriteria.clear();
+        orderByClause = null;
+        distinct = false;
+    }
+
+    protected abstract static class GeneratedCriteria {
+        protected List<Criterion> criteria;
+
+        protected GeneratedCriteria() {
+            super();
+            criteria = new ArrayList<Criterion>();
+        }
+
+        public boolean isValid() {
+            return criteria.size() > 0;
+        }
+
+        public List<Criterion> getAllCriteria() {
+            return criteria;
+        }
+
+        public List<Criterion> getCriteria() {
+            return criteria;
+        }
+
+        protected void addCriterion(String condition) {
+            if (condition == null) {
+                throw new RuntimeException("Value for condition cannot be null");
+            }
+            criteria.add(new Criterion(condition));
+        }
+
+        protected void addCriterion(String condition, Object value, String property) {
+            if (value == null) {
+                throw new RuntimeException("Value for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value));
+        }
+
+        protected void addCriterion(String condition, Object value1, Object value2, String property) {
+            if (value1 == null || value2 == null) {
+                throw new RuntimeException("Between values for " + property + " cannot be null");
+            }
+            criteria.add(new Criterion(condition, value1, value2));
+        }
+
+        public Criteria andMeetingidIsNull() {
+            addCriterion("meetingId is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidIsNotNull() {
+            addCriterion("meetingId is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidEqualTo(String value) {
+            addCriterion("meetingId =", value, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidNotEqualTo(String value) {
+            addCriterion("meetingId <>", value, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidGreaterThan(String value) {
+            addCriterion("meetingId >", value, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidGreaterThanOrEqualTo(String value) {
+            addCriterion("meetingId >=", value, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidLessThan(String value) {
+            addCriterion("meetingId <", value, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidLessThanOrEqualTo(String value) {
+            addCriterion("meetingId <=", value, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidLike(String value) {
+            addCriterion("meetingId like", value, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidNotLike(String value) {
+            addCriterion("meetingId not like", value, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidIn(List<String> values) {
+            addCriterion("meetingId in", values, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidNotIn(List<String> values) {
+            addCriterion("meetingId not in", values, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidBetween(String value1, String value2) {
+            addCriterion("meetingId between", value1, value2, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andMeetingidNotBetween(String value1, String value2) {
+            addCriterion("meetingId not between", value1, value2, "meetingid");
+            return (Criteria) this;
+        }
+
+        public Criteria andShyktypeIsNull() {
+            addCriterion("shykType is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andShyktypeIsNotNull() {
+            addCriterion("shykType is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andShyktypeEqualTo(Integer value) {
+            addCriterion("shykType =", value, "shyktype");
+            return (Criteria) this;
+        }
+
+        public Criteria andShyktypeNotEqualTo(Integer value) {
+            addCriterion("shykType <>", value, "shyktype");
+            return (Criteria) this;
+        }
+
+        public Criteria andShyktypeGreaterThan(Integer value) {
+            addCriterion("shykType >", value, "shyktype");
+            return (Criteria) this;
+        }
+
+        public Criteria andShyktypeGreaterThanOrEqualTo(Integer value) {
+            addCriterion("shykType >=", value, "shyktype");
+            return (Criteria) this;
+        }
+
+        public Criteria andShyktypeLessThan(Integer value) {
+            addCriterion("shykType <", value, "shyktype");
+            return (Criteria) this;
+        }
+
+        public Criteria andShyktypeLessThanOrEqualTo(Integer value) {
+            addCriterion("shykType <=", value, "shyktype");
+            return (Criteria) this;
+        }
+
+        public Criteria andShyktypeIn(List<Integer> values) {
+            addCriterion("shykType in", values, "shyktype");
+            return (Criteria) this;
+        }
+
+        public Criteria andShyktypeNotIn(List<Integer> values) {
+            addCriterion("shykType not in", values, "shyktype");
+            return (Criteria) this;
+        }
+
+        public Criteria andShyktypeBetween(Integer value1, Integer value2) {
+            addCriterion("shykType between", value1, value2, "shyktype");
+            return (Criteria) this;
+        }
+
+        public Criteria andShyktypeNotBetween(Integer value1, Integer value2) {
+            addCriterion("shykType not between", value1, value2, "shyktype");
+            return (Criteria) this;
+        }
+    }
+
+    public static class Criteria extends GeneratedCriteria {
+
+        protected Criteria() {
+            super();
+        }
+    }
+
+    public static class Criterion {
+        private String condition;
+
+        private Object value;
+
+        private Object secondValue;
+
+        private boolean noValue;
+
+        private boolean singleValue;
+
+        private boolean betweenValue;
+
+        private boolean listValue;
+
+        private String typeHandler;
+
+        public String getCondition() {
+            return condition;
+        }
+
+        public Object getValue() {
+            return value;
+        }
+
+        public Object getSecondValue() {
+            return secondValue;
+        }
+
+        public boolean isNoValue() {
+            return noValue;
+        }
+
+        public boolean isSingleValue() {
+            return singleValue;
+        }
+
+        public boolean isBetweenValue() {
+            return betweenValue;
+        }
+
+        public boolean isListValue() {
+            return listValue;
+        }
+
+        public String getTypeHandler() {
+            return typeHandler;
+        }
+
+        protected Criterion(String condition) {
+            super();
+            this.condition = condition;
+            this.typeHandler = null;
+            this.noValue = true;
+        }
+
+        protected Criterion(String condition, Object value, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.typeHandler = typeHandler;
+            if (value instanceof List<?>) {
+                this.listValue = true;
+            } else {
+                this.singleValue = true;
+            }
+        }
+
+        protected Criterion(String condition, Object value) {
+            this(condition, value, null);
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+            super();
+            this.condition = condition;
+            this.value = value;
+            this.secondValue = secondValue;
+            this.typeHandler = typeHandler;
+            this.betweenValue = true;
+        }
+
+        protected Criterion(String condition, Object value, Object secondValue) {
+            this(condition, value, secondValue, null);
+        }
+    }
+}

+ 23 - 0
src/main/java/com/ghsc/partybuild/model/ShykMeetingTypeKey.java

@@ -0,0 +1,23 @@
+package com.ghsc.partybuild.model;
+
+public class ShykMeetingTypeKey {
+    private String meetingid;
+
+    private Integer shyktype;
+
+    public String getMeetingid() {
+        return meetingid;
+    }
+
+    public void setMeetingid(String meetingid) {
+        this.meetingid = meetingid == null ? null : meetingid.trim();
+    }
+
+    public Integer getShyktype() {
+        return shyktype;
+    }
+
+    public void setShyktype(Integer shyktype) {
+        this.shyktype = shyktype;
+    }
+}

+ 5 - 115
src/main/java/com/ghsc/partybuild/model/ShykMeetingWithBLOBs.java

@@ -1,103 +1,9 @@
 package com.ghsc.partybuild.model;
 
 public class ShykMeetingWithBLOBs extends ShykMeeting {
-    private String meetingname;
-
-    private String partyname;
-
-    private String partycode;
-
-    private String meetingaddress;
-
-    private String chairuser;
-
-    private String recorduser;
-
-    private String createusername;
-
-    private String updateusername;
-
-    private String meetingapproveopinion;
-
     private String meetingbriefcontent;
 
-    private String decisionapprovecontent;
-
-    private String decisionapproveuserid;
-
-    private String attenduser;
-
-    public String getMeetingname() {
-        return meetingname;
-    }
-
-    public void setMeetingname(String meetingname) {
-        this.meetingname = meetingname == null ? null : meetingname.trim();
-    }
-
-    public String getPartyname() {
-        return partyname;
-    }
-
-    public void setPartyname(String partyname) {
-        this.partyname = partyname == null ? null : partyname.trim();
-    }
-
-    public String getPartycode() {
-        return partycode;
-    }
-
-    public void setPartycode(String partycode) {
-        this.partycode = partycode == null ? null : partycode.trim();
-    }
-
-    public String getMeetingaddress() {
-        return meetingaddress;
-    }
-
-    public void setMeetingaddress(String meetingaddress) {
-        this.meetingaddress = meetingaddress == null ? null : meetingaddress.trim();
-    }
-
-    public String getChairuser() {
-        return chairuser;
-    }
-
-    public void setChairuser(String chairuser) {
-        this.chairuser = chairuser == null ? null : chairuser.trim();
-    }
-
-    public String getRecorduser() {
-        return recorduser;
-    }
-
-    public void setRecorduser(String recorduser) {
-        this.recorduser = recorduser == null ? null : recorduser.trim();
-    }
-
-    public String getCreateusername() {
-        return createusername;
-    }
-
-    public void setCreateusername(String createusername) {
-        this.createusername = createusername == null ? null : createusername.trim();
-    }
-
-    public String getUpdateusername() {
-        return updateusername;
-    }
-
-    public void setUpdateusername(String updateusername) {
-        this.updateusername = updateusername == null ? null : updateusername.trim();
-    }
-
-    public String getMeetingapproveopinion() {
-        return meetingapproveopinion;
-    }
-
-    public void setMeetingapproveopinion(String meetingapproveopinion) {
-        this.meetingapproveopinion = meetingapproveopinion == null ? null : meetingapproveopinion.trim();
-    }
+    private String topiccontent;
 
     public String getMeetingbriefcontent() {
         return meetingbriefcontent;
@@ -107,27 +13,11 @@ public class ShykMeetingWithBLOBs extends ShykMeeting {
         this.meetingbriefcontent = meetingbriefcontent == null ? null : meetingbriefcontent.trim();
     }
 
-    public String getDecisionapprovecontent() {
-        return decisionapprovecontent;
-    }
-
-    public void setDecisionapprovecontent(String decisionapprovecontent) {
-        this.decisionapprovecontent = decisionapprovecontent == null ? null : decisionapprovecontent.trim();
-    }
-
-    public String getDecisionapproveuserid() {
-        return decisionapproveuserid;
-    }
-
-    public void setDecisionapproveuserid(String decisionapproveuserid) {
-        this.decisionapproveuserid = decisionapproveuserid == null ? null : decisionapproveuserid.trim();
-    }
-
-    public String getAttenduser() {
-        return attenduser;
+    public String getTopiccontent() {
+        return topiccontent;
     }
 
-    public void setAttenduser(String attenduser) {
-        this.attenduser = attenduser == null ? null : attenduser.trim();
+    public void setTopiccontent(String topiccontent) {
+        this.topiccontent = topiccontent == null ? null : topiccontent.trim();
     }
 }

+ 14 - 7
src/main/java/com/ghsc/partybuild/service/SHYKService.java

@@ -1,5 +1,8 @@
 package com.ghsc.partybuild.service;
 
+import com.ghsc.partybuild.vo.shyk.MeetingDemocracyReviewVo;
+import com.ghsc.partybuild.vo.shyk.MeetingTypeVo;
+import com.ghsc.partybuild.vo.shyk.ShykMeetingVo;
 import com.github.pagehelper.PageInfo;
 import com.ghsc.partybuild.controller.jsonmodel.RequsetData;
 import com.ghsc.partybuild.model.*;
@@ -52,6 +55,10 @@ public interface SHYKService {
      */
     PageInfo<HashMap<String, Object>> getMeetingUserList(int page, int rows, String meetingId);
 
+    List<MeetingDemocracyReviewVo> getMeetingDemocracyReviewList(String meetingId);
+
+    List<MeetingTypeVo> getMeetingTypeList(String meetingId);
+
     /**
      * 查询会议决议
      * @param page
@@ -76,21 +83,21 @@ public interface SHYKService {
      * @param userList
      * @return
      */
-    int saveMeeting(ShykMeeting model, List<ShykMeetingtopic> topicList, List<ShykMeetinguser> userList, String userId, String userName);
+    int saveMeeting(ShykMeetingWithBLOBs model, List<ShykMeetingtopic> topicList, List<ShykMeetinguser> userList, List<ShykMeetingDemocracyreview> democracyreviewList, List<ShykMeetingTypeKey> typeList,String userId, String userName) throws Exception;
 
     /**
      * 更新保存会议
      * @param model
      * @return
      */
-    int updateMeeting(ShykMeeting model);
+    int updateMeeting(ShykMeetingWithBLOBs model);
 
     /**
      * 查询会议
      * @param id
      * @return
      */
-    ShykMeeting getMeetingById(String id);
+    ShykMeetingVo getMeetingById(String id) throws Exception;
 
     /**
      * 删除会议
@@ -143,7 +150,7 @@ public interface SHYKService {
      * @param isConvene
      * @return
      */
-    int conveneMeeting(String meetingId, boolean isConvene);
+    int conveneMeeting(String meetingId, boolean isConvene) throws Exception;
 
     /**
      * 推送会议通知
@@ -151,7 +158,7 @@ public interface SHYKService {
      * @param userId
      * @param userName
      */
-    void sendMeetingNotify(String meetingId, String userId, String userName);
+    void sendMeetingNotify(String meetingId, String userId, String userName) throws Exception;
 
     /**
      * 批量审核会议
@@ -186,7 +193,7 @@ public interface SHYKService {
      * @param userName
      * @return
      */
-    int cancelMeeting(String meetingId, String userId, String userName);
+    int cancelMeeting(String meetingId, String userId, String userName) throws Exception;
 
     /**
      * 推送补学补课通知
@@ -194,7 +201,7 @@ public interface SHYKService {
      * @param userId
      * @param userName
      */
-    void sendMeetingStudyNotify(String meetingId, String userId, String userName);
+    void sendMeetingStudyNotify(String meetingId, String userId, String userName) throws Exception;
 
     /**
      * 录入补学补课情况

+ 79 - 81
src/main/java/com/ghsc/partybuild/service/impl/SHYKServiceImpl.java

@@ -1,5 +1,9 @@
 package com.ghsc.partybuild.service.impl;
 
+import com.ghsc.partybuild.vo.AssetinfoVo;
+import com.ghsc.partybuild.vo.shyk.MeetingDemocracyReviewVo;
+import com.ghsc.partybuild.vo.shyk.MeetingTypeVo;
+import com.ghsc.partybuild.vo.shyk.ShykMeetingVo;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.ghsc.partybuild.AppConfig;
@@ -76,6 +80,12 @@ public class SHYKServiceImpl implements SHYKService {
     @Autowired
     private ShykMbYtmbMapper shykMbYtmbMapper;
 
+    @Autowired
+    private ShykMeetingDemocracyreviewMapper shykMeetingDemocracyreviewMapper;
+
+    @Autowired
+    private ShykMeetingTypeMapper shykMeetingTypeMapper;
+
 
     /**
      * @param page
@@ -96,28 +106,15 @@ public class SHYKServiceImpl implements SHYKService {
      */
     @Override
     public PageInfo<HashMap<String, Object>> getMeetingList(int page, int rows, String partyCode, String meetingName, String meetingAddress, String beginTime, String endTime, Integer shykStatus, List<Integer> shykType,
-                                                            String userId, Integer myMeeting, String day,String ssdzzdm) {
-        List<CfDictionary> dicShykType = dictionaryService.getDictionaryListByDicTypeKey("shykType");
+                                                            String userId, Integer myMeeting, String day, String ssdzzdm) {
         List<CfDictionary> dicShykStatus = dictionaryService.getDictionaryListByDicTypeKey("shykStatus");
         List<CfDictionary> dicMeetingApproveStatus = dictionaryService.getDictionaryListByDicTypeKey("meetingApproveStatus");
         List<CfDictionary> dicDecisionstatus = dictionaryService.getDictionaryListByDicTypeKey("decisionstatus");
 
-        //PageHelper.startPage(page, rows);
-        List<HashMap<String, Object>> list = shykcQuery.selectMeetingList(partyCode, meetingName, meetingAddress, beginTime, endTime, shykStatus, shykType, userId, myMeeting, day, page, rows,ssdzzdm);
-
-        long allCount = shykcQuery.selectMeetingListAllCount(partyCode, meetingName, meetingAddress, beginTime, endTime, shykStatus, shykType, userId, myMeeting, day,ssdzzdm);
-
-        List<String> dwIdList = list.stream().filter(it -> it.get("DWDZZDM") != null).map(it -> it.get("DWDZZDM").toString()).distinct().collect(Collectors.toList());
-
-        List<HashMap<String, Object>> dwList = new ArrayList<>();
-        if (dwIdList.size() > 0) {
-            dwList = partyCquery.selectPartyByDzzdm(dwIdList);
-        }
+        PageHelper.startPage(page, rows);
+        List<HashMap<String, Object>> list = shykcQuery.selectMeetingList(partyCode, meetingName, meetingAddress, beginTime, endTime, shykStatus, shykType, userId, myMeeting, day, page, rows, ssdzzdm);
 
         for (HashMap<String, Object> item : list) {
-            if (item.get("SHYKTYPE") != null) {
-                item.put("SHYKTYPENAME", dictionaryService.getDicByKey(Integer.parseInt(item.get("SHYKTYPE").toString()), dicShykType).getDicvalue());
-            }
             if (item.get("SHYKSTATUS") != null) {
                 item.put("SHYKSTATUSNAME", dictionaryService.getDicByKey(Integer.parseInt(item.get("SHYKSTATUS").toString()), dicShykStatus).getDicvalue());
             }
@@ -127,19 +124,9 @@ public class SHYKServiceImpl implements SHYKService {
             if (item.get("DECISIONSTATUS") != null) {
                 item.put("DECISIONSTATUSNAME", dictionaryService.getDicByKey(Integer.parseInt(item.get("DECISIONSTATUS").toString()), dicDecisionstatus).getDicvalue());
             }
-
-            if (item.get("DWDZZDM") != null) {
-                List<HashMap<String, Object>> dwInfos = dwList.stream().filter(it -> it.get("DZZDM").toString().equals(item.get("DWDZZDM").toString())).collect(Collectors.toList());
-
-                if (dwInfos.size() > 0) {
-                    item.put("DWNAME", dwInfos.get(0).get("DZZMC"));
-                }
-            }
-
         }
 
         PageInfo<HashMap<String, Object>> result = new PageInfo(list);
-        result.setTotal(allCount);
 
         return result;
     }
@@ -184,6 +171,16 @@ public class SHYKServiceImpl implements SHYKService {
         return result;
     }
 
+    @Override
+    public List<MeetingDemocracyReviewVo> getMeetingDemocracyReviewList(String meetingId){
+        return shykcQuery.selectMeetingDemocracyReviewList(meetingId);
+    }
+
+    @Override
+    public List<MeetingTypeVo> getMeetingTypeList(String meetingId){
+        return shykcQuery.selectMeetingTypeList(meetingId);
+    }
+
     @Override
     public List<HashMap<String, Object>> getMeetingTopicList(String meetingId) {
         return shykcQuery.selectMeetingTopicList(meetingId);
@@ -209,72 +206,80 @@ public class SHYKServiceImpl implements SHYKService {
     }
 
     @Override
-    public int saveMeeting(ShykMeeting model, List<ShykMeetingtopic> topicList, List<ShykMeetinguser> userList, String userId, String userName) {
+    public int saveMeeting(ShykMeetingWithBLOBs model, List<ShykMeetingtopic> topicList, List<ShykMeetinguser> userList
+            , List<ShykMeetingDemocracyreview> democracyreviewList, List<ShykMeetingTypeKey> typeList
+            , String userId, String userName) throws Exception {
         int result = 0;
-        ShykMeeting dbModel = getMeetingById(model.getMeetingid());
+
+        ShykMeetingWithBLOBs dbModel = getMeetingById(model.getMeetingid());
         if (dbModel == null || (dbModel != null && stringUtils.IsNullOrEmpty(dbModel.getMeetingid()))) {
             model.setCreatetime(new Date());
             model.setCreateuserid(userId);
             model.setCreateusername(userName);
-
-            //同步数据
+            model.setShykstatus(1);
             model.setOperatestate("A");
             model.setOperatetime(new Date());
             model.setSyncstate("N");
 
             result = shykMeetingMapper.insert(model);
         } else {
-            ShykMeetingExample exp = new ShykMeetingExample();
-            ShykMeetingExample.Criteria cri = exp.or();
-            cri.andMeetingidEqualTo(model.getMeetingid());
-            model.setUpdatetime(new Date());
-
-            model.setUpdateuserid(userId);
-            model.setUpdateusername(userName);
-            //同步数据
-            model.setOperatestate("M");
-            model.setOperatetime(new Date());
-            model.setSyncstate("N");
-
-            result = shykMeetingMapper.updateByExampleWithBLOBs(model, exp);
+            dbModel.setMeetingname(model.getMeetingname());
+            dbModel.setPartycode(model.getPartycode());
+            dbModel.setPartyname(model.getPartyname());
+            dbModel.setMeetingaddress(model.getMeetingaddress());
+            dbModel.setChairuser(model.getChairuser());
+            dbModel.setRecorduser(model.getRecorduser());
+            dbModel.setBegintime(model.getBegintime());
+            dbModel.setEndtime(model.getEndtime());
+            dbModel.setIsfirsttopic(model.getIsfirsttopic());
+            dbModel.setTopiccontent(model.getTopiccontent());
+            dbModel.setAttenduser(model.getAttenduser());
+
+            dbModel.setUpdatetime(new Date());
+            dbModel.setUpdateuserid(userId);
+            dbModel.setUpdateusername(userName);
+            dbModel.setOperatestate("M");
+            dbModel.setOperatetime(new Date());
+            dbModel.setSyncstate("N");
+
+            result = shykMeetingMapper.updateByPrimaryKeyWithBLOBs(dbModel);
         }
 
-       /* ShykMeetingtopicExample texp = new ShykMeetingtopicExample();
-        ShykMeetingtopicExample.Criteria tcri = texp.or().andMeetingidEqualTo(model.getMeetingid());
-        shykMeetingtopicMapper.deleteByExample(texp);*/
-
-        shykcQuery.deleteMeetingTopic(model.getMeetingid());
-
-        topicList.forEach(item -> {
+        shykcQuery.deteteMeetingUser(model.getMeetingid());
+        shykcQuery.deteteMeetingDemocracyreview(model.getMeetingid());
+        shykcQuery.deteteMeetingType(model.getMeetingid());
 
+        userList.forEach(item -> {
+            item.setMeetinguserid(UUID.randomUUID().toString());
+            item.setMeetingid(model.getMeetingid());
             //同步数据
             item.setOperatetime(new Date());
             item.setOperatestate("A");
             item.setSyncstate("N");
 
-            shykMeetingtopicMapper.insert(item);
+            shykMeetinguserMapper.insert(item);
         });
 
-       /* ShykMeetinguserExample uexp = new ShykMeetinguserExample();
-        ShykMeetinguserExample.Criteria ucri = uexp.or().andMeetingidEqualTo(model.getMeetingid());
-        shykMeetinguserMapper.deleteByExample(uexp);*/
+        democracyreviewList.forEach(item -> {
+            item.setDemocracyreviewid(UUID.randomUUID().toString());
+            item.setMeetingid(model.getMeetingid());
+            item.setCreatetime(new Date());
+            item.setCreateuserid(userId);
 
-        shykcQuery.deteteMeetingUser(model.getMeetingid());
+            shykMeetingDemocracyreviewMapper.insert(item);
+        });
 
-        userList.forEach(item -> {
-            //同步数据
-            item.setOperatetime(new Date());
-            item.setOperatestate("A");
-            item.setSyncstate("N");
+        typeList.forEach(item -> {
+            item.setMeetingid(model.getMeetingid());
 
-            shykMeetinguserMapper.insert(item);
+            shykMeetingTypeMapper.insert(item);
         });
 
         return result;
     }
 
     @Override
-    public int updateMeeting(ShykMeeting model) {
+    public int updateMeeting(ShykMeetingWithBLOBs model) {
 
         model.setOperatetime(new Date());
         model.setOperatestate("M");
@@ -284,31 +289,24 @@ public class SHYKServiceImpl implements SHYKService {
     }
 
     @Override
-    public ShykMeeting getMeetingById(String id) {
-        ShykMeeting model = shykMeetingMapper.selectByPrimaryKey(id);
+    public ShykMeetingVo getMeetingById(String id) throws Exception {
+        ShykMeetingWithBLOBs model = shykMeetingMapper.selectByPrimaryKey(id);
         if (model != null && !stringUtils.IsNullOrEmpty(model.getPartycode())) {
             model.setPartyname(partyService.getPartyName(model.getPartycode()));
         }
-        return model;
+
+        ShykMeetingVo data = mapUtils.map2Obj(mapUtils.objectToMap(model), ShykMeetingVo.class);
+
+        return data;
     }
 
     @Override
     public int deleteMeetingById(String meetingId) {
-        /*ShykMeetingtopicExample texp = new ShykMeetingtopicExample();
-        ShykMeetingtopicExample.Criteria tcri = texp.or().andMeetingidEqualTo(meetingId);
-        shykMeetingtopicMapper.deleteByExample(texp);*/
-
-        /*ShykMeetinguserExample uexp = new ShykMeetinguserExample();
-        ShykMeetinguserExample.Criteria ucri = uexp.or().andMeetingidEqualTo(meetingId);
-        shykMeetinguserMapper.deleteByExample(uexp);*/
-
-       /* ShykMeetingdecisionExample dexp = new ShykMeetingdecisionExample();
-        ShykMeetingdecisionExample.Criteria dcri = dexp.or().andMeetingidEqualTo(meetingId);
-        shykMeetingdecisionMapper.deleteByExample(dexp);*/
-
         shykcQuery.deleteMeetingTopic(meetingId);
         shykcQuery.deteteMeetingUser(meetingId);
         shykcQuery.deleteMeetingDecision(meetingId);
+        shykcQuery.deteteMeetingDemocracyreview(meetingId);
+        shykcQuery.deteteMeetingType(meetingId);
 
         return shykcQuery.deleteMeeting(meetingId);
     }
@@ -372,7 +370,7 @@ public class SHYKServiceImpl implements SHYKService {
     }
 
     @Override
-    public int conveneMeeting(String meetingId, boolean isConvene) {
+    public int conveneMeeting(String meetingId, boolean isConvene) throws Exception {
         int count = 0;
 
         ShykMeeting model = getMeetingById(meetingId);
@@ -389,7 +387,7 @@ public class SHYKServiceImpl implements SHYKService {
 
     @Async
     @Override
-    public void sendMeetingNotify(String meetingId, String userId, String userName) {
+    public void sendMeetingNotify(String meetingId, String userId, String userName) throws Exception {
 
         //删除已发送的通知
         messageService.deleteMessageByBusinessId(meetingId, 1);
@@ -471,7 +469,7 @@ public class SHYKServiceImpl implements SHYKService {
     }
 
     @Override
-    public int cancelMeeting(String meetingId, String userId, String userName) {
+    public int cancelMeeting(String meetingId, String userId, String userName) throws Exception {
         int count = 0;
 
         ShykMeeting model = getMeetingById(meetingId);
@@ -523,7 +521,7 @@ public class SHYKServiceImpl implements SHYKService {
 
     @Async
     @Override
-    public void sendMeetingStudyNotify(String meetingId, String userId, String userName) {
+    public void sendMeetingStudyNotify(String meetingId, String userId, String userName) throws Exception {
 
         //删除已发送的通知
         messageService.deleteMessageByBusinessId(meetingId, 2);

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

@@ -0,0 +1,12 @@
+package com.ghsc.partybuild.vo.shyk;
+
+import com.ghsc.partybuild.model.ShykMeetingDemocracyreview;
+import lombok.Data;
+
+@Data
+public class MeetingDemocracyReviewVo extends ShykMeetingDemocracyreview {
+    public String userName;
+    public String partyCode;
+    public String partyName;
+    public String democracyReviewResultTypeName;
+}

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

@@ -0,0 +1,9 @@
+package com.ghsc.partybuild.vo.shyk;
+
+import com.ghsc.partybuild.model.ShykMeetingTypeKey;
+import lombok.Data;
+
+@Data
+public class MeetingTypeVo extends ShykMeetingTypeKey {
+    public String shykTypeName;
+}

+ 13 - 0
src/main/java/com/ghsc/partybuild/vo/shyk/ShykMeetingVo.java

@@ -0,0 +1,13 @@
+package com.ghsc.partybuild.vo.shyk;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ghsc.partybuild.model.ShykMeetingWithBLOBs;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class ShykMeetingVo extends ShykMeetingWithBLOBs {
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
+    public Date begintime;
+}

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

@@ -263,8 +263,9 @@
           <table schema="" tableName="us_party_month"></table>
         <table schema="" tableName="pf_partylifemeeting"></table>
         <table schema="" tableName="pf_partylifemeeting_personnel"></table>
-
+        <table schema="" tableName="SHYK_Meeting_Type"></table>
+        <table schema="" tableName="SHYK_Meeting_DemocracyReview"></table>
         -->
-        <table schema="" tableName="TEST_ONLINETEST"></table>
+
     </context>
 </generatorConfiguration>

+ 53 - 29
src/main/resources/mapping/SHYKCQuery.xml

@@ -3,8 +3,6 @@
 <mapper namespace="com.ghsc.partybuild.mapper.SHYKCQuery">
 
     <select id="selectMeetingList" resultType="java.util.HashMap">
-        select * from (
-        select m1.*,@ROWNUM:=@ROWNUM + 1 AS ROWNO from (
         SELECT m.MEETINGID,
         m.MEETINGNAME,
         m.SHYKTYPE,
@@ -28,18 +26,33 @@
         m.DECISIONSTATUS,-- 决议填写状态 0保存中,1已提交
         m.ISUPLOADIMG, -- 是否上传会议图片 0未上传,1已上传
         m.MEETINGRECORDSTATE,-- 会议填写状态 0保存中,1已提交
-        ROUND((ENDTIME - BEGINTIME) * 24,2) as MEETINGTIME, -- 会议时长(小时)
-        (case
-        when begintime <![CDATA[ > ]]> sysdate() then 1 else 2 end ) as STATUS, -- 1会议未开始,2会议已开始
-        (sysdate()-endtime) as ENDLONGTIME, -- 会议结束时长
         SUBSTR(m.PARTYCODE,1,12) as DWDZZDM,
         dw.DZZMC as DWMC
+        , m.isFirstTopic
+        , m.topicContent
+        , st.shykTypes
+        , st.shykTypeNames
         FROM SHYK_MEETING m
         inner join ZZ_ZZQKXX z on m.partycode=z.dzzdm
         inner join ZZ_ZZQKXX dw on SUBSTR(m.partycode,1,12)=dw.DZZDM
-        where m.OPERATESTATE in ('A','M') and m.SHYKSTATUS <![CDATA[ <> ]]> 2
+        left join (
+            select t.meetingId
+                 , GROUP_CONCAT(shykType order by shykType SEPARATOR ', ') as shykTypes
+                 , GROUP_CONCAT(dic.DICVALUE order by shykType SEPARATOR ', ') as shykTypeNames
+                   from SHYK_Meeting_Type t
+                   inner join cf_dictionary dic on t.shykType = dic.DICKEY and dic.DICTYPEKEY = 'shykType'
+                   where 1=1
+                   <if test="shykType != null and shykType.size()>0">
+                       and shykType in
+                       <foreach collection="shykType" item="shyktype" index="index" open="(" close=")" separator=",">
+                           #{shyktype}
+                       </foreach>
+                   </if>
+            group by meetingId
+        ) st on m.meetingId = st.meetingId
+        where 1=1 and m.OPERATESTATE in ('A','M')
         <if test="partyCode != null and partyCode != ''">
-            and m.partyCode like concat('%',#{partyCode},'%')
+            and m.partyCode like concat('',#{partyCode},'%')
         </if>
         <if test="meetingName != null and meetingName != ''">
             and m.meetingName like concat('%',#{meetingName},'%')
@@ -56,30 +69,10 @@
         <if test="endTime != null and endTime != '' ">
             and m.beginTime <![CDATA[ < ]]> date_add(date_format(#{endTime},'%Y%m%d'),interval 1 day)
         </if>
-        <if test="day != null and day != '' ">
-
-        </if>
-        <if test="shykType != null and shykType.size()>0">
-            and m.shykType in
-            <foreach collection="shykType" item="shyktype" index="index" open="(" close=")" separator=",">
-                #{shyktype}
-            </foreach>
-        </if>
         <if test="ssdzzdm != null and ssdzzdm != ''">
             and m.partyCode = #{ssdzzdm}
         </if>
-        order by BEGINTIME desc
-        ) m1,(select @ROWNUM:=0) t1 where 1=1
-        <if test="page >0 and rows >0">
-            <bind name="erow" value="page * rows"></bind>
-            and @ROWNUM <![CDATA[ <= ]]> #{erow}
-        </if>
-        ) t
-        where 1=1
-        <if test="page >0 and rows >0">
-            <bind name="brow" value="(page-1)* rows"></bind>
-            and t.ROWNO <![CDATA[ > ]]>  #{brow}
-        </if>
+        order by m.BEGINTIME desc
 
     </select>
 
@@ -148,6 +141,27 @@
         and mu.OPERATESTATE <![CDATA[ <> ]]> 'D'
         order by mu.PARTYCODE,mu.USERCODE
     </select>
+    
+    <select id="selectMeetingDemocracyReviewList" resultType="com.ghsc.partybuild.vo.shyk.MeetingDemocracyReviewVo">
+        select mdr.democracyreviewid ,mdr.meetingid,mdr.usercode,mdr.startdate,mdr.enddate,mdr.democracyreviewresulttype
+        ,mdr.createtime,mdr.createuserid,mdr.updatetime,mdr.updateuserid
+        ,p.dzzdm as partyCode,p.dzzmc as partyName,us.xm as userName
+        ,dic.DICVALUE as democracyReviewResultTypeName
+        from SHYK_Meeting_DemocracyReview mdr
+        inner join vm_ryjbxx us on mdr.userCode = us.rybm
+        inner join zz_zzqkxx p on us.SZDZBDM = p.dzzdm
+        inner join cf_dictionary dic on dic.DICKEY = mdr.democracyreviewresulttype and dic.DICTYPEKEY='DemocracyReviewResultType'
+        where mdr.meetingId = #{meetingId}
+        order by p.dzzdm,CONVERT(us.XM USING gbk)
+    </select>
+
+    <select id="selectMeetingTypeList" resultType="com.ghsc.partybuild.vo.shyk.MeetingTypeVo">
+        select mt.meetingid,mt.shyktype,dic.DICVALUE as shykTypeName
+        from SHYK_Meeting_Type mt
+        inner join cf_dictionary dic on dic.DICKEY = mt.shykType and dic.DICTYPEKEY='shykType'
+        where mt.meetingId = #{meetingId}
+        order by mt.shykType
+    </select>
 
     <select id="selectMeetingTopicList" resultType="java.util.HashMap">
         select * from shyk_meetingtopic
@@ -161,6 +175,16 @@
         and OPERATESTATE <![CDATA[ <> ]]> 'D'
     </update>
 
+    <!--删除会议民主评议成员-->
+    <update id="deteteMeetingDemocracyreview" parameterType="java.lang.String">
+        delete from shyk_meeting_democracyreview where MEETINGID=#{meetingId}
+    </update>
+
+    <!--删除会议民主评议成员-->
+    <update id="deteteMeetingType" parameterType="java.lang.String">
+        delete from shyk_meeting_type where MEETINGID=#{meetingId}
+    </update>
+
     <!--删除会议议题-->
     <update id="deleteMeetingTopic" parameterType="java.lang.String">
         update shyk_meetingtopic set OPERATESTATE='D',OPERATETIME=sysdate(),SYNCSTATE='N' where MEETINGID=#{meetingId}

+ 291 - 0
src/main/resources/mapping/ShykMeetingDemocracyreviewMapper.xml

@@ -0,0 +1,291 @@
+<?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.ShykMeetingDemocracyreviewMapper">
+  <resultMap id="BaseResultMap" type="com.ghsc.partybuild.model.ShykMeetingDemocracyreview">
+    <id column="democracyReviewId" jdbcType="VARCHAR" property="democracyreviewid" />
+    <result column="meetingId" jdbcType="VARCHAR" property="meetingid" />
+    <result column="userCode" jdbcType="VARCHAR" property="usercode" />
+    <result column="startDate" jdbcType="DATE" property="startdate" />
+    <result column="endDate" jdbcType="DATE" property="enddate" />
+    <result column="democracyReviewResultType" jdbcType="INTEGER" property="democracyreviewresulttype" />
+    <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">
+    democracyReviewId, meetingId, userCode, startDate, endDate, democracyReviewResultType, 
+    createTime, createUserId, updateTime, updateUserId
+  </sql>
+  <select id="selectByExample" parameterType="com.ghsc.partybuild.model.ShykMeetingDemocracyreviewExample" resultMap="BaseResultMap">
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from shyk_meeting_democracyreview
+    <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 shyk_meeting_democracyreview
+    where democracyReviewId = #{democracyreviewid,jdbcType=VARCHAR}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    delete from shyk_meeting_democracyreview
+    where democracyReviewId = #{democracyreviewid,jdbcType=VARCHAR}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.ghsc.partybuild.model.ShykMeetingDemocracyreviewExample">
+    delete from shyk_meeting_democracyreview
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.ghsc.partybuild.model.ShykMeetingDemocracyreview">
+    insert into shyk_meeting_democracyreview (democracyReviewId, meetingId, userCode, 
+      startDate, endDate, democracyReviewResultType, 
+      createTime, createUserId, updateTime, 
+      updateUserId)
+    values (#{democracyreviewid,jdbcType=VARCHAR}, #{meetingid,jdbcType=VARCHAR}, #{usercode,jdbcType=VARCHAR}, 
+      #{startdate,jdbcType=DATE}, #{enddate,jdbcType=DATE}, #{democracyreviewresulttype,jdbcType=INTEGER}, 
+      #{createtime,jdbcType=TIMESTAMP}, #{createuserid,jdbcType=VARCHAR}, #{updatetime,jdbcType=TIMESTAMP}, 
+      #{updateuserid,jdbcType=VARCHAR})
+  </insert>
+  <insert id="insertSelective" parameterType="com.ghsc.partybuild.model.ShykMeetingDemocracyreview">
+    insert into shyk_meeting_democracyreview
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="democracyreviewid != null">
+        democracyReviewId,
+      </if>
+      <if test="meetingid != null">
+        meetingId,
+      </if>
+      <if test="usercode != null">
+        userCode,
+      </if>
+      <if test="startdate != null">
+        startDate,
+      </if>
+      <if test="enddate != null">
+        endDate,
+      </if>
+      <if test="democracyreviewresulttype != null">
+        democracyReviewResultType,
+      </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="democracyreviewid != null">
+        #{democracyreviewid,jdbcType=VARCHAR},
+      </if>
+      <if test="meetingid != null">
+        #{meetingid,jdbcType=VARCHAR},
+      </if>
+      <if test="usercode != null">
+        #{usercode,jdbcType=VARCHAR},
+      </if>
+      <if test="startdate != null">
+        #{startdate,jdbcType=DATE},
+      </if>
+      <if test="enddate != null">
+        #{enddate,jdbcType=DATE},
+      </if>
+      <if test="democracyreviewresulttype != null">
+        #{democracyreviewresulttype,jdbcType=INTEGER},
+      </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.ShykMeetingDemocracyreviewExample" resultType="java.lang.Long">
+    select count(*) from shyk_meeting_democracyreview
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    update shyk_meeting_democracyreview
+    <set>
+      <if test="record.democracyreviewid != null">
+        democracyReviewId = #{record.democracyreviewid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.meetingid != null">
+        meetingId = #{record.meetingid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.usercode != null">
+        userCode = #{record.usercode,jdbcType=VARCHAR},
+      </if>
+      <if test="record.startdate != null">
+        startDate = #{record.startdate,jdbcType=DATE},
+      </if>
+      <if test="record.enddate != null">
+        endDate = #{record.enddate,jdbcType=DATE},
+      </if>
+      <if test="record.democracyreviewresulttype != null">
+        democracyReviewResultType = #{record.democracyreviewresulttype,jdbcType=INTEGER},
+      </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 shyk_meeting_democracyreview
+    set democracyReviewId = #{record.democracyreviewid,jdbcType=VARCHAR},
+      meetingId = #{record.meetingid,jdbcType=VARCHAR},
+      userCode = #{record.usercode,jdbcType=VARCHAR},
+      startDate = #{record.startdate,jdbcType=DATE},
+      endDate = #{record.enddate,jdbcType=DATE},
+      democracyReviewResultType = #{record.democracyreviewresulttype,jdbcType=INTEGER},
+      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.ShykMeetingDemocracyreview">
+    update shyk_meeting_democracyreview
+    <set>
+      <if test="meetingid != null">
+        meetingId = #{meetingid,jdbcType=VARCHAR},
+      </if>
+      <if test="usercode != null">
+        userCode = #{usercode,jdbcType=VARCHAR},
+      </if>
+      <if test="startdate != null">
+        startDate = #{startdate,jdbcType=DATE},
+      </if>
+      <if test="enddate != null">
+        endDate = #{enddate,jdbcType=DATE},
+      </if>
+      <if test="democracyreviewresulttype != null">
+        democracyReviewResultType = #{democracyreviewresulttype,jdbcType=INTEGER},
+      </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 democracyReviewId = #{democracyreviewid,jdbcType=VARCHAR}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.ghsc.partybuild.model.ShykMeetingDemocracyreview">
+    update shyk_meeting_democracyreview
+    set meetingId = #{meetingid,jdbcType=VARCHAR},
+      userCode = #{usercode,jdbcType=VARCHAR},
+      startDate = #{startdate,jdbcType=DATE},
+      endDate = #{enddate,jdbcType=DATE},
+      democracyReviewResultType = #{democracyreviewresulttype,jdbcType=INTEGER},
+      createTime = #{createtime,jdbcType=TIMESTAMP},
+      createUserId = #{createuserid,jdbcType=VARCHAR},
+      updateTime = #{updatetime,jdbcType=TIMESTAMP},
+      updateUserId = #{updateuserid,jdbcType=VARCHAR}
+    where democracyReviewId = #{democracyreviewid,jdbcType=VARCHAR}
+  </update>
+</mapper>

+ 47 - 13
src/main/resources/mapping/ShykMeetingMapper.xml

@@ -37,9 +37,11 @@
     <result column="OPERATESTATE" jdbcType="VARCHAR" property="operatestate" />
     <result column="SYNCSTATE" jdbcType="VARCHAR" property="syncstate" />
     <result column="ATTENDUSER" jdbcType="VARCHAR" property="attenduser" />
+    <result column="isFirstTopic" jdbcType="BIT" property="isfirsttopic" />
   </resultMap>
-  <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.ghsc.partybuild.model.ShykMeeting">
+  <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.ghsc.partybuild.model.ShykMeetingWithBLOBs">
     <result column="MEETINGBRIEFCONTENT" jdbcType="LONGVARCHAR" property="meetingbriefcontent" />
+    <result column="topicContent" jdbcType="LONGVARCHAR" property="topiccontent" />
   </resultMap>
   <sql id="Example_Where_Clause">
     <where>
@@ -106,10 +108,10 @@
     MEETINGAPPROVEUSERCODE, MEETINGAPPROVEUSERNAME, MEETINGRECORDSTATE, ISUPLOADIMG, 
     ENTERDECISIONTIME, DECISIONTYPE, DECISIONAPPROVECONTENT, DECISIONAPPROVEUSERNAME, 
     DECISIONAPPROVEUSERID, DECISIONAPPROVETIME, DECISIONSTATUS, OPERATETIME, OPERATESTATE, 
-    SYNCSTATE, ATTENDUSER
+    SYNCSTATE, ATTENDUSER, isFirstTopic
   </sql>
   <sql id="Blob_Column_List">
-    MEETINGBRIEFCONTENT
+    MEETINGBRIEFCONTENT, topicContent
   </sql>
   <select id="selectByExampleWithBLOBs" parameterType="com.ghsc.partybuild.model.ShykMeetingExample" resultMap="ResultMapWithBLOBs">
     select
@@ -159,7 +161,7 @@
       <include refid="Example_Where_Clause" />
     </if>
   </delete>
-  <insert id="insert" parameterType="com.ghsc.partybuild.model.ShykMeeting">
+  <insert id="insert" parameterType="com.ghsc.partybuild.model.ShykMeetingWithBLOBs">
     insert into shyk_meeting (MEETINGID, MEETINGNAME, SHYKTYPE, 
       PARTYNAME, PARTYCODE, MEETINGADDRESS, 
       CHAIRUSER, RECORDUSER, BEGINTIME, 
@@ -172,7 +174,8 @@
       DECISIONTYPE, DECISIONAPPROVECONTENT, DECISIONAPPROVEUSERNAME, 
       DECISIONAPPROVEUSERID, DECISIONAPPROVETIME, 
       DECISIONSTATUS, OPERATETIME, OPERATESTATE, 
-      SYNCSTATE, ATTENDUSER, MEETINGBRIEFCONTENT
+      SYNCSTATE, ATTENDUSER, isFirstTopic, 
+      MEETINGBRIEFCONTENT, topicContent
       )
     values (#{meetingid,jdbcType=VARCHAR}, #{meetingname,jdbcType=VARCHAR}, #{shyktype,jdbcType=DECIMAL}, 
       #{partyname,jdbcType=VARCHAR}, #{partycode,jdbcType=VARCHAR}, #{meetingaddress,jdbcType=VARCHAR}, 
@@ -186,10 +189,11 @@
       #{decisiontype,jdbcType=DECIMAL}, #{decisionapprovecontent,jdbcType=VARCHAR}, #{decisionapproveusername,jdbcType=VARCHAR}, 
       #{decisionapproveuserid,jdbcType=VARCHAR}, #{decisionapprovetime,jdbcType=TIMESTAMP}, 
       #{decisionstatus,jdbcType=DECIMAL}, #{operatetime,jdbcType=TIMESTAMP}, #{operatestate,jdbcType=VARCHAR}, 
-      #{syncstate,jdbcType=VARCHAR}, #{attenduser,jdbcType=VARCHAR}, #{meetingbriefcontent,jdbcType=LONGVARCHAR}
+      #{syncstate,jdbcType=VARCHAR}, #{attenduser,jdbcType=VARCHAR}, #{isfirsttopic,jdbcType=BIT}, 
+      #{meetingbriefcontent,jdbcType=LONGVARCHAR}, #{topiccontent,jdbcType=LONGVARCHAR}
       )
   </insert>
-  <insert id="insertSelective" parameterType="com.ghsc.partybuild.model.ShykMeeting">
+  <insert id="insertSelective" parameterType="com.ghsc.partybuild.model.ShykMeetingWithBLOBs">
     insert into shyk_meeting
     <trim prefix="(" suffix=")" suffixOverrides=",">
       <if test="meetingid != null">
@@ -297,9 +301,15 @@
       <if test="attenduser != null">
         ATTENDUSER,
       </if>
+      <if test="isfirsttopic != null">
+        isFirstTopic,
+      </if>
       <if test="meetingbriefcontent != null">
         MEETINGBRIEFCONTENT,
       </if>
+      <if test="topiccontent != null">
+        topicContent,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="meetingid != null">
@@ -407,9 +417,15 @@
       <if test="attenduser != null">
         #{attenduser,jdbcType=VARCHAR},
       </if>
+      <if test="isfirsttopic != null">
+        #{isfirsttopic,jdbcType=BIT},
+      </if>
       <if test="meetingbriefcontent != null">
         #{meetingbriefcontent,jdbcType=LONGVARCHAR},
       </if>
+      <if test="topiccontent != null">
+        #{topiccontent,jdbcType=LONGVARCHAR},
+      </if>
     </trim>
   </insert>
   <select id="countByExample" parameterType="com.ghsc.partybuild.model.ShykMeetingExample" resultType="java.lang.Long">
@@ -526,9 +542,15 @@
       <if test="record.attenduser != null">
         ATTENDUSER = #{record.attenduser,jdbcType=VARCHAR},
       </if>
+      <if test="record.isfirsttopic != null">
+        isFirstTopic = #{record.isfirsttopic,jdbcType=BIT},
+      </if>
       <if test="record.meetingbriefcontent != null">
         MEETINGBRIEFCONTENT = #{record.meetingbriefcontent,jdbcType=LONGVARCHAR},
       </if>
+      <if test="record.topiccontent != null">
+        topicContent = #{record.topiccontent,jdbcType=LONGVARCHAR},
+      </if>
     </set>
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
@@ -571,7 +593,9 @@
       OPERATESTATE = #{record.operatestate,jdbcType=VARCHAR},
       SYNCSTATE = #{record.syncstate,jdbcType=VARCHAR},
       ATTENDUSER = #{record.attenduser,jdbcType=VARCHAR},
-      MEETINGBRIEFCONTENT = #{record.meetingbriefcontent,jdbcType=LONGVARCHAR}
+      isFirstTopic = #{record.isfirsttopic,jdbcType=BIT},
+      MEETINGBRIEFCONTENT = #{record.meetingbriefcontent,jdbcType=LONGVARCHAR},
+      topicContent = #{record.topiccontent,jdbcType=LONGVARCHAR}
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
@@ -612,12 +636,13 @@
       OPERATETIME = #{record.operatetime,jdbcType=TIMESTAMP},
       OPERATESTATE = #{record.operatestate,jdbcType=VARCHAR},
       SYNCSTATE = #{record.syncstate,jdbcType=VARCHAR},
-      ATTENDUSER = #{record.attenduser,jdbcType=VARCHAR}
+      ATTENDUSER = #{record.attenduser,jdbcType=VARCHAR},
+      isFirstTopic = #{record.isfirsttopic,jdbcType=BIT}
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
   </update>
-  <update id="updateByPrimaryKeySelective" parameterType="com.ghsc.partybuild.model.ShykMeeting">
+  <update id="updateByPrimaryKeySelective" parameterType="com.ghsc.partybuild.model.ShykMeetingWithBLOBs">
     update shyk_meeting
     <set>
       <if test="meetingname != null">
@@ -722,13 +747,19 @@
       <if test="attenduser != null">
         ATTENDUSER = #{attenduser,jdbcType=VARCHAR},
       </if>
+      <if test="isfirsttopic != null">
+        isFirstTopic = #{isfirsttopic,jdbcType=BIT},
+      </if>
       <if test="meetingbriefcontent != null">
         MEETINGBRIEFCONTENT = #{meetingbriefcontent,jdbcType=LONGVARCHAR},
       </if>
+      <if test="topiccontent != null">
+        topicContent = #{topiccontent,jdbcType=LONGVARCHAR},
+      </if>
     </set>
     where MEETINGID = #{meetingid,jdbcType=VARCHAR}
   </update>
-  <update id="updateByPrimaryKeyWithBLOBs" parameterType="com.ghsc.partybuild.model.ShykMeeting">
+  <update id="updateByPrimaryKeyWithBLOBs" parameterType="com.ghsc.partybuild.model.ShykMeetingWithBLOBs">
     update shyk_meeting
     set MEETINGNAME = #{meetingname,jdbcType=VARCHAR},
       SHYKTYPE = #{shyktype,jdbcType=DECIMAL},
@@ -764,7 +795,9 @@
       OPERATESTATE = #{operatestate,jdbcType=VARCHAR},
       SYNCSTATE = #{syncstate,jdbcType=VARCHAR},
       ATTENDUSER = #{attenduser,jdbcType=VARCHAR},
-      MEETINGBRIEFCONTENT = #{meetingbriefcontent,jdbcType=LONGVARCHAR}
+      isFirstTopic = #{isfirsttopic,jdbcType=BIT},
+      MEETINGBRIEFCONTENT = #{meetingbriefcontent,jdbcType=LONGVARCHAR},
+      topicContent = #{topiccontent,jdbcType=LONGVARCHAR}
     where MEETINGID = #{meetingid,jdbcType=VARCHAR}
   </update>
   <update id="updateByPrimaryKey" parameterType="com.ghsc.partybuild.model.ShykMeeting">
@@ -802,7 +835,8 @@
       OPERATETIME = #{operatetime,jdbcType=TIMESTAMP},
       OPERATESTATE = #{operatestate,jdbcType=VARCHAR},
       SYNCSTATE = #{syncstate,jdbcType=VARCHAR},
-      ATTENDUSER = #{attenduser,jdbcType=VARCHAR}
+      ATTENDUSER = #{attenduser,jdbcType=VARCHAR},
+      isFirstTopic = #{isfirsttopic,jdbcType=BIT}
     where MEETINGID = #{meetingid,jdbcType=VARCHAR}
   </update>
 </mapper>

+ 145 - 0
src/main/resources/mapping/ShykMeetingTypeMapper.xml

@@ -0,0 +1,145 @@
+<?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.ShykMeetingTypeMapper">
+  <resultMap id="BaseResultMap" type="com.ghsc.partybuild.model.ShykMeetingTypeKey">
+    <id column="meetingId" jdbcType="VARCHAR" property="meetingid" />
+    <id column="shykType" jdbcType="INTEGER" property="shyktype" />
+  </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">
+    meetingId, shykType
+  </sql>
+  <select id="selectByExample" parameterType="com.ghsc.partybuild.model.ShykMeetingTypeExample" resultMap="BaseResultMap">
+    select
+    <if test="distinct">
+      distinct
+    </if>
+    <include refid="Base_Column_List" />
+    from shyk_meeting_type
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+    <if test="orderByClause != null">
+      order by ${orderByClause}
+    </if>
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="com.ghsc.partybuild.model.ShykMeetingTypeKey">
+    delete from shyk_meeting_type
+    where meetingId = #{meetingid,jdbcType=VARCHAR}
+      and shykType = #{shyktype,jdbcType=INTEGER}
+  </delete>
+  <delete id="deleteByExample" parameterType="com.ghsc.partybuild.model.ShykMeetingTypeExample">
+    delete from shyk_meeting_type
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </delete>
+  <insert id="insert" parameterType="com.ghsc.partybuild.model.ShykMeetingTypeKey">
+    insert into shyk_meeting_type (meetingId, shykType)
+    values (#{meetingid,jdbcType=VARCHAR}, #{shyktype,jdbcType=INTEGER})
+  </insert>
+  <insert id="insertSelective" parameterType="com.ghsc.partybuild.model.ShykMeetingTypeKey">
+    insert into shyk_meeting_type
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="meetingid != null">
+        meetingId,
+      </if>
+      <if test="shyktype != null">
+        shykType,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="meetingid != null">
+        #{meetingid,jdbcType=VARCHAR},
+      </if>
+      <if test="shyktype != null">
+        #{shyktype,jdbcType=INTEGER},
+      </if>
+    </trim>
+  </insert>
+  <select id="countByExample" parameterType="com.ghsc.partybuild.model.ShykMeetingTypeExample" resultType="java.lang.Long">
+    select count(*) from shyk_meeting_type
+    <if test="_parameter != null">
+      <include refid="Example_Where_Clause" />
+    </if>
+  </select>
+  <update id="updateByExampleSelective" parameterType="map">
+    update shyk_meeting_type
+    <set>
+      <if test="record.meetingid != null">
+        meetingId = #{record.meetingid,jdbcType=VARCHAR},
+      </if>
+      <if test="record.shyktype != null">
+        shykType = #{record.shyktype,jdbcType=INTEGER},
+      </if>
+    </set>
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+  <update id="updateByExample" parameterType="map">
+    update shyk_meeting_type
+    set meetingId = #{record.meetingid,jdbcType=VARCHAR},
+      shykType = #{record.shyktype,jdbcType=INTEGER}
+    <if test="_parameter != null">
+      <include refid="Update_By_Example_Where_Clause" />
+    </if>
+  </update>
+</mapper>

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

@@ -538,50 +538,6 @@
                     return $ocLazyLoad.load(['shyk/mbgl/hyjy/edit.js?' + window.sysVersion]);
                 }]
             }
-        }).state("home.shykIndex1", {
-            url: "shykIndex1?begintime&endtime&dzzdm&dzzmc",
-            params: {"type": 1},
-            templateUrl: "shyk/index.html?" + window.sysVersion,
-            controller: "shykIndexCtrl",
-            resolve: {
-                load: ['$ocLazyLoad', function ($ocLazyLoad) {
-
-                    return $ocLazyLoad.load(['shyk/index.js?' + window.sysVersion]);
-                }]
-            }
-        }).state("home.shykIndex2", {
-            url: "shykIndex2?begintime&endtime&dzzdm&dzzmc",
-            params: {"type": 2},
-            templateUrl: "shyk/index.html?" + window.sysVersion,
-            controller: "shykIndexCtrl",
-            resolve: {
-                load: ['$ocLazyLoad', function ($ocLazyLoad) {
-
-                    return $ocLazyLoad.load(['shyk/index.js?' + window.sysVersion]);
-                }]
-            }
-        }).state("home.shykIndex3", {
-            url: "shykIndex3?begintime&endtime&dzzdm&dzzmc",
-            params: {"type": 3},
-            templateUrl: "shyk/index.html?" + window.sysVersion,
-            controller: "shykIndexCtrl",
-            resolve: {
-                load: ['$ocLazyLoad', function ($ocLazyLoad) {
-
-                    return $ocLazyLoad.load(['shyk/index.js?' + window.sysVersion]);
-                }]
-            }
-        }).state("home.shykIndex4", {
-            url: "shykIndex4?begintime&endtime&dzzdm&dzzmc",
-            params: {"type": 4},
-            templateUrl: "shyk/index.html?" + window.sysVersion,
-            controller: "shykIndexCtrl",
-            resolve: {
-                load: ['$ocLazyLoad', function ($ocLazyLoad) {
-
-                    return $ocLazyLoad.load(['shyk/index.js?' + window.sysVersion]);
-                }]
-            }
         }).state("home.shykAdd", {
             url: "shykAdd?id&shykType&dzzdm",
             templateUrl: "shyk/edit.html?" + window.sysVersion,

+ 6 - 0
src/main/resources/static/app/main/css/gt_style.css

@@ -685,3 +685,9 @@ td .fm-ct-last {
     width: -moz-calc(100vw - 344px) !important;
     width: -webkit-calc(100vw - 344px) !important;
 }
+
+.has-error .dropdown-toggle {
+    border: 1px solid #F44336 !important;
+    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075) !important;
+    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075) !important;
+}

+ 117 - 102
src/main/resources/static/app/main/shyk/edit.html

@@ -1,14 +1,7 @@
 <style>
-    .mt_topic {
-        display: flex;
-        flex-flow: wrap;
-        padding-top: 15px;
-    }
-
     .select-group .btn:not(.btn-link):not(.btn-circle) {
         border: 1px solid #ddd;
     }
-
 </style>
 <titlemenu></titlemenu>
 <div class="dj-card">
@@ -17,19 +10,20 @@
             <div class="dj-formtable">
                 <table class="dj-table">
                     <tr>
-                        <th>会议类别</th>
-                        <td colspan="3">
-                            <ul class="dj-nav">
+                        <th>会议类别(多选)<span style="color: red;">*</span></th>
+                        <td colspan="3" ng-class="{ 'has-error' : getShykType().length==0 && this.editForm.$submitted}">
+                            <ul class="dj-nav" style="margin: 8px 0px;height: auto;">
                                 <li ng-repeat="it in shyklxList" class="dj-nav-item"
-                                    ng-class="dataModel.shyktype==it.dickey?'dj-nav-selected':''"
-                                    ng-click="dataModel.shyktype=it.dickey">{{it.dicvalue}}
+                                    ng-class="it.selected?'dj-nav-selected':''"
+                                    ng-click="it.selected = !it.selected">{{it.dicvalue}}
                                 </li>
                             </ul>
                         </td>
                     </tr>
                     <tr>
-                        <th>所属{{dataModel.shyktype==3?'党小组':'党支部'}}</th>
-                        <td colspan="3">
+                        <th>所属党支部<span style="color: red;">*</span></th>
+                        <td colspan="3"
+                            ng-class="{ 'has-error' : this.editForm.partyname.$invalid && this.editForm.$submitted}">
                             <div class="input-group input-group-search"
                                  title="选择党组织" ng-click="selectParty()">
                                 <input name="partyname" type="text" ng-model="dataModel.partyname"
@@ -42,59 +36,26 @@
                         </td>
                     </tr>
                     <tr>
-                        <th>题</th>
+                        <th>议题</th>
                         <td colspan="3">
-                            <div class="mt_topic">
-                                <div class="demo-checkbox" ng-repeat="item in topicList"
-                                     style="padding-right: 20px;display: flex;" ng-if="$index!=(topicList.length-1)">
-                                    <input type="checkbox" id="{{pageId}}_md_checkbox_{{$index+1}}"
-                                           class="filled-in chk-col-red"
-                                           ng-checked="item.checked==1"
-                                           ng-click="item.checked==1?item.checked=0:item.checked=1"/>
-                                    <label for="{{pageId}}_md_checkbox_{{$index+1}}"
-                                           style="margin-top: 5px">
-                                        {{item.MBMC}}</label>
-                                </div>
-                            </div>
-
-                            <div class="demo-checkbox" ng-repeat="item in topicList"
-                                 style="padding-right: 20px;display: flex;" ng-if="$index==(topicList.length-1)">
-                                <input type="checkbox" id="{{pageId}}_md_checkbox2_{{$index+1}}"
-                                       class="filled-in chk-col-red"
-                                       ng-checked="item.checked==1"
-                                       ng-click="item.checked==1?item.checked=0:item.checked=1"/>
-                                <label ng-if="dataModel.shyktype!=4"
-                                       for="{{pageId}}_md_checkbox2_{{$index+1}}"
-                                       style="min-width: 75px;margin-top: 5px">其他</label>
-                                <label ng-if="dataModel.shyktype==4"
-                                       for="{{pageId}}_md_checkbox2_{{$index+1}}"
-                                       style="min-width: 100px;margin-top: 5px">会议主题</label>
-                                <div style="width: 100%;padding-top: 5px;">
-                                    <div class="form-group" style="margin-bottom: 15px;">
-                                        <div class="form-line"
-                                             ng-class="{ 'focused error' : this.editForm.qtytmc.$invalid &&  this.editForm.$submitted}">
-                                                <textarea type="text" rows="5" name="qtytmc" ng-model="item.MBMC"
-                                                          class="form-control" ng-required="item.checked==1"
-                                                          placeholder="{{dataModel.shyktype !=4?'输入其他议题':'输入会议主题'}}"></textarea>
-                                        </div>
-                                        <label ng-show="this.editForm.qtytmc.$invalid &&  this.editForm.$submitted"
-                                               class="error">必填.</label>
-                                    </div>
-                                </div>
-
-                            </div>
+                             <textarea type="text" rows="5" name="topiccontent" ng-model="dataModel.topiccontent"
+                                       class="form-control"
+                                       placeholder="输入会议议题"></textarea>
+                            <label ng-show="this.editForm.topiccontent.$invalid &&  this.editForm.$submitted"
+                                   class="error">必填.</label>
                         </td>
                     </tr>
                     <tr>
-                        <th>会议名称</th>
-                        <td colspan="3">
+                        <th>会议名称<span style="color: red;">*</span></th>
+                        <td colspan="3"
+                            ng-class="{ 'has-error' : this.editForm.meetingname.$invalid && this.editForm.$submitted}">
                             <input type="text" name="meetingname" ng-model="dataModel.meetingname"
                                    maxlength="2000"
                                    class="form-control" ng-required="true"/>
                         </td>
                     </tr>
                     <tr>
-                        <th>会议地址</th>
+                        <th>会议地址<span style="color: red;">*</span></th>
                         <td colspan="3">
                             <div class="form-group" style="margin-bottom: 4px;">
                                 <div class="form-line select-group" style="padding-bottom: 1px;">
@@ -105,14 +66,12 @@
                                     </select>
                                 </div>
                                 <div class="form-line" style="width: 97%;margin-top: -29px;z-index: 9;"
-                                     ng-class="{ 'focused error' : this.editForm.meetingaddress.$invalid &&  this.editForm.$submitted}">
+                                     ng-class="{ 'has-error' : this.editForm.meetingaddress.$invalid &&  this.editForm.$submitted}">
                                     <input type="text" name="meetingaddress"
                                            ng-model="dataModel.meetingaddress"
                                            maxlength="2000"
                                            class="form-control" ng-required="true"/>
                                 </div>
-                                <label ng-show="this.editForm.meetingaddress.$invalid &&  this.editForm.$submitted"
-                                       class="error">必填.</label>
                             </div>
                         </td>
                     </tr>
@@ -121,7 +80,7 @@
                         <td>
                             <input type="text" name="chairuser" ng-model="dataModel.chairuser"
                                    maxlength="200"
-                                   class="form-control" ng-required="true"/>
+                                   class="form-control"/>
                         </td>
                         <th>记录人</th>
                         <td>
@@ -131,25 +90,23 @@
                         </td>
                     </tr>
                     <tr>
-                        <th>会议开始时间</th>
-                        <td>
+                        <th>会议开始时间<span style="color: red;">*</span></th>
+                        <td ng-class="{ 'has-error' : this.editForm.begintime.$invalid && this.editForm.$submitted}">
                             <input type="text" name="begintime" ng-model="dataModel.begintime"
                                    class="form-control"
                                    format="yyyy-mm-dd hh:ii"
-
-                                   data-min-view="0" bs-datetimepicker ng-required="true"
-                                   ng-change="setMeetingName()"/>
+                                   data-min-view="0" bs-datetimepicker ng-required="true"/>
+                        </td>
+                        <th>是否第一议题</th>
+                        <td ng-class="{ 'has-error' : this.editForm.isfirsttopic.$invalid && this.editForm.$submitted}">
+                            <select class="form-control show-tick"
+                                    ng-model="dataModel.isfirsttopic"
+                                    ng-options="type.dickey as type.dicvalue for type in boolList"
+                                    class="form-control"
+                                    name="isfirsttopic" ng-required="true">
+                                <option value="" selected>--请选择--</option>
+                            </select>
                         </td>
-                        <!--<th>会议结束时间</th>
-                        <td>
-                            <input type="text" name="endtime" ng-model="dataModel.endtime"
-                                   class="form-control"
-                                   format="yyyy-mm-dd hh:ii"
-                                   data-min-view="0" bs-datetimepicker
-                                   begin-date="{{dataModel.begintime}}"
-                                   data-end-date="{{maxDate}}"
-                                   ng-required="true"/>
-                        </td>-->
                     </tr>
                     <tr>
                         <th>列席人员</th>
@@ -188,46 +145,39 @@
 
                             <button type="button" class="btn btn-primary dropdown-toggle"
                                     data-dataoptions="selectUserlist" title="选择成员"
-                                    ng-click="selectUser()"
                                     bsselectdata-pro>
                                 选择成员
                             </button>
-                            <!--<button type="button" class="btn btn-primary dropdown-toggle"
-                                    ng-click="addTempUser()">
-                                邀请人员
-                            </button>-->
                         </div>
                     </div>
                     <div class="outoflow" style="max-height: 300px;">
-                        <table class="table table-bordered table-striped table-hover js-basic-example dataTable text-nowrap">
+                        <table class="gt-table gt-table-bordered">
                             <thead>
                             <tr>
-                                <th>序号</th>
+                                <th class="th-rownum">序号</th>
                                 <th>党员姓名</th>
                                 <th>所在组织机构</th>
                                 <th>性别</th>
                                 <th>是否参加</th>
                                 <th>不参加原因</th>
-                                <th>操作</th>
+                                <th style="width: 150px;">操作</th>
                             </tr>
                             </thead>
                             <tbody>
                             <tr ng-repeat="it in userList">
-                                <th scope="row">{{$index+1}}</th>
-                                <th>{{it.XM}}</th>
+                                <th class="text-center" scope="row">{{$index + 1}}</th>
+                                <th class="text-center">{{it.XM}}</th>
                                 <th>{{it.DZZMC}}</th>
-                                <th>{{it.XBMC}}</th>
-                                <th>{{it.SIGNINSTATUS==2?"参加":"未参加"}}</th>
+                                <th class="text-center">{{it.XBMC}}</th>
+                                <th class="text-center">{{it.SIGNINSTATUS == 2 ? "参加" : "未参加"}}</th>
                                 <th>{{it.USERREMARK}}</th>
                                 <th class="text-center">
-                                    <button role-permission-code="shykMeetingShow.btnSignin"
-                                            ng-if="it.SIGNINSTATUS==3"
+                                    <button ng-if="it.SIGNINSTATUS==3"
                                             class="btn td-btn bg-pink waves-effect"
                                             ng-click="signin(it,2,'')" title="参加">
                                         参加
                                     </button>
-                                    <button role-permission-code="shykMeetingShow.btnNoSignin"
-                                            ng-if="it.SIGNINSTATUS==2"
+                                    <button ng-if="it.SIGNINSTATUS==2"
                                             class="btn td-btn bg-pink waves-effect"
                                             title="未参加"
                                             ng-click="resetRemark(it)"
@@ -248,17 +198,82 @@
                     </div>
                 </div>
             </div>
-            <div class="form_foot">
+            <div class="dj-formtable" ng-if="isEditDemocracyReview()">
+                <div class="table-responsive list-table-panel">
+                    <div class="list-table-title">
+                        <div class="table-title">
+                            民主评议党员名单({{democracyReviewList.length}}人)
+                        </div>
+                        <div class="table-tool">
+                            <button type="button" class="btn btn-primary dropdown-toggle"
+                                    data-dataoptions="selectDemocracyReviewUserlist" title="选择成员"
+                                    bsselectdata-pro>
+                                选择成员
+                            </button>
+                        </div>
+                    </div>
+                    <div class="outoflow" style="max-height: 300px;">
+                        <table class="gt-table gt-table-bordered">
+                            <thead>
+                            <tr>
+                                <th class="th-rownum">序号</th>
+                                <th>所属党组织</th>
+                                <th style="width:150px;">姓名</th>
+                                <th style="width:150px;">开展评议日期</th>
+                                <th style="width:150px;">结束评议日期</th>
+                                <th style="width:150px;">评议结果</th>
+                                <th style="width:150px;">操作</th>
+                            </tr>
+                            </thead>
+                            <tbody>
+                            <tr ng-repeat="it in democracyReviewList">
+                                <th class="text-center" scope="row">{{$index + 1}}</th>
+                                <th>{{it.partyName}}</th>
+                                <th class="text-center">{{it.userName}}</th>
+                                <th ng-class="{ 'has-error' : invalidFee($index,editForm,'startdate') &&  this.editForm.$submitted}">
+                                    <input name="startdate_{{$index}}" class="form-control"
+                                           autocomplete="off"
+                                           autoclose="true"
+                                           data-date-format="yyyy-MM-dd" data-date-type="date"
+                                           ng-model="it.startdate"
+                                           ng-required="true"
+                                           placeholder="" bs-datepicker>
+                                </th>
+                                <th ng-class="{ 'has-error' : invalidFee($index,editForm,'enddate') &&  this.editForm.$submitted}">
+                                    <input name="enddate_{{$index}}" class="form-control"
+                                           autocomplete="off"
+                                           autoclose="true"
+                                           data-date-format="yyyy-MM-dd" data-date-type="date"
+                                           ng-model="it.enddate"
+                                           ng-required="true"
+                                           placeholder="" bs-datepicker>
+                                </th>
+                                <th ng-class="{ 'has-error' : invalidFee($index,editForm,'democracyreviewresulttype') &&  this.editForm.$submitted}">
+                                    <select class="form-control show-tick"
+                                            ng-model="it.democracyreviewresulttype"
+                                            ng-options="type.dickey as type.dicvalue for type in democracyReviewResultTypeList"
+                                            class="form-control"
+                                            name="democracyreviewresulttype_{{$index}}" ng-required="true">
+                                        <option value="" selected>--请选择--</option>
+                                    </select>
+                                </th>
+                                <th class="text-center">
+                                    <button class="btn td-btn bg-pink waves-effect"
+                                            ng-click="deleteDemocracyReview($index)" title="删除">
+                                        删除
+                                    </button>
+                                </th>
+                            </tr>
+                            <tr ng-if="userList.length<=0">
+                                <td colspan="7" style="text-align:center">暂无数据</td>
+                            </tr>
+                            </tbody>
+                        </table>
+                    </div>
+                </div>
+            </div>
+            <div class="form_foot" style="margin-bottom: 100px;">
                 <button type="button" class="btn btn-default" ng-click="pagechange();">取消</button>
-                <!--<button ng-if="dataModel.shykstatus==null || dataModel.shykstatus == 0"
-                        role-permission-code="shykMeetingAdd.upReport" type="submit"
-                        class="btn btn-primary"
-                        ng-click="submitData(this.editForm.$valid,0,false)">提交党委报备
-                </button>-->
-                <!--<button ng-if="dataModel.shykstatus==1" role-permission-code="shykMeetingAdd.btnSave" type="submit"
-                        class="btn btn-primary"
-                        ng-click="submitData(this.editForm.$valid,dataModel.shykstatus,false)">更新不推送会议通知
-                </button>-->
                 <button type="submit"
                         class="btn btn-primary"
                         ng-click="submitData(this.editForm.$valid,1,true)">提交

+ 235 - 300
src/main/resources/static/app/main/shyk/edit.js

@@ -5,16 +5,12 @@
         $stateParams = $bsRouterState.$params($scope);
 
         $scope.maxDate = moment(new Date()).format("YYYY-MM-DD 23:59:59");
-        //$scope.pageId = "shykEdit" + $state.params.type;
         $scope.pageId = "shykEdit";
-        //$scope.getUserUrl = ["../../api/partyUser/getLeaderUserList", "../../api/partyUser/getPartyUserList"];
-        $scope.getUserUrl = ["../../api/partyUser/getPartyUserList", "../../api/partyUser/getPartyUserList"];
+        $scope.loginUserId = AuthUser.getUser().Id;
+        $scope.democracyReviewType = 7;//民主评议党员
+        $scope.selectUserUrl = '../../api/partyUser/getPartyUserList';//获取成员接口地址
 
         //定义数据集合
-        $scope.loginUserId = AuthUser.getUser().Id;
-        $scope.shyklxList = [];//三会一课类型
-        $scope.topicList = [];//议题
-        $scope.userList = [];//会议成员
         $scope.dataModel = {
             meetingid: $stateParams.id == undefined ? "" : $stateParams.id,
             shyktype: $stateParams.shykType,
@@ -22,13 +18,32 @@
             partycode: $stateParams.dzzdm,
             partyname: ''
         };
-        $scope.extdata = {
-            zzlb: '',//用户所在党组织类别
-            shykTypeName: ''
-        };
+        $scope.shyklxList = [];//三会一课类型字典
+        $scope.topicList = [];//议题
+        $scope.userList = [];//会议成员
         $scope.historyAddressList = [];
-        //获取成员接口地址
-        $scope.selectUserUrl = $scope.dataModel.shyktype == 2 ? $scope.getUserUrl[0] : $scope.getUserUrl[1];
+        $scope.democracyReviewList = [];
+        $scope.meetingTypeList = [];
+        $scope.boolList = [];
+        $scope.democracyReviewResultTypeList = [];
+        $scope.imgConfig1 = {
+            filerefid: $scope.dataModel.meetingid,
+            filetypeid: 1,
+            readonly: false,
+            ismulti: true,
+            height: 150,
+            width: 180,
+            imgList: []
+        };
+        $scope.imgConfig2 = {
+            filerefid: $scope.dataModel.meetingid,
+            filetypeid: 2,
+            readonly: false,
+            ismulti: true,
+            height: 150,
+            width: 180,
+            imgList: []
+        };
 
         //选择会议成员
         $scope.selectUserlist = {
@@ -38,44 +53,73 @@
             selectData: {xm: '姓名', szdzb: '所在组织架构'},
             columns: {XM: '姓名', XBMC: '性别', JG: '籍贯', DZZMC: '所在组织架构'},
             selectLabelKey: 'XM',
-            selectValuekey: 'RYJBXXBS',
+            selectValuekey: 'RYBM',
             selectedValueData: '',
             selectedLabeData: '',
             selectedJData: [],
             selectParams: {
                 dzzdm: $scope.dataModel.partycode,
                 removeUsers: '',
-                //szdzbdm: $scope.dataModel.shyktype == 2 ? $scope.dataModel.partycode : '',
                 ryzt: '2,3' //预备党员,正式党员
+            },
+            onSelect: function (value, selecteds) {
+                if (selecteds && selecteds.length > 0) {
+                    selecteds.forEach(val => {
+                        if ($scope.userList.filter(it => it.RYBM == val.RYBM).length == 0) {
+                            $scope.userList.push({
+                                RYBM: val.RYBM,
+                                XM: val.XM,
+                                SZDZBDM: val.SZDZBDM,
+                                DZZMC: val.DZZMC,
+                                SIGNINSTATUS: 2,
+                                USERREMARK: null
+                            });
+                        }
+                    });
+
+                    $scope.selectUserlist.selectedJData = [];
+                    $scope.selectUserlist.selectedLabeData = '';
+                    $scope.selectUserlist.selectedValueData = '';
+                }
             }
         };
-        $scope.$watch('selectUserlist.selectedValueData', function (newVal) {
-            if (newVal != '' && newVal != undefined) {
-                $http({
-                    method: 'get',
-                    url: '../../api/partyUser/getPartyUserList',
-                    params: {
-                        userIds: newVal,
-                        pageindex: 1,
-                        pagesize: 10000
-                    }
-                }).then(function (result) {
-                    $loading.hide();
-                    result.data.item.list.forEach(item => {
-                        item.SIGNINSTATUS = 2;
+
+        //选择民主评议成员
+        $scope.selectDemocracyReviewUserlist = {
+            url: $scope.selectUserUrl,
+            title: '人员选择',
+            isMulti: true,
+            selectData: {xm: '姓名', szdzb: '所在组织架构'},
+            columns: {XM: '姓名', XBMC: '性别', JG: '籍贯', DZZMC: '所在组织架构'},
+            selectLabelKey: 'XM',
+            selectValuekey: 'RYBM',
+            selectedValueData: '',
+            selectedLabeData: '',
+            selectedJData: [],
+            selectParams: {
+                dzzdm: $scope.dataModel.partycode,
+                removeUsers: '',
+                ryzt: '2,3' //预备党员,正式党员
+            },
+            onSelect: function (value, selecteds) {
+                if (selecteds && selecteds.length > 0) {
+                    selecteds.forEach(val => {
+                        if ($scope.democracyReviewList.filter(it => it.usercode == val.RYBM).length == 0) {
+                            $scope.democracyReviewList.push({
+                                usercode: val.RYBM,
+                                userName: val.XM,
+                                partyCode: val.SZDZBDM,
+                                partyName: val.DZZMC
+                            });
+                        }
                     });
-                    $scope.userList = $scope.userList.concat(result.data.item.list);
-                    $scope.selectUserlist.selectedValueData = "";
-                    $scope.selectUserlist.selectedLabeData = "";
-                }, function (resp) {
-                    $loading.hide();
-                    $scope.showMsg('错误', '服务器错误');
-                });
+
+                    $scope.selectDemocracyReviewUserlist.selectedJData = [];
+                    $scope.selectDemocracyReviewUserlist.selectedLabeData = '';
+                    $scope.selectDemocracyReviewUserlist.selectedValueData = '';
+                }
             }
-        });
-        $scope.$watch('userList', function (newVal) {
-            $scope.setRemoveUser();
-        }, true);
+        };
 
         //选择党支部
         $scope.partyTreeConfig = {
@@ -96,246 +140,85 @@
                 $scope.dataModel.partyname = $scope.partyTreeConfig.selectedText;
                 $scope.selectUserlist.selectParams.dzzdm = $scope.dataModel.partycode;
 
-                $scope.setMeetingName();
-                $scope.getUserList();
+                $scope.defaultUser();
             }
         }, true);
 
-        $scope.$watch('dataModel.shyktype', function (newVal) {
-            if (newVal != '' && newVal != undefined) {
-                var getuserUrl = "";
-                switch (newVal) {
-                    case 1:
-                        getuserUrl = $scope.getUserUrl[1];
-                        $scope.extdata.shykTypeName = "党员大会";
-                        break;
-                    case 2:
-                        getuserUrl = $scope.getUserUrl[0];
-                        //$scope.selectUserlist.selectParams.szdzbdm = $scope.dataModel.partycode;
-                        $scope.extdata.shykTypeName = "支委会";
-                        break;
-                    case 3:
-                        getuserUrl = $scope.getUserUrl[1];
-                        $scope.extdata.shykTypeName = "党小组会";
-                        break;
-                    case 4:
-                        getuserUrl = $scope.getUserUrl[1];
-                        $scope.extdata.shykTypeName = "党课";
-                        break;
-                }
-                $scope.selectUserUrl = getuserUrl;
-                $scope.selectUserlist.url = getuserUrl;
-
-                $scope.setMeetingName();
-                $scope.getUserList();
-                $scope.getMeetingTopicList();
+        //保存,isflag:表单验证结果
+        $scope.submitData = function (isflag) {
+            if (!isflag) {
+                $scope.showMsg('提示', '请填写相关信息');
+                return false;
             }
-        });
-
-        $scope.setMeetingName = function () {
-            var meetingDate = $scope.dataModel.begintime || new Date();
-            $scope.dataModel.meetingname = "【" + $scope.extdata.shykTypeName + "】" + ($scope.dataModel.partyname != null ? $scope.dataModel.partyname : "") + "[" + moment(meetingDate).format("YYYYMM") + "]";
-        };
-
-        $scope.imgConfig1 = {
-            filerefid: $scope.dataModel.meetingid,
-            filetypeid: 1,
-            readonly: false,
-            ismulti: true,
-            height: 150,
-            width: 180,
-            imgList: []
-        };
-        $scope.imgConfig2 = {
-            filerefid: $scope.dataModel.meetingid,
-            filetypeid: 2,
-            readonly: false,
-            ismulti: true,
-            height: 150,
-            width: 180,
-            imgList: []
-        };
 
-        //加载数据
-        $scope.loadData = function () {
-            $http.get("../../api/shyk/getMeetingById", {
-                params: {
-                    'id': $scope.dataModel.meetingid,
-                    'dzzdm': $scope.dataModel.partycode,
-                    'shyktype': $scope.dataModel.shyktype
-                }
-            }).then(function (result) {
-                if (!result.data.success) {
-                    $scope.showMsg('错误', result.data.extdata.message);
-                    return false;
+            const ulist = $.map($scope.userList, function (item) {
+                return {
+                    rybm: item.RYBM,
+                    xm: item.XM,
+                    szdzbdm: item.SZDZBDM,
+                    dzzmc: item.DZZMC,
+                    signinstatus: item.SIGNINSTATUS,
+                    userremark: item.USERREMARK
                 }
+            });
 
-                $scope.dataModel = result.data.item;
-                $scope.selectUserlist.selectParams.dzzdm = $scope.dataModel.partycode;
-                if ($scope.dataModel.begintime != '' && $scope.dataModel.begintime != null) {
-                    $scope.dataModel.begintime = $filter('date')($scope.dataModel.begintime, 'yyyy/MM/dd HH:mm');
+            const typeList = $.map($scope.getShykType(), function (item) {
+                return {
+                    shyktype: item.dickey
                 }
-                /*if ($scope.dataModel.endtime != '' && $scope.dataModel.endtime != null) {
-                    $scope.dataModel.endtime = $filter('date')($scope.dataModel.endtime, 'yyyy/MM/dd HH:mm');
-                }*/
-                $scope.extdata = result.data.extdata;
-                $scope.imgConfig1.filerefid = $scope.dataModel.meetingid;
-                $scope.imgConfig2.filerefid = $scope.dataModel.meetingid;
-
-                $scope.getMeetingTopicList();
-                $scope.getUserList();
-                $scope.getHistoryAddressList();
-                //$scope.getShyklxList();
-
-            }, function () {
-                $scope.showMsg('错误', '服务器错误');
             });
-        };
-        //保存
-        //isflag:表单验证结果,shykStatus:下一环节状态,isnotify是否发送通知
-        $scope.submitData = function (isflag, shykStatus, isnotify) {
-            if ($scope.dataModel.shyktype == "" || $scope.dataModel.shyktype == null) {
-                $scope.showMsg('错误', '请选择会议类别');
-                return false;
-            }
-            if ($scope.dataModel.chairuser == "" || $scope.dataModel.chairuser == null) {
-                $scope.showMsg('错误', '请填写主持人');
-                return false;
-            }
-            if ($scope.dataModel.meetingname == "" || $scope.dataModel.meetingname == null) {
-                $scope.showMsg('错误', '请填写会议名称');
-                return false;
-            }
-            if ($scope.dataModel.meetingaddress == "" || $scope.dataModel.meetingaddress == null) {
-                $scope.showMsg('错误', '请填写会议地址');
-                return false;
-            }
-            if ($scope.dataModel.begintime == "" || $scope.dataModel.begintime == null) {
-                $scope.showMsg('错误', '请填写会议开始时间');
+
+            //数据验证
+            if (ulist.length <= 0) {
+                $scope.showMsg('错误', '请选择参加会议成员');
                 return false;
             }
-            /*if ($scope.dataModel.endtime == "" || $scope.dataModel.endtime == null) {
-                $scope.showMsg('错误', '请填写会议结束时间');
-                return false;
-            }*/
-            if (isflag) {
-                //数据处理
-                var newList = $scope.topicList.filter(function (item) {
-                    return item.checked == 1;
-                });
-                var tlist = [], ulist = [];
-                angular.forEach(newList, function (val, key) {
-                    if (val.MBMC != '' && val.MBMC != null) {
-                        tlist.push({mbmc: val.MBMC, id: val.ID});
+
+            //保存
+            if (confirm("确定提交?")) {
+                $loading.show();
+                $http({
+                    method: "post",
+                    url: "../../api/shyk/saveMeeting",
+                    data: {
+                        dataModel: $scope.dataModel,
+                        typeList: JSON.stringify(typeList),
+                        userList: JSON.stringify(ulist),
+                        democracyReviewList: $scope.isEditDemocracyReview() ? JSON.stringify($scope.democracyReviewList) : []
                     }
+                }).then(function (result) {
+                    $loading.hide();
+                    if (result.data.success) {
+                        $scope.showMsg('成功', '提交成功');
+                        //重新刷新列表
+                        $scope.pagechange();
+
+                        $scope.$emit("tabReloadData", {name: 'shykListCtrl', data: 1});
+                    } else {
+                        $scope.showMsg('失败', result.data.msg);
+                    }
+                }, function (resp) {
+                    $loading.hide();
+                    $scope.showMsg('错误', '服务器错误,' + resp.data.message);
                 });
-                angular.forEach($scope.userList, function (val, key) {
-                    ulist.push({rybm: val.RYBM, xm: val.XM, szdzbdm: val.SZDZBDM, dzzmc: val.DZZMC,signinstatus:val.SIGNINSTATUS,userremark:val.USERREMARK});
-                });
-
-                //数据验证
-                if (tlist.length <= 0) {
-                    $scope.showMsg('错误', '请选择会议议题');
-                    return false;
-                }
-                if (ulist.length <= 0) {
-                    $scope.showMsg('错误', '请选择参加会议成员');
-                    return false;
-                }
-                /*if (new Date($scope.dataModel.begintime.replace(/-/g, "/")) >= new Date($scope.dataModel.endtime.replace(/-/g, "/"))) {
-                    $scope.showMsg('错误', '开始时间必须小于结束时间');
-                    return false;
-                }*/
-
-                //保存
-                if (confirm("确定提交?")) {
-                    $loading.show();
-                    //$scope.dataModel.shykstatus = shykStatus; //会议状态
-                    $scope.dataModel.begintime = new Date($scope.dataModel.begintime.replace(/-/g, "/"));
-                    /* $scope.dataModel.endtime = new Date($scope.dataModel.endtime.replace(/-/g, "/"));*/
-                    $http({
-                        method: "post",
-                        url: "../../api/shyk/saveMeeting",
-                        data: {
-                            dataModel: $scope.dataModel,
-                            topicList: JSON.stringify(tlist),
-                            userList: JSON.stringify(ulist),
-                            isnotify: isnotify,
-                            shykstatus: shykStatus
-                        }
-                    }).then(function (result) {
-                        $loading.hide();
-                        if (result.data.success) {
-                            $scope.showMsg('成功', result.data.msg);
-                            //重新刷新列表
-                            $scope.pagechange();
-
-                            $scope.$emit("tabReloadData", {name: 'shykIndexCtrl', data: 1});
-                        } else {
-                            $scope.showMsg('失败', result.data.msg);
-                        }
-                    }, function (resp) {
-                        $loading.hide();
-                        $scope.showMsg('错误', '服务器错误,' + resp.data.message);
-                    });
-                }
-
             }
         };
 
-        //人员操作
-        $scope.deleteUser = function (index) {
-            if (confirm("请确认是否需要移除参会人员!")) {
-                $scope.userList.splice(index, 1);
-            }
+        $scope.getShykType = function () {
+            return $scope.shyklxList.filter(e => e.selected);
         };
-        $scope.selectUser = function () {
 
+        $scope.isEditDemocracyReview = function () {
+            return $scope.getShykType().filter(e => e.dickey === $scope.democracyReviewType).length > 0;
         };
 
-        var tempUserModal = $modal({
-            scope: $scope,
-            controller: 'shykSelectTempUserCtrl',
-            templateUrl: 'shyk/selectTempUser.html',
-            resolve: {
-                load: ['$ocLazyLoad', function ($ocLazyLoad) {
-                    return $ocLazyLoad.load('shyk/selectTempUser.js');
-                }]
-            },
-            show: false,
-            animation: 'am-fade-and-slide-top'
-        });
-
-        $scope.addTempUser = function () {
-            var a = $scope.userList;
-            tempUserModal.$promise.then(tempUserModal.show);
-        };
-
-        $scope.setRemoveUser = function () {
-            $scope.selectUserlist.selectParams.removeUsers = "";
-            angular.forEach($scope.userList, function (val, index) {
-                $scope.selectUserlist.selectParams.removeUsers += val.RYJBXXBS + ','
-            });
-        };
-        $scope.getUserList = function () {
-            if ($scope.dataModel.partycode != "" && $scope.dataModel.partycode != null) {
-                $http
-                ({
-                    method: 'get',
-                    url: '../../api/shyk/getMeetingUserList',
-                    params: {pageindex: 1, pagesize: 10000, meetingId: $scope.dataModel.meetingid}
-                }).then(function (result) {
-                    $scope.userList = result.data.item.list;
-
-                    if ($scope.userList.length <= 0 && $scope.dataModel.shyktype != 2) {
-                        $scope.syncLoadUser();
-                    }
-                });
-            }
+        //人员操作
+        $scope.deleteUser = function (index) {
+            $scope.userList.splice(index, 1);
         };
 
         //默认加载参会成员
-        $scope.syncLoadUser = function () {
+        $scope.defaultUser = function () {
             $scope.userList = [];
             $http({
                 method: 'get',
@@ -359,40 +242,64 @@
 
         $scope.editNoSigninModal = {};
         $scope.resetRemark = function (item) {
-            $scope.editNoSigninModal = {item:item,remark:""};
+            $scope.editNoSigninModal = {item: item, remark: ""};
             $scope.editNoSigninModal.item = item;
         };
-
-        $scope.signin = function (item, state,userremark) {
+        $scope.signin = function (item, state, userremark) {
             item.SIGNINSTATUS = state;
             item.USERREMARK = userremark;
             $('#editNoSignin').modal('hide');
-        }
+        };
+
+        $scope.deleteDemocracyReview = function (index) {
+            $scope.democracyReviewList.splice(index, 1);
+        };
 
         //获取数据
-        $scope.getMeetingTopicList = function () {
-            $http({
-                method: 'get',
-                url: '../../api/shyk/getTopicModelListOfChoose',
+        $scope.loadData = function () {
+            $http.get("../../api/shyk/getMeetingById", {
                 params: {
-                    meetingId: $scope.dataModel.meetingid,
-                    'shykType': $scope.dataModel.shyktype || 1
+                    'id': $scope.dataModel.meetingid,
+                    'dzzdm': $scope.dataModel.partycode,
+                    'shyktype': $scope.dataModel.shyktype
                 }
             }).then(function (result) {
-                $scope.topicList = result.data;
-                angular.forEach($scope.topicList, function (val) {
-                    if (val.MEETINGTOPICID != null && val.MEETINGTOPICID != "") {
-                        val.checked = 1;
-                    }
-                    if ($scope.topicList.length == 1 && $stateParams.shykType == 4 && val.ID == "") {
-                        val.checked = 1;
-                    }
-                });
+                if (!result.data.success) {
+                    $scope.showMsg('错误', result.data.extdata.message);
+                    return false;
+                }
 
-            }, function (resp) {
+                $scope.dataModel = result.data.item;
+                $scope.selectUserlist.selectParams.dzzdm = $scope.dataModel.partycode;
+                $scope.imgConfig1.filerefid = $scope.dataModel.meetingid;
+                $scope.imgConfig2.filerefid = $scope.dataModel.meetingid;
+
+                $scope.getUserList();
+                $scope.getMeetingDemocracyReviewList();
+                $scope.getMeetingTypeList();
+                $scope.getHistoryAddressList();
+                $scope.boolList = [{dickey: true, dicvalue: '是'}, {dickey: false, dicvalue: '否'}];
 
+            }, function () {
+                $scope.showMsg('错误', '服务器错误');
             });
         };
+        $scope.getUserList = function () {
+            if ($scope.dataModel.partycode != "" && $scope.dataModel.partycode != null) {
+                $http
+                ({
+                    method: 'get',
+                    url: '../../api/shyk/getMeetingUserList',
+                    params: {pageindex: 1, pagesize: 10000, meetingId: $scope.dataModel.meetingid}
+                }).then(function (result) {
+                    $scope.userList = result.data.item.list;
+
+                    if ($scope.userList.length === 0) {
+                        $scope.defaultUser();
+                    }
+                });
+            }
+        };
         $scope.getHistoryAddressList = function () {
             $http({
                 method: 'get',
@@ -410,6 +317,32 @@
 
             });
         };
+        $scope.getMeetingDemocracyReviewList = function () {
+            $http({
+                method: 'get',
+                url: '../../api/shyk/getMeetingDemocracyReviewList',
+                params: {
+                    meetingId: $scope.dataModel.meetingid
+                }
+            }).then(function (result) {
+                $scope.democracyReviewList = result.data.item;
+            }, function (resp) {
+            });
+        };
+        $scope.getMeetingTypeList = function () {
+            $http({
+                method: 'get',
+                url: '../../api/shyk/getMeetingTypeList',
+                params: {
+                    meetingId: $scope.dataModel.meetingid
+                }
+            }).then(function (result) {
+                $scope.meetingTypeList = result.data.item;
+
+                $scope.getShyklxList();
+            }, function (resp) {
+            });
+        };
         $scope.getShyklxList = function () {
             $http({
                 method: 'get',
@@ -418,45 +351,47 @@
                     dicTypeKey: 'shykType'
                 }
             }).then(function (result) {
-                /*angular.forEach(result.data, function (val, index) {
-                    //zzlb组织类别为711为党小组,发起党小组会议需判断当前人组织是否在党小组
-                    if ($scope.extdata.zzlb != '711' && val.dickey == 3) {
-                        return;
-                    }
-                    $scope.shyklxList.push(val);
-                });*/
                 $scope.shyklxList = result.data;
 
+                $scope.shyklxList.forEach(e => {
+                    e.selected = $scope.meetingTypeList.filter(mt => mt.shyktype === e.dickey).length > 0;
+                });
             }, function (resp) {
-
             });
         };
-        //初始化数据
-        $scope.getShyklxList();
-        $scope.loadData();
+        $scope.getDemocracyReviewResultTypeList = function () {
+            $http({
+                method: 'get',
+                url: '../../api/dictionary/getDictionaryListByDicTypeKey',
+                params: {dicTypeKey: 'DemocracyReviewResultType'}
+            }).then(function (result) {
+                $scope.democracyReviewResultTypeList = result.data;
+            });
+        };
 
-        //$scope.parentUrl = "home.shykIndex" + $scope.dataModel.shyktype.toString();//父级地址
         $scope.pagechange = function () {
             var inTab = $bsRouterState.$getRouteType() == 'tab';
             if (inTab) {
                 $bsRouterState.$closeTab($scope);
             } else {
-                //$bsRouterState.go($scope.parentUrl);
                 window.history.back();
             }
         };
 
-        $scope.showMsg = function (title, content) {
-            $alert({
-                title: title + ':',
-                content: content,
-                placement: 'top',
-                type: 'info',
-                show: true,
-                duration: 3
-            });
-
+        //列表数据必填
+        $scope.invalidFee = function (index, form1, name) {
+            try {
+                name = name + "_" + index;
+                eval('var i=form1.' + name + '.$invalid');
+                return i;
+            } catch (e) {
+                return false;
+            }
         };
 
+        //初始化数据
+        $scope.loadData();
+        $scope.getDemocracyReviewResultTypeList();
+
     });
 })(angular);

+ 0 - 257
src/main/resources/static/app/main/shyk/index.html

@@ -1,257 +0,0 @@
-<div class="card">
-    <titlemenu></titlemenu>
-    <div class="body">
-        <div class="row clearfix">
-            <div class="col-md-3 col-lg-3 col-xs-12 col-sm-12">
-                <div party-tree data-selectdzzdm="selectparams.selectdzzdm" data-selectdzzmc="selectparams.selectdzzmc"
-                     data-isshowxz="selectparams.isshowxz" data-zzfbtype="selectparams.zzfbType"
-                     data-defaultselected="selectparams.defaultselected"></div>
-            </div>
-            <div class="col-lg-9 col-md-9 col-sm-12 col-xs-12">
-                <div class="card">
-                    <div activate-input activate-select class="header search-header">
-                        <div class="search-param-panel" style="justify-content: flex-end;">
-                            <div class="search-btn" style="margin-right: 20px;">
-
-                            </div>
-                        </div>
-                        <div class="search-param-panel">
-                            <div class="search-input">
-                                <form class="form-horizontal">
-                                    <div class="row clearfix form-inline">
-                                        <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
-                                            <label>会议名称</label>
-                                        </div>
-                                        <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
-                                            <div class="form-group">
-                                                <div class="form-line">
-                                                    <input name="meetingName" class="form-control" type="text"
-                                                           ng-model="selectparams.meetingName"
-                                                           placeholder=""/>
-                                                </div>
-                                            </div>
-                                        </div>
-                                        <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
-                                            <label>会议状态</label>
-                                        </div>
-                                        <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
-                                            <div class="form-group">
-                                                <div class="form-line">
-                                                    <select class="form-control show-tick"
-                                                            ng-model="selectparams.shykStatus"
-                                                            ng-options="type.dickey as type.dicvalue for type in shykStatusList"
-                                                            class="form-control"
-                                                            name="shykStatus">
-                                                        <option value="">--全部--</option>
-                                                    </select>
-                                                </div>
-                                            </div>
-                                        </div>
-                                        <!--<div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
-                                            <label>会议地点</label>
-                                        </div>
-                                        <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
-                                            <div class="form-group">
-                                                <div class="form-line">
-                                                    <input name="ldjtjc" class="form-control" type="text"
-                                                           ng-model="selectparams.meetingAddress"
-                                                           placeholder=""/>
-                                                </div>
-                                            </div>
-                                        </div>-->
-                                    </div>
-                                    <div class="row clearfix form-inline">
-                                        <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
-                                            <label>会议开始时间</label>
-                                        </div>
-                                        <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
-                                            <div class="form-group">
-                                                <div class="form-line">
-                                                    <input name="beginTime" class="form-control"
-                                                           autocomplete="off"
-                                                           autoclose="true"
-                                                           data-date-format="yyyyMMdd" data-date-type="date"
-                                                           ng-model="selectparams.beginTime"
-                                                           placeholder="" bs-datepicker/>
-                                                </div>
-                                            </div>
-                                        </div>
-                                        <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
-                                            <label>会议结束时间</label>
-                                        </div>
-                                        <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
-                                            <div class="form-group">
-                                                <div class="form-line">
-                                                    <input name="endTime" class="form-control"
-                                                           autocomplete="off"
-                                                           autoclose="true"
-                                                           data-date-format="yyyyMMdd" data-date-type="date"
-                                                           ng-model="selectparams.endTime"
-                                                           placeholder="" bs-datepicker/>
-                                                </div>
-                                            </div>
-                                        </div>
-                                    </div>
-                                </form>
-                            </div>
-                            <div class="search-btn" style="margin-right: 20px;">
-                                <div>
-                                    <button  class="btn btn-default1"
-                                            ng-click="search()">查询
-                                    </button>
-                                    <!--<button role-permission-code="meetingIndex.btnAdd" class="btn btn-default1"-->
-                                            <!--ng-click="addData()">新增-->
-                                    <!--</button>-->
-                                    <!--<button role-permission-code="meetingIndex.btnApproveT" class="btn btn-default1"-->
-                                            <!--ng-click="approveData(true)">批量同意-->
-                                    <!--</button>-->
-                                    <!--<button role-permission-code="meetingIndex.btnApproveF" class="btn btn-default1"-->
-                                            <!--ng-click="approveData(false)">批量不同意-->
-                                    <!--</button>-->
-                                </div>
-                            </div>
-                        </div>
-                        <div class="search-btn" style="width:100%;display: inline-block;margin-bottom: 5px">
-                            <div style="float: right">
-                                <button role-permission-code="meetingIndex.btnAdd" class="btn btn-default1"
-                                        ng-click="addData()">新增
-                                </button>
-                                <button role-permission-code="meetingIndex.btnApproveT" class="btn btn-default1"
-                                        ng-click="approveData(true)">批量同意
-                                </button>
-                                <button role-permission-code="meetingIndex.btnApproveF" class="btn btn-default1"
-                                        ng-click="approveData(false)">批量不同意
-                                </button>
-                            </div>
-                        </div>
-                    </div>
-                    <div class="body" style="padding: 10px">
-                        <div class="table-responsive list-table-panel">
-                            <div class="list-table-title">
-                                <div class="table-title">
-                                    {{shykTypeName}}
-                                </div>
-                            </div>
-                            <table class="table table-bordered table-striped table-hover js-basic-example dataTable text-nowrap">
-                                <thead>
-                                <tr>
-                                    <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>创建时间</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-click="it.checked==1?it.checked=0:it.checked=1"/>
-                                        <label class="checkbox_lable" style="top:6px;"
-                                               for="{{pageId}}_md_checkbox_{{$index+1}}"></label>
-                                    </td>
-                                    <td scope="row" class="text-center">{{selectparams.pagesize*(selectparams.pageindex-1)+$index+1}}</td>
-                                    <td><a ng-click="showData(it.MEETINGID)">{{it.PARTYNAME}}[{{it.BEGINTIME | date:'yyyyMM'}}]</a></td>
-                                    <!--<td>{{it.PARTYNAME}}</td>-->
-                                    <td>{{it.BEGINTIME | date:'yyyy-MM-dd HH:mm'}}</td>
-                                    <td>{{it.SHYKSTATUSNAME}}</td>
-                                    <!--<td>{{it.MEETINGAPPROVESTATUSNAME}}</td>-->
-                                    <!--  <td><a ng-click="showData(it.MEETINGID)">{{it.MEETINGNAME}}</a></td>
-                                    <td>{{it.SHYKTYPENAME}}</td>
-                                    <td>{{it.PARTYNAME}}</td>
-                                    <td>{{it.MEETINGADDRESS}}</td>
-                                    <td>{{it.BEGINTIME | date:'yyyy-MM-dd HH:mm'}}</td>
-                                    <td>{{it.ENDTIME | date:'yyyy-MM-dd HH:mm'}}</td>
-                                    <td>{{it.MEETINGTIME}}</td>
-                                    <td>{{it.SHYKSTATUSNAME}}</td>
-                                    <td>{{it.CREATEUSERNAME}}</td>
-                                    <td>{{it.CREATETIME | date:'yyyy-MM-dd HH:mm:ss'}}</td>
-                                    <td>{{it.SHYKSTATUSNAME}}</td>
-                                    <td>{{it.MEETINGAPPROVESTATUSNAME}}</td>
-                                    <td>{{it.MEETINGAPPROVEUSERNAME}}</td>-->
-                                    <td class="text-center">
-                                        <!--报备中、报备完成、已发送通知的需会议开始前-->
-                                        <button ng-if="it.CREATEUSERID==loginUserId && ((it.STATUS==1 && it.SHYKSTATUS ==1) || it.SHYKSTATUS==0 || it.SHYKSTATUS==3)"
-                                                role-permission-code="meetingIndex.btnUpdate"
-                                                class="btn td-btn bg-light-green waves-effect"
-                                                ng-click="editData(it.MEETINGID)"
-                                                title="管理">
-                                            管理
-                                        </button>
-                                        <!--报备中-->
-                                        <button ng-if="it.CREATEUSERID==loginUserId && it.SHYKSTATUS==0"
-                                                role-permission-code="meetingIndex.btnDelete"
-                                                class="btn td-btn bg-pink waves-effect"
-                                                ng-click="deleteData(it.MEETINGID)" title="删除">
-                                            删除
-                                        </button>
-                                        <!-- 删除会议(管理员) -->
-                                        <button role-permission-code="meetingIndex.btnDeleteByAdmin"
-                                                class="btn td-btn bg-pink waves-effect"
-                                                ng-click="deleteData(it.MEETINGID)" title="删除会议">
-                                            删除会议
-                                        </button>
-                                        <!--会议开始前报备中或报备完成-->
-                                        <button ng-if="it.CREATEUSERID==loginUserId && it.STATUS==1 && (it.SHYKSTATUS==1 || it.SHYKSTATUS==3)"
-                                                role-permission-code="meetingIndex.btnCancel"
-                                                class="btn td-btn bg-pink waves-effect"
-                                                ng-click="cancelMeeting(it.MEETINGID)" title="取消会议">
-                                            取消会议
-                                        </button>
-                                        <!--会议开始前报备中的-->
-                                        <button ng-if="it.STATUS==1 && it.SHYKSTATUS ==0"
-                                                role-permission-code="meetingIndex.btnAudit"
-                                                class="btn td-btn bg-light-green waves-effect"
-                                                ng-click="auditData(it.MEETINGID)"
-                                                title="审核">
-                                            审核
-                                        </button>
-                                        <!--会议开始后7天内并且未填写-->
-                                        <button ng-if="it.CREATEUSERID==loginUserId && it.STATUS==2 && it.SHYKSTATUS !=0 && it.SHYKSTATUS !=2 &&
-                                                     (it.MEETINGRECORDSTATE==0 ||it.MEETINGRECORDSTATE==null)"
-                                                role-permission-code="meetingIndex.btnDecision"
-                                                class="btn td-btn bg-light-green waves-effect"
-                                                ng-click="recordEdit(it.MEETINGID)"
-                                                title="填写会议记录">
-                                            填写会议记录
-                                        </button>
-                                        <button ng-if="it.CREATEUSERID==loginUserId && it.STATUS==2 && it.SHYKSTATUS !=0 && it.SHYKSTATUS !=2 && (
-                                        it.DECISIONSTATUS==null || it.DECISIONSTATUS==0) && it.SHYKTYPE != 4"
-                                                role-permission-code="meetingIndex.btnDecision"
-                                                class="btn td-btn bg-light-green waves-effect"
-                                                ng-click="editDecision(it.MEETINGID)"
-                                                title="会议决议">
-                                            填写会议决议
-                                        </button>
-                                    </td>
-                                </tr>
-                                <tr ng-if="dataList.length<=0">
-                                    <td colspan="15" 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>
-</div>

+ 0 - 302
src/main/resources/static/app/main/shyk/index.js

@@ -1,302 +0,0 @@
-(function ($app) {
-    $app.module('gtPartyApp').controller('shykIndexCtrl', function ($scope, $http, $modal, $ocLazyLoad, $alert, $loading, $state, $bsRouterState, AuthUser, $timeout) {
-        $state.params = $bsRouterState.$params($scope);
-        $scope.pageId = "shykIndex" + $state.params.type;
-
-        //定义数据集合
-        $scope.loginUserId = AuthUser.getUser().Id;
-        $scope.dataList = []; //列表数据
-        $scope.shyklxList = [];//三会一课类型
-        $scope.shykStatusList = [];//会议状态
-        $scope.shykTypeName = "";
-        switch ($state.params.type) {
-            case 1:
-                $scope.shykTypeName = "党员大会";
-                break;
-            case 2:
-                $scope.shykTypeName = "支委会";
-                break;
-            case 3:
-                $scope.shykTypeName = "党小组会";
-                break;
-            case 4:
-                $scope.shykTypeName = "党课";
-                break;
-        }
-        $scope.selectparams = {
-            isunfold: false,//组织结构树展开收缩
-            shykType: $state.params.type,
-            'pageindex': 1,
-            'pagesize': 10,
-            isshowxz: $state.params.type == 3 ? 1 : 0,
-            selectdzzdm: "",
-            selectdzzmc: "",
-            defaultselected: $state.params.dzzdm,
-            parentcode: AuthUser.getUser().ParentDpCode,
-            parentname: AuthUser.getUser().ParentDpName,
-            szdzzdm: AuthUser.getUser().DPCode,
-            szdzzmc: AuthUser.getUser().DPName,
-            partyCode: '',//党组织代码
-            meetingName: '',
-            meetingAddress: '',
-            shykStatus: null,
-            beginTime: $state.params.begintime,
-            endTime: $state.params.endtime,
-            userid: AuthUser.getUser().Id,
-            zzfbType: null
-        };
-        $scope.pageInfo = {ptotal: 0};
-        //监视页数变化
-        $scope.$watch("selectparams.pageindex", function (newVal, oldVal) {
-            if ($scope.pageInfo.ptotal > 0) {
-                $scope.loadData();
-            }
-        });
-
-        $scope.$watch("selectparams.selectdzzdm", function (newVal, oldVal) {
-            if (newVal != "") {
-
-                if ($scope.selectparams.defaultselected != "" && $scope.selectparams.defaultselected != null &&
-                    $scope.selectparams.defaultselected != $scope.selectparams.selectdzzdm)
-                    return;
-
-                $scope.selectparams.partyCode = $scope.selectparams.selectdzzdm;
-                if ($scope.selectparams.selectdzzdm != AuthUser.getUser().DPCode) {
-                    $scope.selectparams.userid = "";
-                } else {
-                    $scope.selectparams.userid = AuthUser.getUser().Id;
-                }
-                $scope.loadData();
-            }
-        });
-
-        $scope.$watch("selectparams.zzfbType", function (newVal, oldVal) {
-            if (newVal != oldVal) {
-                $scope.loadData();
-            }
-        });
-
-        $scope.$on('tabChildReloadData',function (event,data) {
-            if(data.name=='shykIndexCtrl'){
-                $scope.loadData();
-            }
-        });
-
-        //查询
-        $scope.search = function () {
-            $scope.loadData();
-        };
-        //导出
-        $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/shyk/exportMeeting' + params);
-        };
-
-        //加载列表数据
-        $scope.loadData = function () {
-            $scope.selectparams.defaultselected = "";
-            $http
-            ({
-                method: 'get', url: '../../api/shyk/getMeetingList', params: $scope.selectparams
-            }).then(function (result) {
-                $scope.dataList = result.data.item.list;
-                $scope.pageInfo.ptotal = result.data.item.total;
-            });
-        };
-
-        //新增
-        $scope.addData = function () {
-            $bsRouterState.$closeTabName("home.shykAdd");
-            $timeout(function () {
-                $bsRouterState.go('home.shykAdd', {
-                    id: "",
-                    shykType: $scope.selectparams.shykType,
-                    dzzdm: $scope.selectparams.szdzzdm
-                });
-            }, 100);
-        };
-        //修改
-        $scope.editData = function (id) {
-            $bsRouterState.$closeTabName("home.shykEdit");
-            $timeout(function () {
-                $bsRouterState.go('home.shykEdit', {
-                    id: id,
-                    shykType: $scope.selectparams.shykType,
-                    dzzdm: $scope.selectparams.partyCode
-                });
-            }, 100);
-        };
-        //审核
-        $scope.auditData = function (id) {
-            $bsRouterState.$closeTabName("home.shykAudit");
-            $timeout(function () {
-                $bsRouterState.go('home.shykAudit', {id: id, shykType: $scope.selectparams.shykType});
-            }, 100);
-        };
-        //查看
-        $scope.showData = function (id) {
-            $bsRouterState.$closeTabName("home.shykShow");
-            $timeout(function () {
-                $bsRouterState.go('home.shykShow', {id: id, shykType: $scope.selectparams.shykType});
-            }, 100);
-        };
-        //删除
-        $scope.deleteData = function (id) {
-            if (confirm("是否确定删除?")) {
-                $http({
-                    url: "../../api/shyk/deleteMeetingById",
-                    method: 'GET',
-                    params: {id: id}
-                }).then(function (result) {
-                    $scope.showMsg("消息", result.data.msg);
-                    if (result.data.success) {
-                        $scope.loadData();
-                    }
-                });
-            }
-        };
-        //批量审核
-        $scope.approveData = function (isPass) {
-            var approveList = $scope.dataList.filter(function (val) {
-                return val.checked == 1;
-            });
-
-            if (approveList.length <= 0) {
-                $scope.showMsg("错误", "请选择需审核的会议");
-                return false;
-            }
-
-            if (approveList.filter(function (val) {
-                return val.MEETINGAPPROVESTATUS == 1;
-            }).length > 0) {
-                $scope.showMsg("错误", "存在已审核通过的会议");
-                return false;
-            }
-
-            var meetingids = "";
-            angular.forEach(approveList, function (val, index) {
-                meetingids += val.MEETINGID + ","
-            });
-
-            if (confirm(isPass ? "确定审核通过?" : "确定审核不通过?")) {
-                $http({
-                    method: 'post',
-                    url: '../../api/shyk/approveMeeting',
-                    data: {
-                        meetingIds: meetingids,
-                        isPass: isPass
-                    }
-                }).then(function (result) {
-                    $scope.showMsg('成功', result.data.msg);
-                    $scope.loadData();
-                }, function () {
-                    $scope.showMsg('错误', '服务器错误');
-                });
-            }
-        };
-        //推送通知
-        $scope.sendNotify = function (shykStatus, meetingId) {
-            if (confirm(shykStatus == 1 ? "确定推送通知?" : "该会议已推送通知,确定重新推送?")) {
-                $http({
-                    method: 'post',
-                    url: '../../api/shyk/sendMeetingNotify',
-                    data: {
-                        meetingId: meetingId
-                    }
-                }).then(function (result) {
-                    $scope.showMsg('成功', result.data.msg);
-                    $scope.loadData();
-                }, function () {
-                    $scope.showMsg('错误', '服务器错误');
-                });
-            }
-        };
-
-        //填写会议决议
-        $scope.editDecision = function (meetingId) {
-            $bsRouterState.$closeTabName("home.shykDecisionEdit");
-            $timeout(function () {
-                $bsRouterState.go('home.shykDecisionEdit', {id: meetingId, shykType: $scope.selectparams.shykType});
-            }, 100);
-        };
-        //审核会议决议
-        $scope.auditDecision = function (meetingId) {
-            $bsRouterState.$closeTabName("home.shykDecisionAudit");
-            $timeout(function () {
-                $bsRouterState.go('home.shykDecisionAudit', {id: meetingId, shykType: $scope.selectparams.shykType});
-            }, 100);
-        };
-
-        $scope.recordEdit = function (id) {
-            $bsRouterState.$closeTabName("home.shykMeetingRecordEdit");
-            $timeout(function () {
-                $bsRouterState.go('home.shykMeetingRecordEdit', {id: id, shykType: $scope.selectparams.shykType});
-            }, 100);
-        };
-
-        //取消会议
-        $scope.cancelMeeting = function (meetingId) {
-            if (confirm("确定取消会议?")) {
-                $http({
-                    method: 'post',
-                    url: '../../api/shyk/cancelMeeting',
-                    data: {
-                        meetingId: meetingId
-                    }
-                }).then(function (result) {
-                    $scope.showMsg('成功', result.data.msg);
-                    $scope.loadData();
-                }, function () {
-                    $scope.showMsg('错误', '服务器错误');
-                });
-            }
-        };
-
-        $scope.getShyklxList = function () {
-            $http({
-                method: 'get',
-                url: '../../api/dictionary/getDictionaryListByDicTypeKey',
-                params: {
-                    dicTypeKey: 'shykType'
-                }
-            }).then(function (result) {
-                $scope.shyklxList = result.data;
-            }, function (resp) {
-
-            });
-        };
-
-        $scope.getShykStatusList = function () {
-            $http({
-                method: 'get',
-                url: '../../api/dictionary/getDictionaryListByDicTypeKey',
-                params: {
-                    dicTypeKey: 'shykStatus'
-                }
-            }).then(function (result) {
-                $scope.shykStatusList = result.data;
-            }, function (resp) {
-
-            });
-        };
-
-        $scope.showMsg = function (title, content) {
-            $alert({
-                title: title + ':',
-                content: content,
-                placement: 'top',
-                type: 'info',
-                show: true,
-                duration: 3
-            });
-
-        };
-
-        $scope.getShyklxList();
-        $scope.getShykStatusList();
-    });
-})(angular);

+ 2 - 81
src/main/resources/static/app/main/shyk/list.html

@@ -125,17 +125,10 @@
                         </div>
                     </div>
                     <div class="search-btn" style="margin-right: 20px;">
-                        <!--<div selected-partyname data-selectdzzmc="selectparams.selectdzzmc"></div>-->
                         <div style="float: right">
                             <button role-permission-code="meetingIndex.btnAdd" class="btn btn-default1"
                                     ng-click="addData()">新增
                             </button>
-                            <!--<button role-permission-code="meetingIndex.btnApproveT" class="btn btn-default1"
-                                    ng-click="approveData(true)">批量同意
-                            </button>
-                            <button role-permission-code="meetingIndex.btnApproveF" class="btn btn-default1"
-                                    ng-click="approveData(false)">批量不同意
-                            </button>-->
                         </div>
                     </div>
                 </div>
@@ -152,25 +145,9 @@
                                         <label class="checkbox_lable" style="height: 10px;"
                                                for="{{pageId}}_md_checkbox_all"></label></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>
-                                     <th>创建时间</th>
-                                     <th>会议状态</th>
-                                     <th>审核状态</th>
-                                     <th>审核人</th>-->
-                                    <!--<th>操作</th>-->
                                 </tr>
                                 </thead>
                                 <tbody>
@@ -187,25 +164,8 @@
                                     </td>
                                     <td><a title="{{it.DWNAME}}" ng-click="showData(it.MEETINGID)">{{it.PARTYNAME}}[{{it.BEGINTIME |
                                         date:'yyyyMM'}}]</a></td>
-                                    <!--<td>{{it.PARTYNAME}}</td>-->
                                     <td class="text-center">{{it.BEGINTIME | date:'yyyy-MM-dd HH:mm'}}</td>
-                                    <td class="text-center">{{it.SHYKTYPENAME}}</td>
-                                    <!--<td class="text-center">{{it.SHYKSTATUSNAME}}</td>-->
-                                    <!--<td class="text-center">{{it.MEETINGAPPROVESTATUSNAME}}</td>-->
-                                    <!--  <td><a ng-click="showData(it.MEETINGID)">{{it.MEETINGNAME}}</a></td>
-                                    <td>{{it.SHYKTYPENAME}}</td>
-                                    <td>{{it.PARTYNAME}}</td>
-                                    <td>{{it.MEETINGADDRESS}}</td>
-                                    <td>{{it.BEGINTIME | date:'yyyy-MM-dd HH:mm'}}</td>
-                                    <td>{{it.ENDTIME | date:'yyyy-MM-dd HH:mm'}}</td>
-                                    <td>{{it.MEETINGTIME}}</td>
-                                    <td>{{it.SHYKSTATUSNAME}}</td>
-                                    <td>{{it.CREATEUSERNAME}}</td>
-                                    <td>{{it.CREATETIME | date:'yyyy-MM-dd HH:mm:ss'}}</td>
-                                    <td>{{it.SHYKSTATUSNAME}}</td>
-                                    <td>{{it.MEETINGAPPROVESTATUSNAME}}</td>
-                                    <td>{{it.MEETINGAPPROVEUSERNAME}}</td>-->
-
+                                    <td class="text-center">{{it.shykTypeNames}}</td>
                                 </tr>
                                 <tr ng-if="dataList.length<=0">
                                     <td colspan="15" style="text-align:center">暂无数据</td>
@@ -223,62 +183,23 @@
                                 <tbody>
                                 <tr ng-repeat="it in dataList" zero-table-height>
                                     <td class="text-center">
-                                        <!--报备中、报备完成、已发送通知的需会议开始前-->
-                                        <!--<button ng-if="it.CREATEUSERID==loginUserId && ((it.STATUS==1 && it.SHYKSTATUS ==1) || it.SHYKSTATUS==0 || it.SHYKSTATUS==3)"
-                                                class="btn td-btn bg-light-green waves-effect"
-                                                ng-click="editData(it.MEETINGID,it.SHYKTYPE)"
-                                                title="管理">
-                                            管理
-                                        </button>-->
                                         <button ng-if="it.CREATEUSERID==loginUserId"
                                                 class="btn td-btn bg-light-green waves-effect"
                                                 ng-click="editData(it.MEETINGID,it.SHYKTYPE)"
                                                 title="管理">
                                             管理
                                         </button>
-                                        <button ng-if="it.CREATEUSERID==loginUserId"
+                                        <button
                                                 class="btn td-btn bg-light-green waves-effect"
                                                 ng-click="showData(it.MEETINGID)"
                                                 title="查看">
                                             查看
                                         </button>
-                                        <!--报备中-->
                                         <button ng-if="it.CREATEUSERID==loginUserId"
                                                 class="btn td-btn bg-pink waves-effect"
                                                 ng-click="deleteData(it.MEETINGID)" title="删除">
                                             删除
                                         </button>
-                                        <!--&lt;!&ndash; 删除会议(管理员) &ndash;&gt;
-                                        <button role-permission-code="meetingIndex.btnDeleteByAdmin"
-                                                class="btn td-btn bg-pink waves-effect"
-                                                ng-click="deleteData(it.MEETINGID)" title="删除会议">
-                                            删除会议
-                                        </button>
-                                        &lt;!&ndash;会议开始前报备中或报备完成&ndash;&gt;
-                                        <button ng-if="it.CREATEUSERID==loginUserId && it.STATUS==1 && (it.SHYKSTATUS==1 || it.SHYKSTATUS==3)"
-                                                class="btn td-btn bg-pink waves-effect"
-                                                ng-click="cancelMeeting(it.MEETINGID)" title="取消会议">
-                                            取消会议
-                                        </button>
-                                        &lt;!&ndash;会议开始前报备中的&ndash;&gt;
-                                        <button ng-if="it.STATUS==1 && it.SHYKSTATUS ==0"
-                                                class="btn td-btn bg-light-green waves-effect"
-                                                ng-click="auditData(it.MEETINGID)"
-                                                title="审核">
-                                            审核
-                                        </button>
-                                        <button ng-if="it.CREATEUSERID==loginUserId && it.STATUS==2 && it.SHYKSTATUS !=0 && it.SHYKSTATUS !=2 && it.SHYKSTATUS !=3"
-                                                class="btn td-btn bg-light-green waves-effect"
-                                                ng-click="recordEdit(it.MEETINGID)"
-                                                title="填写会议记录">
-                                            填写会议记录
-                                        </button>
-                                        <button ng-if="it.CREATEUSERID==loginUserId && it.STATUS==2 && it.SHYKSTATUS == 4 && it.SHYKTYPE != 4"
-                                                class="btn td-btn bg-light-green waves-effect"
-                                                ng-click="editDecision(it.MEETINGID)"
-                                                title="会议决议">
-                                            填写会议决议
-                                        </button>-->
                                     </td>
                                 </tr>
                                 <tr ng-if="pageInfo.ptotal==0">

+ 1 - 1
src/main/resources/static/app/main/shyk/list.js

@@ -86,7 +86,7 @@
         });
 
         $scope.$on('tabChildReloadData', function (event, data) {
-            if (data.name == 'shykIndexCtrl') {
+            if (data.name == 'shykListCtrl') {
                 $scope.loadData();
             }
         });

+ 64 - 49
src/main/resources/static/app/main/shyk/show.html

@@ -14,7 +14,7 @@
             <table class="dj-table dj-table2">
                 <tr>
                     <td colspan="2" style="color: red;font-size: 28px;width: 100%;text-align: center;padding: 5px 0;">
-                        {{extdata.shykTypeName}}
+                        <span ng-repeat="it in meetingTypeList">{{it.shykTypeName}}{{$last?'':'、'}}</span>
                     </td>
                 </tr>
                 <tr>
@@ -22,16 +22,8 @@
                     <td>{{dataModel.partyname}}</td>
                 </tr>
                 <tr>
-                    <th>
-                        <span ng-if="dataModel.shyktype!=4">主要议题</span>
-                        <span ng-if="dataModel.shyktype==4">会议主题</span>
-                    </th>
-                    <td>
-                        <div ng-repeat="item in topicList"
-                             style="padding-right: 20px;display: flex;">
-                            <span style="padding: 3px 3px 0 0;">{{$index+1}}.</span><pre style="margin-bottom: 5px;">{{item.TOPICNAME}}</pre>
-                        </div>
-                    </td>
+                    <th>议题</th>
+                    <td>{{dataModel.topiccontent}}</td>
                 </tr>
                 <tr>
                     <th>会议名称</th>
@@ -44,9 +36,13 @@
                 <tr>
                     <th>会议时间</th>
                     <td>
-                        {{dataModel.begintime|date:'yyyy-MM-dd HH:mm'}}
+                        {{dataModel.begintime | date:'yyyy-MM-dd HH:mm'}}
                     </td>
                 </tr>
+                <tr>
+                    <th>是否第一议题</th>
+                    <td>{{dataModel.isfirsttopic ? '是' : '否'}}</td>
+                </tr>
                 <tr>
                     <th>主持人</th>
                     <td>{{dataModel.chairuser}}</td>
@@ -66,16 +62,18 @@
                     <td>
                         <div class="table-responsive list-table-panel" style="padding-top: 10px;">
                             <div class="outoflow" style="max-height: 300px;">
-                                <table class="table table-bordered table-striped table-hover js-basic-example dataTable text-nowrap">
+                                <table class="gt-table gt-table-bordered">
                                     <thead>
                                     <tr>
-                                        <th>序号</th>
+                                        <th class="th-rownum">序号</th>
                                         <th>党员姓名</th>
                                         <th>所在组织机构</th>
                                         <th>是否参加</th>
                                         <!--<th>是否签到</th>-->
                                         <th>未参加原因</th>
-                                        <th ng-if="dataModel.shyktype==4" role-permission-code="shykMeetingShow.btnEvaluate">党课评价情况</th>
+                                        <th ng-if="dataModel.shyktype==4"
+                                            role-permission-code="shykMeetingShow.btnEvaluate">党课评价情况
+                                        </th>
                                         <th ng-if="dataModel.createuserid==loginUserId">
                                             操作
                                         </th>
@@ -83,52 +81,30 @@
                                     </thead>
                                     <tbody>
                                     <tr ng-repeat="it in userList">
-                                        <th scope="row">{{$index+1}}</th>
-                                        <th>{{it.XM}}</th>
+                                        <th class="text-center" scope="row">{{$index + 1}}</th>
+                                        <th class="text-center">{{it.XM}}</th>
                                         <th>{{it.DZZMC}}</th>
-                                        <th>{{it.SIGNINSTATUS==2?"参加":"未参加"}}</th>
-                                        <!--<th>{{it.CHECKINSTATUSNAME}}</th>-->
+                                        <th class="text-center">{{it.SIGNINSTATUS == 2 ? "参加" : "未参加"}}</th>
                                         <th>{{it.USERREMARK}}</th>
-                                        <th ng-if="dataModel.shyktype==4" role-permission-code="shykMeetingShow.btnEvaluate">
+                                        <th ng-if="dataModel.shyktype==4">
                                             <button ng-if="it.ISEVALUATE==1" class="btn td-btn bg-pink waves-effect"
                                                     ng-click="showEvaluate(it.MEETINGID,it.MEETINGUSERID)" title="查看">
                                                 查看
                                             </button>
                                         </th>
                                         <th ng-if="dataModel.createuserid==loginUserId">
-                                            <button role-permission-code="shykMeetingShow.btnSignin"
-                                                    ng-if="it.SIGNINSTATUS==3"
+                                            <button ng-if="it.SIGNINSTATUS==3"
                                                     class="btn td-btn bg-pink waves-effect"
                                                     ng-click="signin(it.MEETINGID,it.USERCODE,true)" title="参加">
                                                 参加
                                             </button>
-                                            <button role-permission-code="shykMeetingShow.btnNoSignin"
-                                                    ng-if="it.SIGNINSTATUS==2"
+                                            <button ng-if="it.SIGNINSTATUS==2"
                                                     class="btn td-btn bg-pink waves-effect"
                                                     title="未参加"
                                                     ng-click="resetRemark(it.MEETINGID,it.USERCODE)"
                                                     data-toggle="modal" data-target="#editNoSignin">
                                                 未参加
                                             </button>
-                                           <!-- <button role-permission-code="shykMeetingShow.btnSignin"
-                                                    ng-if="(it.SIGNINSTATUS==2 || it.SIGNINSTATUS==3)"
-                                                    class="btn td-btn bg-pink waves-effect"
-                                                    title="取消签收"
-                                                    ng-click="cancelSignin(it.MEETINGID,it.USERCODE)">
-                                                取消签收
-                                            </button>
-                                            <button role-permission-code="shykMeetingShow.btnCheckin"
-                                                    ng-if="it.CHECKINSTATUS==0 && difftime<=30"
-                                                    class="btn td-btn bg-pink waves-effect"
-                                                    ng-click="checkin(it.MEETINGID,it.USERCODE)" title="签到">
-                                                签到
-                                            </button>
-                                            <button role-permission-code="shykMeetingShow.btnCheckin"
-                                                    ng-if="it.CHECKINSTATUS==1 && difftime<=30"
-                                                    class="btn td-btn bg-pink waves-effect"
-                                                    ng-click="cancelCheckin(it.MEETINGID,it.USERCODE)" title="取消签到">
-                                                取消签到
-                                            </button>-->
                                         </th>
                                     </tr>
                                     <tr ng-if="userList.length<=0">
@@ -146,9 +122,10 @@
                         <table class="user_total">
                             <tr>
                                 <td>参加会议人员:{{userList.length}}人</td>
-                                <td>已确认参加:{{(userList | filter:{'SIGNINSTATUS':'2'}).length }}人</td>
-                                <td>不能参加:{{(userList | filter:{'SIGNINSTATUS':'3'}).length }}人</td>
-                                <td>占比:{{((userList | filter:{'SIGNINSTATUS':'2'}).length/userList.length)*100|number:2
+                                <td>已确认参加:{{(userList | filter:{'SIGNINSTATUS': '2'}).length }}人</td>
+                                <td>不能参加:{{(userList | filter:{'SIGNINSTATUS': '3'}).length }}人</td>
+                                <td>
+                                    占比:{{((userList | filter:{'SIGNINSTATUS': '2'}).length / userList.length) * 100 | number:2
                                     }}%
                                 </td>
                             </tr>
@@ -161,11 +138,47 @@
                         </table>
                     </td>
                 </tr>
+                <tr ng-if="isShowDemocracyReview()">
+                    <th>民主评议党员名单</th>
+                    <td>
+                        <div class="table-responsive list-table-panel" style="padding-top: 10px;">
+                            <div class="outoflow" style="max-height: 300px;">
+                                <table class="gt-table gt-table-bordered">
+                                    <thead>
+                                    <tr>
+                                        <th class="th-rownum">序号</th>
+                                        <th>所属党组织</th>
+                                        <th style="width:150px;">姓名</th>
+                                        <th style="width:150px;">开展评议日期</th>
+                                        <th style="width:150px;">结束评议日期</th>
+                                        <th style="width:150px;">评议结果</th>
+                                    </tr>
+                                    </thead>
+                                    <tbody>
+                                    <tr ng-repeat="it in democracyReviewList">
+                                        <th class="text-center" scope="row">{{$index + 1}}</th>
+                                        <th>{{it.partyName}}</th>
+                                        <th class="text-center">{{it.userName}}</th>
+                                        <th class="text-center">{{it.startdate | date:'yyyy-MM-dd'}}</th>
+                                        <th class="text-center">{{it.enddate | date:'yyyy-MM-dd'}}</th>
+                                        <th class="text-center">{{it.democracyReviewResultTypeName}}</th>
+                                    </tr>
+                                    <tr ng-if="democracyReviewList.length<=0">
+                                        <td colspan="7" style="text-align:center">暂无数据</td>
+                                    </tr>
+                                    </tbody>
+                                </table>
+                            </div>
+                        </div>
+                    </td>
+                </tr>
                 <tr>
                     <th>会场照片</th>
                     <td>
                         <img-component data-filerefid="imgConfig1.filerefid" data-filetypeid="imgConfig1.filetypeid"
-                                       data-ismulti="imgConfig1.ismulti" data-height="imgConfig1.height" data-readonly="imgConfig1.readonly" data-img-list="imgConfig1.imgList" data-width="imgConfig1.width"></img-component>
+                                       data-ismulti="imgConfig1.ismulti" data-height="imgConfig1.height"
+                                       data-readonly="imgConfig1.readonly" data-img-list="imgConfig1.imgList"
+                                       data-width="imgConfig1.width"></img-component>
                         <div ng-if="imgConfig1.imgList.length<=0">
                             <span>暂无</span>
                         </div>
@@ -175,7 +188,9 @@
                     <th>台账记录</th>
                     <td>
                         <img-component data-filerefid="imgConfig2.filerefid" data-filetypeid="imgConfig2.filetypeid"
-                                       data-ismulti="imgConfig1.ismulti" data-height="imgConfig2.height" data-readonly="imgConfig2.readonly" data-img-list="imgConfig2.imgList" data-width="imgConfig1.width"></img-component>
+                                       data-ismulti="imgConfig1.ismulti" data-height="imgConfig2.height"
+                                       data-readonly="imgConfig2.readonly" data-img-list="imgConfig2.imgList"
+                                       data-width="imgConfig1.width"></img-component>
                         <div ng-if="imgConfig2.imgList.length<=0">
                             <span>暂无</span>
                         </div>
@@ -200,7 +215,7 @@
                             <div class="card" style="box-shadow: none;border: 1px solid rgba(204, 204, 204, 0.35);">
                                 <div class="header" style="display:flex;justify-content: space-between;">
                                     <h2>
-                                        会议决议 {{$index+1}}
+                                        会议决议 {{$index + 1}}
                                     </h2>
                                 </div>
                                 <div class="body">

+ 37 - 1
src/main/resources/static/app/main/shyk/show.js

@@ -5,6 +5,7 @@
         $scope.dataScope = parseInt(AuthUser.getUser().dataScope);//角色数据范围;
 
         $scope.qrcodeUrl = "http://" + window.location.host + "/api/home/ShowQRCode?code=" + $stateParams.id;
+        $scope.democracyReviewType = 7;//民主评议党员
         //定义数据集合
         $scope.loginUserId = AuthUser.getUser().Id;
         $scope.shyklxList = [];//三会一课类型
@@ -41,6 +42,8 @@
             width: 180,
             imgList: []
         };
+        $scope.democracyReviewList = [];
+        $scope.meetingTypeList = [];
 
         //分页
         $scope.selectparams = {
@@ -96,6 +99,9 @@
                 $scope.getUserList();
                 $scope.getJlmbList();
                 $scope.getMeetingDecisionList();
+                $scope.getMeetingDemocracyReviewList();
+                $scope.getMeetingTypeList();
+
                 $scope.difftime = result.data.extdata.difftime;
                 $scope.isEnd = new Date() > new Date($scope.dataModel.endtime);
                 if (result.data.extdata.meetingUser != null) {
@@ -331,9 +337,39 @@
             });
         };
 
+        $scope.getMeetingDemocracyReviewList = function () {
+            $http({
+                method: 'get',
+                url: '../../api/shyk/getMeetingDemocracyReviewList',
+                params: {
+                    meetingId: $scope.dataModel.meetingid
+                }
+            }).then(function (result) {
+                $scope.democracyReviewList = result.data.item;
+            }, function (resp) {
+            });
+        };
+        $scope.getMeetingTypeList = function () {
+            $http({
+                method: 'get',
+                url: '../../api/shyk/getMeetingTypeList',
+                params: {
+                    meetingId: $scope.dataModel.meetingid
+                }
+            }).then(function (result) {
+                $scope.meetingTypeList = result.data.item;
+
+                $scope.getShyklxList();
+            }, function (resp) {
+            });
+        };
+
+        $scope.isShowDemocracyReview = function () {
+            return $scope.meetingTypeList.filter(e => e.shyktype === $scope.democracyReviewType).length > 0;
+        };
+
         $scope.loadData();
         $scope.getShyklxList();
-        $scope.getMeetingTopicList();
 
         //$scope.parentUrl = "home.shykIndex" + $scope.dataModel.shyktype.toString();//父级地址
         $scope.pagechange = function () {