Browse Source

Merge branch 'master' of http://git.yvanui.com/hust/wuhan_epi

maoyunfeng 5 years ago
parent
commit
3682f3b3d0
29 changed files with 789 additions and 183 deletions
  1. 14 4
      whepi-doc/login.sql
  2. 3 2
      whepi-doc/mrsb.sql
  3. 8 30
      whepi-ui/templates/home/help.ftl
  4. 51 1
      whepi-ui/templates/home/qiuzhu.js
  5. 2 2
      whepi-ui/templates/home/ribao.ftl
  6. 10 10
      whepi-ui/templates/home/ribao.js
  7. 16 14
      whepi-ui/templates/yeweihui/home.ftl
  8. 8 5
      whepi-ui/templates/yeweihui/houseSelect.ftl
  9. 35 5
      whepi-ui/templates/yeweihui/qiuzhu.ftl
  10. 134 48
      whepi-ui/templates/yeweihui/qiuzhu.js
  11. 92 0
      whepi-ui/templates/yeweihui/qiuzhuDetail.ftl
  12. 10 0
      whepi-web/src/main/java/com/bofeng/dao/MsReportMapper.java
  13. 6 0
      whepi-web/src/main/java/com/bofeng/dao/MsSuspectedMapper.java
  14. 7 1
      whepi-web/src/main/java/com/bofeng/dao/QzTaskDao.java
  15. 2 2
      whepi-web/src/main/java/com/bofeng/dao/QzTaskReplyDao.java
  16. 5 0
      whepi-web/src/main/java/com/bofeng/entity/MsReport.java
  17. 4 1
      whepi-web/src/main/java/com/bofeng/entity/MsSuspected.java
  18. 40 27
      whepi-web/src/main/java/com/bofeng/entity/QzTaskReply.java
  19. 32 0
      whepi-web/src/main/java/com/bofeng/service/MsReportService.java
  20. 44 13
      whepi-web/src/main/java/com/bofeng/service/MsSuspectedService.java
  21. 24 5
      whepi-web/src/main/java/com/bofeng/service/QzTaskReplyService.java
  22. 15 7
      whepi-web/src/main/java/com/bofeng/service/QzTaskService.java
  23. 5 5
      whepi-web/src/main/java/com/bofeng/wx/controller/MsReportController.java
  24. 72 0
      whepi-web/src/main/java/com/bofeng/wx/controller/YeWeiHuiController.java
  25. 1 1
      whepi-web/src/main/resources/application.yml
  26. 123 0
      whepi-web/src/main/resources/generator/QzTaskReplyDao.xml
  27. 7 0
      whepi-web/src/main/resources/mapper/MsReport.xml
  28. 7 0
      whepi-web/src/main/resources/mapper/MsSuspected.xml
  29. 12 0
      whepi-web/src/main/resources/mapper/QzTaskDao.xml

+ 14 - 4
whepi-doc/login.sql

@@ -129,15 +129,25 @@ CREATE TABLE sys_uptown  (
   PRIMARY KEY (uptown_id) USING BTREE
   PRIMARY KEY (uptown_id) USING BTREE
 ) ENGINE = InnoDB default charset=utf8 comment = '小区表';
 ) ENGINE = InnoDB default charset=utf8 comment = '小区表';
 
 
-DROP TABLE IF EXISTS sys_uptown_house;
-CREATE TABLE sys_uptown_house  (
-  house_id         bigint(20) NOT NULL DEFAULT 0 COMMENT '门牌ID',
+DROP TABLE IF EXISTS sys_uptown_unit;
+CREATE TABLE sys_uptown_unit  (
+  unit_id         bigint(20) NOT NULL DEFAULT 0 COMMENT '单元ID',
   uptown_id         bigint(20) NOT NULL DEFAULT 0 COMMENT '小区ID',
   uptown_id         bigint(20) NOT NULL DEFAULT 0 COMMENT '小区ID',
   ridgepole         varchar(20) NOT NULL DEFAULT '' COMMENT '栋',
   ridgepole         varchar(20) NOT NULL DEFAULT '' COMMENT '栋',
   unit              varchar(20) NOT NULL DEFAULT '' COMMENT '单元',
   unit              varchar(20) NOT NULL DEFAULT '' COMMENT '单元',
+  status            int(11) NOT NULL DEFAULT 0 COMMENT '状态:1正常,0草稿,-1删除',
+  time_create       datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '新增时间',
+  time_update       datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
+  PRIMARY KEY (unit_id) USING BTREE
+) ENGINE = InnoDB default charset=utf8 comment = '栋,单元信息表';
+
+DROP TABLE IF EXISTS sys_uptown_house;
+CREATE TABLE sys_uptown_house  (
+  house_id         bigint(20) NOT NULL DEFAULT 0 COMMENT '门牌ID',
+  unit_id          bigint(20) NOT NULL DEFAULT 0 COMMENT '单元ID',
   doorplate         varchar(20)  NOT NULL DEFAULT '' COMMENT '门牌',
   doorplate         varchar(20)  NOT NULL DEFAULT '' COMMENT '门牌',
   status            int(11) NOT NULL DEFAULT 0 COMMENT '状态:1正常,0草稿,-1删除',
   status            int(11) NOT NULL DEFAULT 0 COMMENT '状态:1正常,0草稿,-1删除',
   time_create       datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '新增时间',
   time_create       datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '新增时间',
   time_update       datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
   time_update       datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
   PRIMARY KEY (house_id) USING BTREE
   PRIMARY KEY (house_id) USING BTREE
-) ENGINE = InnoDB default charset=utf8 comment = '门牌信息表';
+) ENGINE = InnoDB default charset=utf8 comment = '门牌信息表';

+ 3 - 2
whepi-doc/mrsb.sql

@@ -8,6 +8,7 @@ CREATE TABLE ms_report  (
   safety_num        int(11) NOT NULL DEFAULT 0                              COMMENT '平安人数',
   safety_num        int(11) NOT NULL DEFAULT 0                              COMMENT '平安人数',
   suspected_num     int(11) NOT NULL DEFAULT 0                              COMMENT '疑似人数',
   suspected_num     int(11) NOT NULL DEFAULT 0                              COMMENT '疑似人数',
   remarks           varchar(100)  NOT NULL DEFAULT ''                       COMMENT '异常备注',
   remarks           varchar(100)  NOT NULL DEFAULT ''                       COMMENT '异常备注',
+  report_date       date (0)                                                COMMENT '上报日期',
   ms_status         int(11) NOT NULL DEFAULT 1                              COMMENT '健康状态:1正常,2异常',
   ms_status         int(11) NOT NULL DEFAULT 1                              COMMENT '健康状态:1正常,2异常',
   user_create       bigint(20) NOT NULL DEFAULT 0                           COMMENT '新增人',
   user_create       bigint(20) NOT NULL DEFAULT 0                           COMMENT '新增人',
   time_create       datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0)       COMMENT '新增时间',
   time_create       datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0)       COMMENT '新增时间',
@@ -24,11 +25,11 @@ DROP TABLE IF EXISTS ms_suspected;
 CREATE TABLE ms_suspected  (
 CREATE TABLE ms_suspected  (
   suspected_id      bigint(20) NOT NULL DEFAULT 0                           COMMENT '疑似ID',
   suspected_id      bigint(20) NOT NULL DEFAULT 0                           COMMENT '疑似ID',
   report_id         bigint(20) NOT NULL DEFAULT 0                           COMMENT '上报ID',
   report_id         bigint(20) NOT NULL DEFAULT 0                           COMMENT '上报ID',
+  user_name         varchar(50)  NOT NULL DEFAULT ''                        COMMENT '家人姓名',
   family_relative   int(11)    NOT NULL DEFAULT 1                           COMMENT '是否家庭成员:1是,2暂住亲友',
   family_relative   int(11)    NOT NULL DEFAULT 1                           COMMENT '是否家庭成员:1是,2暂住亲友',
   medical           int(11)    NOT NULL DEFAULT 1                           COMMENT '是否就医:1否,1是',
   medical           int(11)    NOT NULL DEFAULT 1                           COMMENT '是否就医:1否,1是',
-  condition_status  int(11)    NOT NULL DEFAULT 0                           COMMENT '疑似情况:1咳嗽,2发烧,3腹泻,4胸痛,5咽痛,6其他 ',
+  condition_status  varchar(50)  NOT NULL DEFAULT ''                        COMMENT '疑似情况:1咳嗽,2发烧,3腹泻,4胸痛,5咽痛,6其他 ',
   remarks           varchar(100)  NOT NULL DEFAULT ''                       COMMENT '异常备注',
   remarks           varchar(100)  NOT NULL DEFAULT ''                       COMMENT '异常备注',
-
   user_create       bigint(20) NOT NULL DEFAULT 0                           COMMENT '新增人',
   user_create       bigint(20) NOT NULL DEFAULT 0                           COMMENT '新增人',
   time_create       datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0)       COMMENT '新增时间',
   time_create       datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0)       COMMENT '新增时间',
   user_update       bigint(20) NOT NULL DEFAULT 0                           COMMENT '修改人',
   user_update       bigint(20) NOT NULL DEFAULT 0                           COMMENT '修改人',

