浏览代码

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

maoyunfeng 5 年之前
父节点
当前提交
df08aaae87
共有 37 个文件被更改,包括 860 次插入475 次删除
  1. 7 0
      admin-ui/app/style1.html
  2. 7 0
      admin-ui/app/style2.html
  3. 2 1
      whepi-doc/login.sql
  4. 1 1
      whepi-doc/mrsb.sql
  5. 二进制
      whepi-ui/static/homeHelp.jpg
  6. 1 1
      whepi-ui/templates/home/buytc.ftl
  7. 13 0
      whepi-ui/templates/home/frag.head.ftl
  8. 1 1
      whepi-ui/templates/home/qiuzhu.ftl
  9. 135 41
      whepi-ui/templates/home/ribao.ftl
  10. 100 36
      whepi-ui/templates/home/ribao.js
  11. 1 1
      whepi-ui/templates/user/changeRole.ftl
  12. 3 1
      whepi-ui/templates/user/home.ftl
  13. 72 0
      whepi-ui/templates/user/scan.ftl
  14. 1 1
      whepi-ui/templates/yeweihui/home.ftl
  15. 1 1
      whepi-ui/templates/yeweihui/ribao.ftl
  16. 1 1
      whepi-ui/templates/yeweihui/ribaoXq.ftl
  17. 1 1
      whepi-ui/templates/yeweihui/ribaohuiz.ftl
  18. 12 0
      whepi-web/src/main/java/com/bofeng/dao/MsReportMapper.java
  19. 5 0
      whepi-web/src/main/java/com/bofeng/dao/OutScanConfMapper.java
  20. 5 0
      whepi-web/src/main/java/com/bofeng/dao/OutScanMapper.java
  21. 3 3
      whepi-web/src/main/java/com/bofeng/dao/RbMapper.java
  22. 3 2
      whepi-web/src/main/java/com/bofeng/dao/UptownDoorMapper.java
  23. 6 0
      whepi-web/src/main/java/com/bofeng/dao/UptownUnitMapper.java
  24. 26 21
      whepi-web/src/main/java/com/bofeng/entity/ExcelRiBao.java
  25. 26 21
      whepi-web/src/main/java/com/bofeng/entity/ExcelRiBaoLY.java
  26. 33 22
      whepi-web/src/main/java/com/bofeng/entity/ExcelRiBaoPrivate.java
  27. 1 1
      whepi-web/src/main/java/com/bofeng/entity/MsSuspected.java
  28. 7 3
      whepi-web/src/main/java/com/bofeng/entity/OutScan.java
  29. 1 1
      whepi-web/src/main/java/com/bofeng/entity/OutScanConf.java
  30. 5 3
      whepi-web/src/main/java/com/bofeng/entity/UptownDoor.java
  31. 1 1
      whepi-web/src/main/java/com/bofeng/service/MsSuspectedService.java
  32. 201 41
      whepi-web/src/main/java/com/bofeng/service/RiBaoService.java
  33. 59 0
      whepi-web/src/main/java/com/bofeng/service/ScanService.java
  34. 1 1
      whepi-web/src/main/java/com/bofeng/wx/controller/MsReportController.java
  35. 19 259
      whepi-web/src/main/java/com/bofeng/wx/controller/RiBaoYwhController.java
  36. 79 9
      whepi-web/src/main/java/com/bofeng/wx/controller/ScanController.java
  37. 20 0
      whepi-web/src/main/resources/mapper/UptownUnitMapper.xml

+ 7 - 0
admin-ui/app/style1.html

@@ -0,0 +1,7 @@
+<html>
+<body>
+<h1>
+    style1.html
+</h1>
+</body>
+</html>

+ 7 - 0
admin-ui/app/style2.html

@@ -0,0 +1,7 @@
+<html>
+<body>
+<h1>
+    style2.html
+</h1>
+</body>
+</html>

+ 2 - 1
whepi-doc/login.sql