+ 8 - 30
whepi-ui/templates/home/help.ftl

@@ -28,37 +28,15 @@
         <div>生活必须品求助</div>
         <div>生活必须品求助</div>
     </div>
     </div>
     <div class="weui-panel weui-panel_access">
     <div class="weui-panel weui-panel_access">
-        <div class="weui-panel__bd">
-            <a href="javascript:void(0);" class="weui-media-box weui-media-box_appmsg">
-                <div class="weui-media-box__bd">
-                    <div style="display: flex; flex-direction: row; justify-content: space-between;">
-                        <p class="weui-media-box__desc">1. &nbsp;&nbsp; 7-2-202发出</p>
-                        <p class="weui-media-box__desc">2020-02-02 14:30</p>
-                    </div>
-                    <div class="weui-cell ">
-                        <div class="weui-cell__bd">
-                            <textarea class="weui-textarea" rows="1" readonly placeholder="只读"></textarea>
-                            <div class="weui-textarea-counter"></div>
-                        </div>
-                    </div>
-                </div>
-            </a>
-            <a href="javascript:void(0);" class="weui-media-box weui-media-box_appmsg">
-                <div class="weui-media-box__bd">
-                    <div style="display: flex; flex-direction: row; justify-content: space-between;">
-                        <p class="weui-media-box__desc">1. &nbsp;&nbsp; 7-2-202回复</p>
-                        <p class="weui-media-box__desc">2020-02-02 14:30</p>
-                    </div>
-                    <div class="weui-cell ">
-                        <div class="weui-cell__bd">
-                            <textarea class="weui-textarea" rows="1" readonly placeholder="只读"></textarea>
-                            <div class="weui-textarea-counter"></div>
-                        </div>
-                    </div>
-                </div>
-            </a>
+        <div class="weui-panel__bd" id="qzHS">
         </div>
         </div>
     </div>
     </div>
 
 
 
 
-</div>
+</div>
+
+<script>
+
+
+
+</script>

+ 51 - 1
whepi-ui/templates/home/qiuzhu.js

@@ -12,15 +12,64 @@ function help() {
     if ($('#titlteZs')[0].style.display == 'none') {
     if ($('#titlteZs')[0].style.display == 'none') {
       $('#notitle').toggle();
       $('#notitle').toggle();
       $('#titlteZs')[0].style.display = '';
       $('#titlteZs')[0].style.display = '';
+
+      //详情页面的展示
+      $.ajax({
+        url: '/home/home/taskQuery',
+        data: {},
+        type: 'GET',
+        success: function (data) {
+          console.log(data);
+          if (data.data.length > 0) {
+            hasData = true;
+            data.data.forEach(function (v) {
+              shValue(v);
+            });
+          } else {
+
+          }
+        },
+        error: function () {
+        }
+      });
+      /*$('#qzHS').*/
+
     } else {
     } else {
       $('#notitle')[0].style.display = '';
       $('#notitle')[0].style.display = '';
       $('#titlteZs')[0].style.display = 'none';
       $('#titlteZs')[0].style.display = 'none';
     }
     }
-
   })
   })
 
 
 }
 }
 
 