@@ -194,8 +194,9 @@ CREATE TABLE out_scan  (
   scan_id           bigint(20) NOT NULL DEFAULT 0 COMMENT '扫码ID',
   user_id           bigint(20) NOT NULL DEFAULT 0 COMMENT '人员会ID',
   uptown_id         bigint(20) NOT NULL DEFAULT 0 COMMENT '小区ID,下拉选ID',
-  door_id           bigint(20) NOT NULL DEFAULT 0 COMMENT '小区大门ID',
+  into_door_id      bigint(20) NOT NULL DEFAULT 0 COMMENT '进入小区大门ID',
   into_date         datetime(0) NOT NULL DEFAULT '0000-01-01 00:00:00' COMMENT '进入时间',
+  out_door_id       bigint(20) NOT NULL DEFAULT 0 COMMENT '出去小区大门ID',
   out_date          datetime(0) NOT NULL DEFAULT '0000-01-01 00:00:00' COMMENT '出去时间',
   user_create       bigint(20) NOT NULL DEFAULT 0 COMMENT '新增人',
   time_create       datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '新增时间',

+ 1 - 1
whepi-doc/mrsb.sql

@@ -32,7 +32,7 @@ CREATE TABLE ms_suspected  (
   user_name         varchar(50)  NOT NULL DEFAULT ''                        COMMENT '家人姓名',
   grender            int(11)    NOT NULL DEFAULT 0                          COMMENT '性别:0未设置,1男,2女',
   age               int(11)    NOT NULL DEFAULT 0                           COMMENT '年龄',
-  family_status     int(11)    NOT NULL DEFAULT 0                           COMMENT '基本状态:0正常,1心血管疾病(服用ARB),2心血管疾病(未服用ARB),3呼吸系统病史,4肿瘤病史,5糖尿病史,6服用过激素药物,7妊娠期,8其他',
+  family_status     int(11)    NOT NULL DEFAULT 0                           COMMENT '基本状态:1,0,1,0,0,0,1 (0表示未选中,1表示选中)',
   status_desp       varchar(100)  NOT NULL DEFAULT ''                       COMMENT '状态描述',
   medical           int(11)    NOT NULL DEFAULT 0                           COMMENT '是否确诊:0否,1是',
   temperature       decimal(14,2) NOT NULL DEFAULT 0                        COMMENT '体温',

二进制
whepi-ui/static/homeHelp.jpg


+ 1 - 1
whepi-ui/templates/home/buytc.ftl

@@ -14,7 +14,7 @@
 
     <div class="page__bd">
         <div class="weui-tab">
-        <#--业委会的套餐-->
+        <#--管理员的套餐-->
             <div id="details">
                 <div id="myyw">
                 </div>

+ 13 - 0
whepi-ui/templates/home/frag.head.ftl

@@ -34,6 +34,19 @@
             font-weight: 900;
             margin: 0 15%;
         }
+        .user-title-long {
+            text-align: center;
+            font-size: 15px;
+            color: #000000;
+            font-weight: 900;
+            margin: 0 15%;
+        }
+        .red {
+            color: red;
+        }
+        .green {
+            color: green;
+        }
         .user-hr {
             align: center;
             width: 100%;

+ 1 - 1
whepi-ui/templates/home/qiuzhu.ftl

@@ -129,7 +129,7 @@
                                         <i class="weui-icon-checked"></i>
                                     </div>
                                     <div class="weui-cell__bd">
-                                        <p>业委会</p>
+                                        <p>管理员</p>
                                     </div>
                                 </label>
                             <#--<label class="weui-cell weui-cell_active weui-check__label" for="qzf3">

+ 135 - 41
whepi-ui/templates/home/ribao.ftl

@@ -21,82 +21,174 @@
                             </div>
                             <div class="weui-cell__ft">
                                 <button id="btnAdd" href="javascript:" style="height:5vh; margin-right: 3vh;"
-                                   class="weui-btn weui-btn_mini weui-btn_primary">添加人员</button>
+                                        class="weui-btn weui-btn_mini weui-btn_primary">添加人员
+                                </button>
                             </div>
                         </div>
                     </div>
                     <div id="rb_family">
-                        <#--<div class="weui-media-box weui-media-box_text">-->
-                            <#--<h4 class="weui-media-box__title">家人1:咳嗽、乏力、未确诊 <a href="javascript:" >删除</a></h4>-->
-                            <#--<p class="weui-media-box__desc">由各种物质组成的巨型球状天体,叫做星球。星球有一定的形状,有自己的运行轨道。</p>-->
-                        <#--</div>-->
+                    <#--<div class="weui-media-box weui-media-box_text">-->
+                    <#--<h4 class="weui-media-box__title">家人1:咳嗽、乏力、未确诊 <a href="javascript:" >删除</a></h4>-->
+                    <#--<p class="weui-media-box__desc">由各种物质组成的巨型球状天体,叫做星球。星球有一定的形状,有自己的运行轨道。</p>-->
+                    <#--</div>-->
                     </div>
                     <div class="weui-cells__tips"> <span style="color: red">
                         注:请如实上报情况,便以相互帮助,小区是我家,团结就是力量!后期会有医生跟踪分析,给予大家医疗建议,请认真填报!
                     </span></div>
                     <div class="weui-btn-area">
-                        <a id="btn_shangbao" class="weui-btn weui-btn_primary" href="javascript:" id="showTooltips" onclick="addReport()">上报</a>
+                        <a id="btn_shangbao" class="weui-btn weui-btn_primary" href="javascript:" id="showTooltips"
+                           onclick="addReport()">上报</a>
                     </div>
                 </div>
                 <div id="ribao" class="weui-btn-area" style="display: none">
                     <div style="text-align: center;">基本信息</div>
                     <div style="display:flex; flex-direction: row; justify-content: space-between;">
-                        <input id="js_input_user_name" class="weui-input" autofocus="" type="text" placeholder="请输入姓名" maxlength="20" style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh; width: 30%; text-align: center;" />
-                        <input id="js_input_user_sex" class="weui-input" autofocus="" type="text" placeholder="性别" maxlength="20" style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh; width: 25%; text-align: center;" />
-                        <input id="js_input_user_age" class="weui-input" autofocus="" type="text" placeholder="年龄" maxlength="3" style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh; width: 25%; text-align: center;" />
-                    </div>
-                    <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
-                        <div style="height: 5vh; line-height: 5vh;margin-left: 2vw;">基本状况</div>
-                        <input id="js_input_user_status" class="weui-input" autofocus="" type="text" placeholder="请选择" maxlength="20" style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh; width: 75%;" />
+                        <input id="js_input_user_name" class="weui-input" autofocus="" type="text" placeholder="请输入姓名"
+                               maxlength="20"
+                               style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh; width: 30%; text-align: center;"/>
+                        <input id="js_input_user_sex" class="weui-input" autofocus="" type="text" placeholder="性别"
+                               maxlength="20"
+                               style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh; width: 25%; text-align: center;"/>
+                        <input id="js_input_user_age" class="weui-input" autofocus="" type="text" placeholder="年龄"
+                               maxlength="3"
+                               style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh; width: 25%; text-align: center;"/>
+                    </div>
+                    <div style="height: 5vh; line-height: 5vh;margin-left: 2vw;">基本情况</div>
+                    <div class="weui-cells weui-cells_checkbox">
+                        <label class="weui-cell weui-cell_active weui-check__label" for="s11">
+                            <div class="weui-cell__hd">
+                                <input type="checkbox" class="weui-check" name="checkbox1" id="s11">
+                                <i class="weui-icon-checked"></i>
+                            </div>
+                            <div class="weui-cell__bd">
+                                <p>心脑血管疾病(服用ARB)</p>
+                            </div>
+                        </label>
+                        <label class="weui-cell weui-cell_active weui-check__label" for="s12">
+                            <div class="weui-cell__hd">
+                                <input type="checkbox" name="checkbox2" class="weui-check" id="s12">
+                                <i class="weui-icon-checked"></i>
+                            </div>
+                            <div class="weui-cell__bd">
+                                <p>心脑血管疾病(未服ARB)</p>
+                            </div>
+                        </label>
+                        <label class="weui-cell weui-cell_active weui-check__label" for="s13">
+                            <div class="weui-cell__hd">
+                                <input type="checkbox" name="checkbox3" class="weui-check" id="s13">
+                                <i class="weui-icon-checked"></i>
+                            </div>
+                            <div class="weui-cell__bd">
+                                <p>呼吸系统病史</p>
+                            </div>
+                        </label>
+                        <label class="weui-cell weui-cell_active weui-check__label" for="s14">
+                            <div class="weui-cell__hd">
+                                <input type="checkbox" name="checkbox4" class="weui-check" id="s14">
+                                <i class="weui-icon-checked"></i>
+                            </div>
+                            <div class="weui-cell__bd">
+                                <p>肿瘤病史</p>
+                            </div>
+                        </label>
+                        <label class="weui-cell weui-cell_active weui-check__label" for="s15">
+                            <div class="weui-cell__hd">
+                                <input type="checkbox" name="checkbox5" class="weui-check" id="s15">
+                                <i class="weui-icon-checked"></i>
+                            </div>
+                            <div class="weui-cell__bd">
+                                <p>糖尿病史</p>
+                            </div>
+                        </label>
+                        <label class="weui-cell weui-cell_active weui-check__label" for="s16">
+                            <div class="weui-cell__hd">
+                                <input type="checkbox" name="checkbox6" class="weui-check" id="s16">
+                                <i class="weui-icon-checked"></i>
+                            </div>
+                            <div class="weui-cell__bd">
+                                <p>服用过激素药物</p>
+                            </div>
+                        </label>
+                        <label class="weui-cell weui-cell_active weui-check__label" for="s17">
+                            <div class="weui-cell__hd">
+                                <input type="checkbox" name="checkbox7" class="weui-check" id="s17">
+                                <i class="weui-icon-checked"></i>
+                            </div>
+                            <div class="weui-cell__bd">
+                                <p>妊娠期</p>
+                            </div>
+                        </label>
                     </div>
-                    <textarea id="jibenmiaoshu" class="weui-textarea" placeholder="身体基本状况描述" rows="5" style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; margin-top: 1vh;"></textarea>
+                    <textarea id="jibenmiaoshu" class="weui-textarea" placeholder="身体基本状况描述" rows="5"
+                              style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; margin-top: 1vh;"></textarea>
                     <input id="suspectedId" type="text" hidden="hidden" value=""/>
                     <div style="height: 5vh; line-height: 5vh;margin-left: 2vw;">病情描述</div>
                     <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
-                        <div style="color: gray;height: 5vh; line-height: 5vh; width: 70%;">是否确诊新冠肺炎</div>
-                        <input id="switchQuezhen" class="weui-input" autofocus="" type="text" placeholder="请选择" maxlength="20" style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;" />
+                        <div style="color: gray;height: 5vh; line-height: 5vh; width: 70%;">确诊新冠肺炎</div>
+                        <input id="switchQuezhen" class="weui-input" autofocus="" type="text" placeholder="请选择"
+                               maxlength="20"
+                               style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;"/>
                     </div>
                     <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
                         <div style="color: gray;height: 5vh; line-height: 5vh; width: 30%;">单间隔离</div>
-                        <input id="switchDanjiangeli" class="weui-input" autofocus="" type="text" placeholder="请选择" maxlength="20" style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;" />
+                        <input id="switchDanjiangeli" class="weui-input" autofocus="" type="text" placeholder="请选择"
+                               maxlength="20"
+                               style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;"/>
                     </div>
 
                     <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
                         <div style="color: gray;height: 5vh; line-height: 5vh; width: 30%;">体温</div>
-                        <input id="js_input_user_tiwen" class="weui-input" autofocus="" type="number" placeholder="请输入" maxlength="4" style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;" />
+                        <input id="js_input_user_tiwen" class="weui-input" autofocus="" type="number" placeholder="请输入"
+                               maxlength="4"
+                               style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;"/>
                     </div>
                     <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
                         <div style="color: gray;height: 5vh; line-height: 5vh; width: 30%;">咳嗽现象</div>
-                        <input id="js_input_user_kesou" class="weui-input" autofocus="" type="text" placeholder="请选择" maxlength="20" style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;" />
+                        <input id="js_input_user_kesou" class="weui-input" autofocus="" type="text" placeholder="请选择"
+                               maxlength="20"
+                               style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;"/>
                     </div>
                     <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
                         <div style="color: gray;height: 5vh;line-height: 5vh; width: 30%;">肌肉酸痛</div>
-                        <input id="js_input_user_jirou" class="weui-input" autofocus="" type="text" placeholder="请选择" maxlength="20" style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;" />
+                        <input id="js_input_user_jirou" class="weui-input" autofocus="" type="text" placeholder="请选择"
+                               maxlength="20"
+                               style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;"/>
                     </div>
                     <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
                         <div style="color: gray;height: 5vh;line-height: 5vh; width: 30%;">呼吸困难</div>
-                        <input id="js_input_user_huxi" class="weui-input" autofocus="" type="text" placeholder="请选择" maxlength="20" style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;" />
+                        <input id="js_input_user_huxi" class="weui-input" autofocus="" type="text" placeholder="请选择"
+                               maxlength="20"
+                               style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;"/>
                     </div>
                     <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
                         <div style="color: gray;height: 5vh; line-height: 5vh; width: 30%;">乏力现象</div>
-                        <input id="js_input_user_fali" class="weui-input" autofocus="" type="text" placeholder="请选择" maxlength="20" style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;" />
+                        <input id="js_input_user_fali" class="weui-input" autofocus="" type="text" placeholder="请选择"
+                               maxlength="20"
+                               style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;"/>
                     </div>
                     <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
                         <div style="color: gray;height: 5vh; line-height: 5vh; width: 30%;">腹泻现象</div>
-                        <input id="js_input_user_fuxie" class="weui-input" autofocus="" type="text" placeholder="请选择" maxlength="20" style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;" />
+                        <input id="js_input_user_fuxie" class="weui-input" autofocus="" type="text" placeholder="请选择"
+                               maxlength="20"
+                               style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;"/>
                     </div>
                     <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
                         <div style="color: gray;height: 5vh; line-height: 5vh;margin-right: 2vw;width: 30%;">其他描述</div>
-                        <textarea id="shuruqita" class="weui-textarea" placeholder="输入内容(300字内)" rows="5" style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; margin-top: 1vh;"></textarea>
+                        <textarea id="shuruqita" class="weui-textarea" placeholder="输入内容(300字内)" rows="5"
+                                  style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; margin-top: 1vh;"></textarea>
                     </div>
                     <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
                         <div style="color: gray;height: 5vh; line-height: 5vh;margin-right: 2vw;width: 40%;">
-                            <button id="ribao_score"  style="height:5vh;" class="weui-btn weui-btn_mini weui-btn_primary">健康评估</button></div>
-                            <input id="js_input_score_rezult" class="weui-input" autofocus=""  readonly="readonly" style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;" />
-                             <input id="js_input_score_rezult_value" type="text" hidden="hidden" />
-                             <input id="js_input_temperature_score" type="text" hidden="hidden" />
-                             <input id="js_input_score_histroy" type="text" hidden="hidden" />
-                              <input id="js_input_score" type="text" hidden="hidden"/>
+                            <button id="ribao_score" style="height:5vh;"
+                                    class="weui-btn weui-btn_mini weui-btn_primary">健康评估
+                            </button>
+                        </div>
+                        <input id="js_input_score_rezult" class="weui-input" autofocus="" readonly="readonly"
+                               style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;"/>
+                        <input id="js_input_score_rezult_value" type="text" hidden="hidden"/>
+                        <input id="js_input_temperature_score" type="text" hidden="hidden"/>
+                        <input id="js_input_score_histroy" type="text" hidden="hidden"/>
+                        <input id="js_input_score" type="text" hidden="hidden"/>
                     </div>
                     <div style="display: flex; justify-content: center;">
                         <div style="width: 70%;color: red; text-align: center;">
@@ -105,7 +197,8 @@
                     </div>
                     <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh; margin-bottom: 5vh;">
                         <a id="cancel" href="javascript:;" class="weui-btn weui-btn_default" style="width: 30%;">取消</a>
-                        <a id="commit" href="javascript:;" onclick="ribaoCommit();" class="weui-btn weui-btn_primary" style="margin-top: 0;width: 30%;">提交</a>
+                        <a id="commit" href="javascript:;" onclick="ribaoCommit();" class="weui-btn weui-btn_primary"
+                           style="margin-top: 0;width: 30%;">提交</a>
                     </div>
                 </div>
                 </br>
@@ -114,17 +207,18 @@
             <div id="rb_nav2" class="weui-tab__bd-item ">
                 <div id="my-input-ribao"></div>
                 <div class="weui-panel weui-panel_access">
-                    <div class="weui-panel__hd" style="color: #0bb20c; font-size: large" >我的家人</div>
+                    <div class="weui-panel__hd" style="color: #0bb20c; font-size: large">我的家人</div>
                     <div class="weui-panel__bd" id="ribao_famliy">
-                        <#--<div class="weui-media-box weui-media-box_text">-->
-                            <#--<h4 class="weui-media-box__title">家人1:咳嗽、乏力、未确诊</h4>-->
-                            <#--<p class="weui-media-box__desc">由各种物质组成的巨型球状天体,叫做星球。星球有一定的形状,有自己的运行轨道。</p>-->
-                        <#--</div>-->
-                        <#--<div class="weui-media-box weui-media-box_text">-->
-                            <#--<h4 class="weui-media-box__title">家人1:咳嗽、乏力、确诊</h4>-->
-                            <#--<p class="weui-media-box__desc">由各种物质组成的巨型球状天体,叫做星球。星球有一定的形状,有自己的运行轨道。</p>-->
-                        <#--</div>-->
-                    </div><br /><br />
+                    <#--<div class="weui-media-box weui-media-box_text">-->
+                    <#--<h4 class="weui-media-box__title">家人1:咳嗽、乏力、未确诊</h4>-->
+                    <#--<p class="weui-media-box__desc">由各种物质组成的巨型球状天体,叫做星球。星球有一定的形状,有自己的运行轨道。</p>-->
+                    <#--</div>-->
+                    <#--<div class="weui-media-box weui-media-box_text">-->
+                    <#--<h4 class="weui-media-box__title">家人1:咳嗽、乏力、确诊</h4>-->
+                    <#--<p class="weui-media-box__desc">由各种物质组成的巨型球状天体,叫做星球。星球有一定的形状,有自己的运行轨道。</p>-->
+                    <#--</div>-->
+                    </div>
+                    <br/><br/>
                 </div>
             </div>
         </div>

+ 100 - 36
whepi-ui/templates/home/ribao.js

@@ -272,9 +272,9 @@ function ribao_cell(v) {
   var userName = v.userName + ":";
   var grender = getGreder(v.grender);
   var age = v.age;
-  var familyStatus = "";
-  if (v.familyStatus != 0)
-    familyStatus = "基本状况:" + getFamilyStatus(v.familyStatus) + ";";
+  // var familyStatus = "";
+  // if (v.familyStatus != 0)
+  //   familyStatus = "基本状况:" + getFamilyStatus(v.familyStatus) + ";";
   var medical = "";
   if (v.medical != 0)
     medical = "是否确诊:" + getMedical(v.medical) + ";";
@@ -308,7 +308,7 @@ function ribao_cell(v) {
   $('#rb_family').append($('<div class="weui-media-box weui-media-box_text" style="height: 12vh">\n' +
     '                                      <h4 class="weui-media-box__title">' + userName + '&nbsp;&nbsp;&nbsp;' + grender + '&nbsp;&nbsp;&nbsp;' + age + '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a style="color: #bc4246" onclick=\'deleteSuspected(' + JSON.stringify(v.suspectedId) + ')\'>删除</a>\n' +
     '                                      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a style="color: #2a62bc" onclick=\'updateSuspected(' + JSON.stringify(v.suspectedId) + ')\'>修改</a></h4>\n' +
-    '                                      <p class="weui-media-box__desc" style="height: 80%">' + familyStatus + medical + singleRoom + temperature + cough + muscle + dyspnea + fatigue + diarrhea + others + scoreRezult + '</p>\n' +
+    '                                      <p class="weui-media-box__desc" style="height: 80%">'  + medical + singleRoom + temperature + cough + muscle + dyspnea + fatigue + diarrhea + others + scoreRezult + '</p>\n' +
     '                                    </div>\n' +
     '                              '));
 }
@@ -324,8 +324,9 @@ function ribao_add() {
       $('#ribao')[0].style.display = 'none';
     }
 
-    $("#js_input_user_status").val(getFamilyStatus(0));
-    $("#js_input_user_status").attr("data-values", 0);
+    // $("#js_input_user_status").val(getFamilyStatus(0));
+    // $("#js_input_user_status").attr("data-values", 0);
+
 
     $("#switchQuezhen").val(getMedical(0));
     $("#switchQuezhen").attr("data-values", 0);
@@ -373,7 +374,37 @@ function ribaoCommit() {
   var userName = $("#js_input_user_name").val();
   var grender = $("#js_input_user_sex").attr("data-values") == undefined ? 0 : $("#js_input_user_sex").attr("data-values");
   var age = $("#js_input_user_age").val();
-  var familyStatus = $("#js_input_user_status").attr("data-values") == undefined ? 0 : $("#js_input_user_status").attr("data-values");
+  //家庭状态
+  var familyStatus = "";
+  if ($("input[name='checkbox1']:checked").val() == "on")
+    familyStatus += "1";
+  else
+    familyStatus += "0";
+  if ($("input[name='checkbox2']:checked").val() == "on")
+    familyStatus += ",1";
+  else
+    familyStatus += ",0";
+  if ($("input[name='checkbox3']:checked").val() == "on")
+    familyStatus += ",1";
+  else
+    familyStatus += ",0";
+  if ($("input[name='checkbox4']:checked").val() == "on")
+    familyStatus += ",1";
+  else
+    familyStatus += ",0";
+  if ($("input[name='checkbox5']:checked").val() == "on")
+    familyStatus += ",1";
+  else
+    familyStatus += ",0";
+  if ($("input[name='checkbox6']:checked").val() == "on")
+    familyStatus += ",1";
+  else
+    familyStatus += ",0";
+  if ($("input[name='checkbox7']:checked").val() == "on")
+    familyStatus += ",1";
+  else
+    familyStatus += ",0";
+  //var familyStatus = $("#js_input_user_status").attr("data-values") == undefined ? 0 : $("#js_input_user_status").attr("data-values");
   var statusDesp = $("#jibenmiaoshu").val() == undefined ? "" : $("#jibenmiaoshu").val();
   var medical = $("#switchQuezhen").attr("data-values") == undefined ? 0 : $("#switchQuezhen").attr("data-values");
   var singleRoom = $("#switchDanjiangeli").attr("data-values") == undefined ? 0 : $("#switchDanjiangeli").attr("data-values");
@@ -441,10 +472,10 @@ function ribaoCommit() {
       "score": score,
     },
     success: function (data) {
-      if (data.msgReport == "2"){
+      if (data.msgReport == "2") {
         $.toast("家人姓名不能重复,如果重复,可以带上称呼");
         return;
-       }
+      }
       if ($('#ribao')[0].style.display == 'none') {
         $('#notOpenRibao').toggle();
         $('#ribao')[0].style.display = '';
@@ -502,16 +533,49 @@ function updateSuspected(suspectedId) {
         $("#js_input_user_sex").attr("data-values", suspected.grender);
         $("#js_input_user_name").val(suspected.userName);
         $("#js_input_user_age").val(suspected.age);
-        $("#js_input_user_status").val(getFamilyStatus(suspected.familyStatus));
-        $("#js_input_user_status").attr("data-values", suspected.familyStatus);
+        //基本情况
+        if (suspected.familyStatus != "") {
+          var familyStatusList = suspected.familyStatus.split(",");
+          if (familyStatusList[0] == 1)
+            $("input[name='checkbox1']").prop("checked","checked");
+          else
+            $("input[name='checkbox1']").removeAttr("checked");
+          if (familyStatusList[1] == 1)
+            $("input[name='checkbox2']").prop("checked","checked");
+          else
+            $("input[name='checkbox2']").removeAttr("checked");
+          if (familyStatusList[2] == 1)
+            $("input[name='checkbox3']").prop("checked","checked");
+          else
+            $("input[name='checkbox3']").removeAttr("checked");
+          if (familyStatusList[3] == 1)
+            $("input[name='checkbox4']").prop("checked","checked");
+          else
+            $("input[name='checkbox4']").removeAttr("checked");
+          if (familyStatusList[4] == 1)
+            $("input[name='checkbox5']").prop("checked","checked");
+          else
+            $("input[name='checkbox5']").removeAttr("checked");
+          if (familyStatusList[5] == 1)
+            $("input[name='checkbox6']").prop("checked","checked");
+          else
+            $("input[name='checkbox6']").removeAttr("checked");
+          if (familyStatusList[6] == 1)
+            $("input[name='checkbox7']").prop("checked","checked");
+          else
+            $("input[name='checkbox7']").removeAttr("checked");
+
+        }
+        // $("#js_input_user_status").val(getFamilyStatus(suspected.familyStatus));
+        // $("#js_input_user_status").attr("data-values", suspected.familyStatus);
 
         $("#jibenmiaoshu").val(suspected.statusDesp);
 
         $("#switchQuezhen").val(getMedical(suspected.medical));
-        $("#switchQuezhen").attr("data-values", suspected.familyStatus);
+        $("#switchQuezhen").attr("data-values", suspected.medical);
 
         $("#switchDanjiangeli").val(getSingleRoom(suspected.singleRoom));
-        $("#switchDanjiangeli").attr("data-values", suspected.familyStatus);
+        $("#switchDanjiangeli").attr("data-values", suspected.singleRoom);
 
         $("#js_input_user_tiwen").val(suspected.temperature);
 
@@ -596,9 +660,9 @@ function helpValue1(v) {
   var userName = v.userName + ":";
   var grender = getGreder(v.grender);
   var age = v.age;
-  var familyStatus = "";
-  if (v.familyStatus != 0)
-    familyStatus = "基本状况:" + getFamilyStatus(v.familyStatus) + ";";
+  // var familyStatus = "";
+  // if (v.familyStatus != 0)
+  //   familyStatus = "基本状况:" + getFamilyStatus(v.familyStatus) + ";";
   var medical = "";
   if (v.medical != 0)
     medical = "是否确诊:" + getMedical(v.medical) + ";";
@@ -631,7 +695,7 @@ function helpValue1(v) {
     scoreRezult = "评估结果:" + getScoreRezult(v.scoreRezult, v.temperatureScore) + ";";
   $('#ribao_famliy').append($('<div class="weui-media-box weui-media-box_text" style="height: 12vh">\n' +
     '                                      <h4 class="weui-media-box__title">' + userName + '&nbsp;&nbsp;&nbsp;' + grender + '&nbsp;&nbsp;&nbsp;' + age + '</h4>\n' +
-    '                                      <p class="weui-media-box__desc" style="height: 80%">' + familyStatus + medical + singleRoom + temperature + cough + muscle + dyspnea + fatigue + diarrhea + others + scoreRezult + '</p>\n' +
+    '                                      <p class="weui-media-box__desc" style="height: 80%">'  + medical + singleRoom + temperature + cough + muscle + dyspnea + fatigue + diarrhea + others + scoreRezult + '</p>\n' +
     '                                    </div>\n' +
     '                              '));
 }
@@ -645,25 +709,25 @@ function getGreder(greder) {
   return "";
 }
 
-function getFamilyStatus(familyStatus) {
-  if (familyStatus == 0)
-    return "无病史";
-  if (familyStatus == 1)
-    return "心脑血管疾病(服用ARB)";
-  else if (familyStatus == 2)
-    return "心脑血管疾病(未服ARB)";
-  else if (familyStatus == 3)
-    return "呼吸系统病史";
-  else if (familyStatus == 4)
-    return "肿瘤病史";
-  else if (familyStatus == 5)
-    return "糖尿病史";
-  else if (familyStatus == 6)
-    return "服用过激素药物";
-  else if (familyStatus == 7)
-    return "妊娠期";
-  return "";
-}
+// function getFamilyStatus(familyStatus) {
+//   if (familyStatus == 0)
+//     return "无病史";
+//   if (familyStatus == 1)
+//     return "心脑血管疾病(服用ARB)";
+//   else if (familyStatus == 2)
+//     return "心脑血管疾病(未服ARB)";
+//   else if (familyStatus == 3)
+//     return "呼吸系统病史";
+//   else if (familyStatus == 4)
+//     return "肿瘤病史";
+//   else if (familyStatus == 5)
+//     return "糖尿病史";
+//   else if (familyStatus == 6)
+//     return "服用过激素药物";
+//   else if (familyStatus == 7)
+//     return "妊娠期";
+//   return "";
+// }
 
 function getCough(cough) {
   if (cough == 0)

+ 1 - 1
whepi-ui/templates/user/changeRole.ftl

@@ -40,7 +40,7 @@
                                     <i class="weui-icon-checked"></i>
                                 </div>
                                 <div class="weui-cell__bd">
-                                    <p id="adminName">业委会人员</p>
+                                    <p id="adminName">管理员</p>
                                 </div>
                             </label>
                         </div>

+ 3 - 1
whepi-ui/templates/user/home.ftl

@@ -21,7 +21,7 @@
 <#--                        <div class="weui-cells_radio user-font">-->
 <#--                            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;我是&nbsp;&nbsp;-->
 <#--                            <input name="Fruit" type="radio" value="1"/>家庭用户-->
-<#--                            <input name="Fruit" type="radio" value="2"/>业委会人员-->
+<#--                            <input name="Fruit" type="radio" value="2"/>管理员人员-->
 <#--                        </div>-->
                         <hr class="user-hr">
                         <div class="maindiv">
@@ -172,6 +172,7 @@
                         </div>
                         <div class="weui-cell__bd">
                             <select class="weui-select" id="unitId" name="select4">
+                                <option>请选择</option>
                             </select>
                         </div>
                     </div>
@@ -459,6 +460,7 @@
             success: function (data) {
                 if (data.length > 0) {
                     $("#unitId").empty();
+                    $('#unitId').append("<option>请选择</option>");
                     var html = "";
                     for (var i = 0; i < data.length; i++) {
                         var uptownId = $("#uptownId").val();

+ 72 - 0
whepi-ui/templates/user/scan.ftl

@@ -0,0 +1,72 @@
+<#assign title="小区进出扫码"/>
+<#include "/home/frag.head.ftl" />
+
+<div class="weui-tab">
+    <div class="weui-tab__bd">
+        <input id="userId" type="text" hidden="hidden" value=${user_id!}/>
+        <input id="uptownId" type="text" hidden="hidden" value=${uptown_id!}/>
+        <input id="uptownName" type="text" hidden="hidden" value=${uptown_name!}/>
+        <div class="weui-tab__bd-item weui-tab__bd-item--active">
+            <div class="page__bd">
+                <header class="user-header">
+                    <br/>
+                    <br/>
+                    <br/>
+                    <br/>
+                    <br/>
+                    <p class="user-title-long">${doorplate!''}
+                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${name!''}</p>
+                    <br/>
+                    <h1 class="user-title-long ${collor!''}">${door!''}</h1>
+                    <br/>
+                    <h1 class="user-title ${collor!''}">${into!""}</h1>
+                    <br/>
+                    <br/>
+                    <p class="user-title-long  ${collor!''}">${errorMsg!""}</p>
+
+
+<#--                    <#if (inType?? )&&(inType = 1) >-->
+<#--                        <#if (type?? )&&(type !="1") ><h1 class="user-title green">可以进入</h1></#if>-->
+<#--                        <#if (type?? )&&(type ="-1") ><h1 class="user-title red">禁止进入</h1></#if>-->
+<#--                        <#if (type?? )&&(type ="-1") ><p class="user-title-long">非本小区居民,禁止进入。</p></#if>-->
+<#--                    </#if>-->
+<#--                    <#if (inType?? )&&(inType != 1) ><#if (type?? )&&(type ="1") ><h1 class="user-title green">可以外出</h1></#if>-->
+<#--                            <#if (type?? )&&(type !="1") ><h1 class="user-title red">禁止外出</h1></#if>-->
+
+<#--                    <#if (type?? )&&(type ="1") ><p class="user-title-long">请佩戴口罩,避免近距离接触,不得长时间在外逗留。</p></#if>-->
+<#--                    <#if (type?? )&&(type ="-1") ><p class="user-title-long">非本小区居民,禁止外出。</p></#if>-->
+<#--                    <#if (type?? )&&(type ="-2") ><p class="user-title-long">外出时间间隔不满三日,禁止外出,请配合,上次外出时间 ${lastTime!''}。</p></#if>-->
+<#--                    <#if (type?? )&&(type ="-3") ><p class="user-title-long">因近期您未提交健康日报,无法确认您当前健康状态,静止外出,请配合。</p></#if>-->
+
+<#--                    </#if>-->
+                    <br/>
+                    <br/>
+                </header>
+                <br/>
+                <br/>
+                <p class="user-title-long">${now!''}</p>
+            </div>
+        </div>
+    </div>
+</div>
+</div>
+</body>
+<#include "/home/frag.foot.ftl" />
+<script>
+
+    (function ($) {
+        if ($("#uptownId").val() == '1238790987234') {
+            $("#adminName").text('管理员');
+            $("#homeName").text('员工');
+        }
+    })(jQuery);
+
+    function yes() {
+        var userType = $('input:radio:checked').val();
+        if (!userType) {
+            $.alert("请选择用户角色!")
+            return false;
+        }
+        window.location.href = "/user/homeIndex.html?userId=" + $("#userId").val() + "&userType=" + userType;
+    }
+</script>

+ 1 - 1
whepi-ui/templates/yeweihui/home.ftl

@@ -1,4 +1,4 @@
-<#assign title="业委会"/>
+<#assign title="管理员"/>
 <#include "/home/frag.head.ftl" />
 
 <div class="weui-tab">

+ 1 - 1
whepi-ui/templates/yeweihui/ribao.ftl

@@ -1,4 +1,4 @@
-<#assign title="业委会"/>
+<#assign title="管理员"/>
 <#include "/home/frag.head.ftl" />
 
 <div class="page__bd">

+ 1 - 1
whepi-ui/templates/yeweihui/ribaoXq.ftl

@@ -1,4 +1,4 @@
-<#assign title="业委会"/>
+<#assign title="管理员"/>
 <#include "/home/frag.head.ftl" />
 <div class="page__bd">
 

+ 1 - 1
whepi-ui/templates/yeweihui/ribaohuiz.ftl

@@ -1,4 +1,4 @@
-<#assign title="业委会"/>
+<#assign title="管理员"/>
 
 <div class="page__bd" style="height: 300px">
     <div class="container">

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

@@ -41,4 +41,16 @@ public interface MsReportMapper extends BaseMapper<MsReport> {
     @Select("select count(suspected_id) from ms_suspected where report_id=#{reportId} and suspected_status=1")
     Integer selectisNoSuspectedNum(@Param("reportId") Long reportId);
 
+    /**
+     * 最近3天是否都有上报
+     * @param userId
+     * @return
+     */
+    @Select("select * from ms_report where report_status=1 and report_date=date_sub(curdate(),interval 1 day) and user_create=#{userId}\n" +
+            "union\n" +
+            "select * from ms_report where report_status=1 and report_date=date_sub(curdate(),interval 2 day) and user_create=#{userId}\n" +
+            "union\n" +
+            "select * from ms_report where report_status=1 and report_date=date_sub(curdate(),interval 3 day) and user_create=#{userId}")
+    List<MsReport> selectMsReportLate(@Param("userId") Long userId);
+
 }

+ 5 - 0
whepi-web/src/main/java/com/bofeng/dao/OutScanConfMapper.java

@@ -3,9 +3,14 @@ package com.bofeng.dao;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.bofeng.entity.OutScanConf;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Repository;
 
 @Mapper
 @Repository
 public interface OutScanConfMapper extends BaseMapper<OutScanConf> {
+
+    @Select("select* from out_scan_conf where uptown_id = #{uptownId}")
+    OutScanConf getOutScanConfByUptown(@Param("uptownId")Long uptownId);
 }

+ 5 - 0
whepi-web/src/main/java/com/bofeng/dao/OutScanMapper.java

@@ -3,9 +3,14 @@ package com.bofeng.dao;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.bofeng.entity.OutScan;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Repository;
 
 @Mapper
 @Repository
 public interface OutScanMapper extends BaseMapper<OutScan> {
+
+    @Select("SELECT s.* FROM out_scan s WHERE s.user_id = #{userId} ORDER BY s.time_create DESC LIMIT 1")
+    OutScan getOutScanByUserlimit(@Param("userId") Long userId);
 }

+ 3 - 3
whepi-web/src/main/java/com/bofeng/dao/RbMapper.java

@@ -73,7 +73,7 @@ public interface RbMapper extends BaseMapper<sysUptownUnit> {
             "msr.sure_num as sureNum,msr.suspected_num as suspectedNum,msr.normal_num as normalNum," +
                     "msr.single_num as singleNum,mss.user_name as userName,mss.grender," +
             "mss.age,mss.family_status as familyStatus,mss.medical,mss.temperature,mss.cough,mss.muscle ,mss.dyspnea," +
-            "mss.fatigue,mss.diarrhea,mss.single_room as singleRoom from ms_suspected mss "+
+            "mss.fatigue,mss.diarrhea,mss.single_room as singleRoom,mss.score_rezult from ms_suspected mss "+
             "inner join ms_report msr on msr.report_id = mss.report_id and msr.report_date = #{date} "+
             "inner join sys_uptown_house suh on suh.house_id = msr.house_id "+
             "inner join sys_uptown_unit suu on suu.unit_id = suh.unit_id and suu.uptown_id=#{uptownId} "+
@@ -86,7 +86,7 @@ public interface RbMapper extends BaseMapper<sysUptownUnit> {
                     "msr.sure_num as sureNum,msr.suspected_num as suspectedNum,msr.normal_num as normalNum," +
                     "msr.single_num as singleNum,mss.user_name as userName,mss.grender," +
                     "mss.age,mss.family_status as familyStatus,mss.medical,mss.temperature,mss.cough,mss.muscle ,mss.dyspnea," +
-                    "mss.fatigue,mss.diarrhea,mss.single_room as singleRoom from ms_suspected mss "+
+                    "mss.fatigue,mss.diarrhea,mss.single_room as singleRoom,mss.score_rezult from ms_suspected mss "+
                     "inner join ms_report msr on msr.report_id = mss.report_id and msr.report_date = #{date} "+
                     "inner join sys_uptown_house suh on suh.house_id = msr.house_id "+
                     "inner join sys_uptown_unit suu on suu.unit_id = suh.unit_id and suu.uptown_id=#{uptownId} "+
@@ -99,7 +99,7 @@ public interface RbMapper extends BaseMapper<sysUptownUnit> {
                     "msr.sure_num as sureNum,msr.suspected_num as suspectedNum,msr.normal_num as normalNum," +
                     "msr.single_num as singleNum,mss.user_name as userName,mss.grender," +
                     "mss.age,mss.family_status as familyStatus,mss.medical,mss.temperature,mss.cough,mss.muscle ,mss.dyspnea," +
-                    "mss.fatigue,mss.diarrhea,mss.single_room as singleRoom from ms_suspected mss "+
+                    "mss.fatigue,mss.diarrhea,mss.single_room as singleRoom,mss.score_rezult from ms_suspected mss "+
                     "inner join ms_report msr on msr.report_id = mss.report_id and msr.report_date = #{date} "+
                     "inner join sys_uptown_house suh on suh.house_id = msr.house_id "+
                     "inner join sys_uptown_unit suu on suu.unit_id = suh.unit_id and suu.uptown_id=#{uptownId} "+

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

@@ -11,7 +11,8 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface UptownDoorMapper extends BaseMapper<UptownDoor> {
 
-    @Select("select ud.door_id,u.uptown_id,u.uptown_name,ud.door_name from sys_uptown_door ud inner join " +
-            "sys_uptown u on u.uptown_id = ud.uptown_id where ud.door_id = #{doorId} and ud.status = 1")
+    @Select("SELECT ud.door_id,u.uptown_id,u.uptown_name,ud.door_name FROM sys_uptown_door ud INNER JOIN " +
+            "sys_uptown u ON u.uptown_id = ud.uptown_id WHERE ud.door_id = #{doorId} AND ud.STATUS = 1")
     UptownDoor getUptownDoorById(@Param("doorId") Long doorId);
+
 }

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

@@ -23,6 +23,12 @@ public interface UptownUnitMapper extends BaseMapper<UptownUnit> {
 
     List<UptownUnit> queryMenPaiList(@Param("uptownId") Long uptownId, @Param("ridgepole") Long ridgepole, @Param("unitId") Long unitId, @Param("reportDate") String reportDate);
 
+    List<UptownUnit> queryXiaoQuList2(@Param("uptownId") Long uptownId, @Param("ridgepole") Long ridgepole, @Param("unitId") Long unitId);
+
+    List<UptownUnit> queryYiBaoList2(@Param("uptownId") Long uptownId, @Param("ridgepole") Long ridgepole, @Param("unitId") Long unitId, @Param("reportDate") String reportDate);
+
+    List<UptownUnit> queryYiChangList2(@Param("uptownId") Long uptownId, @Param("ridgepole") Long ridgepole, @Param("unitId") Long unitId, @Param("reportDate") String reportDate);
+
     List<UptownUnit> queryXiaoQuList(@Param("uptownId") Long uptownId);
 
     List<UptownUnit> queryYiBaoList(@Param("uptownId") Long uptownId, @Param("reportDate") String reportDate);

+ 26 - 21
whepi-web/src/main/java/com/bofeng/entity/ExcelRiBao.java

@@ -2,6 +2,7 @@ package com.bofeng.entity;
 
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.google.common.base.Strings;
+import com.yvan.platform.Conv;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -16,7 +17,7 @@ public class ExcelRiBao {
     private String doorplate;
     private BigDecimal temperature;
     private int grender;
-    private int familyStatus;
+    private String familyStatus;
     private int medical;
     private int cough;
     private int muscle;
@@ -119,28 +120,32 @@ public class ExcelRiBao {
     }
 
     @ExcelProperty(value = "身体基本情况", index = 13)
-    private String baseDesc;
+    private String baseDesc = "";
+
     public String getBaseDesc() {
-        if (familyStatus == 0) {
-            baseDesc = "无病史";
-        } else if (familyStatus == 1) {
-            baseDesc = "心血管疾病(服用ARB)";
-        } else if (familyStatus == 2) {
-            baseDesc = "心血管疾病(未服用ARB)";
-        } else if (familyStatus == 3) {
-            baseDesc = "呼吸系统病史";
-        } else if (familyStatus == 4) {
-            baseDesc = "肿瘤病史";
-        } else if (familyStatus == 5) {
-            baseDesc = "糖尿病史";
-        } else if (familyStatus == 6) {
-            baseDesc = "服用过激素药物";
-        } else if (familyStatus == 7) {
-            baseDesc = "妊娠期";
-        } else {
-            baseDesc = "其他";
+
+        if (Conv.NI(familyStatus.split(",")[0]) == 1) {
+            baseDesc = "心血管疾病(服用ARB),";
+        }
+        if (Conv.NI(familyStatus.split(",")[1]) == 1) {
+            baseDesc += "心血管疾病(未服用ARB),";
+        }
+        if (Conv.NI(familyStatus.split(",")[2]) == 1) {
+            baseDesc += "呼吸系统病史,";
+        }
+        if (Conv.NI(familyStatus.split(",")[3]) == 1) {
+            baseDesc += "肿瘤病史,";
+        }
+        if (Conv.NI(familyStatus.split(",")[4]) == 1) {
+            baseDesc += "糖尿病史,";
+        }
+        if (Conv.NI(familyStatus.split(",")[5]) == 1) {
+            baseDesc += "服用过激素药物,";
+        }
+        if (Conv.NI(familyStatus.split(",")[6]) == 1) {
+            baseDesc += "妊娠期";
         }
-        return baseDesc;
+        return baseDesc.substring(0, baseDesc.length() - 1);
     }
 
     @ExcelProperty(value = "病情描述", index = 14)

+ 26 - 21
whepi-web/src/main/java/com/bofeng/entity/ExcelRiBaoLY.java

@@ -2,6 +2,7 @@ package com.bofeng.entity;
 
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.google.common.base.Strings;
+import com.yvan.platform.Conv;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -16,7 +17,7 @@ public class ExcelRiBaoLY {
     private String doorplate;
     private BigDecimal temperature;
     private int grender;
-    private int familyStatus;
+    private String familyStatus;
     private int medical;
     private int cough;
     private int muscle;
@@ -121,28 +122,32 @@ public class ExcelRiBaoLY {
     }
 
     @ExcelProperty(value = "身体基本情况", index = 13)
-    private String baseDesc;
+    private String baseDesc = "";
+
     public String getBaseDesc() {
-        if (familyStatus == 0) {
-            baseDesc = "无病史";
-        } else if (familyStatus == 1) {
-            baseDesc = "心血管疾病(服用ARB)";
-        } else if (familyStatus == 2) {
-            baseDesc = "心血管疾病(未服用ARB)";
-        } else if (familyStatus == 3) {
-            baseDesc = "呼吸系统病史";
-        } else if (familyStatus == 4) {
-            baseDesc = "肿瘤病史";
-        } else if (familyStatus == 5) {
-            baseDesc = "糖尿病史";
-        } else if (familyStatus == 6) {
-            baseDesc = "服用过激素药物";
-        } else if (familyStatus == 7) {
-            baseDesc = "妊娠期";
-        } else {
-            baseDesc = "其他";
+
+        if (Conv.NI(familyStatus.split(",")[0]) == 1) {
+            baseDesc = "心血管疾病(服用ARB),";
+        }
+        if (Conv.NI(familyStatus.split(",")[1]) == 1) {
+            baseDesc += "心血管疾病(未服用ARB),";
+        }
+        if (Conv.NI(familyStatus.split(",")[2]) == 1) {
+            baseDesc += "呼吸系统病史,";
+        }
+        if (Conv.NI(familyStatus.split(",")[3]) == 1) {
+            baseDesc += "肿瘤病史,";
+        }
+        if (Conv.NI(familyStatus.split(",")[4]) == 1) {
+            baseDesc += "糖尿病史,";
+        }
+        if (Conv.NI(familyStatus.split(",")[5]) == 1) {
+            baseDesc += "服用过激素药物,";
+        }
+        if (Conv.NI(familyStatus.split(",")[6]) == 1) {
+            baseDesc += "妊娠期";
         }
-        return baseDesc;
+        return baseDesc.substring(0, baseDesc.length() - 1);
     }
 
     @ExcelProperty(value = "病情描述", index = 14)

+ 33 - 22
whepi-web/src/main/java/com/bofeng/entity/ExcelRiBaoPrivate.java

@@ -2,6 +2,7 @@ package com.bofeng.entity;
 
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.google.common.base.Strings;
+import com.yvan.platform.Conv;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -16,7 +17,7 @@ public class ExcelRiBaoPrivate {
     private String doorplate;
     private BigDecimal temperature;
     private int grender;
-    private int familyStatus;
+    private String familyStatus;
     private int medical;
     private int cough;
     private int muscle;
@@ -41,6 +42,7 @@ public class ExcelRiBaoPrivate {
 
     @ExcelProperty(value = "单元", index = 1)
     private String danyuan = "";
+
     public String getDanyuan() {
         if (danyuan.length() <= 0) {
             danyuan = unit;
@@ -101,13 +103,15 @@ public class ExcelRiBaoPrivate {
 
     @ExcelProperty(value = "体温", index = 13)
     private String temperatureStr;
+
     public String getTemperatureStr() {
-        temperatureStr = temperature.floatValue()>10?temperature+"":"未填报";
+        temperatureStr = temperature.floatValue() > 10 ? temperature + "" : "未填报";
         return temperatureStr;
     }
 
     @ExcelProperty(value = "确诊", index = 14)
     private String medicalStr;
+
     public String getMedicalStr() {
         if (medical == 0) {
             medicalStr = "否";
@@ -119,6 +123,7 @@ public class ExcelRiBaoPrivate {
 
     @ExcelProperty(value = "单间隔离", index = 15)
     private String singleRoomStr;
+
     public String getSingleRoomStr() {
         if (singleRoom == 0) {
             singleRoomStr = "否";
@@ -129,32 +134,37 @@ public class ExcelRiBaoPrivate {
     }
 
     @ExcelProperty(value = "身体基本情况", index = 16)
-    private String baseDesc;
+    private String baseDesc = "";
+
     public String getBaseDesc() {
-        if (familyStatus == 0) {
-            baseDesc = "无病史";
-        } else if (familyStatus == 1) {
-            baseDesc = "心血管疾病(服用ARB)";
-        } else if (familyStatus == 2) {
-            baseDesc = "心血管疾病(未服用ARB)";
-        } else if (familyStatus == 3) {
-            baseDesc = "呼吸系统病史";
-        } else if (familyStatus == 4) {
-            baseDesc = "肿瘤病史";
-        } else if (familyStatus == 5) {
-            baseDesc = "糖尿病史";
-        } else if (familyStatus == 6) {
-            baseDesc = "服用过激素药物";
-        } else if (familyStatus == 7) {
-            baseDesc = "妊娠期";
-        } else {
-            baseDesc = "其他";
+
+        if (Conv.NI(familyStatus.split(",")[0]) == 1) {
+            baseDesc = "心血管疾病(服用ARB),";
+        }
+        if (Conv.NI(familyStatus.split(",")[1]) == 1) {
+            baseDesc += "心血管疾病(未服用ARB),";
         }
-        return baseDesc;
+        if (Conv.NI(familyStatus.split(",")[2]) == 1) {
+            baseDesc += "呼吸系统病史,";
+        }
+        if (Conv.NI(familyStatus.split(",")[3]) == 1) {
+            baseDesc += "肿瘤病史,";
+        }
+        if (Conv.NI(familyStatus.split(",")[4]) == 1) {
+            baseDesc += "糖尿病史,";
+        }
+        if (Conv.NI(familyStatus.split(",")[5]) == 1) {
+            baseDesc += "服用过激素药物,";
+        }
+        if (Conv.NI(familyStatus.split(",")[6]) == 1) {
+            baseDesc += "妊娠期";
+        }
+        return baseDesc.substring(0, baseDesc.length() - 1);
     }
 
     @ExcelProperty(value = "病情描述", index = 17)
     private String bingqingDesc = "";
+
     public String getBingqingDesc() {
 
         if (medical == 1) {
@@ -218,6 +228,7 @@ public class ExcelRiBaoPrivate {
 
     @ExcelProperty(value = "健康评估", index = 18)
     private String scoreRezultStr;
+
     public String getScoreRezultStr() {
         if (scoreRezult == 0) {
             scoreRezultStr = "未评估";

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

@@ -39,7 +39,7 @@ public class MsSuspected {
     private Integer age;
 
     @TableField("family_status")
-    private Integer familyStatus;
+    private String familyStatus;
 
     @TableField(exist = false)
     private String familyStatusStr = "";

+ 7 - 3
whepi-web/src/main/java/com/bofeng/entity/OutScan.java

@@ -28,14 +28,18 @@ public class OutScan {
     @TableField("uptown_id")
     private Long uptownId;
 
-    @ApiModelProperty("小区大门ID")
-    @TableField("door_id")
-    private Long doorId;
+    @ApiModelProperty("进入小区大门ID")
+    @TableField("into_door_id")
+    private Long intoDoorId;
 
     @ApiModelProperty("进入时间")
     @TableField("into_date")
     private DateTime intoDate;
 
+    @ApiModelProperty("出去小区大门ID")
+    @TableField("out_door_id")
+    private Long outDoorId;
+
     @ApiModelProperty("出去时间")
     @TableField("out_date")
     private DateTime outDate;

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

@@ -26,7 +26,7 @@ public class OutScanConf {
 
     @ApiModelProperty("进出间隔时间")
     @TableField("go_out_fre")
-    private Long goOutFre;
+    private Integer goOutFre;
 
     @TableField(exist = false)
     private DateTime timeCreate;

+ 5 - 3
whepi-web/src/main/java/com/bofeng/entity/UptownDoor.java

@@ -38,9 +38,11 @@ public class UptownDoor {
     @TableField(exist = false)
     private DateTime timeUpdate;
 
-    /**
-     * 小区名称
-     */
+    @ApiModelProperty("小区名称")
     @TableField(exist = false)
     private String uptownName;
+
+    @ApiModelProperty("出门间隔时间")
+    @TableField(exist = false)
+    private Integer goOutFre;
 }

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

@@ -41,7 +41,7 @@ public class MsSuspectedService {
 
     //添加家人
     @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
-    public Long addSuspected(Long suspectedId, String userName, Integer grender, Integer age, Integer familyStatus,
+    public Long addSuspected(Long suspectedId, String userName, Integer grender, Integer age, String familyStatus,
                              String statusDesp, Integer medical, BigDecimal temperature, Integer cough, Integer muscle,
                              Integer dyspnea, Integer fatigue, Integer diarrhea, Integer singleRoom, String others, Long userCreate, Integer scoreRezult, Integer temperatureScore, Integer scoreHistroy, Integer score) {
         Long reportId = 0L;

+ 201 - 41
whepi-web/src/main/java/com/bofeng/service/RiBaoService.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.toolkit.IdWorker;
 import com.bofeng.dao.*;
 import com.bofeng.entity.*;
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.joda.time.DateTime;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -180,26 +181,59 @@ public class RiBaoService {
             obj.setGrenderStr("女");
         }
 
-        if (obj.getFamilyStatus().intValue() == 0) {
-            obj.setFamilyStatusStr("正常");
-        } else if (obj.getFamilyStatus().intValue() == 1) {
-            obj.setFamilyStatusStr("心血管疾病(服用ARB)");
-        } else if (obj.getFamilyStatus().intValue() == 2) {
-            obj.setFamilyStatusStr("心血管疾病(未服用ARB)");
-        } else if (obj.getFamilyStatus().intValue() == 3) {
-            obj.setFamilyStatusStr("呼吸系统病史");
-        } else if (obj.getFamilyStatus().intValue() == 4) {
-            obj.setFamilyStatusStr("肿瘤病史");
-        } else if (obj.getFamilyStatus().intValue() == 5) {
-            obj.setFamilyStatusStr("糖尿病史");
-        } else if (obj.getFamilyStatus().intValue() == 6) {
-            obj.setFamilyStatusStr("服用过激素药物");
-        } else if (obj.getFamilyStatus().intValue() == 7) {
-            obj.setFamilyStatusStr("妊娠期");
-        } else if (obj.getFamilyStatus().intValue() == 8) {
-            obj.setFamilyStatusStr("其他");
+        // 基本状态:1,0,1,0,0,0,1 (0表示未选中,1表示选中)
+        StringBuffer sb = new StringBuffer();
+        String fs = obj.getFamilyStatus();
+        if (StringUtils.isNoneBlank(fs)) {
+            String[] fsArray = fs.split(",");
+            if (fsArray != null && fsArray.length > 0) {
+                for (int i = 0; i < fsArray.length; i++) {
+                    if (0 == i) {
+                        if (Integer.valueOf(fsArray[i]) == 1) {
+                            sb.append("心血管疾病(服用ARB),");
+                        }
+                    }
+                    if (1 == i) {
+                        if (Integer.valueOf(fsArray[i]) == 1) {
+                            sb.append("心血管疾病(未服用ARB),");
+                        }
+                    }
+                    if (2 == i) {
+                        if (Integer.valueOf(fsArray[i]) == 1) {
+                            sb.append("呼吸系统病史,");
+                        }
+                    }
+                    if (3 == i) {
+                        if (Integer.valueOf(fsArray[i]) == 1) {
+                            sb.append("肿瘤病史,");
+                        }
+                    }
+                    if (4 == i) {
+                        if (Integer.valueOf(fsArray[i]) == 1) {
+                            sb.append("糖尿病史,");
+                        }
+                    }
+                    if (5 == i) {
+                        if (Integer.valueOf(fsArray[i]) == 1) {
+                            sb.append("服用过激素药物,");
+                        }
+                    }
+                    if (6 == i) {
+                        if (Integer.valueOf(fsArray[i]) == 1) {
+                            sb.append("妊娠期");
+                        }
+                    }
+                }
+
+                if (sb.toString().endsWith(",")) {
+                    obj.setFamilyStatusStr(sb.toString().substring(0, sb.toString().length() - 1));
+                } else {
+                    obj.setFamilyStatusStr(sb.toString());
+                }
+            }
         }
 
+
         if (obj.getMedical().intValue() == 0) {
             obj.setMedicalStr("否");
         } else if (obj.getMedical().intValue() == 1) {
@@ -301,24 +335,75 @@ public class RiBaoService {
                     obj.setGrenderStr("女");
                 }
 
-                if (obj.getFamilyStatus().intValue() == 0) {
-                    obj.setFamilyStatusStr("正常");
-                } else if (obj.getFamilyStatus().intValue() == 1) {
-                    obj.setFamilyStatusStr("心血管疾病(服用ARB)");
-                } else if (obj.getFamilyStatus().intValue() == 2) {
-                    obj.setFamilyStatusStr("心血管疾病(未服用ARB)");
-                } else if (obj.getFamilyStatus().intValue() == 3) {
-                    obj.setFamilyStatusStr("呼吸系统病史");
-                } else if (obj.getFamilyStatus().intValue() == 4) {
-                    obj.setFamilyStatusStr("肿瘤病史");
-                } else if (obj.getFamilyStatus().intValue() == 5) {
-                    obj.setFamilyStatusStr("糖尿病史");
-                } else if (obj.getFamilyStatus().intValue() == 6) {
-                    obj.setFamilyStatusStr("服用过激素药物");
-                } else if (obj.getFamilyStatus().intValue() == 7) {
-                    obj.setFamilyStatusStr("妊娠期");
-                } else if (obj.getFamilyStatus().intValue() == 8) {
-                    obj.setFamilyStatusStr("其他");
+//                if (obj.getFamilyStatus().intValue() == 0) {
+//                    obj.setFamilyStatusStr("正常");
+//                } else if (obj.getFamilyStatus().intValue() == 1) {
+//                    obj.setFamilyStatusStr("心血管疾病(服用ARB)");
+//                } else if (obj.getFamilyStatus().intValue() == 2) {
+//                    obj.setFamilyStatusStr("心血管疾病(未服用ARB)");
+//                } else if (obj.getFamilyStatus().intValue() == 3) {
+//                    obj.setFamilyStatusStr("呼吸系统病史");
+//                } else if (obj.getFamilyStatus().intValue() == 4) {
+//                    obj.setFamilyStatusStr("肿瘤病史");
+//                } else if (obj.getFamilyStatus().intValue() == 5) {
+//                    obj.setFamilyStatusStr("糖尿病史");
+//                } else if (obj.getFamilyStatus().intValue() == 6) {
+//                    obj.setFamilyStatusStr("服用过激素药物");
+//                } else if (obj.getFamilyStatus().intValue() == 7) {
+//                    obj.setFamilyStatusStr("妊娠期");
+//                } else if (obj.getFamilyStatus().intValue() == 8) {
+//                    obj.setFamilyStatusStr("其他");
+//                }
+                // 基本状态:1,0,1,0,0,0,1 (0表示未选中,1表示选中)
+                StringBuffer sb = new StringBuffer();
+                String fs = obj.getFamilyStatus();
+                if (StringUtils.isNoneBlank(fs)) {
+                    String[] fsArray = fs.split(",");
+                    if (fsArray != null && fsArray.length > 0) {
+                        for (int i = 0; i < fsArray.length; i++) {
+                            if (0 == i) {
+                                if (Integer.valueOf(fsArray[i]) == 1) {
+                                    sb.append("心血管疾病(服用ARB),");
+                                }
+                            }
+                            if (1 == i) {
+                                if (Integer.valueOf(fsArray[i]) == 1) {
+                                    sb.append("心血管疾病(未服用ARB),");
+                                }
+                            }
+                            if (2 == i) {
+                                if (Integer.valueOf(fsArray[i]) == 1) {
+                                    sb.append("呼吸系统病史,");
+                                }
+                            }
+                            if (3 == i) {
+                                if (Integer.valueOf(fsArray[i]) == 1) {
+                                    sb.append("肿瘤病史,");
+                                }
+                            }
+                            if (4 == i) {
+                                if (Integer.valueOf(fsArray[i]) == 1) {
+                                    sb.append("糖尿病史,");
+                                }
+                            }
+                            if (5 == i) {
+                                if (Integer.valueOf(fsArray[i]) == 1) {
+                                    sb.append("服用过激素药物,");
+                                }
+                            }
+                            if (6 == i) {
+                                if (Integer.valueOf(fsArray[i]) == 1) {
+                                    sb.append("妊娠期");
+                                }
+                            }
+                        }
+
+                        if (sb.toString().endsWith(",")) {
+                            obj.setFamilyStatusStr(sb.toString().substring(0, sb.toString().length() - 1));
+                        } else {
+                            obj.setFamilyStatusStr(sb.toString());
+                        }
+                    }
                 }
 
                 if (obj.getMedical().intValue() == 0) {
@@ -587,12 +672,12 @@ public class RiBaoService {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         String todayStr = sdf.format(today);
 
-        Calendar calendar = Calendar.getInstance();
-        calendar.setTime(today);
-        calendar.add(Calendar.DATE, -2);
-        String yestodayStr = sdf.format(calendar.getTime());
+//        Calendar calendar = Calendar.getInstance();
+//        calendar.setTime(today);
+//        calendar.add(Calendar.DATE, -2);
+//        String yestodayStr = sdf.format(calendar.getTime());
 
-        List<UptownUnit> dongList = uptownUnitMapper.queryMenPaiList(uptownId, ridgepole, unitId, yestodayStr);
+        List<UptownUnit> dongList = uptownUnitMapper.queryMenPaiList(uptownId, ridgepole, unitId, todayStr);
         if (CollectionUtils.isNotEmpty(dongList)) {
             for (UptownUnit obj : dongList) {
                 if (obj.getMsStatus() != null && obj.getMsStatus().intValue() == 1) {
@@ -610,4 +695,79 @@ public class RiBaoService {
         }
         return dongList;
     }
+
+    public UptownUnit getRibaoYwh2(Long uptownId, Long ridgepole, Long unitId) {
+        DateTime dateTime = new DateTime();
+        UptownUnit uptownUnitVo = new UptownUnit();
+        uptownUnitVo.setUptownId(0L);
+        uptownUnitVo.setUptownName("");
+        uptownUnitVo.setReportDate(dateTime.toDate());
+        uptownUnitVo.setDoorplateNum(0);
+        uptownUnitVo.setYiBaoNum(0);
+        uptownUnitVo.setWeiBaoNum(0);
+        uptownUnitVo.setYiChangNum(0);
+        uptownUnitVo.setYiChangAddNum(0);
+        uptownUnitVo.setYiChangSubNum(0);
+
+//        List<UserRole> userRoles = userRoleMapper.getUserRoleYwhsByUserId(userId);
+//        Long ownerId = userRoles.get(0).getPropertyId();
+//        Owner owner = ownerMapper.selectById(ownerId);
+//        Uptown uptown = uptownMapper.selectById(owner.getUptownId());
+//        Long uptownId = uptown.getUptownId();
+
+        List<UptownUnit> dongList = uptownUnitMapper.queryDongList(uptownId);
+        if (CollectionUtils.isNotEmpty(dongList)) {
+
+            List<UptownUnit> xiaoQuList = uptownUnitMapper.queryXiaoQuList2(uptownId, ridgepole, unitId);
+            if (null == xiaoQuList) {
+                xiaoQuList = new ArrayList<UptownUnit>();
+            }
+            int doorplateNum = xiaoQuList.size();
+
+            Date today = new Date();
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            String todayStr = sdf.format(today);
+            List<UptownUnit> yiBaoList = uptownUnitMapper.queryYiBaoList2(uptownId, ridgepole, unitId, todayStr);
+            if (null == yiBaoList) {
+                yiBaoList = new ArrayList<UptownUnit>();
+            }
+            int yiBaoNum = yiBaoList.size();
+
+            List<UptownUnit> yiChangList = uptownUnitMapper.queryYiChangList2(uptownId, ridgepole, unitId, todayStr);
+            if (null == yiChangList) {
+                yiChangList = new ArrayList<UptownUnit>();
+            }
+            int yiChangNum = yiChangList.size();
+//            System.out.println("yiChangNum================>>" + yiChangNum);
+
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTime(today);
+            calendar.add(Calendar.DATE, -1);
+            String yestodayStr = sdf.format(calendar.getTime());
+            List<UptownUnit> yiChangYestodayList = uptownUnitMapper.queryYiChangList2(uptownId, ridgepole, unitId, yestodayStr);
+            if (null == yiChangList) {
+                yiChangYestodayList = new ArrayList<UptownUnit>();
+            }
+            int yiChangYestodayNum = yiChangYestodayList.size();
+//            System.out.println("yiChangYestodayNum================>>" + yiChangYestodayNum);
+
+            UptownUnit uptownUnitDb = dongList.get(0);
+            uptownUnitVo.setUptownId(uptownUnitDb.getUptownId());// 小区id
+            uptownUnitVo.setUptownName(uptownUnitDb.getUptownName());// 小区名称
+            uptownUnitVo.setReportDate(dateTime.toDate());// 日报日期
+            uptownUnitVo.setDoorplateNum(doorplateNum);// 户数
+
+            uptownUnitVo.setYiBaoNum(yiBaoNum);// 已报数
+            uptownUnitVo.setWeiBaoNum(doorplateNum - yiBaoNum);// 未报数
+            uptownUnitVo.setYiChangNum(yiChangNum);// 异常数
+            if (yiChangNum - yiChangYestodayNum > 0) {
+                uptownUnitVo.setYiChangAddNum(yiChangNum - yiChangYestodayNum);// 异常新增数
+            }
+            if (yiBaoNum > 0 && yiChangYestodayNum - yiChangNum > 0) {
+                uptownUnitVo.setYiChangSubNum(yiChangYestodayNum - yiChangNum);// 异常减少数
+            }
+        }
+
+        return uptownUnitVo;
+    }
 }

+ 59 - 0
whepi-web/src/main/java/com/bofeng/service/ScanService.java

@@ -0,0 +1,59 @@
+package com.bofeng.service;
+
+import com.baomidou.mybatisplus.toolkit.IdWorker;
+import com.bofeng.dao.OutScanMapper;
+import com.bofeng.entity.OutScan;
+import org.joda.time.DateTime;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+@Transactional(readOnly = true)
+public class ScanService {
+
+    @Autowired
+    private OutScanMapper outScanMapper;
+
+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
+    public void saveOutScan(Long userId, Integer inType, Long uptownId, Long doorId) {
+        if (inType == 1) {
+            // 进出的时候修改数据,但若是第一次进去就需要加一条出去的数据
+            OutScan outScan1 = outScanMapper.getOutScanByUserlimit(userId);
+            if (outScan1 == null) {
+                OutScan outScan = new OutScan();
+                outScan.setScanId(IdWorker.getId());
+                outScan.setUserId(userId);
+                outScan.setUptownId(uptownId);
+                outScan.setIntoDoorId(doorId);
+                outScan.setIntoDate(new DateTime());
+                outScan.setOutDoorId(doorId);
+                outScan.setOutDate(new DateTime());
+                outScan.setUserCreate(userId);
+                outScan.setUserUpdate(userId);
+                outScanMapper.insert(outScan);
+            } else {
+                outScan1.setIntoDoorId(doorId);
+                outScan1.setIntoDate(new DateTime());
+                outScan1.setUserUpdate(userId);
+                outScanMapper.updateById(outScan1);
+            }
+        } else if (inType == 2) {
+            // 出去的时候添加数据
+            OutScan outScan = new OutScan();
+            outScan.setScanId(IdWorker.getId());
+            outScan.setUserId(userId);
+            outScan.setUptownId(uptownId);
+            outScan.setOutDoorId(doorId);
+            outScan.setOutDate(new DateTime());
+
+            outScan.setIntoDoorId(0L);
+            outScan.setIntoDate(null);
+
+            outScan.setUserCreate(userId);
+            outScan.setUserUpdate(userId);
+            outScanMapper.insert(outScan);
+        }
+    }
+}

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

@@ -45,7 +45,7 @@ public class MsReportController {
 
         Integer grender = Conv.NI(request.getParameter("grender"));
         Integer age = Conv.NI(request.getParameter("age"));
-        Integer familyStatus = Conv.NI(request.getParameter("familyStatus"));
+        String familyStatus = request.getParameter("familyStatus");
         String statusDesp = request.getParameter("statusDesp");
         Integer medical = Conv.NI(request.getParameter("medical"));
         BigDecimal temperature = new BigDecimal(request.getParameter("temperature"));

+ 19 - 259
whepi-web/src/main/java/com/bofeng/wx/controller/RiBaoYwhController.java

@@ -2,33 +2,17 @@ package com.bofeng.wx.controller;
 
 import com.bofeng.dao.RbMapper;
 import com.bofeng.dao.UptownMapper;
-import com.bofeng.entity.*;
-import com.bofeng.excel.ExcelUtils;
+import com.bofeng.entity.MsReport;
+import com.bofeng.entity.MsSuspected;
+import com.bofeng.entity.UptownUnit;
 import com.bofeng.service.*;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
 import com.yvan.Model;
-import com.yvan.ModelOps;
-import com.yvan.PageDb;
 import com.yvan.mvc.Pd;
-import com.yvan.platform.Conv;
-import com.yvan.platform.JsonWapper;
-import com.yvan.platform.YvanUtil;
-import com.yvan.springmvc.HttpParameterParser;
-import io.swagger.annotations.ApiOperation;
-import lombok.SneakyThrows;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.servlet.ModelAndView;
 
-import javax.servlet.http.HttpServletResponse;
 import java.util.List;
-import java.util.Map;
 
 @RestController
 public class RiBaoYwhController {
@@ -88,250 +72,26 @@ public class RiBaoYwhController {
         return Model.newSuccess(listSuspected);
     }
 
-
-    @GetMapping("/ywh/home.html")
-    public ModelAndView yeweihui(ModelMap model, @RequestParam(value = "userId") Long userId, @RequestParam(value = "show", required = false, defaultValue = "-") String show) {
-
-//        List<QzTask> taskList = qzTaskService.selectAll(1225321682867105793L);
-//        List<sysUptownUnit> rbList = rbService.selectAll(1225321682867105793L);
-        List<QzTask> taskList = qzTaskService.selectAll(userId);
-        List<sysUptownUnit> rbList = rbService.selectAll(userId);
-        model.put("taskList", YvanUtil.toJsonPretty(taskList));
-        model.put("rbList", YvanUtil.toJsonPretty(rbList));
-        model.put("user_id", "\"" + userId + "\"");
-        model.put("show", "\"" + show + "\"");
-
-        return new ModelAndView("/yeweihui/home.ftl", model);
-    }
-
-    @GetMapping("/ywh/qiuzhuDetail.html")
-    public ModelAndView qiuzhudetail(@Pd(name = "taskId") Long taskId, @Pd(name = "userId") Long userId, 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);
-        model.put("userId", "\"" + userId + "\"");
-
-        return new ModelAndView("/yeweihui/qiuzhuDetail.ftl", model);
-    }
-
-    @PostMapping("/ywh/qiuzhu/queryTasksByStatus.json")
-    public Model queryTasksByStatus(@Pd(name = "status") Integer status) {
-
-        List<QzTask> taskList = qzTaskService.queryQzTaskByStatus(status);
-
-        return Model.newSuccess(taskList);
-    }
-
-    @PostMapping("/ywh/qiuzhu/reply/add.json")
-    public ModelOps replyQiuzhuInsert(QzTaskReply qzTaskReply) {
-
-        Integer success = qzTaskReplyService.insertQzTaskReply(qzTaskReply);
-
-        if (success > 0) {
-            return ModelOps.newSuccess();
-        } else {
-            return ModelOps.newFail("操作失败");
-        }
-    }
-
-    @PostMapping("/ywh/qiuzhu/reply/querybytaskid.json")
-    public Model replyQiuzhuQueryByTaskId(@Pd(name = "taskId") Long taskId) {
-
-        List<QzTaskReply> reply = qzTaskReplyService.queryQzTaskReplyByTaskId(taskId);
-
-        return Model.newSuccess(reply);
-    }
-
-    @PostMapping("/ywh/qiuzhu/list.json")
-    public Model queryByHouseNumber(String houseNumber, @Pd(name = "status") Integer status) {
-
-        if (houseNumber.length() <= 0) {
-            return Model.newSuccess(qzTaskService.queryQzTaskByStatus(status));
-        }
-
-        List<QzTask> list = qzTaskService.queryByHouseNumber(houseNumber, status);
-
-        return Model.newSuccess(list);
-    }
-
-    @GetMapping("/ywh/ribao.html")
-    public ModelAndView yeweihuiRibao(ModelMap model) {
-
-//        List<QzTask> taskList = qzTaskService.selectAll();
-//
-//        model.put("taskList", YvanUtil.toJsonPretty(taskList));
-
-        return new ModelAndView("/yeweihui/ribao.ftl", model);
-    }
-
-    @GetMapping("/ywh/ribaoDy")
-    public Model<List<SysUptownHouse>> yeweihuiRibaoDy(Long str) {
-//        String[] split = str.split("&");
-        List<SysUptownHouse> rbList = rbService.selectXq(str);
-
-        return Model.newSuccess(rbList);
+    //查询业委会日报 根据queryMenPaiList获取日报id作为参数传递给此接口
+    @GetMapping("/ywh/getRibao")
+    public Model<MsReport> getRibao(@Pd(name = "reportId") Long reportId) {
+        MsReport msReport = riBaoService.getRibao(reportId);
+        return Model.newSuccess(msReport);
     }
 
-    @GetMapping("/ywh/ribaoXq.html")
-    public ModelAndView yeweihuiRibaoYcXq(ModelMap model) {
-        Map<String, Object> queryParam = Maps.newLinkedHashMap();
-        queryParam.put("userId", "12345677");
-        queryParam.put("statistics", "M");
-        return new ModelAndView("/yeweihui/ribaoXq.ftl", model);
-    }
-
-    @GetMapping("/ywh/ribaoDyYcXq")
-    public Model<List<MsSuspected>> yeweihuiRibaoYcXq(Long houseId) {
-        List<MsSuspected> rbList = rbService.selectYcXq(houseId);
-        return Model.newSuccess(rbList);
-    }
-
-    @GetMapping("/ywh/ribaohuiz.html")
-    public ModelAndView yeweihuiRibaohuiz(ModelMap model) {
-        return new ModelAndView("/yeweihui/ribaohuiz.ftl", model);
-    }
-
-    @GetMapping("/ywh/yeweihui/ribaohuiz")
-    public Model<Map<String, Object>> yeweihuiRibaohuiz(Long userCreate, String reportDate) {
-//        Long userCreate = 1225321682867105793L;
-
-        List<Uptown> uptowns = rbMapper.selectUptown(userCreate);
-
-        if (uptowns != null && uptowns.size() > 0) {
-            Long upId = uptowns.get(0).getUptownId();
-            Map<String, Integer> map1 = rbMapper.selecthuiz(upId, reportDate);
-            Map<String, Integer> map2 = rbMapper.selectyicahng(upId, reportDate);
-            Map<String, Integer> map3 = rbMapper.selecthuiz1(upId);
-
-            Map<String, Object> reMap = Maps.newHashMap();
-            reMap.put("uptownName", uptowns.get(0).getUptownName());
-            List<Integer> nums = Lists.newArrayList();
-            nums.add(Conv.NI(map3.get("houseCount")));
-            nums.add(Conv.NI(map1.get("reportCount")));
-            nums.add(Conv.NI(map2.get("yichangCount")));
-            nums.add(Conv.NI(map1.get("safetyNum")));
-            nums.add(Conv.NI(map1.get("suspectedNum")));
-            reMap.put("nums", nums);
-            return Model.newSuccess(reMap);
-        }
-        return Model.newFail("没有数据");
-
-    }
-
-    @ApiOperation("导出正常家庭上报明细")
-    @GetMapping("/ywh/yeweihui/exportRiBao")
-    @SneakyThrows
-    public void exportRiBao(@Pd(name = "uptownId") Long uptownId,
-                            @Pd(name = "date") String date,
-                            HttpServletResponse resp) {
-
-        Uptown uptown = uptownMapper.selectById(uptownId);
-        if (uptown != null && uptown.getUptownId() > 0) {
-            Long upId = uptown.getUptownId();
-            String fileName = uptown.getUptownName();
-            fileName += "上报信息-";
-            fileName += date;
-            List<ExcelRiBao> list = rbMapper.selectExcelRiBao(upId, date);
-            ExcelUtils.writeSheet(ExcelRiBao.class, list).export(resp, fileName);
-        }
-    }
-
-    @ApiOperation("导出凌云家庭上报明细")
-    @GetMapping("/ywh/lun/exportRiBao")
-    @SneakyThrows
-    public void lunExportRiBao(@Pd(name = "date") String date,
-                               HttpServletResponse resp) {
-
-        Uptown uptown = uptownMapper.selectById("1238790987234");
-        Long upId = uptown.getUptownId();
-        String fileName = uptown.getUptownName();
-        fileName += "上报信息-";
-        fileName += date;
-        List<ExcelRiBaoLY> list = rbMapper.selectExcelRiBaoLY(upId, date);
-        ExcelUtils.writeSheet(ExcelRiBaoLY.class, list).export(resp, fileName);
-
-    }
-
-    @ApiOperation("导出小区家庭上报明细")
-    @GetMapping("/ywh/yeweihui/EXR")
-    @SneakyThrows
-    public void exportRiBaoByXiaoQu(@Pd(name = "uptownId") Long uptownId,
-                                    @Pd(name = "date") String date,
-                                    HttpServletResponse resp) {
-        Uptown uptown = uptownMapper.selectById(uptownId);
-        if (uptown != null && uptown.getUptownId() > 0) {
-            Long upId = uptown.getUptownId();
-            String fileName = uptown.getUptownName();
-            fileName += "上报信息-";
-            fileName += date;
-            List<ExcelRiBaoPrivate> list = rbMapper.selectExcelRiBaoPrivate(upId, date);
-            ExcelUtils.writeSheet(ExcelRiBaoPrivate.class, list).export(resp, fileName);
-        }
-    }
-
-    @GetMapping("/ywh/tgPublish.html")
-    public ModelAndView tgPublish(@Pd(name = "userId") Long userId, ModelMap model) throws JsonProcessingException {
-        model.put("userId", "\"" + userId + "\"");
-
-        return new ModelAndView("/yeweihui/tgPublish.ftl", model);
-    }
-
-    @PostMapping("/ywh/tgPublish.json")
-    public Model tuangouPublish(JmTuangou jmTuangou) {
-
-        Integer success = jmTuangouService.tuangouPublish(jmTuangou);
-        if (success == 1) {
-            return Model.newSuccess("操作成功");
-        } else {
-            return Model.newFail("操作失败");
-        }
-    }
-
-    @PostMapping("/ywh/tuangou/list/query.json")
-    public Model queryTuangouListByTitle(@Pd(name = "userId") Long userId, @Pd(name = "title", required = false) String title) {
-
-        List<JmTuangou> list = jmTuangouService.queryTuangouListByTitle(userId, title);
-
-        return Model.newSuccess(list);
+    // 查询业委会日报关联的家人列表  根据queryMenPaiList获取日报id作为参数传递给此接口
+    @GetMapping("/ywh/queryRibaoDetailList")
+    public Model<List<MsSuspected>> queryRibaoDetailList(@Pd(name = "reportId") Long reportId) {
+        List<MsSuspected> listSuspected = riBaoService.queryRibaoDetailList(reportId);
+        return Model.newSuccess(listSuspected);
     }
 
-    @PostMapping("/ywh/tuangou/mylist/query.json")
-    public Model queryTuangouMyListByTitle(@Pd(name = "userId") Long userId, @Pd(name = "title", required = false) String title) {
-
-        List<JmTuangou> myList = jmTuangouService.queryTuangouMyListByTitle(userId, title);
-
-        return Model.newSuccess(myList);
+    // 查询业委会日报某一栋某一单元小区及统计数据
+    @GetMapping("/ywh/getRibaoYwh2")
+    public Model<UptownUnit> getRibaoYwh2(@Pd(name = "uptownId") Long uptownId,
+                                          @Pd(name = "ridgepole") Long ridgepole,
+                                          @Pd(name = "unitId") Long unitId) {
+        return Model.newSuccess(riBaoService.getRibaoYwh2(uptownId, ridgepole, unitId));
     }
 
-    @PostMapping("/ywh/getAllUptown")
-    public Model<List<Uptown>> getAllUptown(HttpParameterParser parser, PageDb pageDb) {
-        return Model.newSuccess(pageDb, uptownMapper.getUptowns(pageDb, parser.getMap()));
-    }
 }

+ 79 - 9
whepi-web/src/main/java/com/bofeng/wx/controller/ScanController.java

@@ -3,12 +3,14 @@ package com.bofeng.wx.controller;
 import com.bofeng.dao.*;
 import com.bofeng.entity.*;
 import com.bofeng.service.HomeService;
+import com.bofeng.service.ScanService;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.yvan.platform.JsonWapper;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import org.joda.time.DateTime;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -16,7 +18,11 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
 
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
 import java.util.List;
 
 @Api("进出扫码")
@@ -35,14 +41,23 @@ public class ScanController {
     private UptownUnitMapper uptownUnitMapper;
     @Autowired
     private UptownDoorMapper uptownDoorMapper;
+    @Autowired
+    private OutScanMapper outScanMapper;
+    @Autowired
+    private OutScanConfMapper outScanConfMapper;
+    @Autowired
+    private MsReportMapper msReportMapper;
+    @Autowired
+    private ScanService scanService;
 
     @ApiOperation("进出扫码页面")
     @GetMapping("/user/scan.html")
-    public ModelAndView home(ModelMap model, @RequestParam(value = "doorId", required = false, defaultValue = "0") Long doorId) {
-//        UserOpen userOpen = homeService.getUserOpen();
-//        List<UserRole> list = userRoleMapper.getUserRoleByUserId(userOpen.getUserId());
-        List<UserRole> list = userRoleMapper.getUserRoleByUserId(1L);
-        UserOpen userOpen = userOpenMapper.selectByUserId(1L);
+    public ModelAndView home(ModelMap model, @RequestParam(value = "doorId", required = false, defaultValue = "0") Long doorId,
+            @RequestParam(value = "inType", required = false, defaultValue = "0") Integer inType) {
+        UserOpen userOpen = homeService.getUserOpen();
+        List<UserRole> list = userRoleMapper.getUserRoleByUserId(userOpen.getUserId());
+//        List<UserRole> list = userRoleMapper.getUserRoleByUserId(1L);
+//        UserOpen userOpen = userOpenMapper.selectByUserId(1L);
         model.put("user", userOpen);
         model.put("user_id", "\"" + userOpen.getUserId() + "\"");
         if (list.size() == 0) {
@@ -51,14 +66,69 @@ public class ScanController {
             UptownDoor uptownDoor = uptownDoorMapper.getUptownDoorById(doorId);
             List<UptownHome> uptownHomes =  uptownHomeMapper.getUptownHomeByUserId(userOpen.getUserId());
             UptownUnit unit = uptownUnitMapper.getUptownUnitByUser(userOpen.getUserId());
-            if (!unit.getUptownId().equals(uptownDoor.getUptownId())) {
-                model.put("type", "-1");
-                return new ModelAndView("/user/scan.ftl", model);
-            }
             model.put("door", uptownDoor.getUptownName() + uptownDoor.getDoorName());
             model.put("doorplate", unit.getRidgepole() + "栋" + unit.getUnit() + "单元" +unit.getDoorplate());
             model.put("name", uptownHomes.get(0).getLinkman());
+            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            model.put("now", format.format(new Date()));
+            model.put("inType", inType);
+            if (!unit.getUptownId().equals(uptownDoor.getUptownId())) {
+                model.put("type", "-1");//小区不对
+                model.put("into", "禁止" + getMsg(inType));
+                model.put("collor", "red");
+                model.put("errorMsg", "非本小区居民,禁止" + getMsg(inType) + "。");
+                return new ModelAndView("/user/scan.ftl", model);
+            }
+            if (inType == 2) {
+                OutScanConf outScanConf = outScanConfMapper.getOutScanConfByUptown(uptownDoor.getUptownId());
+                OutScan outScan = outScanMapper.getOutScanByUserlimit(userOpen.getUserId());
+                if (outScan != null && !compareTime(new Date(), outScan.getOutDate(), outScanConf.getGoOutFre())) {
+                    model.put("type", "-2");//时间短了
+                    model.put("collor", "red");
+                    model.put("into", "禁止" + getMsg(inType));
+                    model.put("errorMsg", "外出时间间隔不满三日,禁止外出,请配合,上次外出时间 "+format.format(new Date(outScan.getOutDate().getMillis()))+"。");
+                    return new ModelAndView("/user/scan.ftl", model);
+                }
+                List<MsReport> msReports = msReportMapper.selectMsReportLate(userOpen.getUserId());
+                if (msReports.size() != 3) {
+                    model.put("type", "-3");//最近3天未提交健康日报
+                    model.put("collor", "red");
+                    model.put("into", "禁止" + getMsg(inType));
+                    model.put("errorMsg", "因近期您未提交健康日报,无法确认您当前健康状态,禁止外出,请配合。");
+                    return new ModelAndView("/user/scan.ftl", model);
+                }
+            }
+            model.put("type", "1");
+            model.put("collor", "green");
+            model.put("into", "可以" + getMsg(inType));
+            if (inType == 2) {
+                model.put("errorMsg", "请佩戴口罩,避免近距离接触,不得长时间在外逗留。");
+            }
+            scanService.saveOutScan(userOpen.getUserId(), inType, uptownDoor.getUptownId(), uptownDoor.getDoorId());
             return new ModelAndView("/user/scan.ftl", model);
         }
     }
+
+    public Boolean compareTime(Date time1, DateTime time2, Integer day) {
+        Date date = new Date(time2.getMillis() + 1000L*3600*24*day);
+        if (changeTime(date).equals(changeTime(time1))) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
+    public String changeTime(Date date) {
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        return format.format(date);
+    }
+
+    public String getMsg(Integer inType) {
+        if (inType == 1) {
+            return "进入";
+        } else if (inType == 2) {
+            return "外出";
+        }
+        return "";
+    }
 }

+ 20 - 0
whepi-web/src/main/resources/mapper/UptownUnitMapper.xml

@@ -55,4 +55,24 @@
         where b.uptown_id=#{uptownId}
     </select>
 
+
+    <select id="queryXiaoQuList2" resultType="com.bofeng.entity.UptownUnit">
+        SELECT a.house_id, a.doorplate, a.unit_id,b.unit, b.ridgepole,b.uptown_id FROM `sys_uptown_house` a
+        inner JOIN `sys_uptown_unit` b  on a.unit_id=b.unit_id and b.uptown_id=#{uptownId} and b.ridgepole =#{ridgepole}
+        where  a.unit_id=#{unitId}
+    </select>
+
+    <select id="queryYiBaoList2" resultType="com.bofeng.entity.UptownUnit">
+        SELECT a.house_id, a.doorplate, a.unit_id,b.unit, b.ridgepole,b.uptown_id,c.report_date, c.ms_status FROM `sys_uptown_house` a
+        inner JOIN `sys_uptown_unit` b  on a.unit_id=b.unit_id and b.uptown_id=#{uptownId} and b.ridgepole =#{ridgepole}
+        inner JOIN `ms_report` c  on a.house_id=c.house_id  and c.report_date = #{reportDate}
+        where a.unit_id=#{unitId}
+    </select>
+
+    <select id="queryYiChangList2" resultType="com.bofeng.entity.UptownUnit">
+        SELECT a.house_id, a.doorplate, a.unit_id,b.unit, b.ridgepole,b.uptown_id,c.report_date, c.ms_status FROM `sys_uptown_house` a
+        inner JOIN `sys_uptown_unit` b  on a.unit_id=b.unit_id and b.uptown_id=#{uptownId} and b.ridgepole =#{ridgepole}
+        inner JOIN `ms_report` c  on a.house_id=c.house_id  and c.report_date = #{reportDate} and c.ms_status=2
+        where a.unit_id=#{unitId}
+    </select>
 </mapper>