+function shValue(v) {
+  $('#qzHS').append($('<a href="javascript:void(0);" class="weui-media-box weui-media-box_appmsg">\n' +
+    '                <div class="weui-media-box__bd">\n' +
+    '                    <div style="display: flex; flex-direction: row; justify-content: space-between;">\n' +
+    '                        <p class="weui-media-box__desc">业主1号</p>\n' +
+    '                        <p class="weui-media-box__desc">' + timestampToTime(v.timeUpdate) + '</p>\n' +
+    '                    </div>\n' +
+    '                    <div class="weui-cell ">\n' +
+    '                        <div class="weui-cell__bd">\n' +
+    '                            <textarea class="weui-textarea" rows="1" readonly >' + v.replyContent + '</textarea>\n' +
+    '                            <div class="weui-textarea-counter"></div>\n' +
+    '                        </div>\n' +
+    '                    </div>\n' +
+    '                </div>\n' +
+    '            </a>\n<br />'));
+}
+
+function timestampToTime(timestamp) {
+  var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
+  var Y = date.getFullYear() + '/';
+  var M = ((date.getMonth() + 1) < 10) ? ('0' + (date.getMonth() + 1) + '/') : ((date.getMonth() + 1) + '/');
+  var D = (date.getDate() < 10) ? ('0' + date.getDate() + ' ') : (date.getDate() + ' ');
+  var h = (date.getHours() < 10) ? ('0' + date.getHours() + ':') : (date.getHours() + ':');
+  var m = (date.getMinutes() < 10) ? ('0' + date.getMinutes() + ':') : (date.getMinutes() + ':');
+  var s = (date.getSeconds() < 10) ? ('0' + date.getSeconds()) : (date.getSeconds());
+  return Y + M + D + h + m + s;
+}
+
 function family_init() {
 function family_init() {
   /*$('#family').on('click',function () {
   /*$('#family').on('click',function () {
     $('#familyDisplay')[0].style.display == '';
     $('#familyDisplay')[0].style.display == '';
@@ -44,5 +93,6 @@ function submit_back() {
       $('#play').toggle();
       $('#play').toggle();
 
 
     }
     }
+
   })
   })
 }
 }

+ 2 - 2
whepi-ui/templates/home/ribao.ftl

@@ -66,7 +66,7 @@
                                 <div class="weui-cell weui-cell_active" id="js_cell">
                                 <div class="weui-cell weui-cell_active" id="js_cell">
                                     <div class="weui-cell__hd"><label class="weui-label">家人</label></div>
                                     <div class="weui-cell__hd"><label class="weui-label">家人</label></div>
                                     <div class="weui-cell__bd weui-flex">
                                     <div class="weui-cell__bd weui-flex">
-                                        <input id="js_input_xingming" class="weui-input" autofocus="" type="text"
+                                        <input id="js_input_user_name" class="weui-input" autofocus="" type="text"
                                                placeholder="请输入姓名" maxlength="20">
                                                placeholder="请输入姓名" maxlength="20">
                                     </div>
                                     </div>
                                 </div>
                                 </div>
@@ -110,7 +110,7 @@
                                 </div>
                                 </div>
                                 <div class="weui-cell ">
                                 <div class="weui-cell ">
                                     <div class="weui-cell__bd">
                                     <div class="weui-cell__bd">
-                                        <textarea class="weui-textarea" placeholder="请输入病情描述" rows="3"></textarea>
+                                        <textarea id="rb_remarks" class="weui-textarea" placeholder="请输入病情描述" rows="3"></textarea>
                                         <div class="weui-textarea-counter"><span>0</span>/200</div>
                                         <div class="weui-textarea-counter"><span>0</span>/200</div>
                                     </div>
                                     </div>
                                 </div>
                                 </div>

+ 10 - 10
whepi-ui/templates/home/ribao.js

@@ -45,21 +45,21 @@ function ribao_commit() {
 
 
 
 
 function ribaoCommit() {
 function ribaoCommit() {
-  var userType = $('input:radio:checked').val();
-  var linkman = $("#linkman").val();
-  var phone = $("#phone").val();
-  console.log(userType)
-  console.log(linkman)
-  console.log(phone)
+  var user_name = $("#js_input_user_name").val();
+  var remarks = $("#rb_remarks").val();
+  var medical = $('input:radio:checked').val();
+  console.log(user_name)
+  console.log(remarks)
+  console.log(medical)
 
 
   $.ajax({
   $.ajax({
     url: '/home/addRibao.json',
     url: '/home/addRibao.json',
     type: "post",
     type: "post",
     data: {
     data: {
-      "userId": 123,
-      "userType": userType,
-      "linkman": '',
-      "phone": '',
+      "userName": user_name,
+      "conditionStatus": "",
+      "medical": medical,
+      "remarks": remarks,
     },
     },
   });
   });
 }
 }

+ 16 - 14
whepi-ui/templates/yeweihui/home.ftl

@@ -37,23 +37,23 @@
 
 
 <#include "/home/frag.foot.ftl" />
 <#include "/home/frag.foot.ftl" />
 <script>
 <script>
-    <#include "/yeweihui/ribao.js" />
-    <#include "/yeweihui/qiuzhu.js" />
+<#include "/yeweihui/ribao.js" />
+<#include "/yeweihui/qiuzhu.js" />
+
+var taskList = ${taskList!'[]'};
 var statisticsOrderList =${rbList!'[]'};
 var statisticsOrderList =${rbList!'[]'};
-(function ($) {
 
 
+(function ($) {
 
 
     $(function(){
     $(function(){
-        $(function(){
-            $('.weui-navbar__item').on('click', function () {
-                $(this).addClass('weui-bar__item_on').siblings('.weui-bar__item_on').removeClass('weui-bar__item_on');
-                //内容切换
-                // var moduleClass = jQuery(this).attr("module");
-                // var ss = ".weui-tab__panel ." + moduleClass + "_weui_tab_bd_item_active";
-                // $(ss).removeClass(moduleClass + '_weui_tab_bd_item_active');
-                // var data_toggle =jQuery(this).attr("target");
-                // $(data_toggle).addClass(moduleClass + "_weui_tab_bd_item_active");
-            });
+        $('.weui-navbar__item').on('click', function () {
+            $(this).addClass('weui-bar__item_on').siblings('.weui-bar__item_on').removeClass('weui-bar__item_on');
+            //内容切换
+            var moduleClass = jQuery(this).attr("module");
+            var ss = ".weui-tab__panel ." + moduleClass + "_weui_tab_bd_item_active";
+            $(ss).removeClass(moduleClass + '_weui_tab_bd_item_active');
+            var data_toggle =jQuery(this).attr("target");
+            $(data_toggle).addClass(moduleClass + "_weui_tab_bd_item_active");
         });
         });
 
 
     });
     });
@@ -65,7 +65,9 @@ var statisticsOrderList =${rbList!'[]'};
     <#--console.log('ssssss');-->
     <#--console.log('ssssss');-->
     <#--var tasks = ${taskList!'[]'};-->
     <#--var tasks = ${taskList!'[]'};-->
     // console.log('ssssss', tasks);
     // console.log('ssssss', tasks);
-    console.log('asdsfdgfhjghfgdf');
+    // console.log('asdsfdgfhjghfgdf');
+
+    ribao_init();
     qiuzhu_init();
     qiuzhu_init();
 })(jQuery);
 })(jQuery);
 </script>
 </script>

+ 8 - 5
whepi-ui/templates/yeweihui/houseSelect.ftl

@@ -1,8 +1,11 @@
 <div class="weui-btn-area"  style="display: flex; flex-direction: row; justify-content: space-between;">
 <div class="weui-btn-area"  style="display: flex; flex-direction: row; justify-content: space-between;">
-    <div style="display: flex; flex-direction: row; justify-content: space-between;width: 60vw;">
-        <input id="dong" class="weui-btn" style="background-color: #d1d1d1; margin-top: 0; color: #0d1215; width: 15vw;" href="javascript:" value="栋" onfocus="if (value =='栋'){value =''}" onblur="if (value ==''){value='栋'}" />
-        <input id="danyuan" class="weui-btn" style="background-color: #d1d1d1; margin-top: 0; color: #0d1215; width: 17vw;" href="javascript:" value="单元" onfocus="if (value =='单元'){value =''}" onblur="if (value ==''){value='单元'}" />
-        <input id="menpaihao" class="weui-btn" style="background-color: #d1d1d1; margin-top: 0; color: #0d1215; width: 20vw;" href="javascript:" value="门牌号" onfocus="if (value =='门牌号'){value =''}" onblur="if (value ==''){value='门牌号'}" />
+    <div style="display: flex; flex-direction: row; align-items: center; justify-content: space-between;width: 70vw;">
+<#--        <input id="qz_dong" class="weui-btn" style="background-color: #d1d1d1; margin-top: 0; color: #0d1215; width: 15vw;" href="javascript:" value="栋" onfocus="if (value =='栋'){value =''}" onblur="if (value ==''){value='栋'}" />-->
+<#--        <input id="qz_danyuan" class="weui-btn" style="background-color: #d1d1d1; margin-top: 0; color: #0d1215; width: 20vw;" href="javascript:" value="单元" onfocus="if (value =='单元'){value =''}" onblur="if (value ==''){value='单元'}" />-->
+<#--        <input id="qz_menpaihao" class="weui-btn" style="background-color: #d1d1d1; margin-top: 0; color: #0d1215; width: 20vw;" href="javascript:" value="门牌号" onfocus="if (value =='门牌号'){value =''}" onblur="if (value ==''){value='门牌号'}" />-->
+        <input id="qz_searchNum" class="weui-input" placeholder="请输入门牌号,如:1-1-101" style="background-color: #d1d1d1; height: 5vh;" />
     </div>
     </div>
-    <a id="btnQZ" class="weui-btn weui-btn_primary" style="width: 20vw;" href="javascript:">查询</a>
+    <a id="qz_btnQZ" class="weui-btn_primary" style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 10px;" href="javascript:">
+        <div style="width: 20vw; height: 5vh;line-height:5vh; text-align: center; color: white">查询</div>
+    </a>
 </div>
 </div>

+ 35 - 5
whepi-ui/templates/yeweihui/qiuzhu.ftl

@@ -5,16 +5,26 @@
                 未处理
                 未处理
             </a>
             </a>
             <a class="weui-navbar__item" target="#qz_nav2" module="qiu_zhu">
             <a class="weui-navbar__item" target="#qz_nav2" module="qiu_zhu">
-                处理
+                处理
             </a>
             </a>
             <a class="weui-navbar__item" target="#qz_nav3" module="qiu_zhu">
             <a class="weui-navbar__item" target="#qz_nav3" module="qiu_zhu">
-                处理
+                处理
             </a>
             </a>
         </div>
         </div>
         <div class="weui-tab__panel">
         <div class="weui-tab__panel">
             <div id="qz_nav1" class="weui-tab__bd-item qiu_zhu_weui_tab_bd_item_active">
             <div id="qz_nav1" class="weui-tab__bd-item qiu_zhu_weui_tab_bd_item_active">
 
 
-                <#include "/yeweihui/houseSelect.ftl" />
+                <div class="weui-btn-area"  style="display: flex; flex-direction: row; justify-content: space-between;">
+                    <div style="display: flex; flex-direction: row; align-items: center; justify-content: space-between;width: 70vw;">
+                        <#--        <input id="qz_dong" class="weui-btn" style="background-color: #d1d1d1; margin-top: 0; color: #0d1215; width: 15vw;" href="javascript:" value="栋" onfocus="if (value =='栋'){value =''}" onblur="if (value ==''){value='栋'}" />-->
+                        <#--        <input id="qz_danyuan" class="weui-btn" style="background-color: #d1d1d1; margin-top: 0; color: #0d1215; width: 20vw;" href="javascript:" value="单元" onfocus="if (value =='单元'){value =''}" onblur="if (value ==''){value='单元'}" />-->
+                        <#--        <input id="qz_menpaihao" class="weui-btn" style="background-color: #d1d1d1; margin-top: 0; color: #0d1215; width: 20vw;" href="javascript:" value="门牌号" onfocus="if (value =='门牌号'){value =''}" onblur="if (value ==''){value='门牌号'}" />-->
+                        <input id="qz_searchNum1" class="weui-input" placeholder="请输入门牌号,如:1-1-101" style="background-color: #d1d1d1; height: 5vh;" />
+                    </div>
+                    <a id="qz_btnQZ1" class="weui-btn_primary" style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 10px;" href="javascript:">
+                        <div style="width: 20vw; height: 5vh;line-height:5vh; text-align: center; color: white">查询</div>
+                    </a>
+                </div>
 
 
                 <div class="weui-panel weui-panel_access">
                 <div class="weui-panel weui-panel_access">
                     <div id="qz_list1" class="weui-panel__bd">
                     <div id="qz_list1" class="weui-panel__bd">
@@ -39,7 +49,17 @@
             </div>
             </div>
             <div id="qz_nav2" class="weui-tab__bd-item">
             <div id="qz_nav2" class="weui-tab__bd-item">
 
 
-                <#include "/yeweihui/houseSelect.ftl" />
+                <div class="weui-btn-area"  style="display: flex; flex-direction: row; justify-content: space-between;">
+                    <div style="display: flex; flex-direction: row; align-items: center; justify-content: space-between;width: 70vw;">
+                        <#--        <input id="qz_dong" class="weui-btn" style="background-color: #d1d1d1; margin-top: 0; color: #0d1215; width: 15vw;" href="javascript:" value="栋" onfocus="if (value =='栋'){value =''}" onblur="if (value ==''){value='栋'}" />-->
+                        <#--        <input id="qz_danyuan" class="weui-btn" style="background-color: #d1d1d1; margin-top: 0; color: #0d1215; width: 20vw;" href="javascript:" value="单元" onfocus="if (value =='单元'){value =''}" onblur="if (value ==''){value='单元'}" />-->
+                        <#--        <input id="qz_menpaihao" class="weui-btn" style="background-color: #d1d1d1; margin-top: 0; color: #0d1215; width: 20vw;" href="javascript:" value="门牌号" onfocus="if (value =='门牌号'){value =''}" onblur="if (value ==''){value='门牌号'}" />-->
+                        <input id="qz_searchNum2" class="weui-input" placeholder="请输入门牌号,如:1-1-101" style="background-color: #d1d1d1; height: 5vh;" />
+                    </div>
+                    <a id="qz_btnQZ2" class="weui-btn_primary" style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 10px;" href="javascript:">
+                        <div style="width: 20vw; height: 5vh;line-height:5vh; text-align: center; color: white">查询</div>
+                    </a>
+                </div>
 
 
                 <div class="weui-panel weui-panel_access">
                 <div class="weui-panel weui-panel_access">
                     <div id="qz_list2" class="weui-panel__bd">
                     <div id="qz_list2" class="weui-panel__bd">
@@ -64,7 +84,17 @@
             </div>
             </div>
             <div id="qz_nav3" class="weui-tab__bd-item">
             <div id="qz_nav3" class="weui-tab__bd-item">
 
 
-                <#include "/yeweihui/houseSelect.ftl" />
+                <div class="weui-btn-area"  style="display: flex; flex-direction: row; justify-content: space-between;">
+                    <div style="display: flex; flex-direction: row; align-items: center; justify-content: space-between;width: 70vw;">
+                        <#--        <input id="qz_dong" class="weui-btn" style="background-color: #d1d1d1; margin-top: 0; color: #0d1215; width: 15vw;" href="javascript:" value="栋" onfocus="if (value =='栋'){value =''}" onblur="if (value ==''){value='栋'}" />-->
+                        <#--        <input id="qz_danyuan" class="weui-btn" style="background-color: #d1d1d1; margin-top: 0; color: #0d1215; width: 20vw;" href="javascript:" value="单元" onfocus="if (value =='单元'){value =''}" onblur="if (value ==''){value='单元'}" />-->
+                        <#--        <input id="qz_menpaihao" class="weui-btn" style="background-color: #d1d1d1; margin-top: 0; color: #0d1215; width: 20vw;" href="javascript:" value="门牌号" onfocus="if (value =='门牌号'){value =''}" onblur="if (value ==''){value='门牌号'}" />-->
+                        <input id="qz_searchNum3" class="weui-input" placeholder="请输入门牌号,如:1-1-101" style="background-color: #d1d1d1; height: 5vh;" />
+                    </div>
+                    <a id="qz_btnQZ3" class="weui-btn_primary" style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 10px;" href="javascript:">
+                        <div style="width: 20vw; height: 5vh;line-height:5vh; text-align: center; color: white">查询</div>
+                    </a>
+                </div>
 
 
                 <div class="weui-panel weui-panel_access">
                 <div class="weui-panel weui-panel_access">
                     <div id="qz_list3" class="weui-panel__bd">
                     <div id="qz_list3" class="weui-panel__bd">

+ 134 - 48
whepi-ui/templates/yeweihui/qiuzhu.js

@@ -2,71 +2,157 @@ function qiuzhu_init() {
 
 
   makeUI(taskList);
   makeUI(taskList);
 
 
-  $('#btnQZ').on('click', function () {
-    alert("查询");
-  });
+  $('#qz_btnQZ1').on('click', function () {
+
+    $.ajax({
+      url: '/yeweihui/qiuzhu/list.json',
+      type: 'post',
+      data: {
+        houseNumber: $('#qz_searchNum1').val(),
+        status: 1
+      },
+      success: function (data) {
+        makeList1(data.data);
+      },
+      error: function () {
+        $.alert("网络异常");
+      }
+    });
 
 
-  $("#dong").select({
-    title: "选择楼栋",
-    items: ["法官", "医生", "猎人", "学生", "记者", "其他"]
   });
   });
 
 
-  $("#danyuan").select({
-    title: "选择单元",
-    items: ["法官", "医生", "猎人", "学生", "记者", "其他"]
+  $('#qz_btnQZ2').on('click', function () {
+
+    $.ajax({
+      url: '/yeweihui/qiuzhu/list.json',
+      type: 'post',
+      data: {
+        houseNumber: $('#qz_searchNum2').val(),
+        status: 2
+      },
+      success: function (data) {
+        makeList2(data.data);
+      },
+      error: function () {
+        $.alert("网络异常");
+      }
+    });
+
   });
   });
 
 
-  $("#menpaihao").select({
-    title: "选择门牌号",
-    items: ["法官", "医生", "猎人", "学生", "记者", "其他"]
+  $('#qz_btnQZ3').on('click', function () {
+    $.ajax({
+      url: '/yeweihui/qiuzhu/list.json',
+      type: 'post',
+      data: {
+        houseNumber: $('#qz_searchNum3').val(),
+        status: 3
+      },
+      success: function (data) {
+        makeList3(data.data);
+      },
+      error: function () {
+        $.alert("网络异常");
+      }
+    });
   });
   });
 }
 }
 
 
 function makeUI(tasks) {
 function makeUI(tasks) {
 
 
-  $('#qz_list1').empty();
-  $('#qz_list2').empty();
-  $('#qz_list3').empty();
+  let tasks1 = [];
+  let tasks2 = [];
+  let tasks3 = [];
 
 
-  for (var i = 0; i < tasks.length; i++) {
+  for (let i = 0; i < tasks.length; i++) {
 
 
-    var task = tasks[i];
-    if (task.taskStatus == 1) {
+    let task = tasks[i];
 
 
-      $('#qz_list1').append($('<a href="javascript:void(0);" class="weui-media-box weui-media-box_appmsg">\n' +
-          '                            <div class="weui-media-box__bd">\n' +
-          '                                <div style="display: flex; flex-direction: row; justify-content: space-between;">\n' +
-          '                                    <p class="weui-media-box__desc">' + task.houseNumber + '</p>\n' +
-          '                                    <p class="weui-media-box__desc">' + '2020-02-02 14:30' + '</p>\n' +
-          '                                </div>\n' +
-          '                                <h4 class="weui-media-box__title">' + task.taskTitle + '</h4>\n' +
-          '                                <p class="weui-media-box__desc">' + task.remark + '</p>\n' +
-          '                            </div>\n' +
-          '                        </a>'));
+    if (task.taskStatus == 1) {
+      tasks1.push(task);
     }
     }
     else if (task.taskStatus == 2) {
     else if (task.taskStatus == 2) {
-      $('#qz_list2').append($('<a href="javascript:void(0);" class="weui-media-box weui-media-box_appmsg">\n' +
-          '                            <div class="weui-media-box__bd">\n' +
-          '                                <div style="display: flex; flex-direction: row; justify-content: space-between;">\n' +
-          '                                    <p class="weui-media-box__desc">' + task.houseNumber + '</p>\n' +
-          '                                    <p class="weui-media-box__desc">' + '2020-02-02 14:30' + '</p>\n' +
-          '                                </div>\n' +
-          '                                <h4 class="weui-media-box__title">' + task.taskTitle + '</h4>\n' +
-          '                                <p class="weui-media-box__desc">' + task.remark + '</p>\n' +
-          '                            </div>\n' +
-          '                        </a>'));
+      tasks2.push(task);
     }
     }
     else if (task.taskStatus == 3) {
     else if (task.taskStatus == 3) {
-      $('#qz_list3').append($('<a href="javascript:void(0);" class="weui-media-box weui-media-box_appmsg">\n' +
-          '                            <div class="weui-media-box__bd">\n' +
-          '                                <div style="display: flex; flex-direction: row; justify-content: space-between;">\n' +
-          '                                    <p class="weui-media-box__desc">' + task.houseNumber + '</p>\n' +
-          '                                    <p class="weui-media-box__desc">' + '2020-02-02 14:30' + '</p>\n' +
-          '                                </div>\n' +
-          '                                <h4 class="weui-media-box__title">' + task.taskTitle + '</h4>\n' +
-          '                                <p class="weui-media-box__desc">' + task.remark + '</p>\n' +
-          '                            </div>\n' +
-          '                        </a>'));
+      tasks3.push(task);
     }
     }
   }
   }
+
+  makeList1(tasks1);
+  makeList2(tasks2);
+  makeList3(tasks3);
+}
+
+function makeList1(tasks) {
+
+  $('#qz_list1').empty();
+  if (tasks.length <= 0) {
+    $('#qz_list1').append('<div class="weui-loadmore weui-loadmore_line">\n' +
+        '    <span class="weui-loadmore__tips">暂无数据</span>\n' +
+        '</div>');
+  }
+  for (let i = 0; i < tasks.length; i++) {
+    let task = tasks[i];
+    $('#qz_list1').append($('<a href="javascript:itemSelect(' + task.taskId + ');" class="weui-media-box weui-media-box_appmsg">\n' +
+        '                            <div class="weui-media-box__bd">\n' +
+        '                                <div style="display: flex; flex-direction: row; justify-content: space-between;">\n' +
+        '                                    <p class="weui-media-box__desc">' + task.houseNumber + '</p>\n' +
+        '                                    <p class="weui-media-box__desc">' + '2020-02-02 14:30' + '</p>\n' +
+        '                                </div>\n' +
+        '                                <h4 class="weui-media-box__title">' + task.taskTitle + '</h4>\n' +
+        '                                <p class="weui-media-box__desc">' + task.remark + '</p>\n' +
+        '                            </div>\n' +
+        '                        </a>'));
+  }
+}
+
+function makeList2(tasks) {
+
+  $('#qz_list2').empty();
+  if (tasks.length <= 0) {
+    $('#qz_list2').append('<div class="weui-loadmore weui-loadmore_line">\n' +
+        '    <span class="weui-loadmore__tips">暂无数据</span>\n' +
+        '</div>');
+  }
+  for (let i = 0; i < tasks.length; i++) {
+    let task = tasks[i];
+    $('#qz_list2').append($('<a href="javascript:itemSelect(' + task.taskId + ');" class="weui-media-box weui-media-box_appmsg">\n' +
+        '                            <div class="weui-media-box__bd">\n' +
+        '                                <div style="display: flex; flex-direction: row; justify-content: space-between;">\n' +
+        '                                    <p class="weui-media-box__desc">' + task.houseNumber + '</p>\n' +
+        '                                    <p class="weui-media-box__desc">' + '2020-02-02 14:30' + '</p>\n' +
+        '                                </div>\n' +
+        '                                <h4 class="weui-media-box__title">' + task.taskTitle + '</h4>\n' +
+        '                                <p class="weui-media-box__desc">' + task.remark + '</p>\n' +
+        '                            </div>\n' +
+        '                        </a>'));
+  }
+}
+
+function makeList3(tasks) {
+
+  $('#qz_list3').empty();
+  if (tasks.length <= 0) {
+    $('#qz_list3').append('<div class="weui-loadmore weui-loadmore_line">\n' +
+        '    <span class="weui-loadmore__tips">暂无数据</span>\n' +
+        '</div>');
+  }
+  for (let i = 0; i < tasks.length; i++) {
+    let task = tasks[i];
+    $('#qz_list3').append($('<a href="javascript:itemSelect(' + task.taskId + ');" class="weui-media-box weui-media-box_appmsg">\n' +
+        '                            <div class="weui-media-box__bd">\n' +
+        '                                <div style="display: flex; flex-direction: row; justify-content: space-between;">\n' +
+        '                                    <p class="weui-media-box__desc">' + task.houseNumber + '</p>\n' +
+        '                                    <p class="weui-media-box__desc">' + '2020-02-02 14:30' + '</p>\n' +
+        '                                </div>\n' +
+        '                                <h4 class="weui-media-box__title">' + task.taskTitle + '</h4>\n' +
+        '                                <p class="weui-media-box__desc">' + task.remark + '</p>\n' +
+        '                            </div>\n' +
+        '                        </a>'));
+  }
+}
+
+function itemSelect(taskId) {
+  window.location.href = "/yeweihui/qiuzhudetail.html?taskId=" + taskId;
 }
 }

+ 92 - 0
whepi-ui/templates/yeweihui/qiuzhuDetail.ftl

@@ -0,0 +1,92 @@
+<#assign title="求助详情"/>
+<#include "/home/frag.head.ftl" />
+
+<div class="weui-tab">
+
+    <div class="weui-btn-area">
+
+        <h4 class="weui-media-box__title">求助标题</h4>
+        <p class="weui-media-box__desc">${ task.taskTitle }</p>
+        <br>
+        <h4 class="weui-media-box__title">求助对象</h4>
+        <p class="weui-media-box__desc">${ task.taskTarget }</p>
+        <br>
+        <h4 class="weui-media-box__title">求助内容</h4>
+        <p class="weui-media-box__desc">${ task.remark }</p>
+        <br>
+        <#if task.taskStatus == 1>
+            <div class="weui-btn-area">
+                <a class="weui-btn weui-btn_primary" href="javascript:doTask();">响应</a>
+            </div>
+        </#if>
+        <#if task.taskStatus == 2>
+            <div style="display: flex; justify-content: center;">
+                <h4 class="weui-media-box__title">处理中</h4>
+            </div>
+        </#if>
+        <#if task.taskStatus == 3>
+            <div style="display: flex; justify-content: center;">
+                <h4 class="weui-media-box__title">已处理完成</h4>
+            </div>
+        </#if>
+    </div>
+
+    <div id="qz_showPop" class="weui-popup__container popup-bottom">
+        <div class="weui-popup__overlay"></div>
+        <div class="weui-popup__modal">
+            <div class="weui-btn-area">
+                <div style="display:flex; flex-direction: row; justify-content: space-between;">
+                    <div style="width: 80%;"></div>
+                    <a class="weui-btn weui-btn_primary" style="margin-bottom: 3vh;" href="javascript:close();">关闭</a>
+            </div>
+                <textarea id="qz_content" class="weui-textarea" placeholder="请输入文本" rows="5"></textarea>
+                <a class="weui-btn weui-btn_primary" style="margin-top: 3vh;margin-bottom: 5vh;" href="javascript:send();">提交</a>
+            </div>
+        </div>
+    </div>
+</div>
+
+<#include "/home/frag.foot.ftl" />
+
+<script>
+    var task = ${taskJson};
+
+    (function ($) {
+
+        console.log('详情页' + task);
+
+    })(jQuery);
+
+    function doTask() {
+        $("#qz_showPop").popup();
+    }
+
+    function close() {
+        $.closePopup();
+    }
+
+    function send() {
+
+        let qzcontent = $('#qz_content').val();
+        if (qzcontent.length <= 0){
+            alert("请输入内容");
+            return;
+        }
+
+        $.ajax({
+            url: '/yeweihui/qiuzhu/reply.json',
+            type: 'post',
+            data: {
+                userId: task.userId,
+                taskId: task.taskId,
+                replyContent: qzcontent
+            },
+            success: function (data) {
+                $.closePopup();
+            },
+            error: function () {
+                $.alert("网络异常");
+            }
+        });
+    }
+</script>

+ 10 - 0
whepi-web/src/main/java/com/bofeng/dao/MsReportMapper.java

@@ -2,10 +2,20 @@ package com.bofeng.dao;
 
 
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.bofeng.entity.MsReport;
 import com.bofeng.entity.MsReport;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 
 /**
 /**
  * @Author: xielianghe
  * @Author: xielianghe
  * @Date: 2020/2/4 15:45
  * @Date: 2020/2/4 15:45
  */
  */
+@Mapper
+@Repository
 public interface MsReportMapper extends BaseMapper<MsReport> {
 public interface MsReportMapper extends BaseMapper<MsReport> {
+
+    List<MsReport> selectByReportDate(@Param("reportDate") String reportDate);
+
 }
 }

+ 6 - 0
whepi-web/src/main/java/com/bofeng/dao/MsSuspectedMapper.java

@@ -2,10 +2,14 @@ package com.bofeng.dao;
 
 
 
 
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.bofeng.entity.MsReport;
 import com.bofeng.entity.MsSuspected;
 import com.bofeng.entity.MsSuspected;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Repository;
 
 
+import java.util.List;
+
 /**
 /**
  * @Author: xielianghe
  * @Author: xielianghe
  * @Date: 2020/2/4 15:39
  * @Date: 2020/2/4 15:39
@@ -13,4 +17,6 @@ import org.springframework.stereotype.Repository;
 @Mapper
 @Mapper
 @Repository
 @Repository
 public interface MsSuspectedMapper extends BaseMapper<MsSuspected> {
 public interface MsSuspectedMapper extends BaseMapper<MsSuspected> {
+
+    List<MsSuspected> selectByReportId(@Param("reportId") Long reportId);
 }
 }

+ 7 - 1
whepi-web/src/main/java/com/bofeng/dao/QzTaskDao.java

@@ -14,5 +14,11 @@ public interface QzTaskDao extends BaseMapper<QzTask> {
 
 
   List<QzTask> selectAll();
   List<QzTask> selectAll();
 
 
-  List<QzTask> queryQzTask();
+    QzTask queryByTaskId(Long taskId);
+
+    List<QzTask> queryByHouseNumber(@Param("houseNumber") String houseNumber, @Param("status") Integer status);
+
+    Integer updateStatusById(@Param("taskId") Long taskId, @Param("status") Integer status);
+
+    List<QzTask> queryQzTask();
 }
 }

+ 2 - 2
whepi-web/src/main/java/com/bofeng/dao/QzTaskReplyDao.java

@@ -1,7 +1,6 @@
 package com.bofeng.dao;
 package com.bofeng.dao;
 
 
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
-import com.bofeng.entity.QzTask;
 import com.bofeng.entity.QzTaskReply;
 import com.bofeng.entity.QzTaskReply;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Repository;
@@ -10,7 +9,8 @@ import java.util.List;
 
 
 @Mapper
 @Mapper
 @Repository
 @Repository
-public interface QzTaskReplyDao extends BaseMapper<QzTask> {
+public interface QzTaskReplyDao extends BaseMapper<QzTaskReply> {
 
 
   List<QzTaskReply> taskQuery();
   List<QzTaskReply> taskQuery();
+
 }
 }

+ 5 - 0
whepi-web/src/main/java/com/bofeng/entity/MsReport.java

@@ -9,6 +9,8 @@ import lombok.Getter;
 import lombok.Setter;
 import lombok.Setter;
 import org.joda.time.DateTime;
 import org.joda.time.DateTime;
 
 
+import java.util.Date;
+
 /**
 /**
  * @Author: xielianghe
  * @Author: xielianghe
  * @Date: 2020/2/4 14:54
  * @Date: 2020/2/4 14:54
@@ -33,6 +35,9 @@ public class MsReport {
     @TableField("remarks")
     @TableField("remarks")
     private String remarks;
     private String remarks;
 
 
+    @TableField("report_date")
+    private Date reportDate;
+
     @TableField("ms_status")
     @TableField("ms_status")
     private Integer msStatus;
     private Integer msStatus;
 
 

+ 4 - 1
whepi-web/src/main/java/com/bofeng/entity/MsSuspected.java

@@ -24,6 +24,9 @@ public class MsSuspected {
     @TableField("report_id")
     @TableField("report_id")
     private Long reportId;
     private Long reportId;
 
 
+    @TableField("user_name")
+    private String userName;
+
     @TableField("family_relative")
     @TableField("family_relative")
     private Integer familyRelative;
     private Integer familyRelative;
 
 
@@ -31,7 +34,7 @@ public class MsSuspected {
     private Integer medical;
     private Integer medical;
 
 
     @TableField("condition_status")
     @TableField("condition_status")
-    private Integer conditionStatus;
+    private String conditionStatus;
 
 
     @TableField("remarks")
     @TableField("remarks")
     private String remarks;
     private String remarks;

+ 40 - 27
whepi-web/src/main/java/com/bofeng/entity/QzTaskReply.java

@@ -1,9 +1,11 @@
 package com.bofeng.entity;
 package com.bofeng.entity;
 
 
-import org.joda.time.DateTime;
+import lombok.Data;
 
 
 import java.io.Serializable;
 import java.io.Serializable;
+import java.util.Date;
 
 
+@Data
 public class QzTaskReply implements Serializable {
 public class QzTaskReply implements Serializable {
 
 
   /**
   /**
@@ -11,29 +13,40 @@ public class QzTaskReply implements Serializable {
    */
    */
   private Long replyId;
   private Long replyId;
 
 
-  private Long taskId;
-
-  private Long userId;
-
-  private String replyContent;
-
-  /**
-   * 新增人
-   */
-  private Long userCreate;
-
-  /**
-   * 新增时间
-   */
-  private DateTime timeCreate;
-
-  /**
-   * 修改人
-   */
-  private Long userUpdate;
-
-  /**
-   * 修改时间
-   */
-  private DateTime timeUpdate;
-}
+    /**
+     * 求助ID
+     */
+    private Long taskId;
+
+    /**
+     * 回复用户ID
+     */
+    private Long userId;
+
+    /**
+     * 回复内容
+     */
+    private String replyContent;
+
+    /**
+     * 新增人
+     */
+    private Long userCreate;
+
+    /**
+     * 新增时间
+     */
+    private Date timeCreate;
+
+    /**
+     * 修改人
+     */
+    private Long userUpdate;
+
+    /**
+     * 修改时间
+     */
+    private Date timeUpdate;
+
+    private static final long serialVersionUID = 1L;
+}

+ 32 - 0
whepi-web/src/main/java/com/bofeng/service/MsReportService.java

@@ -1,9 +1,41 @@
 package com.bofeng.service;
 package com.bofeng.service;
 
 
 
 
+import com.bofeng.dao.MsReportMapper;
+import com.bofeng.dao.MsSuspectedMapper;
+import com.bofeng.entity.MsReport;
+import com.bofeng.entity.MsSuspected;
+import com.bofeng.entity.NotifyOpen;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
 /**
 /**
  * @Author: xielianghe
  * @Author: xielianghe
  * @Date: 2020/2/4 15:44
  * @Date: 2020/2/4 15:44
  */
  */
+@Service
+@Transactional(readOnly = true)
 public class MsReportService {
 public class MsReportService {
+
+    @Autowired
+    private MsSuspectedMapper msSuspectedMapper;
+    @Autowired
+    private MsReportMapper msReportMapper;
+
+    public List<MsSuspected> getByDateNow() {
+        Date t = new Date();
+        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+        String reportDate = df.format(t);
+        List<MsReport> listReport = msReportMapper.selectByReportDate(reportDate);
+        List<MsSuspected> listSuspected = null;
+        if (listReport != null && listReport.size() > 0) {
+            listSuspected = msSuspectedMapper.selectByReportId(Long.parseLong(listReport.get(0).getReportId().toString()));
+        }
+        return listSuspected;
+    }
 }
 }

+ 44 - 13
whepi-web/src/main/java/com/bofeng/service/MsSuspectedService.java

@@ -2,18 +2,21 @@ package com.bofeng.service;
 
 
 
 
 import com.baomidou.mybatisplus.toolkit.IdWorker;
 import com.baomidou.mybatisplus.toolkit.IdWorker;
+import com.bofeng.dao.MsReportMapper;
 import com.bofeng.dao.MsSuspectedMapper;
 import com.bofeng.dao.MsSuspectedMapper;
-import com.bofeng.dao.UserOpenMapper;
+import com.bofeng.entity.MsReport;
 import com.bofeng.entity.MsSuspected;
 import com.bofeng.entity.MsSuspected;
-import com.bofeng.entity.Owner;
-import com.bofeng.entity.UptownHome;
-import com.bofeng.entity.UserRole;
+import com.sun.org.apache.bcel.internal.generic.NEW;
 import org.joda.time.DateTime;
 import org.joda.time.DateTime;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
 /**
 /**
  * @Author: xielianghe
  * @Author: xielianghe
  * @Date: 2020/2/4 15:44
  * @Date: 2020/2/4 15:44
@@ -25,22 +28,50 @@ public class MsSuspectedService {
 
 
     @Autowired
     @Autowired
     private MsSuspectedMapper msSuspectedMapper;
     private MsSuspectedMapper msSuspectedMapper;
+    @Autowired
+    private MsReportMapper msReportMapper;
 
 
 
 
     @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
     @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
-    public void addRibao(Long userId, Integer userType, String linkman, String phone) {
+    public void addSuspected(String userName, String conditionStatus, Integer medical, String remarks) {
+        Long reportId=0L;
+        //如果是当前日期 已经添加
+        Date t = new Date();
+        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+        String reportDate=df.format(t);
+        List<MsReport> listReport = msReportMapper.selectByReportDate(reportDate);
+        if (listReport == null|| listReport.size()==0) {
+            MsReport msReport = new MsReport();
+            msReport.setReportId(IdWorker.getId());
+            msReport.setHouseId(0L);
+            msReport.setSafetyNum(0);
+            msReport.setSuspectedNum(0);
+            msReport.setRemarks("");
+            msReport.setReportDate(DateTime.now().toDate());
+            msReport.setMsStatus(0);
+            msReport.setUserCreate(0L);
+            msReport.setTimeCreate(DateTime.now());
+            msReport.setUserUpdate(0L);
+            msReport.setTimeUpdate(DateTime.now());
+            msReportMapper.insert(msReport);
+            reportId=msReport.getReportId();
+        }
+        else
+            reportId=listReport.get(0).getReportId();
+
+        //添加家人
         MsSuspected msSuspected = new MsSuspected();
         MsSuspected msSuspected = new MsSuspected();
         msSuspected.setSuspectedId(IdWorker.getId());
         msSuspected.setSuspectedId(IdWorker.getId());
-        msSuspected.setReportId(userId);
-        msSuspected.setFamilyRelative(userType);
-        msSuspected.setConditionStatus(0);
-        msSuspected.setMedical(0);
-        msSuspected.setRemarks("测试");
-        msSuspected.setUserCreate(userId);
+        msSuspected.setReportId(reportId);
+        msSuspected.setUserName(userName);
+        msSuspected.setFamilyRelative(1);//默认为家人
+        msSuspected.setConditionStatus(conditionStatus);
+        msSuspected.setMedical(medical);
+        msSuspected.setRemarks(remarks);
+        msSuspected.setUserCreate(0L);
         msSuspected.setTimeCreate(DateTime.now());
         msSuspected.setTimeCreate(DateTime.now());
-        msSuspected.setUserUpdate(userId);
+        msSuspected.setUserUpdate(0L);
         msSuspected.setTimeUpdate(DateTime.now());
         msSuspected.setTimeUpdate(DateTime.now());
         msSuspectedMapper.insert(msSuspected);
         msSuspectedMapper.insert(msSuspected);
     }
     }
-
 }
 }

+ 24 - 5
whepi-web/src/main/java/com/bofeng/service/QzTaskReplyService.java

@@ -1,20 +1,39 @@
 package com.bofeng.service;
 package com.bofeng.service;
 
 
+import com.baomidou.mybatisplus.toolkit.IdWorker;
+import com.bofeng.dao.QzTaskDao;
 import com.bofeng.dao.QzTaskReplyDao;
 import com.bofeng.dao.QzTaskReplyDao;
 import com.bofeng.entity.QzTaskReply;
 import com.bofeng.entity.QzTaskReply;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 
 import java.util.List;
 import java.util.List;
 
 
 @Service
 @Service
+@Transactional(readOnly = true)
 public class QzTaskReplyService {
 public class QzTaskReplyService {
 
 
-  @Autowired
-  private QzTaskReplyDao qzTaskReplyDao;
+    @Autowired
+    private QzTaskReplyDao qzTaskReplyDao;
 
 
-  public List<QzTaskReply> taskQuery() {
-    return qzTaskReplyDao.taskQuery();
+    @Autowired
+    private QzTaskDao qzTaskDao;
+
+    public List<QzTaskReply> taskQuery() {
+        return qzTaskReplyDao.taskQuery();
+
+    }
+
+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
+    public Integer insertQzTaskReply(QzTaskReply qzTaskReply) {
+
+        qzTaskDao.updateStatusById(qzTaskReply.getTaskId(), 2);
+
+        qzTaskReply.setReplyId(IdWorker.getId());
+
+        return qzTaskReplyDao.insert(qzTaskReply);
+    }
 
 
-  }
 }
 }

+ 15 - 7
whepi-web/src/main/java/com/bofeng/service/QzTaskService.java

@@ -1,30 +1,38 @@
 package com.bofeng.service;
 package com.bofeng.service;
 
 
 import com.baomidou.mybatisplus.toolkit.IdWorker;
 import com.baomidou.mybatisplus.toolkit.IdWorker;
-import com.bofeng.JwtHelper;
 import com.bofeng.dao.QzTaskDao;
 import com.bofeng.dao.QzTaskDao;
 import com.bofeng.entity.QzTask;
 import com.bofeng.entity.QzTask;
-import com.yvan.platform.JsonWapper;
 import lombok.var;
 import lombok.var;
 import org.joda.time.DateTime;
 import org.joda.time.DateTime;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 
 import java.util.List;
 import java.util.List;
 
 
 @Service
 @Service
+@Transactional(readOnly = true)
 public class QzTaskService {
 public class QzTaskService {
 
 
-  @Autowired
-  private QzTaskDao qzTaskDao;
+    @Autowired
+    private QzTaskDao qzTaskDao;
 
 
+    public List<QzTask> selectAll () {
+        return qzTaskDao.selectAll();
+    }
 
 
-  public List<QzTask> selectAll() {
-    return qzTaskDao.selectAll();
-  }
+    public List<QzTask> queryByHouseNumber (String houseNumber, Integer status) {
+        return qzTaskDao.queryByHouseNumber(houseNumber, status);
+    }
 
 
+    public QzTask queryByTaskId (Long taskId) {
+        return qzTaskDao.queryByTaskId(taskId);
+    }
 
 
   //求助的新增
   //求助的新增
+  @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
   public int addHelp(String taskTitle,String taskTarget,String remark) {
   public int addHelp(String taskTitle,String taskTarget,String remark) {
     var qzTak=new QzTask();
     var qzTak=new QzTask();
     qzTak.setTaskId(IdWorker.getId());
     qzTak.setTaskId(IdWorker.getId());

+ 5 - 5
whepi-web/src/main/java/com/bofeng/wx/controller/MsReportController.java

@@ -23,11 +23,11 @@ public class MsReportController {
 
 
     @PostMapping("/home/addRibao.json")
     @PostMapping("/home/addRibao.json")
     public ModelAndView saveUser(HttpServletRequest request) {
     public ModelAndView saveUser(HttpServletRequest request) {
-        Long userId = Long.parseLong(request.getParameter("userId"));
-        Integer userType = Integer.parseInt(request.getParameter("userType"));
-        String linkman = request.getParameter("linkman");
-        String phone = request.getParameter("phone");
-        msSuspectedService.addRibao(userId, userType, linkman, phone);
+        String userName = request.getParameter("userName");
+        String conditionStatus = request.getParameter("conditionStatus");
+        Integer medical = request.getParameter("medical").equals("on") ? 1 : 0;
+        String remarks = request.getParameter("remarks");
+        msSuspectedService.addSuspected(userName, conditionStatus, medical, remarks);
         return new ModelAndView("/home/home.ftl");
         return new ModelAndView("/home/home.ftl");
     }
     }
 }
 }

+ 72 - 0
whepi-web/src/main/java/com/bofeng/wx/controller/YeWeiHuiController.java

@@ -1,15 +1,22 @@
 package com.bofeng.wx.controller;
 package com.bofeng.wx.controller;
 
 
 import com.bofeng.entity.QzTask;
 import com.bofeng.entity.QzTask;
+import com.bofeng.entity.QzTaskReply;
 import com.bofeng.entity.SysUptownHouse;
 import com.bofeng.entity.SysUptownHouse;
+import com.bofeng.service.QzTaskReplyService;
 import com.bofeng.service.QzTaskService;
 import com.bofeng.service.QzTaskService;
 import com.bofeng.service.RbService;
 import com.bofeng.service.RbService;
+import com.fasterxml.jackson.core.JsonProcessingException;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Maps;
 import com.yvan.Model;
 import com.yvan.Model;
+import com.yvan.ModelOps;
+import com.yvan.mvc.Pd;
+import com.yvan.platform.JsonWapper;
 import com.yvan.platform.YvanUtil;
 import com.yvan.platform.YvanUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.ui.ModelMap;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
 import org.springframework.web.servlet.ModelAndView;
 
 
@@ -24,6 +31,9 @@ public class YeWeiHuiController {
     @Autowired
     @Autowired
     private RbService rbService;
     private RbService rbService;
 
 
+    @Autowired
+    private QzTaskReplyService qzTaskReplyService;
+
     @GetMapping("/yeweihui/home.html")
     @GetMapping("/yeweihui/home.html")
     public ModelAndView yeweihui(ModelMap model) {
     public ModelAndView yeweihui(ModelMap model) {
 
 
@@ -39,6 +49,68 @@ public class YeWeiHuiController {
         return new ModelAndView("/yeweihui/home.ftl", model);
         return new ModelAndView("/yeweihui/home.ftl", model);
     }
     }
 
 
+    @GetMapping("/yeweihui/qiuzhudetail.html")
+    public ModelAndView qiuzhudetail(@Pd(name = "taskId") Long taskId, ModelMap model) throws JsonProcessingException {
+
+        QzTask task = qzTaskService.queryByTaskId(taskId);
+//        A业委会,B居委会,C物业,D志愿者
+        StringBuffer target = new StringBuffer();
+        if (task.getTaskTarget().equals("A")) {
+            target.append("业委会");
+        }
+        else if (task.getTaskTarget().equals("B")) {
+            if (target.length() > 0) {
+                target.append("、居委会");
+            }
+            else {
+                target.append("居委会");
+            }
+        }
+        else if (task.getTaskTarget().equals("C")) {
+            if (target.length() > 0) {
+                target.append("、物业");
+            }
+            else {
+                target.append("物业");
+            }
+        }
+        else if (task.getTaskTarget().equals("D")) {
+            if (target.length() > 0) {
+                target.append("、志愿者");
+            }
+            else {
+                target.append("志愿者");
+            }
+        }
+
+        task.setTaskTarget(target.toString());
+
+        model.put("taskJson", new JsonWapper(task));
+        model.put("task", task);
+
+        return new ModelAndView("/yeweihui/qiuzhudetail.ftl", model);
+    }
+
+    @PostMapping("/yeweihui/qiuzhu/reply.json")
+    public ModelOps replyQiuzhu(QzTaskReply qzTaskReply) {
+
+        Integer success = qzTaskReplyService.insertQzTaskReply(qzTaskReply);
+
+        if (success > 0) {
+            return ModelOps.newSuccess();
+        }
+        else {
+            return ModelOps.newFail("操作失败");
+        }
+    }
+
+    @PostMapping("/yeweihui/qiuzhu/list.json")
+    public Model queryByHouseNumber(@Pd(name = "houseNumber") String houseNumber, @Pd(name = "status") Integer status) {
+        List<QzTask> list = qzTaskService.queryByHouseNumber(houseNumber, status);
+
+        return Model.newSuccess(list);
+    }
+
     @GetMapping("/yeweihui/ribao.html")
     @GetMapping("/yeweihui/ribao.html")
     public ModelAndView yeweihuiRibao(ModelMap model) {
     public ModelAndView yeweihuiRibao(ModelMap model) {
 
 

+ 1 - 1
whepi-web/src/main/resources/application.yml

@@ -43,7 +43,7 @@ endpoints:
 #  whitelabel.enabled: false
 #  whitelabel.enabled: false
 
 
 spring:
 spring:
-  profiles.active: guojing
+  profiles.active: lll
 
 
   application:
   application:
     name: whepi-web
     name: whepi-web

+ 123 - 0
whepi-web/src/main/resources/generator/QzTaskReplyDao.xml

@@ -0,0 +1,123 @@
+<?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.bofeng.generator.QzTaskReplyDao">
+  <resultMap id="BaseResultMap" type="com.bofeng.generator.QzTaskReply">
+    <id column="reply_id" jdbcType="BIGINT" property="replyId" />
+    <result column="task_id" jdbcType="BIGINT" property="taskId" />
+    <result column="user_id" jdbcType="BIGINT" property="userId" />
+    <result column="reply_content" jdbcType="VARCHAR" property="replyContent" />
+    <result column="user_create" jdbcType="BIGINT" property="userCreate" />
+    <result column="time_create" jdbcType="TIMESTAMP" property="timeCreate" />
+    <result column="user_update" jdbcType="BIGINT" property="userUpdate" />
+    <result column="time_update" jdbcType="TIMESTAMP" property="timeUpdate" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    reply_id, task_id, user_id, reply_content, user_create, time_create, user_update, 
+    time_update
+  </sql>
+  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
+    select 
+    <include refid="Base_Column_List" />
+    from qz_task_reply
+    where reply_id = #{replyId,jdbcType=BIGINT}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
+    delete from qz_task_reply
+    where reply_id = #{replyId,jdbcType=BIGINT}
+  </delete>
+  <insert id="insert" keyColumn="reply_id" keyProperty="replyId" parameterType="com.bofeng.generator.QzTaskReply" useGeneratedKeys="true">
+    insert into qz_task_reply (task_id, user_id, reply_content, 
+      user_create, time_create, user_update, 
+      time_update)
+    values (#{taskId,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, #{replyContent,jdbcType=VARCHAR}, 
+      #{userCreate,jdbcType=BIGINT}, #{timeCreate,jdbcType=TIMESTAMP}, #{userUpdate,jdbcType=BIGINT}, 
+      #{timeUpdate,jdbcType=TIMESTAMP})
+  </insert>
+  <insert id="insertSelective" keyColumn="reply_id" keyProperty="replyId" parameterType="com.bofeng.generator.QzTaskReply" useGeneratedKeys="true">
+    insert into qz_task_reply
+    <trim prefix="(" suffix=")" suffixOverrides=",">
+      <if test="taskId != null">
+        task_id,
+      </if>
+      <if test="userId != null">
+        user_id,
+      </if>
+      <if test="replyContent != null">
+        reply_content,
+      </if>
+      <if test="userCreate != null">
+        user_create,
+      </if>
+      <if test="timeCreate != null">
+        time_create,
+      </if>
+      <if test="userUpdate != null">
+        user_update,
+      </if>
+      <if test="timeUpdate != null">
+        time_update,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides=",">
+      <if test="taskId != null">
+        #{taskId,jdbcType=BIGINT},
+      </if>
+      <if test="userId != null">
+        #{userId,jdbcType=BIGINT},
+      </if>
+      <if test="replyContent != null">
+        #{replyContent,jdbcType=VARCHAR},
+      </if>
+      <if test="userCreate != null">
+        #{userCreate,jdbcType=BIGINT},
+      </if>
+      <if test="timeCreate != null">
+        #{timeCreate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="userUpdate != null">
+        #{userUpdate,jdbcType=BIGINT},
+      </if>
+      <if test="timeUpdate != null">
+        #{timeUpdate,jdbcType=TIMESTAMP},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.bofeng.generator.QzTaskReply">
+    update qz_task_reply
+    <set>
+      <if test="taskId != null">
+        task_id = #{taskId,jdbcType=BIGINT},
+      </if>
+      <if test="userId != null">
+        user_id = #{userId,jdbcType=BIGINT},
+      </if>
+      <if test="replyContent != null">
+        reply_content = #{replyContent,jdbcType=VARCHAR},
+      </if>
+      <if test="userCreate != null">
+        user_create = #{userCreate,jdbcType=BIGINT},
+      </if>
+      <if test="timeCreate != null">
+        time_create = #{timeCreate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="userUpdate != null">
+        user_update = #{userUpdate,jdbcType=BIGINT},
+      </if>
+      <if test="timeUpdate != null">
+        time_update = #{timeUpdate,jdbcType=TIMESTAMP},
+      </if>
+    </set>
+    where reply_id = #{replyId,jdbcType=BIGINT}
+  </update>
+  <update id="updateByPrimaryKey" parameterType="com.bofeng.generator.QzTaskReply">
+    update qz_task_reply
+    set task_id = #{taskId,jdbcType=BIGINT},
+      user_id = #{userId,jdbcType=BIGINT},
+      reply_content = #{replyContent,jdbcType=VARCHAR},
+      user_create = #{userCreate,jdbcType=BIGINT},
+      time_create = #{timeCreate,jdbcType=TIMESTAMP},
+      user_update = #{userUpdate,jdbcType=BIGINT},
+      time_update = #{timeUpdate,jdbcType=TIMESTAMP}
+    where reply_id = #{replyId,jdbcType=BIGINT}
+  </update>
+</mapper>

+ 7 - 0
whepi-web/src/main/resources/mapper/MsReport.xml

@@ -0,0 +1,7 @@
+<?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.bofeng.dao.MsReportMapper">
+    <select id="selectByReportDate" resultType="com.bofeng.entity.MsReport">
+        select * from ms_report where report_date = #{reportDate}
+    </select>
+</mapper>

+ 7 - 0
whepi-web/src/main/resources/mapper/MsSuspected.xml

@@ -0,0 +1,7 @@
+<?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.bofeng.dao.MsSuspectedMapper">
+    <select id="selectByReportId" resultType="com.bofeng.entity.MsSuspected">
+        select * from ms_report where report_id = #{reportId}
+    </select>
+</mapper>

+ 12 - 0
whepi-web/src/main/resources/mapper/QzTaskDao.xml

@@ -5,8 +5,20 @@
     select * from qz_task
     select * from qz_task
   </select>
   </select>
 
 
+  <select id="queryByTaskId" resultType="com.bofeng.entity.QzTask">
+    select * from qz_task where task_id=#{taskId}
+  </select>
+
+  <select id="queryByHouseNumber" resultType="com.bofeng.entity.QzTask">
+    select * from qz_task where task_status=#{status} and house_number like concat('%', #{houseNumber}, '%')
+  </select>
+
+  <update id="updateStatusById">
+    update qz_task set task_status=#{status} where task_id=#{taskId}
+  </update>
 
 
     <select id="queryQzTask" resultType="com.bofeng.entity.QzTask">
     <select id="queryQzTask" resultType="com.bofeng.entity.QzTask">
     select * from qz_task order by time_update desc
     select * from qz_task order by time_update desc
     </select>
     </select>
+
 </mapper>
 </mapper>