Browse Source

Merge remote-tracking branch 'origin/master'

Longlin 5 năm trước cách đây
mục cha
commit
bb43d23a32
50 tập tin đã thay đổi với 3799 bổ sung442 xóa
  1. 21 0
      admin-ui/app/whepi/index.js
  2. 14 0
      admin-ui/app/whepi/mock/menu6.json
  3. 1 4
      whepi-doc/mrsb.sql
  4. BIN
      whepi-ui/ly.png
  5. BIN
      whepi-ui/static/homeHelp.jpg
  6. BIN
      whepi-ui/static/homeHelp_1.jpg
  7. BIN
      whepi-ui/static/outHelp.jpg
  8. 7 0
      whepi-ui/templates/home/frag.head.ftl
  9. 113 18
      whepi-ui/templates/home/home.ftl
  10. 1 1
      whepi-ui/templates/home/homeHelp.ftl
  11. 19 0
      whepi-ui/templates/home/outHelp.ftl
  12. 240 77
      whepi-ui/templates/home/ribao.ftl
  13. 962 50
      whepi-ui/templates/home/ribao.js
  14. 4 3
      whepi-ui/templates/lingyun/home.ftl
  15. 267 55
      whepi-ui/templates/lingyun/ribao.ftl
  16. 704 67
      whepi-ui/templates/lingyun/ribao.js
  17. 36 0
      whepi-ui/templates/user/returnWork.ftl
  18. 5 4
      whepi-ui/templates/user/scan.ftl
  19. 1 1
      whepi-web/src/main/java/com/bofeng/controller/EpiAdminController.java
  20. 1 0
      whepi-web/src/main/java/com/bofeng/controller/EpiLYExportController.java
  21. 33 0
      whepi-web/src/main/java/com/bofeng/dao/MsReportMapper.java
  22. 27 0
      whepi-web/src/main/java/com/bofeng/dao/MsSuspectedMapper.java
  23. 18 0
      whepi-web/src/main/java/com/bofeng/dao/MsTripDetMapper.java
  24. 16 0
      whepi-web/src/main/java/com/bofeng/dao/MsTripMapper.java
  25. 1 1
      whepi-web/src/main/java/com/bofeng/dao/OutUserMapper.java
  26. 4 2
      whepi-web/src/main/java/com/bofeng/dao/RbMapper.java
  27. 3 0
      whepi-web/src/main/java/com/bofeng/dao/UptownHouseMapper.java
  28. 4 1
      whepi-web/src/main/java/com/bofeng/dao/UptownUnitMapper.java
  29. 62 3
      whepi-web/src/main/java/com/bofeng/entity/ExcelRiBaoLY.java
  30. 64 6
      whepi-web/src/main/java/com/bofeng/entity/ExcelRiBaoPrivate.java
  31. 19 0
      whepi-web/src/main/java/com/bofeng/entity/MsSuspected.java
  32. 36 0
      whepi-web/src/main/java/com/bofeng/entity/MsTrip.java
  33. 61 0
      whepi-web/src/main/java/com/bofeng/entity/MsTripDet.java
  34. 193 9
      whepi-web/src/main/java/com/bofeng/service/MsReportService.java
  35. 68 13
      whepi-web/src/main/java/com/bofeng/service/MsSuspectedService.java
  36. 276 0
      whepi-web/src/main/java/com/bofeng/service/MsTripService.java
  37. 53 0
      whepi-web/src/main/java/com/bofeng/service/RbService.java
  38. 42 41
      whepi-web/src/main/java/com/bofeng/service/UserOpenService.java
  39. 30 14
      whepi-web/src/main/java/com/bofeng/wx/WxController.java
  40. 36 9
      whepi-web/src/main/java/com/bofeng/wx/controller/MsReportController.java
  41. 89 0
      whepi-web/src/main/java/com/bofeng/wx/controller/MsTripController.java
  42. 23 10
      whepi-web/src/main/java/com/bofeng/wx/controller/ScanAdminController.java
  43. 168 47
      whepi-web/src/main/java/com/bofeng/wx/controller/ScanController.java
  44. 66 2
      whepi-web/src/main/java/com/bofeng/wx/controller/UserOpenController.java
  45. 2 2
      whepi-web/src/main/java/com/bofeng/wx/controller/YeWeiHuiController.java
  46. 1 1
      whepi-web/src/main/resources/application.yml
  47. 1 1
      whepi-web/src/main/resources/mapper/MsSuspected.xml
  48. 7 0
      whepi-web/src/main/resources/mapper/MsTripDet.xml
  49. BIN
      whepi-web/src/main/resources/word/健康及旅居申报表_20200221.docx
  50. BIN
      whepi-web/src/main/resources/word/隔离人员解除隔离审批表_20200221.docx

+ 21 - 0
admin-ui/app/whepi/index.js

@@ -92,6 +92,27 @@ $(function () {
         onLoadSuccess: function (node, data) {
         }
       });
+    } else if (userRole == "6") {//凌云后台菜单
+      $('#menutree').tree({
+        url: '/app/whepi/mock/menu6.json',
+        onDblClick: function (node) {
+          var $this = $(this);
+          if (!$this.tree('isLeaf', node.target)) {
+            $this.tree(node.state === 'closed' ? 'expand' : 'collapse', node.target);
+          }
+        },
+        onSelect: function () {
+          return false;
+        },
+        onClick: function (node) {
+          var href = node.href;
+          if ($.trim(href)) {
+            App.addTab({title: node.text, url: node.href, id: node.id, iconCls: node.iconCls});
+          }
+        },
+        onLoadSuccess: function (node, data) {
+        }
+      });
     }
 
 

+ 14 - 0
admin-ui/app/whepi/mock/menu6.json

@@ -0,0 +1,14 @@
+{
+  "success": true,
+  "msg": "",
+  "data": [
+    {
+      "id": "ENT10001",
+      "text": "资源需求管理",
+      "href": "/app/whepi/tugou/tugou.js",
+      "iconCls": "icon-blank fa fa-align-justify",
+      "state": "close",
+      "children": []
+    }
+  ]
+}

+ 1 - 4
whepi-doc/mrsb.sql

@@ -67,10 +67,6 @@ CREATE TABLE ms_trip  (
   today_local       int(11)    NOT NULL DEFAULT 0                           COMMENT '今日驻地:0未填写,1武汉市,2宜昌市,3当阳市,其他地点',
   today_local_other varchar(50)  NOT NULL DEFAULT ''                        COMMENT '今日驻地其他地点',
   is_trip           int(11)    NOT NULL DEFAULT 0                           COMMENT '是否出行:0否,1是',
-  user_create       bigint(20) NOT NULL DEFAULT 0                           COMMENT '新增人',
-  time_create       datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0)       COMMENT '新增时间',
-  user_update       bigint(20) NOT NULL DEFAULT 0                           COMMENT '修改人',
-  time_update       datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '修改时间',
   PRIMARY KEY (trip_id) USING BTREE
 ) ENGINE = InnoDB default charset=utf8mb4 comment = '家庭出行表';
 
@@ -88,6 +84,7 @@ CREATE TABLE ms_trip_det  (
   end_local         int(11)    NOT NULL DEFAULT 0                           COMMENT '目的地:0未填写,1武汉市,2宜昌市,3当阳市,其他地点',
   end_local_other   varchar(50)  NOT NULL DEFAULT ''                        COMMENT '目的地其他地点',
   trip_type         int(11)    NOT NULL DEFAULT 0                           COMMENT '出行方式:0未填写,1长途汽车,2火车,3飞机',
+  trip_type_desp    varchar(50)  NOT NULL DEFAULT ''                        COMMENT '车次/航班/车牌',
   user_create       bigint(20) NOT NULL DEFAULT 0                           COMMENT '新增人',
   time_create       datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0)       COMMENT '新增时间',
   user_update       bigint(20) NOT NULL DEFAULT 0                           COMMENT '修改人',

BIN
whepi-ui/ly.png


BIN
whepi-ui/static/homeHelp.jpg


BIN
whepi-ui/static/homeHelp_1.jpg


BIN
whepi-ui/static/outHelp.jpg


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

@@ -152,6 +152,13 @@
             border-top: 3px solid #75859f;
             margin-top:2.4em
         }
+        .weui-radio{
+            padding:10px 15px;
+            position:relative;
+            -webkit-box-align:center;
+            -webkit-align-items:center;
+            align-items:center
+        }
     </style>
 </head>
 <span hidden="hidden" id="id"></span>

+ 113 - 18
whepi-ui/templates/home/home.ftl

@@ -3,13 +3,16 @@
 
 <div class="weui-tab">
     <input id="userId" type="text" hidden="hidden" value=${user_id!}/>
+    <input id="uptownId" type="text" hidden="hidden" value=${uptown_id!}/>
     <div class="weui-tab__bd">
         <div id="tab1" class="weui-tab__bd-item weui-tab__bd-item--active">
             <#include "/home/ribao.ftl" /></div>
         <div id="tab2" class="weui-tab__bd-item">
             <#include "/home/qiuzhu.ftl" /></div>
+        <#if uptownId != 1238790987234 && uptownId != 5>
         <div id="tab3" class="weui-tab__bd-item">
-    <#include "/home/buy.ftl" /></div>
+            <#include "/home/buy.ftl" /></div>
+        </#if>
     <#--<div id="tab4" class="weui-tab__bd-item">-->
     <#--<h1>页面四</h1> </div>-->
     </div>
@@ -22,10 +25,12 @@
             <div class="weui-tabbar__icon"><img src="/static/images/wx/customer_service.png" alt=""></div>
             <p class="weui-tabbar__label">家庭求助</p>
         </a>
+        <#if uptownId != 1238790987234 && uptownId != 5>
         <a id="jt3" href="#tab3" class="weui-tabbar__item" onclick="buyGroup()">
             <div class="weui-tabbar__icon"><img src="/static/images/wx/upload.png" alt=""></div>
             <p class="weui-tabbar__label">团购</p>
         </a>
+        </#if>
     <#--<a href="#tab4" class="weui-tabbar__item">-->
     <#--<div class="weui-tabbar__icon"> <img src="./images/icon_nav_cell.png" alt=""> </div>-->
     <#--<p class="weui-tabbar__label">我</p>-->
@@ -38,6 +43,9 @@
 
 <#include "/home/frag.foot.ftl" />
 <script>
+    var xiaoquId = '1238790987234'; //1238790987234
+    var ceshixiaoquId = '5';
+    var canSahngbao = true;
     <#include "/home/ribao.js" />
     <#include "/home/qiuzhu.js" />
     (function ($) {
@@ -54,16 +62,27 @@
             });
         });
 
-
+        var uptownId = $("#uptownId").val();
+        if (uptownId == xiaoquId || uptownId == ceshixiaoquId) {
+            $('#ribao_trip')[0].style.display = '';
+            $('#ribao_djgl')[0].style.display = 'none';
+            $('#ribao_jbqk')[0].style.display = 'none';
+        } else {
+            $('#ribao_trip')[0].style.display = 'none';
+            $('#ribao_djgl')[0].style.display = '';
+            $('#ribao_jbqk')[0].style.display = '';
+        }
         ribao_init();
         qiuzhu_init();
         family_init();
         ribao_add();
         ribao_cancel();
+        getUptownUnitLY();
 
         <#if msReport ??>var msReport = ${msReport}</#if>;
         $('#ribao_jinrijujian').append(msReport.safetyNum);
         if (msReport.reportStatus == 1) {
+            canSahngbao = false;
             document.getElementById("btn_shangbao").style['background-color'] = "#D9D9D9";
         }
         ribaoInitialization(msReport.reportId);
@@ -113,6 +132,82 @@
         }
     })(jQuery);
 
+    // 凌云更换单位
+    function getUptownUnitLY() {
+        $.ajax({
+            type: "GET",
+            url: "/home/getUptownUnitLY.json?uptownId=" + $("#uptownId").val(),
+            data: {},
+            dataType: "json",
+            success: function (data) {
+                if (data.length > 0) {
+                    $("#newUnitId").empty();
+                    $('#newUnitId').append("<option>请选择</option>");
+                    var html = "";
+                    for (var i = 0; i < data.length; i++) {
+                        html += '<option value="' + data[i].unitId + '">' + data[i].ridgepole + data[i].unit + '</option>';
+                    }
+                    $('#newUnitId').append(html);
+                    $("#newUnitId").val('0');
+                }
+            }
+        });
+    }
+
+    // 凌云更换单位后保存
+    function changeUnitId() {
+        var unitId = $("#unitId").val();
+        var newUnitId = $("#newUnitId").val();
+        var newUnitText = $("#newUnitId").find("option:selected").text();
+        if (!newUnitId || newUnitId == "请选择") {
+            $.alert("请选择部门")
+            return false;
+        }
+        if (newUnitId == unitId) {
+            $.alert("您选择的部门和原来的部门一样")
+            return false;
+        }
+        $.ajax({
+            url: '/home/changeUnitId.json',
+            type: "post",
+            data: {
+                userId: $('#userId').val(),
+                newUnitId: newUnitId,
+            }, success: function (date) {
+                $("#unitId").val(newUnitId);
+                $("#unitMsg").text(newUnitText);
+                $.alert("更改成功")
+                return false;
+            }
+        });
+    }
+
+    // 凌云更换工号后保存
+    function changeDoorplate() {
+        var doorplate = $("#doorplateMsg").text();
+        var newDoorplate = $("#newDoorplate").val().trim();
+        if (!newDoorplate) {
+            $.alert("请输入工号")
+            return false;
+        }
+        if (doorplate == newDoorplate) {
+            $.alert("您输入的工号和原本的工号一样")
+            return false;
+        }
+        $.ajax({
+            url: '/home/changeDoorplate.json',
+            type: "post",
+            data: {
+                userId: $('#userId').val(),
+                newDoorplate: newDoorplate,
+            }, success: function (date) {
+                $("#doorplateMsg").text(newDoorplate);
+                $.alert("更改成功")
+                return false;
+            }
+        });
+    }
+
 
     //小区求助信息的展示
     function familyClick() {
@@ -154,23 +249,23 @@
     function xiaoQuItemClick(v) {
         window.location.href = "/quzhu/home/quxiao.html?taskId=" + v.taskId + "&userId=" + $('#userId').val();
         /*familyClick();*/
-    /*    $.ajax({
-            url: '/home/home/taskQuery',
-            data: {taskId: v.taskId},
-            type: 'GET',
-            success: function (data) {
-                console.log(data);
-                if ($('#userId').val() != data.data.userId) {
-                    $.alert('当前求助信息不是你的')
-                    return;
-                } else {
-                    window.location.href = "/quzhu/home/quxiao.html?taskId=" + v.taskId + "&userId=" + v.userId;
-                    familyClick()
+        /*    $.ajax({
+                url: '/home/home/taskQuery',
+                data: {taskId: v.taskId},
+                type: 'GET',
+                success: function (data) {
+                    console.log(data);
+                    if ($('#userId').val() != data.data.userId) {
+                        $.alert('当前求助信息不是你的')
+                        return;
+                    } else {
+                        window.location.href = "/quzhu/home/quxiao.html?taskId=" + v.taskId + "&userId=" + v.userId;
+                        familyClick()
+                    }
+                },
+                error: function () {
                 }
-            },
-            error: function () {
-            }
-        });*/
+            });*/
 
     }
 

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

@@ -3,7 +3,7 @@
 
 <div class="page__bd" style="height: 300px">
     <div class="container">
-        <img src="/static/homeHelp_1.jpg" style="width: 100%"/>
+        <img src="/static/homeHelp.jpg" style="width: 100%"/>
 </div>
 
 

+ 19 - 0
whepi-ui/templates/home/outHelp.ftl

@@ -0,0 +1,19 @@
+<#assign title="出入管理"/>
+<#include "/home/frag.head.ftl" />
+
+<div class="page__bd" style="height: 300px">
+    <div class="container">
+        <img src="/static/outHelp.jpg" style="width: 100%"/>
+</div>
+
+
+<#include "/home/frag.foot.ftl" />
+
+<script>
+
+    (function ($) {
+
+    })(jQuery);
+
+
+</script>

+ 240 - 77
whepi-ui/templates/home/ribao.ftl

@@ -7,6 +7,11 @@
             <a class="weui-navbar__item" target="#rb_nav2" module="ri_bao">
                 健康日历
             </a>
+            <#if (uptownId??) && (uptownId == 1238790987234 || uptownId == 5 )>
+            <a class="weui-navbar__item" target="#rb_nav3" module="ri_bao">
+                更改部门
+            </a>
+            </#if>
         </div>
         <div class="weui-tab__panel">
             <div id="rb_nav1" class="weui-tab__bd-item ri_bao_weui_tab_bd_item_active">
@@ -33,10 +38,12 @@
                     <#--</div>-->
                     </div>
                     <div class="weui-cells__tips"> <span style="color: red">
+                        <br/>
                         注:请如实上报情况,便以相互帮助,小区是我家,团结就是力量!后期会有医生跟踪分析,给予大家医疗建议,请认真填报!
                     </span></div>
                     <div class="weui-btn-area">
-                        <a id="btn_shangbao" class="weui-btn weui-btn_primary" href="javascript:" id="showTooltips" style=""
+                        <a id="btn_shangbao" class="weui-btn weui-btn_primary" href="javascript:" id="showTooltips"
+                           style=""
                            onclick="addReport()">上报</a>
                     </div>
                 </div>
@@ -53,87 +60,120 @@
                                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 id="ribao_jbqk">
+                        <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>
                     </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: 55%;">确诊新冠肺炎</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: 55%;">新冠肺炎</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 class="weui-cells_checkbox" style="width: 125%">
+                            <label class="weui-radio weui-cell_active weui-check__label" for="s18" >
+                                <input type="radio" name="radio" value="0" class="weui-check" id="s18" style="width: 10%"/>
+                                <i class="weui-icon-checked"></i>无
+                            </label>
+                            <label class="weui-radio weui-cell_active weui-check__label" for="s19" >
+                                <input type="radio" name="radio" value="1" class="weui-check" id="s19" style="width: 10%"/>
+                                <i class="weui-icon-checked"></i>确诊
+                            </label>
+                            <br/>
+                            <div style="height: 20px"></div>
+                            <label class="weui-radio weui-cell_active weui-check__label" for="s20">
+                                <input type="radio" name="radio" value="2" class="weui-check" id="s20" style="width: 10%">
+                                <i class="weui-icon-checked"></i>疑似
+                            </label>
+                            <#--<div style="height: 10px"></div>-->
+                            <label class="weui-radio weui-cell_active weui-check__label" for="s21" style="width: 25%">
+                                <input type="radio" name="radio" value="3" class="weui-check" id="s21">
+                                <i class="weui-icon-checked"></i>有接触史
+                            </label>
+                            <br/>
+                            <div style="height: 20px"></div>
+                            <label class="weui-radio weui-cell_active weui-check__label" for="s22" style="width: 25%">
+                                <input type="radio" name="radio" value="4" class="weui-check" id="s22">
+                                <i class="weui-icon-checked"></i>解除隔离
+                            </label>
+                        </div>
                     </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: 55%;">单间隔离</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;"/>
+                    <div id="ribao_djgl">
+                        <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
+                            <div style="color: gray;height: 5vh; line-height: 5vh; width: 55%;">单间隔离</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;"/>
+                        </div>
                     </div>
 
                     <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
@@ -192,9 +232,96 @@
                     </div>
                     <div style="display: flex; justify-content: center;">
                         <div style="width: 70%;color: red; text-align: center;">
+                            <br/>
                             自愿填写病情描述(温度为必填项),提交后会根据每天病情描述变化趋势给出更加科学的健康评估建议
                         </div>
                     </div>
+                    <div id="ribao_trip" class="weui-btn-area"><#--style="display: none"-->
+                        <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 6vh;">
+                            <div style="height: 5vh; line-height: 5vh; width: 55%;">工作驻地</div>
+                            <input id="js_input_gzzd" class="weui-input" type="text" placeholder="请选择"
+                                   style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;width: 50%"
+                                   onchange="selectinput1(this)"/>
+                            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                            <input id="js_input_qtdd" placeholder="其它地点" disabled="disabled" type="text"
+                                   style="width: 80%;text-align: center;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-color: #75859f;height: 5vh;font-size:inherit;color:inherit;"/>
+                        </div>
+                        <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
+                            <div style="height: 5vh; line-height: 5vh; width: 55%;">今晚住地</div>
+                            <input id="js_input_jrszd" class="weui-input" type="text" placeholder="请选择"
+                                   style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;width: 50%"
+                                   onchange="selectinput2(this)"/>
+                            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                            <input id="js_input_jrszq" placeholder="其它地点" disabled="disabled" type="text"
+                                   style="width: 80%;text-align: center;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-color: #75859f;height: 5vh;font-size:inherit;color:inherit;"/>
+                        </div>
+                        <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
+                            <div style="height: 5vh; line-height: 5vh; width: 55%;">是否出行</div>
+                            <input id="js_input_sf" class="weui-input" type="text" placeholder="请选择"
+                                   style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;width: 145%"
+                                   onchange="selectinput6(this)"/>
+                        </div>
+                        <br/>
+                    <#--<div style="text-align: center;height: 1vh;">出行情况上报</div>-->
+
+                        <div id="none">
+                            <div class="weui-loadmore weui-loadmore_line" style="width: 100%;height: 1vh;">
+                                <span class="weui-loadmore__tips">出行情况上报</span>
+                            </div>
+                            <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 6vh;">
+                                <div style="height: 5vh; line-height: 5vh; width: 55%;">出发地</div>
+                                <input id="js_input_cfd" class="weui-input" type="text" placeholder="请选择"
+                                       style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;width: 50%"
+                                       onchange="selectinput3(this)"/>
+                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                                <input id="js_input_cfdq" placeholder="其它地点" disabled="disabled" type="text"
+                                       style="width: 80%;text-align: center;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-color: #75859f;height: 5vh;font-size:inherit;color:inherit;"/>
+                            </div>
+                            <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
+                                <div style="height: 5vh; line-height: 5vh; width: 55%;">目的地</div>
+                                <input id="js_input_mdd" class="weui-input" type="text" placeholder="请选择"
+                                       style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;width: 50%"
+                                       onchange="selectinput4(this)"/>
+                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                                <input id="js_input_mddq" placeholder="其它地点" disabled="disabled" type="text"
+                                       style="width: 80%;text-align: center;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-color: #75859f;height: 5vh;font-size:inherit;color:inherit;"/>
+                            </div>
+                            <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
+                                <div style="height: 5vh; line-height: 5vh; width: 55%;">出行方式</div>
+                                <input id="js_input_cxfs" class="weui-input" type="text" placeholder="请选择出行方式"
+                                       style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;width: 50%"
+                                       onchange="selectinput5(this)"/>
+                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                                <input id="js_input_cxfsq" placeholder="车次/航班/车牌" type="text"
+                                       style="width: 80%;text-align: center;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-color: #75859f;height: 5vh;font-size:inherit;color:inherit;"/>
+
+                            </div>
+                            <div class="weui-cell__ft" style="margin-top: 1vh;">
+                                <button href="javascript:" style="height:5vh; margin-right: 0vh;width: 70px;"
+                                        class="weui-btn weui-btn_mini weui-btn_primary" onclick="insertlingyun()">添加
+                                </button>
+                            </div>
+                            <div class="weui-loadmore tt" style="width: 100%;height: 1vh;margin-top: 1vh;">
+                            </div>
+                            <div>
+                                <table cellspacing="0" cellpadding="0" style="width: 100%">
+                                    <tbody id="tabtr"><#--border="1" cellspacing="0" cellpadding="0"-->
+                                    <tr style="background-color: #f8f8f8;">
+                                    <#-- <td style="text-align: center;">序号</td>
+                                <td style="text-align: center;">出发地</td>
+                                <td style="text-align: center;">目的地</td>
+                                <td style="text-align: center;">出行方式</td>
+                                <td style="text-align: center;">车次/航班/车牌</td>-->
+                                    </tr>
+                                    </tbody>
+                                </table>
+                                <table id="tab5" class="new_tab" align="left" cellpadding="0" cellspacing="0"
+                                       style="width: 100%;">
+                                </table>
+                            </div>
+                        </div>
+
+                    </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"
@@ -221,6 +348,42 @@
                     <br/><br/>
                 </div>
             </div>
+            <div id="rb_nav3" class="weui-tab__bd-item ">
+                <div class="weui-panel weui-panel_access">
+                <#--                    <div class="weui-panel__hd" style=" font-size: large">${uptown_name!''}小区</div>-->
+                    <div class="weui-panel__hd" style=" font-size: large">员工姓名:${linkman!''}</div>
+                    <div class="weui-panel__hd" style=" font-size: large">所在部门:<span id="unitMsg">${ridgepole!''}${unit!''}</span></div>
+                    <div class="weui-panel__hd" style=" font-size: large">员工编号:<span id="doorplateMsg">${doorplate!''}</span></div>
+                    <input id="unitId" type="text" hidden="hidden" value="${unitId!''}"/>
+                    <input id="uptownId" type="text" hidden="hidden" value="${uptownId!''}"/>
+                    <div class="weui-cell weui-cell_select weui-cell_select-after">
+                        <div class="weui-cell__hd">
+                            <label for="" class="weui-label" id="danweiTitle">更改部门</label>
+                        </div>
+                        <div class="weui-cell__bd">
+                            <select class="weui-select" id="newUnitId">
+                                <option>请选择</option>
+                            </select>
+                        </div>
+                    </div>
+                    <div class="weui-form__opr-area">
+                        <a class="weui-btn weui-btn_primary" href="javascript:;" onclick="changeUnitId();">确定部门更改</a>
+                    </div>
+                    <div>
+                        <div class="weui-cells__title" id="menpaiTitle">更改工号</div>
+                        <div class="weui-cells">
+                            <div class="weui-cell">
+                                <div class="weui-cell__bd">
+                                    <input class="weui-input" type="text" id="newDoorplate" placeholder="请输入工号"/>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="weui-form__opr-area">
+                        <a class="weui-btn weui-btn_primary" href="javascript:;" onclick="changeDoorplate();">确定工号更改</a>
+                    </div>
+                </div>
+            </div>
         </div>
     </div>
 </div>

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 962 - 50
whepi-ui/templates/home/ribao.js


+ 4 - 3
whepi-ui/templates/lingyun/home.ftl

@@ -1,4 +1,4 @@
-<#assign title="凌云是我家"/>
+<#assign title="我家"/>
 <#include "/home/frag.head.ftl" />
 
 <div class="weui-tab">
@@ -18,11 +18,11 @@
             <div class="weui-tabbar__icon"><img src="/static/images/wx/order.png" alt=""></div>
             <p class="weui-tabbar__label">健康日报</p>
         </a>
-        <a id="jt2" href="#tab2" class="weui-tabbar__item" ">
+        <a id="jt2" href="#tab2" class="weui-tabbar__item" onclick="familyClick()">
             <div class="weui-tabbar__icon"><img src="/static/images/wx/customer_service.png" alt=""></div>
             <p class="weui-tabbar__label">家庭求助</p>
         </a>
-        <a id="jt3" href="#tab3" class="weui-tabbar__item" ">
+        <a id="jt3" href="#tab3" class="weui-tabbar__item" onclick="buyGroup()">
             <div class="weui-tabbar__icon"><img src="/static/images/wx/upload.png" alt=""></div>
             <p class="weui-tabbar__label">团购</p>
         </a>
@@ -64,6 +64,7 @@
         <#if msReport ??>var msReport = ${msReport}</#if>;
         $('#ribao_jinrijujian').append(msReport.safetyNum);
         if (msReport.reportStatus == 1) {
+          canSahngbao = false;
             document.getElementById("btn_shangbao").style['background-color'] = "#D9D9D9";
         }
         ribaoInitialization(msReport.reportId);

+ 267 - 55
whepi-ui/templates/lingyun/ribao.ftl

@@ -1,4 +1,3 @@
-
 <div class="page__bd">
     <div class="weui-tab">
         <div class="weui-navbar">
@@ -11,84 +10,297 @@
         </div>
         <div class="weui-tab__panel">
             <div id="rb_nav1" class="weui-tab__bd-item ri_bao_weui_tab_bd_item_active">
+                <div id="notOpenRibao">
+                    <div class="weui-cells weui-cells_form">
+                        <div class="weui-cell weui-cell_vcode" style="height: 7vh">
+                            <div class="weui-cell__hd">
+                                <label class="weui-label">今日居家</label>
+                            </div>
+                            <div class="weui-cell__bd" id="ribao_jinrijujian">
 
-                <div id="ribao" class="weui-btn-area"><#--style="display: none"-->
-                    <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 6vh;">
-                        <div style="height: 5vh; line-height: 5vh; width: 55%;">工作驻地</div>
-                        <input id="js_input_gzzd" class="weui-input" type="text" placeholder="请选择"
-                               style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;width: 50%" onchange="selectinput(this)"/>
-                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-                        <input placeholder="其它地点" type="text" style="width: 80%;text-align: center;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-color: #75859f;height: 5vh;font-size:inherit;color:inherit;" />
+                            </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>
+                            </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>
+                    <div class="weui-cells__tips"> <span style="color: red">
+                        <br/>
+                        注:请如实上报情况,便以相互帮助,小区是我家,团结就是力量!后期会有医生跟踪分析,给予大家医疗建议,请认真填报!
+                    </span></div>
+                    <div class="weui-btn-area">
+                        <a id="btn_shangbao" class="weui-btn weui-btn_primary" href="javascript:" id="showTooltips" style=""
+                           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="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>-->
+                    <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="height: 5vh; line-height: 5vh; width: 55%;">今日所在地</div>
-                        <input id="js_input_jrszd" class="weui-input" type="text" placeholder="请选择"
-                               style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;width: 50%"/>
-                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-                        <input placeholder="其它地点" type="text" style="width: 80%;text-align: center;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-color: #75859f;height: 5vh;font-size:inherit;color:inherit;" />
+                        <div style="color: gray;height: 5vh; line-height: 5vh; width: 55%;">确诊新冠肺炎</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="height: 5vh; line-height: 5vh; width: 55%;">是否出行</div>
-                        <input id="js_input_sf" class="weui-input" type="text" placeholder="请选择"
-                               style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;width: 145%"/>
-                      </div>
-                    <br/>
-                    <#--<div style="text-align: center;height: 1vh;">出行情况上报</div>-->
-                    <div class="weui-loadmore weui-loadmore_line" style="width: 100%;height: 1vh;">
-                        <span class="weui-loadmore__tips">出行情况上报</span>
+                        <div style="color: gray;height: 5vh; line-height: 5vh; width: 55%;">单间隔离</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;"/>
                     </div>
-                    <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 6vh;">
-                        <div style="height: 5vh; line-height: 5vh; width: 55%;">出发地</div>
-                        <input id="js_input_cfd" class="weui-input" type="text" placeholder="请选择"
-                               style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;width: 50%"/>
-                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-                        <input placeholder="其它地点" type="text" style="width: 80%;text-align: center;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-color: #75859f;height: 5vh;font-size:inherit;color:inherit;" />
+
+                    <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
+                        <div style="color: gray;height: 5vh; line-height: 5vh; width: 55%;">体温</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;"/>
                     </div>
                     <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
-                        <div style="height: 5vh; line-height: 5vh; width: 55%;">目的地</div>
-                        <input id="js_input_mdd" class="weui-input" type="text" placeholder="请选择"
-                               style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;width: 50%"/>
-                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-                        <input placeholder="其它地点" type="text" style="width: 80%;text-align: center;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-color: #75859f;height: 5vh;font-size:inherit;color:inherit;" />
+                        <div style="color: gray;height: 5vh; line-height: 5vh; width: 55%;">咳嗽现象</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;"/>
                     </div>
                     <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
-                        <div style="height: 5vh; line-height: 5vh; width: 55%;">出行方式</div>
-                        <input id="js_input_cxfs" class="weui-input" type="text" placeholder="请选择出行方式"
-                               style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;width: 50%"/>
-                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-                        <input placeholder="车次/航班/车牌" type="text" disabled="disabled" style="width: 80%;text-align: center;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-color: #75859f;height: 5vh;font-size:inherit;color:inherit;" />
-
+                        <div style="color: gray;height: 5vh;line-height: 5vh; width: 55%;">肌肉酸痛</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;"/>
+                    </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: 55%;">呼吸困难</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;"/>
                     </div>
-                    <div class="weui-cell__ft" style="margin-top: 1vh;">
-                        <button id="btnAdd" href="javascript:" style="height:5vh; margin-right: 0vh;width: 70px;"
-                                class="weui-btn weui-btn_mini weui-btn_primary">添加
-                        </button>
+                    <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
+                        <div style="color: gray;height: 5vh; line-height: 5vh; width: 55%;">乏力现象</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;"/>
                     </div>
-                    <div class="weui-loadmore tt" style="width: 100%;height: 1vh;margin-top: 1vh;">
+                    <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
+                        <div style="color: gray;height: 5vh; line-height: 5vh; width: 55%;">腹泻现象</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;"/>
                     </div>
-                    <div>
-                        <table cellspacing="0" cellpadding="0" style="width: 100%">
-                            <tbody id="tabtr"><#--border="1" cellspacing="0" cellpadding="0"-->
-                            <tr style="background-color: #f8f8f8;">
-                               <#-- <td style="text-align: center;">序号</td>
+                    <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
+                        <div style="color: gray;height: 5vh; line-height: 5vh;width: 55%;">其他描述</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>
+                    </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: 55%;">
+                            <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;">
+                            <br/>
+                            自愿填写病情描述(温度为必填项),提交后会根据每天病情描述变化趋势给出更加科学的健康评估建议
+                        </div>
+                    </div>
+                    <div id="ribao" class="weui-btn-area"><#--style="display: none"-->
+                        <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 6vh;">
+                            <div style="height: 5vh; line-height: 5vh; width: 55%;">工作驻地</div>
+                            <input id="js_input_gzzd" class="weui-input" type="text" placeholder="请选择"
+                                   style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;width: 50%" onchange="selectinput1(this)"/>
+                            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                            <input id="js_input_qtdd" placeholder="其它地点" disabled="disabled" type="text" style="width: 80%;text-align: center;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-color: #75859f;height: 5vh;font-size:inherit;color:inherit;" />
+                        </div>
+                        <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
+                            <div style="height: 5vh; line-height: 5vh; width: 55%;">今晚住地</div>
+                            <input id="js_input_jrszd" class="weui-input" type="text" placeholder="请选择"
+                                   style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;width: 50%" onchange="selectinput2(this)"/>
+                            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                            <input id="js_input_jrszq" placeholder="其它地点" disabled="disabled" type="text" style="width: 80%;text-align: center;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-color: #75859f;height: 5vh;font-size:inherit;color:inherit;" />
+                        </div>
+                        <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
+                            <div style="height: 5vh; line-height: 5vh; width: 55%;">是否出行</div>
+                            <input id="js_input_sf" class="weui-input" type="text" placeholder="请选择"
+                                   style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;width: 145%" onchange="selectinput6(this)"/>
+                        </div>
+                        <br/>
+                    <#--<div style="text-align: center;height: 1vh;">出行情况上报</div>-->
+
+                        <div id="none">
+                            <div class="weui-loadmore weui-loadmore_line" style="width: 100%;height: 1vh;">
+                                <span class="weui-loadmore__tips">出行情况上报</span>
+                            </div>
+                            <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 6vh;">
+                                <div style="height: 5vh; line-height: 5vh; width: 55%;">出发地</div>
+                                <input id="js_input_cfd" class="weui-input" type="text" placeholder="请选择"
+                                       style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;width: 50%" onchange="selectinput3(this)"/>
+                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                                <input id="js_input_cfdq" placeholder="其它地点" disabled="disabled" type="text" style="width: 80%;text-align: center;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-color: #75859f;height: 5vh;font-size:inherit;color:inherit;" />
+                            </div>
+                            <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
+                                <div style="height: 5vh; line-height: 5vh; width: 55%;">目的地</div>
+                                <input id="js_input_mdd" class="weui-input" type="text" placeholder="请选择"
+                                       style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;width: 50%" onchange="selectinput4(this)"/>
+                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                                <input id="js_input_mddq" placeholder="其它地点" disabled="disabled" type="text" style="width: 80%;text-align: center;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-color: #75859f;height: 5vh;font-size:inherit;color:inherit;" />
+                            </div>
+                            <div style="display:flex; flex-direction: row; justify-content: space-between; margin-top: 1vh;">
+                                <div style="height: 5vh; line-height: 5vh; width: 55%;">出行方式</div>
+                                <input id="js_input_cxfs" class="weui-input" type="text" placeholder="请选择出行方式"
+                                       style="border: 1px solid rgba(0,0,0,.2);box-sizing:border-box; border-radius: 5px; height: 5vh;width: 50%" onchange="selectinput5(this)"/>
+                                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+                                <input id="js_input_cxfsq" placeholder="车次/航班/车牌" type="text" style="width: 80%;text-align: center;border-top-width: 0px;border-right-width: 0px;border-bottom-width: 1px;border-left-width: 0px;border-color: #75859f;height: 5vh;font-size:inherit;color:inherit;" />
+
+                            </div>
+                            <div class="weui-cell__ft" style="margin-top: 1vh;">
+                                <button href="javascript:" style="height:5vh; margin-right: 0vh;width: 70px;"
+                                        class="weui-btn weui-btn_mini weui-btn_primary" onclick="insertlingyun()">添加
+                                </button>
+                            </div>
+                            <div class="weui-loadmore tt" style="width: 100%;height: 1vh;margin-top: 1vh;">
+                            </div>
+                            <div>
+                                <table cellspacing="0" cellpadding="0" style="width: 100%">
+                                    <tbody id="tabtr"><#--border="1" cellspacing="0" cellpadding="0"-->
+                                    <tr style="background-color: #f8f8f8;">
+                                    <#-- <td style="text-align: center;">序号</td>
                                 <td style="text-align: center;">出发地</td>
                                 <td style="text-align: center;">目的地</td>
                                 <td style="text-align: center;">出行方式</td>
                                 <td style="text-align: center;">车次/航班/车牌</td>-->
-                            </tr>
-                            </tbody>
-                        </table>
-                        <table id="tab5" class="new_tab" align="left" cellpadding="0" cellspacing="0"
-                               style="width: 100%;">
-                        </table>
+                                    </tr>
+                                    </tbody>
+                                </table>
+                                <table id="tab5" class="new_tab" align="left" cellpadding="0" cellspacing="0"
+                                       style="width: 100%;">
+                                </table>
+                            </div>
+                        </div>
+
                     </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>
                     </div>
+                </div>
                 </br>
                 </br>
             </div>
+            <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__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>
+            </div>
         </div>
     </div>
 </div>
 
 
-

+ 704 - 67
whepi-ui/templates/lingyun/ribao.js

@@ -1,41 +1,9 @@
+
 function ribao_init() {
-    var xxIds = [];
-    var xxName = [
-        "序号",
-        "出发地",
-        "目的地",
-        "出行方式",
-        "车次/航班/车牌"
-    ];
-    for (var i = 0; i < xxName.length; i++) {
-        xxIds.push({
-            name: xxName[i]
-        });
-    }
-    var html = "<tr style='background-color: #f8f8f8;'>";
-    for (var i = 0; i < xxIds.length; i++) {
-        // alert(xxIds[i].name);
-        html += "<th>" + xxIds[i].name + "</th>";
-    }
-    html +="</tr>"
-    for (var i = 0; i < 10; i++) {//后端传过来的集合遍历
-        if (i % 2 != 0) {
-            html += "<tr style='background-color: #f8f8f8;'>";
-        }
-        else {
-            html += "<tr>";
-        }
+    //lingyun
+
 
-        html += "<td style='text-align: center;'>" + (i + 1) + "</td>";
-        // var isValue = false; //记录是否赋值
-        html += "<td style='text-align: center;' >" + "mao" + " </td>";
-        html += "<td style='text-align: center;' >" + "mao" + " </td>";
-        html += "<td style='text-align: center;' >" + "mao" + " </td>";
-        html += "<td style='text-align: center;' >" + "mao" + " </td>";
 
-        html += "</tr>";
-        $("#tabtr").html(html);
-    }
 
     $('#btnRB').on('click', function () {
         window.location.href = "/yeweihui/home.html";
@@ -55,11 +23,15 @@ function ribao_init() {
             {
                 title: "当阳市",
                 value: "3",
+            },
+            {
+                title: "其它地点",
+                value: "4",
             }]
     });
 
     $("#js_input_jrszd").select({
-        title: "选择今日所在地",
+        title: "选择今晚住地",
         items: [
             {
                 title: "武汉市",
@@ -82,12 +54,12 @@ function ribao_init() {
         title: "",
         items: [
             {
-                title: "",
-                value: "1",
+                title: "",
+                value: "0",
             },
             {
-                title: "",
-                value: "2",
+                title: "",
+                value: "1",
             }]
     });
 
@@ -135,25 +107,449 @@ function ribao_init() {
         title: "选择出行方式",
         items: [
             {
-                title: "自驾",
+                title: "长途汽车",
                 value: "1",
             },
             {
+                title: "火车",
+                value: "2",
+            },
+            {
                 title: "飞机",
+                value: "3",
+            },
+            {
+                title: "自驾",
+                value: "4",
+            }]
+    });
+
+    // $("#js_input_user_sex").val(getGreder(2));   //设置初始值
+
+    $('#btnRB').on('click', function () {
+        window.location.href = "/yeweihui/home.html";
+    });
+
+    $("#js_input_user_sex").select({
+        title: "选择性别",
+        items: [
+            {
+                title: "男",
+                value: "1",
+            },
+            {
+                title: "女",
+                value: "2",
+            }]
+    });
+
+    $("#js_input_user_status").select({
+        title: "选择基本状况",
+        items: [
+            {
+                title: "无病史",
+                value: "0",
+            }, {
+                title: "心脑血管疾病(服用ARB)",
+                value: "1",
+            },
+            {
+                title: "心脑血管疾病(未服ARB)",
                 value: "2",
             },
             {
-                title: "火车",
+                title: "呼吸系统病史",
                 value: "3",
             },
             {
-                title: "长途汽车",
+                title: "肿瘤病史",
+                value: "4",
+            },
+            {
+                title: "糖尿病史",
+                value: "5",
+            },
+            {
+                title: "服用过激素药物",
+                value: "6",
+            },
+            {
+                title: "妊娠期",
+                value: "7",
+            }]
+    });
+
+    $("#js_input_user_kesou").select({
+        title: "选择咳嗽情况",
+        items: [
+            {
+                title: "无咳嗽",
+                value: "0",
+            },
+            {
+                title: "偶有短暂咳嗽",
+                value: "1",
+            },
+            {
+                title: "咳嗽轻度影响生活",
+                value: "2",
+            },
+            {
+                title: "咳嗽严重影响生活",
+                value: "3",
+            }]
+    });
+
+    $("#js_input_user_jirou").select({
+        title: "选择肌肉情况",
+        items: [
+            {
+                title: "无",
+                value: "0",
+            },
+            {
+                title: "按压有",
+                value: "1",
+            },
+            {
+                title: "偶尔",
+                value: "2",
+            },
+            {
+                title: "持续有",
+                value: "3",
+            }]
+    });
+
+    $("#js_input_user_huxi").select({
+        title: "选择呼吸情况",
+        items: [
+            {
+                title: "无",
+                value: "0",
+            },
+            {
+                title: "急走或上坡气短",
+                value: "1",
+            },
+            {
+                title: "气短而走路变慢",
+                value: "2",
+            },
+            {
+                title: "走路数分钟后气短",
+                value: "3",
+            },
+            {
+                title: "气短无法离开房间",
                 value: "4",
             }]
     });
 
+    $("#js_input_user_fali").select({
+        title: "选择乏力情况",
+        items: [
+            {
+                title: "无",
+                value: "0",
+            },
+            {
+                title: "体力劳动后不能恢复",
+                value: "1",
+            },
+            {
+                title: "轻体力活非常累",
+                value: "2",
+            },
+            {
+                title: "不能正常生活",
+                value: "3",
+            }]
+    });
 
+    $("#js_input_user_fuxie").select({
+        title: "选择腹泻情况",
+        items: [
+            {
+                title: "无",
+                value: "0",
+            },
+            {
+                title: "轻度腹泻(少于3次)",
+                value: "1",
+            },
+            {
+                title: "中度腹泻(4-6次)",
+                value: "2",
+            },
+            {
+                title: "重度腹泻(超过6次)",
+                value: "3",
+            }]
+    });
 
+    $("#switchQuezhen").select({
+        title: "选择是否确诊",
+        items: [
+            {
+                title: "否",
+                value: "0",
+            },
+            {
+                title: "是",
+                value: "1",
+            }]
+    });
+
+    $("#switchDanjiangeli").select({
+        title: "选择是否单间隔离",
+        items: [
+            {
+                title: "否",
+                value: "0",
+            },
+            {
+                title: "是",
+                value: "1",
+            }]
+    });
+    //
+    // updateSuspected({
+    //   userName : 'www',
+    //   grender : 2,
+    //   age : 34,
+    //   familyStatus : 1,
+    //   statusDesp : "",
+    //   medical:0,
+    //   singleRoom:1,
+    //   temperature:0,
+    //   cough:2,
+    //   muscle:1,
+    //   dyspnea:1,
+    //   fatigue:1,
+    //   diarrhea:2,
+    //   others:""
+    // })
+    //
+    // var grender = $("#js_input_user_sex").attr("data-values") == undefined ? 0 : $("#js_input_user_sex").attr("data-values");
+    // console.log("grender:" + grender)
+}
+function selectinput1(obj){
+    var grender = $("#js_input_gzzd").attr("data-values") == undefined ? 0 : $("#js_input_gzzd").attr("data-values");
+    if(grender != 4){//js_input_qtdd
+        // $('#js_input_qtdd')[0].disabled == 'disabled'
+        $('#js_input_qtdd').attr("disabled","disabled");
+        $("#js_input_qtdd").val("");
+    }else{
+        $('#js_input_qtdd').removeAttr("disabled")
+    }
+
+}
+function selectinput2(obj){
+    var grender = $("#js_input_jrszd").attr("data-values") == undefined ? 0 : $("#js_input_jrszd").attr("data-values");
+    if(grender != 4){//js_input_qtdd
+        // $('#js_input_qtdd')[0].disabled == 'disabled'   js_input_jrszq
+        $('#js_input_jrszq').attr("disabled","disabled");
+        $("#js_input_jrszq").val("");
+    }else{
+        $('#js_input_jrszq').removeAttr("disabled")
+    }
+
+}
+function selectinput3(obj){
+    var grender = $("#js_input_cfd").attr("data-values") == undefined ? 0 : $("#js_input_cfd").attr("data-values");
+    if(grender != 4 ){
+        $('#js_input_cfdq').attr("disabled","disabled");
+        $("#js_input_cfdq").val("");
+    }else{
+        $('#js_input_cfdq').removeAttr("disabled")
+    }
+
+}
+function selectinput4(obj){
+    var grender = $("#js_input_mdd").attr("data-values") == undefined ? 0 : $("#js_input_mdd").attr("data-values");
+    if(grender != 4){
+        $('#js_input_mddq').attr("disabled","disabled");
+        $("#js_input_mddq").val("");
+    }else{
+        $('#js_input_mddq').removeAttr("disabled")
+    }
+
+}
+function selectinput5(obj){
+    var grender = $("#js_input_cxfs").attr("data-values") == undefined ? 0 : $("#js_input_cxfs").attr("data-values");
+    if(grender == 4){
+        // $('#js_input_cxfsq').attr("disabled","disabled")
+    }else{
+        $('#js_input_cxfsq').removeAttr("disabled")
+    }
+
+}
+var listcx = [];
+function selectinput6(obj){
+    var grender = $("#js_input_sf").attr("data-values") == undefined ? 3 : $("#js_input_sf").attr("data-values");
+    if(grender == 0){
+        $('#none')[0].style.display = 'none';
+        $("#js_input_cxfs").val("");
+        $("#js_input_cfd").val("");
+        $("#js_input_mdd").val("");
+        $('#js_input_cxfsq').val("");
+        $('#js_input_cfdq').val("");
+        $('#js_input_mddq').val("");
+        listcx.splice(0,listcx.length);
+        $('#tabtr').empty();
+    }else if(grender == 1){
+        $('#none')[0].style.display = '';
+    }
+
+}
+//添加出行详情
+
+
+function insertlingyun(){
+    var sf = $("#js_input_sf").attr("data-values") == undefined ? 3 : $("#js_input_sf").attr("data-values");
+    if(sf == 0 || sf == 3){
+        $.alert("请选择是否出行");
+        return;
+    }
+    var person=new Object();
+    var cxfs = $("#js_input_cxfs").attr("data-values") == undefined ? 0 : $("#js_input_cxfs").attr("data-values");
+    var cfd = $("#js_input_cfd").attr("data-values") == undefined ? 0 : $("#js_input_cfd").attr("data-values");
+    var mdd = $("#js_input_mdd").attr("data-values") == undefined ? 0 : $("#js_input_mdd").attr("data-values");
+    if(cxfs != 4 && cxfs !=0){
+        var val = $('#js_input_cxfsq').val();
+        if( val == ""){
+            $.alert("请填写车次/航班/车牌");
+            return;
+        }
+
+        person.tripTypeDesp = $('#js_input_cxfsq').val();
+        if(cxfs == 1){
+            person.tripType = 1;
+            person.tripTypeStr = "长途汽车"
+        }else if(cxfs == 2){
+            person.tripType = 2;
+            person.tripTypeStr = "火车";
+        }else if(cxfs == 3){
+            person.tripType = 3;
+            person.tripTypeStr = "飞机";
+        }
+    }else if(cxfs == 0){
+        $.alert("请选择出行方式");
+        return;
+    }else if(cxfs == 4){
+        var val6 = $('#js_input_cxfsq').val();
+        if( val6 == ""){
+            $.alert("请填写车次/航班/车牌");
+            return;
+        }
+        person.tripTypeStr = "自驾";
+        person.tripType = 4;
+        person.tripTypeDesp =$('#js_input_cxfsq').val();
+    }
+    if(cfd == 4 && cfd !=0){
+        var val2 = $('#js_input_cfdq').val();
+        if(val2 ==""){
+            $.alert("请填写出发地");
+            return;
+        }
+        person.startLocalOther = $('#js_input_cfdq').val();
+        person.startLocalStr = $('#js_input_cfdq').val();
+    }else if(cfd != 4 && cfd !=0){
+        if(cfd ==1){
+            person.startLocal = 1;
+            person.startLocalStr = "武汉市";
+            person.startLocalOther = $('#js_input_cfdq').val() == undefined ? "" : $('#js_input_cfdq').val();
+        }else if(cfd == 2){
+            person.startLocal = 2;
+            person.startLocalStr = "宜昌市";
+            person.startLocalOther = $('#js_input_cfdq').val() == undefined ? "" : $('#js_input_cfdq').val();
+        }else if(cfd == 3){
+            person.startLocal = 3;
+            person.startLocalStr = "当阳市";
+            person.startLocalOther = $('#js_input_cfdq').val() == undefined ? "" : $('#js_input_cfdq').val();
+        }
+
+    }else if(cfd ==0){
+        $.alert("请选择出发地");
+        return;
+    }
+    if(mdd ==4 && mdd!=0){
+        var val3 = $('#js_input_mddq').val();
+        if(val3 == ""){
+            $.alert("请填写目的地");
+            return;
+        }
+        person.endLocalOther = $('#js_input_mddq').val();
+        person.endlocalStr = $('#js_input_mddq').val();
+    }else if(mdd != 4 && mdd !=0){
+        if(mdd ==1){
+            person.endLocal = 1;
+            person.endlocalStr = "武汉市";
+            person.endLocalOther = $('#js_input_mddq').val() == undefined ? "" : $('#js_input_mddq').val();
+        }else if(mdd == 2){
+            person.endLocal = 2;
+            person.endlocalStr = "宜昌市";
+            person.endLocalOther = $('#js_input_mddq').val() == undefined ? "" : $('#js_input_mddq').val();
+        }else if(mdd == 3){
+            person.endLocal = 3;
+            person.endlocalStr = "当阳市";
+            person.endLocalOther = $('#js_input_mddq').val() == undefined ? "" : $('#js_input_mddq').val();
+        }
+    }else if(mdd == 0){
+        $.alert("请选择目的地");
+        return;
+    }
+    listcx.push(person);
+    // $.alert("添加成功");
+    tab()
+
+}
+function tab(){
+    var xxIds = [];
+    var xxName = [
+        "序号",
+        "出发地",
+        "目的地",
+        "出行方式",
+        "车次/航班/车牌",
+        "操作"
+    ];
+    for (var i = 0; i < xxName.length; i++) {
+        xxIds.push({
+            name: xxName[i]
+        });
+    }
+    $('#tabtr').empty();
+    var html = "<tr style='background-color: #f8f8f8;'>";
+    for (var i = 0; i < xxIds.length; i++) {
+        // alert(xxIds[i].name);
+        html += "<th>" + xxIds[i].name + "</th>";
+    }
+    html +="</tr>"
+    for (var i = 0; i < listcx.length; i++) {//后端传过来的集合遍历
+        if (i % 2 != 0) {
+            html += "<tr style='background-color: #f8f8f8;'>";
+        }
+        else {
+            html += "<tr>";
+        }
+
+        html += "<td style='text-align: center;'>" + (i + 1) + "</td>";
+        // var isValue = false; //记录是否赋值
+        html += "<td style='text-align: center;' >" + listcx[i].startLocalStr + " </td>";
+        html += "<td style='text-align: center;' >" + listcx[i].endlocalStr + " </td>";
+        html += "<td style='text-align: center;' >" + listcx[i].tripTypeStr + " </td>";
+        html += "<td style='text-align: center;' >" + listcx[i].tripTypeDesp + " </td>";
+        html += "<td style='text-align: center;' ><button value=" + i + " style='height:3vh;background-color: red;text-align: center;' class='weui-btn weui-btn_mini weui-btn_primary' onclick='splice(this.value)'>" + "删除" + " </button></td>";
+
+        html += "</tr>";
+        $("#tabtr").html(html);
+    }
+}
+function splice(obj){
+    listcx.splice(obj,1);
+    tab()
 }
 
 //近日报告
@@ -255,6 +651,158 @@ function ribao_cell(v) {
         '                              '));
 }
 
+function ribao_add() {
+    $('#btnAdd').on('click', function () {
+
+        $("#js_input_cxfs").val(getMedical(0));
+        // $("#js_input_cxfs").attr("data-values", 0);
+        $("#js_input_cfd").val(getMedical(0));
+        // $("#js_input_cfd").attr("data-values", 0);
+        $("#js_input_mdd").val(getMedical(0));
+        // $("#js_input_mdd").attr("data-values", 0);
+        $('#js_input_cxfsq').val("");
+        $('#js_input_cfdq').val("");
+        $('#js_input_mddq').val("");
+        listcx.splice(0,listcx.length);
+        $('#tabtr').empty();
+        $("#js_input_qtdd").val("");
+        $("#js_input_jrszq").val("");
+        $("#js_input_sf").val("");
+        $("#suspectedId").val("");
+        $("#js_input_gzzd").val("");
+        $("#js_input_jrszd").val("");
+        $('#js_input_mddq').attr("disabled","disabled");
+        $('#js_input_jrszq').attr("disabled","disabled");
+        $('#js_input_qtdd').attr("disabled","disabled");
+        $('#js_input_cfdq').attr("disabled","disabled");
+
+        if ($('#ribao')[0].style.display == 'none') {
+            $('#notOpenRibao').toggle();
+            $('#ribao')[0].style.display = '';
+        } else {
+            $('#notOpenRibao')[0].style.display = '';
+            $('#ribao')[0].style.display = 'none';
+        }
+
+        var userId = $("#userId").val();
+        //获取用户家人
+        $.ajax({
+            url: '/home/selectAddSuspected',
+            get: "get",
+            data: {
+                "userCreate": userId
+            },
+            success: function (data) {
+                if (data != null || data!='') {
+                    //存在
+                    var suspected = data;
+                    $("#js_input_user_sex").val(getGreder(suspected.grender));
+                    $("#js_input_user_sex").attr("data-values", suspected.grender);
+                    $("#js_input_user_name").val(suspected.userName);
+                    $("#js_input_user_age").val(suspected.age);
+                    //基本情况
+                    if (suspected.familyStatus!=undefined) {
+                        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");
+
+                    }
+
+                    $("#switchQuezhen").val(getMedical(suspected.medical));
+                    $("#switchQuezhen").attr("data-values", suspected.medical);
+
+                    $("#switchDanjiangeli").val(getSingleRoom(suspected.singleRoom));
+                    $("#switchDanjiangeli").attr("data-values", suspected.singleRoom);
+
+                    $("#js_input_user_tiwen").val(suspected.temperature);
+
+                    $("#js_input_user_kesou").val(getCough(suspected.cough));
+                    $("#js_input_user_kesou").attr("data-values", suspected.cough);
+
+                    $("#js_input_user_jirou").val(getMuscle(suspected.muscle));
+                    $("#js_input_user_jirou").attr("data-values", suspected.muscle);
+
+                    $("#js_input_user_huxi").val(getDyspnea(suspected.dyspnea));
+                    $("#js_input_user_huxi").attr("data-values", suspected.dyspnea);
+
+                    $("#js_input_user_fali").val(getFatigue(suspected.fatigue));
+                    $("#js_input_user_fali").attr("data-values", suspected.fatigue);
+
+                    $("#js_input_user_fuxie").val(getDiarrhea(suspected.diarrhea));
+                    $("#js_input_user_fuxie").attr("data-values", suspected.diarrhea);
+
+                    $("#shuruqita").val(suspected.others);
+                    $("#js_input_score_rezult").val(getScoreRezult(suspected.scoreRezult, suspected.temperatureScore));
+                    $("#js_input_score_rezult_value").val(suspected.scoreRezult);
+                    $("#js_input_temperature_score").val(suspected.temperatureScore);
+                    $("#js_input_score_histroy").val(suspected.scoreHistroy);
+                    $("#js_input_score").val(suspected.score);
+                }
+                else {
+                    //基本情况
+                    $("input[name='checkbox1']").removeAttr("checked");
+                    $("input[name='checkbox2']").removeAttr("checked");
+                    $("input[name='checkbox3']").removeAttr("checked");
+                    $("input[name='checkbox4']").removeAttr("checked");
+                    $("input[name='checkbox5']").removeAttr("checked");
+                    $("input[name='checkbox6']").removeAttr("checked");
+                    $("input[name='checkbox7']").removeAttr("checked");
+
+                    $("#switchQuezhen").val(getMedical(0));
+                    $("#switchQuezhen").attr("data-values", 0);
+
+                    $("#switchDanjiangeli").val(getSingleRoom(0));
+                    $("#switchDanjiangeli").attr("data-values", 0);
+
+                    $("#js_input_user_tiwen").val(0);
+
+                    $("#js_input_user_kesou").val(getCough(0));
+                    $("#js_input_user_kesou").attr("data-values", 0);
+
+                    $("#js_input_user_jirou").val(getMuscle(0));
+                    $("#js_input_user_jirou").attr("data-values", 0);
+
+                    $("#js_input_user_huxi").val(getDyspnea(0));
+                    $("#js_input_user_huxi").attr("data-values", 0);
+
+                    $("#js_input_user_fali").val(getFatigue(0));
+                    $("#js_input_user_fali").attr("data-values", 0);
+
+                    $("#js_input_user_fuxie").val(getDiarrhea(0));
+                    $("#js_input_user_fuxie").attr("data-values", 0);
+
+                }
+            },
+        });
+
+    });
+}
 
 function ribao_cancel() {
     $('#cancel').on('click', function () {
@@ -272,7 +820,8 @@ function ribao_cancel() {
 
 function ribaoCommit() {
     var suspectedId = $("#suspectedId").val();
-    var userId = $("#userId").val();
+    // var userId = $("#userId").val();
+    var userId = "1";
     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();
@@ -359,31 +908,98 @@ function ribaoCommit() {
         return;
     }
 
+
+    //lingyun
+    var gzzd = $("#js_input_gzzd").attr("data-values") == undefined ? 0 : $("#js_input_gzzd").attr("data-values");
+    var qtdd = $("#js_input_qtdd").val();
+    var workLocal="";
+    var workLocalOther = "";
+    if(gzzd == 0){
+        $.alert("请选择工作驻地");
+        return;
+    }else if(gzzd == 4 && qtdd == ""){
+        $.alert("请填写工作驻地");
+        return;
+    }else if(gzzd != 0 && gzzd !=4){
+        if(gzzd ==1){
+            workLocal = 1;
+        }else if(gzzd == 2){
+            workLocal = 2;
+        }else if(gzzd == 3){
+            workLocal = 3;
+        }
+    }else if(gzzd == 4 && qtdd != ""){
+        workLocal = 4;
+        workLocalOther = qtdd;
+    }
+    //var listcx = [];
+    //var person=new Object();
+
+    var jrszd = $("#js_input_jrszd").attr("data-values") == undefined ? 0 : $("#js_input_jrszd").attr("data-values");
+    var jrszq = $("#js_input_jrszq").val();
+    var todyLocal ="";
+    var todyLocalOther = "";
+    if(jrszd == 0){
+        $.alert("请选择今晚住地");
+        return;
+    }else if(jrszd == 4 && jrszq == ""){
+        $.alert("请填写今晚住地");
+        return;
+    }else if(jrszd != 0 && jrszd !=4){
+        if(jrszd ==1){
+            todyLocal = 1;
+        }else if(jrszd == 2){
+            todyLocal = 2;
+        }else if(jrszd == 3){
+            todyLocal = 3;
+        }
+    }else if(jrszd == 4 && jrszq != ""){
+        todyLocal = 4;
+        todyLocalOther = jrszq;
+    }
+    var sf = $("#js_input_sf").attr("data-values") == undefined ? 3 : $("#js_input_sf").attr("data-values");
+    var isTrip= "";
+    if(sf == 3){
+        $.alert("请选择是否出行");
+        return;
+    }else{
+        isTrip = sf;
+    }
+
+  var data = {
+      "suspectedId": suspectedId,
+      "userCreate": userId,
+      "userName": userName,
+      "grender": grender,
+      "age": age,
+      "familyStatus": familyStatus,
+      "statusDesp": statusDesp,
+      "medical": medical,
+      "singleRoom": singleRoom,
+      "temperature": temperature,
+      "cough": cough,
+      "muscle": muscle,
+      "dyspnea": dyspnea,
+      "fatigue": fatigue,
+      "diarrhea": diarrhea,
+      "others": others,
+      "scoreRezult": scoreRezult,
+      "temperatureScore": temperatureScore,
+      "scoreHistroy": scoreHistroy,
+      "score": score,
+      "workLocal": workLocal,
+      "workLocalOther": workLocalOther,
+      "todayLocal": todyLocal,
+      "todayLocalOther": todyLocalOther,
+      "isTrip": isTrip,
+      "tripDet": listcx,
+    };
+
     $.ajax({
-        url: '/home/addRibao',
+        url: '/home/addRibaoTrip',
+        contentType: "application/json; charset=utf-8",
         type: "post",
-        data: {
-            "suspectedId": suspectedId,
-            "userCreate": userId,
-            "userName": userName,
-            "grender": grender,
-            "age": age,
-            "familyStatus": familyStatus,
-            "statusDesp": statusDesp,
-            "medical": medical,
-            "singleRoom": singleRoom,
-            "temperature": temperature,
-            "cough": cough,
-            "muscle": muscle,
-            "dyspnea": dyspnea,
-            "fatigue": fatigue,
-            "diarrhea": diarrhea,
-            "others": others,
-            "scoreRezult": scoreRezult,
-            "temperatureScore": temperatureScore,
-            "scoreHistroy": scoreHistroy,
-            "score": score,
-        },
+        data: JSON.stringify(data),
         success: function (data) {
             if (data.msgReport == "2") {
                 $.toast("家人姓名不能重复,如果重复,可以带上称呼");
@@ -402,6 +1018,7 @@ function ribaoCommit() {
             ribao_refrash();
 
             clearShow();
+          canSahngbao = true;
             document.getElementById("btn_shangbao").style['background-color'] = "#0bb20c";
         },
     });
@@ -520,7 +1137,27 @@ function updateSuspected(suspectedId) {
 }
 
 
+function addReport() {
+    if (!canSahngbao) {
+        return;
+    }
+    var userId = $("#userId").val();
+    $.ajax({
+        url: '/home/addReport',
+        type: "post",
+        data: {
+            "userCreate": userId,
+        },
+        success: function (data) {
+            $.toast(data.msg);
+            if (data.msg == "操作成功"){
+                canSahngbao = false;
+              document.getElementById("btn_shangbao").style['background-color'] = "#D9D9D9";
+            }
 
+        },
+    });
+}
 
 $("#my-input-ribao").calendar({
     dateFormat: 'yyyy-mm-dd',

+ 36 - 0
whepi-ui/templates/user/returnWork.ftl

@@ -0,0 +1,36 @@
+<#assign title="${tittle!''}复工许可证"/>
+<#include "/home/frag.head.ftl" />
+
+<div class="weui-tab">
+    <div class="weui-tab__bd">
+        <div class="weui-tab__bd-item weui-tab__bd-item--active">
+            <div class="page__bd">
+                <header class="user-header">
+                    <br/>
+                    <br/>
+                    <#if (uptownId??) && (uptownId == 1238790987234 || uptownId == 5 )>
+                        <img class="user-title" style="height: 60px;width: 70px;" id="qr" src="/ly.png"/>
+                    </#if>
+                    <p class="user-title-long">${doorplate!''}</p>
+                    <br/>
+                    <p class="user-title-long">${name!''}</p>
+                    <br/>
+                    <h1 class="user-title-big ${collor!''}">${into!""}</h1>
+                    <br/>
+                    <br/>
+                    <p class="user-title-long">${errorMsg!""}</p>
+                    <br/>
+                    <br/>
+                </header>
+                <br/>
+                <br/>
+                <p class="user-title-long">${now!''}</p>
+            </div>
+        </div>
+    </div>
+</div>
+</div>
+</body>
+<#include "/home/frag.foot.ftl" />
+<script>
+</script>

+ 5 - 4
whepi-ui/templates/user/scan.ftl

@@ -1,4 +1,4 @@
-<#assign title="电子出入许可证"/>
+<#assign title="${tittle!''}电子出入许可证"/>
 <#include "/home/frag.head.ftl" />
 
 <div class="weui-tab">
@@ -8,9 +8,10 @@
                 <header class="user-header">
                     <br/>
                     <br/>
-                    <br/>
-                    <br/>
-                    <br/>
+                    <#if (tittle?? )&&(tittle == "凌云") ><img class="user-title" style="height: 60px;width: 70px;" id="qr" src="/ly.png"/></#if>
+                    <#if (tittle?? )&&(tittle != "凌云") ><br/>
+                        <br/>
+                        <br/></#if>
                     <p class="user-title-long">${doorplate!''}
                         &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${name!''}</p>
                     <br/>

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

@@ -79,7 +79,7 @@ public class EpiAdminController {
         System.out.println("==============执行定时任务完毕================");
     }
 
-    @Scheduled(cron = "0 0 0 * * ?") //每天0点执行一次
+//    @Scheduled(cron = "0 0 0 * * ?") //每天0点执行一次
     public void scheduledReportByFixedDelay() {
         System.out.println("==============执行定时任务开始================");
         msReportService.getNowByYesterdayDate();

+ 1 - 0
whepi-web/src/main/java/com/bofeng/controller/EpiLYExportController.java

@@ -21,6 +21,7 @@ public class EpiLYExportController {
     @GetMapping("/whepi/export/lyReport")
     public @ResponseBody
     void exportSellPlan(HttpServletRequest request, HttpServletResponse response) {
+        Long suspectedId = Long.parseLong(request.getParameter("suspectedId"));
         Map<String, Object> map = new HashMap<String, Object>();
         map.put("userName", "张山");
         map.put("workPlace", "武汉");

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

@@ -47,8 +47,13 @@ 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);
 
+    //异常
+    @Select("select count(suspected_id) from ms_suspected where report_id=#{reportId} and  medical in (1,2,3)")
+    Integer selectAbnormalNum(@Param("reportId") Long reportId);
+
     /**
      * 最近3天是否都有上报
+     *
      * @param userId
      * @return
      */
@@ -61,10 +66,38 @@ public interface MsReportMapper extends BaseMapper<MsReport> {
 
     /**
      * 最近提交的日报, msStatus 健康状态:1正常,2异常
+     *
      * @param userId
      * @return
      */
     @Select("select * from ms_report where user_create=#{userId} and report_status=1 order by report_date desc limit 1")
     MsReport selectMsReportToday(@Param("userId") Long userId);
 
+    @Select("select * from ms_report where user_create=#{userId} and ms_status = 2 and report_status=1 order by report_date desc limit 3")
+    List<MsReport> selectMsReportThereError(@Param("userId") Long userId);
+
+    /**
+     * 最近15天确诊,疑似,密切接触者
+     * @param userId
+     * @return
+     */
+    @Select("select * from ms_report where report_status=1 and report_date > date_sub(curdate(),interval 15 day) and ms_status=2 and user_create=#{userId}")
+    List<MsReport> queryMsReportBySure(@Param("userId") Long userId);
+
+    /**
+     * 最近是否填过确诊,疑似,密切接触者
+     * @param userId
+     * @return
+     */
+    @Select("select a.* from ms_report a LEFT JOIN ms_suspected b on a.report_id=b.report_id where a.report_status=1 and b.medical in (1,2,3) and a.user_create=#{userId}")
+    List<MsReport> queryMsReportIsXG(@Param("userId") Long userId);
+
+    /**
+     * 最近状态 0无,1确诊,2疑似,3密切接触者,4解除隔离
+     * @param userId
+     * @return
+     */
+    @Select("select b.medical from ms_report a LEFT JOIN ms_suspected b on a.report_id=b.report_id where a.report_status=1 and a.user_create=#{userId} ORDER BY report_date desc LIMIT 1")
+    Integer queryLateStatus(@Param("userId") Long userId);
+
 }

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

@@ -4,6 +4,7 @@ package com.bofeng.dao;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.bofeng.entity.MsReport;
 import com.bofeng.entity.MsSuspected;
+import com.bofeng.entity.MsTripDet;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
@@ -28,4 +29,30 @@ public interface MsSuspectedMapper extends BaseMapper<MsSuspected> {
     //判断家人是否有历史评分
     @Select("select score from ms_suspected where user_create=#{userCreate} and user_name=#{userName} and suspected_id !=#{suspectedId}  order by time_update desc limit 1")
     Integer selectUserNameScore(@Param("userCreate") Long userCreate, @Param("userName") String userName, @Param("suspectedId") Long suspectedId);
+
+
+    //判断家人是否有历史评分
+    @Select("select a.* \n" +
+            "from ms_suspected a \n" +
+            "INNER JOIN ms_report b on a.report_id=b.report_id \n" +
+            "where b.user_create=#{userCreate} and b.report_date=(select report_date from ms_report where user_create=#{userCreate} and report_date<curdate() ORDER BY report_date desc LIMIT 1)\n" +
+            "and a.user_name not in (select a.user_name from ms_suspected a INNER JOIN ms_report b on a.report_id=b.report_id where b.user_create=#{userCreate} and b.report_date=curdate())\n" +
+            " ORDER by a.time_create  LIMIT 1")
+    MsSuspected selectAddSuspected(@Param("userCreate") Long userCreate);
+
+    //获取最近的一个人一个家人
+    @Select("select a.*,c.* \n" +
+            "from ms_suspected a \n" +
+            "INNER JOIN ms_report b on a.report_id=b.report_id \n" +
+            "left JOIN ms_trip c on a.suspected_id=c.trip_id \n" +
+            "where b.user_create=#{userCreate} and b.report_date=(select report_date from ms_report where user_create=#{userCreate} and report_date<curdate() ORDER BY report_date desc LIMIT 1)\n" +
+            "ORDER by a.time_create ")
+    List<MsSuspected> selectNextSuspected(@Param("userCreate") Long userCreate);
+
+    //选择家人
+    @Select("select a.*,b.* from ms_suspected a LEFT JOIN ms_trip b on a.suspected_id=b.trip_id where a.suspected_id =#{suspectedId}")
+    MsSuspected selectBySuspectedId(@Param("suspectedId") Long suspectedId);
+
+    @Select("select * from ms_trip_det  where trip_id =#{suspectedId}")
+    List<MsTripDet> selectTripSuspected(@Param("suspectedId") Long suspectedId);
 }

+ 18 - 0
whepi-web/src/main/java/com/bofeng/dao/MsTripDetMapper.java

@@ -0,0 +1,18 @@
+package com.bofeng.dao;
+
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.bofeng.entity.MsTripDet;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @Author: xielianghe
+ * @Date: 2020/2/22 14:56
+ */
+@Mapper
+@Repository
+public interface MsTripDetMapper extends BaseMapper<MsTripDet> {
+    int deleteByTripId(@Param("tripId") Long tripId);
+}

+ 16 - 0
whepi-web/src/main/java/com/bofeng/dao/MsTripMapper.java

@@ -0,0 +1,16 @@
+package com.bofeng.dao;
+
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.bofeng.entity.MsTrip;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @Author: xielianghe
+ * @Date: 2020/2/22 12:43
+ */
+@Mapper
+@Repository
+public interface MsTripMapper extends BaseMapper<MsTrip> {
+}

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

@@ -20,7 +20,7 @@ public interface OutUserMapper extends BaseMapper<OutUser> {
     OutUser getOutUserByPhone(@Param("name") String name, @Param("phone") Long phone);
 
     @Select("SELECT * FROM out_user WHERE phone = #{phone} and start_date <= curdate() and end_date >= curdate()")
-    OutUser getOutUserByPhone(@Param("phone") Long phone);
+    OutUser queryOutUserByPhone(@Param("phone") Long phone);
 
     List<OutUser> getAllOutUser(PageDb pageDb, Map<String, Object> queryParam);
 

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

@@ -97,12 +97,13 @@ public interface RbMapper extends BaseMapper<sysUptownUnit> {
             "select suu.ridgepole,suu.unit,suh.doorplate,suho.linkman,suho.phone,msr.safety_num as safetyNum, msr.report_status as reportStatus,\n" +
                     "msr.sure_num as sureNum,msr.suspected_num as suspectedNum,msr.normal_num as normalNum, \n" +
                     "msr.single_num as singleNum,mss.user_name as userName,mss.grender, mss.age,mss.family_status as familyStatus,\n" +
-                    "mss.medical,mss.temperature,mss.cough,mss.muscle ,mss.dyspnea,mss.fatigue,mss.diarrhea,mss.single_room as singleRoom,mss.score_rezult \n" +
+                    "mss.medical,mss.temperature,mss.cough,mss.muscle ,mss.dyspnea,mss.fatigue,mss.diarrhea,mss.single_room as singleRoom,mss.score_rezult,tr.trip_id,tr.is_trip,tr.today_local,tr.today_local_other,tr.work_local,tr.work_local_other \n" +
                     "from sys_uptown_house suh\n" +
                     "inner join sys_uptown_home suho on suho.house_id=suh.house_id\n" +
                     "INNER JOIN sys_uptown_unit suu ON suu.unit_id = suh.unit_id and suu.uptown_id=#{uptownId}\n" +
                     "left join ms_report msr on msr.house_id = suh.house_id and msr.report_date = #{date}\n" +
                     "left join ms_suspected mss on mss.report_id=msr.report_id\n" +
+                    "left join ms_trip tr on mss.suspected_id=trip_id\n" +
                     "order by suu.unit_id asc "
     )
     List<ExcelRiBaoLY> selectExcelRiBaoLY(@Param("uptownId") Long uptownId, @Param("date") String date);
@@ -111,12 +112,13 @@ public interface RbMapper extends BaseMapper<sysUptownUnit> {
             "select suu.ridgepole,suu.unit,suh.doorplate,suho.linkman,suho.phone,msr.safety_num as safetyNum, msr.report_status as reportStatus,\n" +
                     "msr.sure_num as sureNum,msr.suspected_num as suspectedNum,msr.normal_num as normalNum, \n" +
                     "msr.single_num as singleNum,mss.user_name as userName,mss.grender, mss.age,mss.family_status as familyStatus,\n" +
-                    "mss.medical,mss.temperature,mss.cough,mss.muscle ,mss.dyspnea,mss.fatigue,mss.diarrhea,mss.single_room as singleRoom,mss.score_rezult \n" +
+                    "mss.medical,mss.temperature,mss.cough,mss.muscle ,mss.dyspnea,mss.fatigue,mss.diarrhea,mss.single_room as singleRoom,mss.score_rezult ,tr.trip_id,tr.is_trip,tr.today_local,tr.today_local_other,tr.work_local,tr.work_local_other\n" +
                     "from sys_uptown_house suh\n" +
                     "inner join sys_uptown_home suho on suho.house_id=suh.house_id\n" +
                     "INNER JOIN sys_uptown_unit suu ON suu.unit_id = suh.unit_id and suu.uptown_id=#{uptownId}\n" +
                     "left join ms_report msr on msr.house_id = suh.house_id and msr.report_date = #{date}\n" +
                     "left join ms_suspected mss on mss.report_id=msr.report_id\n" +
+                    "left join ms_trip tr on mss.suspected_id=trip_id\n" +
                     "order by suu.unit_id asc "
     )
     List<ExcelRiBaoPrivate> selectExcelRiBaoPrivate(@Param("uptownId") Long uptownId, @Param("date") String date);

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

@@ -18,4 +18,7 @@ public interface UptownHouseMapper extends BaseMapper<UptownHouse> {
 
     @Select("select * from sys_uptown_house where status = 1 and unit_id = #{unitId} and doorplate = #{doorplate}")
     List<UptownHouse> getUptownHouseBy(@Param("unitId") Long unitId, @Param("doorplate") String doorplate);
+
+    @Select("select uh.* from sys_uptown_house uh INNER JOIN sys_user_role ur on ur.property_id = uh.house_id where ur.user_id = #{userId} and ur.role_id = 1")
+    UptownHouse getUptownHouseByUser(@Param("userId") Long userId);
 }

+ 4 - 1
whepi-web/src/main/java/com/bofeng/dao/UptownUnitMapper.java

@@ -35,8 +35,11 @@ public interface UptownUnitMapper extends BaseMapper<UptownUnit> {
 
     List<UptownUnit> queryYiChangList(@Param("uptownId") Long uptownId, @Param("reportDate") String reportDate);
 
-    @Select("SELECT u.uptown_id,u.uptown_name as uptownName,uu.ridgepole,uu.unit,uh.doorplate FROM sys_user_role ur INNER JOIN sys_uptown_house uh " +
+    @Select("SELECT u.uptown_id,u.uptown_name as uptownName,uu.ridgepole,uu.unit,uu.unit_id,uh.doorplate FROM sys_user_role ur INNER JOIN sys_uptown_house uh " +
             "ON uh.house_id = ur.property_id INNER JOIN sys_uptown_unit uu ON uh.unit_id = uu.unit_id INNER JOIN " +
             "sys_uptown u ON u.uptown_id = uu.uptown_id WHERE ur.user_id = #{userId} AND ur.role_id = 1")
     UptownUnit getUptownUnitByUser(@Param("userId") Long userId);
+
+    @Select("select * from sys_uptown_unit where status = 1 and uptown_id = #{uptownId}")
+    List<UptownUnit> getUptownUnitLY(@Param("uptownId") Long uptownId);
 }

+ 62 - 3
whepi-web/src/main/java/com/bofeng/entity/ExcelRiBaoLY.java

@@ -34,6 +34,12 @@ public class ExcelRiBaoLY {
     private int normalNum = 0;
     private String statusDesp = "";
     private String others = "";
+    private Long tripId = 0L;
+    private int workLocal = 0;
+    private String workLocalOther = "";
+    private int todayLocal = 0;
+    private String todayLocalOther = "";
+    private int isTrip = 0;
 
 
     @ExcelProperty(value = "单位", index = 0)
@@ -163,9 +169,15 @@ public class ExcelRiBaoLY {
             return "未填报";
         }
         if (medical == 0) {
-            medicalStr = "否";
-        } else {
-            medicalStr = "是";
+            medicalStr = "无";
+        } else if (medical == 1) {
+            medicalStr = "确诊";
+        } else if (medical == 2) {
+            medicalStr = "疑似";
+        } else if (medical == 3) {
+            medicalStr = "有接触史";
+        } else if (medical == 4) {
+            medicalStr = "解除隔离";
         }
         return medicalStr;
     }
@@ -279,4 +291,51 @@ public class ExcelRiBaoLY {
         }
         return bingqingDesc;
     }
+
+    @ExcelProperty(value = "工作驻地", index = 15)
+    private String workLoalDesc = "";
+
+    public String getWorkLoalDesc() {
+        if (workLocal == 1) {
+            workLoalDesc = "武汉";
+        } else if (workLocal == 2) {
+            workLoalDesc = "宜昌";
+        } else if (workLocal == 3) {
+            workLoalDesc = "当阳";
+        }else if (workLocal == 4) {
+            workLoalDesc = workLocalOther;
+        }
+        return workLoalDesc;
+    }
+    @ExcelProperty(value = "今晚住地", index = 16)
+    private String todayLoalDesc = "";
+
+    public String getTodayLoalDesc() {
+        if (todayLocal == 1) {
+            todayLoalDesc = "武汉";
+        } else if (todayLocal == 2) {
+            todayLoalDesc = "宜昌";
+        } else if (todayLocal == 3) {
+            todayLoalDesc = "当阳";
+        } else if (todayLocal == 4) {
+            todayLoalDesc = todayLocalOther;
+        }
+        return workLoalDesc;
+    }
+
+    @ExcelProperty(value = "是否出行", index = 17)
+    private String isTripDesc = "";
+
+    public String getIsTripDesc() {
+        if (isTrip == 1) {
+            isTripDesc = "是";
+        } else if (isTrip == 0) {
+            isTripDesc = "否";
+        }
+        return isTripDesc;
+    }
+
+    @ExcelProperty(value = "出行详细", index = 18)
+    private String tripDetDesc = "";
+
 }

+ 64 - 6
whepi-web/src/main/java/com/bofeng/entity/ExcelRiBaoPrivate.java

@@ -34,6 +34,12 @@ public class ExcelRiBaoPrivate {
     private int normalNum = 0;
     private String statusDesp = "";
     private String others = "";
+    private Long tripId = 0L;
+    private int workLocal = 0;
+    private String workLocalOther = "";
+    private int todayLocal = 0;
+    private String todayLocalOther = "";
+    private int isTrip = 0;
 
 
     @ExcelProperty(value = "楼栋", index = 0)
@@ -166,7 +172,7 @@ public class ExcelRiBaoPrivate {
         return temperatureStr;
     }
 
-    @ExcelProperty(value = "确诊", index = 14)
+    @ExcelProperty(value = "新冠病毒", index = 14)
     private String medicalStr;
 
     public String getMedicalStr() {
@@ -174,9 +180,15 @@ public class ExcelRiBaoPrivate {
             return "未填报";
         }
         if (medical == 0) {
-            medicalStr = "否";
-        } else {
-            medicalStr = "是";
+            medicalStr = "无";
+        } else if (medical == 1) {
+            medicalStr = "确诊";
+        } else if (medical == 2) {
+            medicalStr = "疑似";
+        } else if (medical == 3) {
+            medicalStr = "有接触史";
+        } else if (medical == 4) {
+            medicalStr = "解除隔离";
         }
         return medicalStr;
     }
@@ -206,8 +218,7 @@ public class ExcelRiBaoPrivate {
 
         if (Conv.NI(familyStatus.split(",")[0]) == 1) {
             baseDesc += "心血管疾病(服用ARB),";
-        }
-        else if (Conv.NI(familyStatus.split(",")[1]) == 1) {
+        } else if (Conv.NI(familyStatus.split(",")[1]) == 1) {
             baseDesc += "心血管疾病(未服用ARB),";
         }
         if (Conv.NI(familyStatus.split(",")[2]) == 1) {
@@ -318,4 +329,51 @@ public class ExcelRiBaoPrivate {
         return scoreRezultStr;
     }
 
+    @ExcelProperty(value = "工作驻地", index = 19)
+    private String workLoalDesc = "";
+
+    public String getWorkLoalDesc() {
+        if (workLocal == 1) {
+            workLoalDesc = "武汉";
+        } else if (workLocal == 2) {
+            workLoalDesc = "宜昌";
+        } else if (workLocal == 3) {
+            workLoalDesc = "当阳";
+        } else if (workLocal == 4) {
+            workLoalDesc = workLocalOther;
+        }
+        return workLoalDesc;
+    }
+
+    @ExcelProperty(value = "今晚住地", index = 20)
+    private String todayLoalDesc = "";
+
+    public String getTodayLoalDesc() {
+        if (todayLocal == 1) {
+            todayLoalDesc = "武汉";
+        } else if (todayLocal == 2) {
+            todayLoalDesc = "宜昌";
+        } else if (todayLocal == 3) {
+            todayLoalDesc = "当阳";
+        } else if (todayLocal == 4) {
+            todayLoalDesc = todayLocalOther;
+        }
+        return workLoalDesc;
+    }
+
+    @ExcelProperty(value = "是否出行", index = 21)
+    private String isTripDesc = "";
+
+    public String getIsTripDesc() {
+        if (isTrip == 1) {
+            isTripDesc = "是";
+        } else if (isTrip == 0) {
+            isTripDesc = "否";
+        }
+        return isTripDesc;
+    }
+
+    @ExcelProperty(value = "出行详细", index = 22)
+    private String tripDetDesc = "";
+
 }

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

@@ -166,4 +166,23 @@ public class MsSuspected {
 
     @TableField(exist = false)
     private String uptownName;
+
+    //出行
+    @TableField(exist = false)
+    private Integer workLocal;
+
+    @TableField(exist = false)
+    private String workLocalOther = "";
+
+    @TableField(exist = false)
+    private Integer todayLocal;
+
+    @TableField(exist = false)
+    private String todayLocalOther = "";
+
+    @TableField(exist = false)
+    private Integer isTrip ;
+
+    @TableField(exist = false)
+    private String tripDet ;
 }

+ 36 - 0
whepi-web/src/main/java/com/bofeng/entity/MsTrip.java

@@ -0,0 +1,36 @@
+package com.bofeng.entity;
+
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Author: xielianghe
+ * @Date: 2020/2/21 22:00
+ */
+@Getter
+@Setter
+@TableName("ms_trip")
+public class MsTrip {
+
+    @TableId("trip_id")
+    private Long tripId;
+
+    @TableField("work_local")
+    private Integer workLocal;
+
+    @TableField("work_local_other")
+    private String workLocalOther;
+
+    @TableField("today_local")
+    private Integer todayLocal;
+
+    @TableField("today_local_other")
+    private String todayLocalOther;
+
+    @TableField("is_trip")
+    private Integer isTrip;
+}

+ 61 - 0
whepi-web/src/main/java/com/bofeng/entity/MsTripDet.java

@@ -0,0 +1,61 @@
+package com.bofeng.entity;
+
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+import org.joda.time.DateTime;
+
+import java.util.Date;
+
+/**
+ * @Author: xielianghe
+ * @Date: 2020/2/21 22:00
+ */
+@Getter
+@Setter
+@TableName("ms_trip_det")
+public class MsTripDet {
+
+    @TableId("trip_det_id")
+    private Long tripDetId;
+
+    @TableField("trip_id")
+    private Long tripId;
+
+    @TableField("sort")
+    private Integer sort;
+
+    @TableField("start_local")
+    private Integer startLocal;
+
+    @TableField("start_local_other")
+    private String startLocalOther;
+
+    @TableField("end_local")
+    private Integer endLocal;
+
+    @TableField("end_local_other")
+    private String endLocalOther;
+
+    @TableField("trip_type")
+    private Integer tripType;
+
+    @TableField("trip_type_desp")
+    private String tripTypeDesp;
+
+    @TableField("user_create")
+    private Long userCreate;
+
+    @TableField("time_create")
+    private DateTime timeCreate;
+
+    @TableField("user_update")
+    private Long userUpdate;
+
+    @TableField("time_update")
+    private DateTime timeUpdate;
+}

+ 193 - 9
whepi-web/src/main/java/com/bofeng/service/MsReportService.java

@@ -4,9 +4,10 @@ package com.bofeng.service;
 import com.baomidou.mybatisplus.toolkit.IdWorker;
 import com.bofeng.dao.MsReportMapper;
 import com.bofeng.dao.MsSuspectedMapper;
-import com.bofeng.entity.MsReport;
-import com.bofeng.entity.MsSuspected;
-import com.bofeng.entity.UserOpen;
+import com.bofeng.dao.MsTripDetMapper;
+import com.bofeng.dao.MsTripMapper;
+import com.bofeng.entity.*;
+import org.apache.commons.lang3.tuple.Triple;
 import org.joda.time.DateTime;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -34,10 +35,32 @@ public class MsReportService {
     @Autowired
     private MsReportService msReportService;
     @Autowired
-    private MsSuspectedService msSuspectedService;
+    private MsTripDetMapper msTripDetMapper;
+    @Autowired
+    private MsTripMapper msTripMapper;
 
     public List<MsSuspected> getByReportId(Long reportId) {
-        return msSuspectedMapper.selectByReportId(reportId);
+        List<MsSuspected> listSuspected = null;
+        listSuspected = msSuspectedMapper.selectByReportId(reportId);
+        if (listSuspected != null && listSuspected.size() > 0) {
+            String tripDet;
+            for (MsSuspected msSuspected : listSuspected) {
+                tripDet = "";
+                //出行详细
+                List<MsTripDet> listDet = msSuspectedMapper.selectTripSuspected(msSuspected.getSuspectedId());
+                if (listDet != null && listDet.size() > 0) {
+                    for (MsTripDet msTripDet : listDet) {
+                        tripDet += "出发地:" + getLocalOther(msTripDet.getStartLocal(), msTripDet.getStartLocalOther()) + ",";
+                        tripDet += "目的地:" + getLocalOther(msTripDet.getEndLocal(), msTripDet.getEndLocalOther()) + ",";
+                        tripDet += "出行方式:" + getTripType(msTripDet.getTripType()) + ",";
+                        tripDet += "车次/航班/车牌:" + msTripDet.getTripTypeDesp() + ",";
+                    }
+                    msSuspected.setTripDet(tripDet.substring(0, tripDet.length() - 1));
+                }
+            }
+
+        }
+        return listSuspected;
     }
 
     public MsReport getByReport(Long reportId) {
@@ -46,19 +69,62 @@ public class MsReportService {
 
     //获取前一天数据
     public List<MsSuspected> getByReportReportDate(String reportDate, Long userCreate) {
-
         List<MsReport> listReport = msReportMapper.selectByReportDate(reportDate, userCreate);
         List<MsSuspected> listSuspected = null;
         if (listReport != null && listReport.size() > 0) {
             listSuspected = msSuspectedMapper.selectByReportId(Long.parseLong(listReport.get(0).getReportId().toString()));
+            if (listSuspected != null && listSuspected.size() > 0) {
+                String tripDet;
+                for (MsSuspected msSuspected : listSuspected) {
+                    tripDet = "";
+                    //出行详细
+                    List<MsTripDet> listDet = msSuspectedMapper.selectTripSuspected(msSuspected.getSuspectedId());
+                    if (listDet != null && listDet.size() > 0) {
+                        for (MsTripDet msTripDet : listDet) {
+                            tripDet += "出发地:" + getLocalOther(msTripDet.getStartLocal(), msTripDet.getStartLocalOther()) + ",";
+                            tripDet += "目的地:" + getLocalOther(msTripDet.getEndLocal(), msTripDet.getEndLocalOther()) + ",";
+                            tripDet += "出行方式:" + getTripType(msTripDet.getTripType()) + ",";
+                            tripDet += "车次/航班/车牌:" + msTripDet.getTripTypeDesp() + ",";
+                        }
+                        msSuspected.setTripDet(tripDet.substring(0, tripDet.length() - 1));
+                    }
+                }
+
+            }
         }
         return listSuspected;
     }
 
+    public String getLocalOther(Integer local, String localOther) {
+        String localDet = "";
+        if (local == 1) {
+            localDet = "武汉";
+        } else if (local == 2)
+            localDet = "宜昌";
+        else if (local == 3)
+            localDet = "当阳";
+        else if (local == 4)
+            localDet = localOther;
+        return localDet;
+    }
+
+    public String getTripType(Integer tripType) {
+        String tripTypeDet = "";
+        if (tripType == 1) {
+            tripTypeDet = "长途汽车";
+        } else if (tripType == 2)
+            tripTypeDet = "火车";
+        else if (tripType == 3)
+            tripTypeDet = "飞机";
+        else if (tripType == 4)
+            tripTypeDet = "自驾";
+        return tripTypeDet;
+    }
+
     //获取今天数据
     public MsReport getReportByDateNow(Long userCreate) {
         //根据昨天的获取今天的
-        // msReportService.getNowByYesterday(userCreate);
+        //msReportService.getNowByYesterday(userCreate);
         //msReportService.getNowByYesterdayDate();
         //msReportService.addReport250();
         Date t = new Date();
@@ -66,7 +132,17 @@ public class MsReportService {
         String reportDate = df.format(t);
         List<MsReport> listReport = msReportMapper.selectByReportDate(reportDate, userCreate);
         MsReport msReport = new MsReport();
-        if (listReport != null && listReport.size() > 0) {
+        //今天不存在
+        if (listReport == null || listReport.size() == 0) {
+            //最近一天数据复制到今天
+            msReportService.getNowByNextDat(userCreate);
+            List<MsReport> listReport1 = msReportMapper.selectByReportDate(reportDate, userCreate);
+            //今天不存在
+            if (listReport1 != null && listReport1.size() > 0)
+                msReport = msReportMapper.selectById(Long.parseLong(listReport1.get(0).getReportId().toString()));
+        }
+        else {
+
             msReport = msReportMapper.selectById(Long.parseLong(listReport.get(0).getReportId().toString()));
         }
         return msReport;
@@ -292,10 +368,118 @@ public class MsReportService {
             msReport1.setUserUpdate(count);
             msReport1.setTimeUpdate(DateTime.now());
             count += msReportMapper.insert(msReport1);
-            if (count> 250) {
+            if (count > 250) {
                 break;
             }
         }
     }
 
+
+    //通过最近一天数据更新今天数据
+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
+    public void getNowByNextDat(Long userCreate) {
+
+        SimpleDateFormat sj = new SimpleDateFormat("yyyy-MM-dd");
+        Date d = new Date();
+
+        //判断今天是否有数据
+        String DateNow = sj.format(d);
+        List<MsReport> listReport = msReportMapper.selectByReportDate(DateNow, userCreate);
+        if (listReport != null && listReport.size() > 0)
+            return;
+
+        //判断最近一天是否有数据
+        List<MsSuspected> listSuspected = msSuspectedMapper.selectNextSuspected(userCreate);
+        //有数据
+        if (listSuspected != null && listSuspected.size() > 0) {
+            //添加到今天日报
+            MsReport msReport = msReportMapper.selectById(Long.parseLong(listSuspected.get(0).getReportId().toString()));
+            Long reportId = 0L;
+            if (msReport != null) {
+                MsReport msReport1 = new MsReport();
+                msReport1.setReportId(IdWorker.getId());
+                msReport1.setHouseId(msReport.getHouseId());
+                msReport1.setSafetyNum(msReport.getSafetyNum());
+                msReport1.setSureNum(msReport.getSureNum());
+                msReport1.setSuspectedNum(msReport.getSuspectedNum());
+                msReport1.setNormalNum(msReport.getNormalNum());
+                msReport1.setSingleNum(msReport.getSingleNum());
+                msReport1.setRemarks(msReport.getRemarks());
+                msReport1.setReportDate(DateTime.now().toDate());
+                msReport1.setReportStatus(0);//未上报
+                msReport1.setMsStatus(msReport.getMsStatus());
+                msReport1.setUserCreate(userCreate);
+                msReport1.setTimeCreate(DateTime.now());
+                msReport1.setUserUpdate(userCreate);
+                msReport1.setTimeUpdate(DateTime.now());
+                msReportMapper.insert(msReport1);
+                reportId = msReport1.getReportId();
+            }
+            //添加今日家人
+            for (MsSuspected msSuspected : listSuspected) {
+                MsSuspected msSuspected1 = new MsSuspected();
+                msSuspected1.setSuspectedId(IdWorker.getId());
+                msSuspected1.setReportId(reportId);
+                msSuspected1.setUserName(msSuspected.getUserName());
+                msSuspected1.setGrender(msSuspected.getGrender());
+                msSuspected1.setAge(msSuspected.getAge());
+                msSuspected1.setFamilyStatus(msSuspected.getFamilyStatus());
+                msSuspected1.setStatusDesp(msSuspected.getStatusDesp());
+                msSuspected1.setMedical(msSuspected.getMedical());
+                msSuspected1.setTemperature(new BigDecimal(0));
+                msSuspected1.setCough(msSuspected.getCough());
+                msSuspected1.setMuscle(msSuspected.getMuscle());
+                msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
+                msSuspected1.setFatigue(msSuspected.getFatigue());
+                msSuspected1.setDiarrhea(msSuspected.getDiarrhea());
+                msSuspected1.setSingleRoom(msSuspected.getSingleRoom());
+                msSuspected1.setOthers(msSuspected.getOthers());
+                // msSuspected1.setScoreRezult(msSuspected.getScoreRezult());
+                // msSuspected1.setScore(msSuspected.getScore());
+                // msSuspected1.setScoreHistroy(msSuspected.getScoreHistroy());
+                // msSuspected1.setTemperatureScore(msSuspected.getTemperatureScore());
+                msSuspected1.setSuspectedStatus(0);
+                msSuspected1.setUserCreate(userCreate);
+                msSuspected1.setTimeCreate(DateTime.now());
+                msSuspected1.setUserUpdate(userCreate);
+                msSuspected1.setTimeUpdate(DateTime.now());
+                msSuspectedMapper.insert(msSuspected1);
+
+                //添加行程
+                MsTrip msTrip = new MsTrip();
+                msTrip.setTripId(msSuspected1.getSuspectedId());
+                msTrip.setIsTrip(msSuspected.getIsTrip());
+                msTrip.setTodayLocal(msSuspected.getTodayLocal());
+                msTrip.setTodayLocalOther(msSuspected.getTodayLocalOther());
+                msTrip.setWorkLocal(msSuspected.getWorkLocal());
+                msTrip.setWorkLocalOther(msSuspected.getWorkLocalOther());
+                msTripMapper.insert(msTrip);
+
+                //添加出行详细
+                List<MsTripDet> listTripDet = msSuspectedMapper.selectTripSuspected(msSuspected.getSuspectedId());
+                if (listTripDet != null && listTripDet.size() > 0) {
+                    for (MsTripDet msTripDet : listTripDet) {
+                        MsTripDet msTripDet1 = new MsTripDet();
+                        msTripDet1.setTripDetId(IdWorker.getId());
+                        msTripDet1.setTripId(msSuspected1.getSuspectedId());
+                        msTripDet1.setSort(msTripDet.getSort());
+                        msTripDet1.setStartLocal(msTripDet.getStartLocal());
+                        msTripDet1.setStartLocalOther(msTripDet.getStartLocalOther());
+                        msTripDet1.setEndLocal(msTripDet.getEndLocal());
+                        msTripDet1.setEndLocalOther(msTripDet.getEndLocalOther());
+                        msTripDet1.setTripType(msTripDet.getTripType());
+                        msTripDet1.setTripTypeDesp(msTripDet.getTripTypeDesp());
+                        msTripDet1.setTimeCreate(DateTime.now());
+                        msTripDet1.setUserCreate(userCreate);
+                        msTripDet1.setTimeUpdate(DateTime.now());
+                        msTripDet1.setUserUpdate(userCreate);
+                        msTripDetMapper.insert(msTripDet1);
+                    }
+                }
+
+            }
+        }
+    }
+
+
 }

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

@@ -4,8 +4,11 @@ package com.bofeng.service;
 import com.baomidou.mybatisplus.toolkit.IdWorker;
 import com.bofeng.dao.MsReportMapper;
 import com.bofeng.dao.MsSuspectedMapper;
+import com.bofeng.dao.MsTripMapper;
 import com.bofeng.entity.MsReport;
 import com.bofeng.entity.MsSuspected;
+import com.bofeng.entity.MsTrip;
+import com.bofeng.entity.MsTripDet;
 import com.yvan.platform.Conv;
 import io.swagger.models.auth.In;
 import org.joda.time.DateTime;
@@ -32,11 +35,51 @@ public class MsSuspectedService {
     private MsSuspectedMapper msSuspectedMapper;
     @Autowired
     private MsReportMapper msReportMapper;
+    @Autowired
+    private MsReportService msReportService;
 
     //查询家人
     @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
     public MsSuspected selectSuspected(long suspectedId) {
-        return msSuspectedMapper.selectById(suspectedId);
+        return msSuspectedMapper.selectBySuspectedId(suspectedId);
+    }
+
+    //查询家人
+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
+    public List<MsTripDet> selectTripSuspected(long suspectedId) {
+        return msSuspectedMapper.selectTripSuspected(suspectedId);
+    }
+
+    //查询用户最近一天的一个家人
+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
+    public MsSuspected selectAddSuspected(Long userCreate) {
+        return msSuspectedMapper.selectAddSuspected(userCreate);
+    }
+
+    //查询用户最近一天的一个人的家人
+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
+    public List<MsSuspected> selectNextSuspected(Long userCreate) {
+        List<MsSuspected> listSuspected = null;
+        listSuspected = msSuspectedMapper.selectNextSuspected(userCreate);
+        if (listSuspected != null && listSuspected.size() > 0) {
+            String tripDet;
+            for (MsSuspected msSuspected : listSuspected) {
+                tripDet = "";
+                //出行详细
+                List<MsTripDet> listDet = msSuspectedMapper.selectTripSuspected(msSuspected.getSuspectedId());
+                if (listDet != null && listDet.size() > 0) {
+                    for (MsTripDet msTripDet : listDet) {
+                        tripDet += "出发地:" + msReportService.getLocalOther(msTripDet.getStartLocal(), msTripDet.getStartLocalOther()) + ",";
+                        tripDet += "目的地:" + msReportService.getLocalOther(msTripDet.getEndLocal(), msTripDet.getEndLocalOther()) + ",";
+                        tripDet += "出行方式:" + msReportService.getTripType(msTripDet.getTripType()) + ",";
+                        tripDet += "车次/航班/车牌:" + msTripDet.getTripTypeDesp() + ",";
+                    }
+                    msSuspected.setTripDet(tripDet.substring(0, tripDet.length() - 1));
+                }
+            }
+
+        }
+        return listSuspected;
     }
 
     //添加家人
@@ -107,7 +150,7 @@ public class MsSuspectedService {
                 return 2L;
             //判断是否评估
             if (scoreRezult == 0) {
-                MsSuspected msSuspected1 = getScore(0L, userName, medical,temperature, cough, muscle, dyspnea, fatigue, diarrhea, userCreate);
+                MsSuspected msSuspected1 = getScore(0L, userName, medical, temperature, cough, muscle, dyspnea, fatigue, diarrhea, userCreate);
                 if (msSuspected1 != null) {
                     scoreRezult = msSuspected1.getScoreRezult();
                     score = msSuspected1.getScore();
@@ -143,6 +186,7 @@ public class MsSuspectedService {
             msSuspected.setUserUpdate(userCreate);
             msSuspected.setTimeUpdate(DateTime.now());
             msSuspectedMapper.insert(msSuspected);
+
         } else {
             //判断家人是否同名
             List<MsSuspected> list = msSuspectedMapper.selectUserNameNum(reportId, userName, reportDate);
@@ -154,7 +198,7 @@ public class MsSuspectedService {
                         return 2L;
                 }
             }
-            MsSuspected msSuspected2 = getScore(suspectedId, userName, medical,temperature, cough, muscle, dyspnea, fatigue, diarrhea, userCreate);
+            MsSuspected msSuspected2 = getScore(suspectedId, userName, medical, temperature, cough, muscle, dyspnea, fatigue, diarrhea, userCreate);
             if (msSuspected2 != null) {
                 scoreRezult = msSuspected2.getScoreRezult();
                 score = msSuspected2.getScore();
@@ -212,7 +256,7 @@ public class MsSuspectedService {
     @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
     public void updateReport(Long reportId, Integer medical, Integer singleRoom, BigDecimal temperature) {
         //更新今日日报
-        Integer trueNum = 0, singleNum = 0, isSuspected = 0, isNoSuspected = 0, isFamliy = 0;
+        Integer trueNum = 0, singleNum = 0, isSuspected = 0, isNoSuspected = 0, isFamliy = 0, abnormalNum = 0;
 
         //确诊
         trueNum = msReportMapper.selectSuspectedNum(reportId);
@@ -226,6 +270,9 @@ public class MsSuspectedService {
         //疑似
         isNoSuspected = msReportMapper.selectisNoSuspectedNum(reportId);
 
+        //异常人数
+        abnormalNum = msReportMapper.selectAbnormalNum(reportId);
+
         //今日居家
         List<MsSuspected> list = msSuspectedMapper.selectByReportId(reportId);
         if (list != null && list.size() > 0)
@@ -237,7 +284,7 @@ public class MsSuspectedService {
             msReport.setSuspectedNum(isNoSuspected);
             msReport.setNormalNum(isSuspected);
             msReport.setSafetyNum(isFamliy);
-            if (isNoSuspected > 0)
+            if (isNoSuspected > 0 || abnormalNum > 0)
                 msReport.setMsStatus(2);
             else
                 msReport.setMsStatus(1);
@@ -251,9 +298,9 @@ public class MsSuspectedService {
         MsSuspected msSuspected = new MsSuspected();
         msSuspected.setTemperatureScore(getTemperatureScore(temperature));
         msSuspected.setScore(addScore(medical, temperature, cough, muscle, dyspnea, fatigue, diarrhea));
-        Integer scoreHistroy = msSuspectedMapper.selectUserNameScore(userCreate, userName, susprectedId);
+        Integer scoreHistroy = msSuspectedMapper.selectUserNameScore(userCreate, userName, susprectedId) == null ? 0 : msSuspectedMapper.selectUserNameScore(userCreate, userName, susprectedId);
         msSuspected.setScoreHistroy(scoreHistroy);
-        msSuspected.setScoreRezult(scoreRezulte(medical,msSuspected.getScoreHistroy(), msSuspected.getScore()));
+        msSuspected.setScoreRezult(scoreRezulte(medical, msSuspected.getScoreHistroy(), msSuspected.getScore()));
         return msSuspected;
     }
 
@@ -280,7 +327,12 @@ public class MsSuspectedService {
     public Integer addScore(Integer medical, BigDecimal temperature, Integer cough, Integer muscle, Integer dyspnea, Integer fatigue, Integer diarrhea) {
         Integer score = 0;
 
-        if (medical == 0) {
+        //确诊,疑似尽快就医
+        if (medical == 1 || medical==2)
+            score = 5;
+        else if (medical == 3)
+            score = 1;
+        else {
             //温度
             score += getTemperatureScore(temperature);
             //咳嗽
@@ -293,8 +345,8 @@ public class MsSuspectedService {
             score += fatigue;
             //肌肉
             score += diarrhea;
-        } else
-            score = 5;
+        }
+
         return score;
     }
 
@@ -302,7 +354,11 @@ public class MsSuspectedService {
     @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
     public Integer scoreRezulte(Integer medical, Integer scoreHistory, Integer score) {
         Integer scoreRezult = 0;
-        if (medical == 0) {
+        if (medical == 1 || medical==2)
+            scoreRezult = 4;
+        else if (medical == 3)
+            scoreRezult = 2;
+        else {
             //判断用户是否含有历史评分
             if (scoreHistory == null) {
                 //判断结果
@@ -329,8 +385,7 @@ public class MsSuspectedService {
                         scoreRezult = 4;
                 }
             }
-        } else
-            scoreRezult = 4;
+        }
         return scoreRezult;
     }
 }

+ 276 - 0
whepi-web/src/main/java/com/bofeng/service/MsTripService.java

@@ -0,0 +1,276 @@
+package com.bofeng.service;
+
+
+import com.baomidou.mybatisplus.toolkit.IdWorker;
+import com.bofeng.dao.MsReportMapper;
+import com.bofeng.dao.MsSuspectedMapper;
+import com.bofeng.dao.MsTripDetMapper;
+import com.bofeng.dao.MsTripMapper;
+import com.bofeng.entity.MsReport;
+import com.bofeng.entity.MsSuspected;
+import com.bofeng.entity.MsTrip;
+import com.bofeng.entity.MsTripDet;
+import com.yvan.platform.Conv;
+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;
+
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author: xielianghe
+ * @Date: 2020/2/22 13:33
+ */
+@Service
+@Transactional(readOnly = true)
+public class MsTripService {
+
+    @Autowired
+    private MsSuspectedMapper msSuspectedMapper;
+    @Autowired
+    private MsReportMapper msReportMapper;
+    @Autowired
+    private MsTripMapper msTripMapper;
+    @Autowired
+    private MsTripDetMapper msTripDetMapper;
+    @Autowired
+    private MsSuspectedService msSuspectedService;
+
+
+    //添加家人
+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
+    public Long addSuspectedTrip(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
+            , Integer workLocal, String workLocalOther, Integer todayLocal, String todayLocalOther, Integer isTrip, List<MsTripDet> listTripDet) {
+        Long reportId = 0L;
+        //如果是当前日期 已经添加
+        Date t = new Date();
+        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
+        String reportDate = df.format(t);
+        List<MsReport> listReport = msReportMapper.selectByReportDate(reportDate, userCreate);
+        Long houseId = msReportMapper.selectHouseIdByUserId(userCreate);
+        //首次进入。没有今日报告
+        if (listReport == null || listReport.size() == 0) {
+            MsReport msReport = new MsReport();
+            msReport.setReportId(IdWorker.getId());
+            msReport.setHouseId(houseId);
+            msReport.setSafetyNum(0);
+            msReport.setSureNum(0);
+            msReport.setSuspectedNum(0);
+            msReport.setNormalNum(0);
+            msReport.setSingleNum(0);
+            msReport.setRemarks("");
+            msReport.setReportDate(DateTime.now().toDate());
+            msReport.setMsStatus(0);
+            msReport.setUserCreate(userCreate);
+            msReport.setTimeCreate(DateTime.now());
+            msReport.setUserUpdate(userCreate);
+            msReport.setTimeUpdate(DateTime.now());
+            msReportMapper.insert(msReport);
+            reportId = msReport.getReportId();
+        } else {
+            reportId = listReport.get(0).getReportId();
+        }
+
+        //判断是否疑似
+        Integer suspectedStatus = 0;
+        //确诊
+        if (medical == 1)
+            suspectedStatus = 1;
+        //隔离
+        if (singleRoom == 1)
+            suspectedStatus = 1;
+        //体温
+        if (Conv.NFloat(temperature) < Conv.NFloat(35) || Conv.NFloat(temperature) > Conv.NFloat(37.3))
+            suspectedStatus = 1;
+        //咳嗽
+        if (cough > 0)
+            suspectedStatus = 1;
+        //肌肉酸痛
+        if (muscle > 0)
+            suspectedStatus = 1;
+        //呼吸困难
+        if (dyspnea > 0)
+            suspectedStatus = 1;
+        //乏力
+        if (fatigue > 0)
+            suspectedStatus = 1;
+        //腹泻
+        if (diarrhea > 0)
+            suspectedStatus = 1;
+        if (suspectedId == 0L) {
+            //判断家人是否同名
+            List<MsSuspected> list = msSuspectedMapper.selectUserNameNum(reportId, userName, reportDate);
+            if (list != null && list.size() > 0)
+                return 2L;
+            //判断是否评估
+            if (scoreRezult == 0) {
+                MsSuspected msSuspected1 = msSuspectedService.getScore(0L, userName, medical, temperature, cough, muscle, dyspnea, fatigue, diarrhea, userCreate);
+                if (msSuspected1 != null) {
+                    scoreRezult = msSuspected1.getScoreRezult();
+                    score = msSuspected1.getScore();
+                    temperatureScore = msSuspected1.getTemperatureScore();
+                    scoreHistroy = msSuspected1.getScoreHistroy();
+                }
+            }
+
+            MsSuspected msSuspected = new MsSuspected();
+            msSuspected.setSuspectedId(IdWorker.getId());
+            msSuspected.setReportId(reportId);
+            msSuspected.setUserName(userName);
+            msSuspected.setGrender(grender);//默认为家人
+            msSuspected.setAge(age);
+            msSuspected.setFamilyStatus(familyStatus);
+            msSuspected.setStatusDesp(statusDesp);
+            msSuspected.setMedical(medical);
+            msSuspected.setTemperature(temperature);
+            msSuspected.setCough(cough);
+            msSuspected.setMuscle(muscle);
+            msSuspected.setDiarrhea(dyspnea);
+            msSuspected.setFatigue(fatigue);
+            msSuspected.setDiarrhea(diarrhea);
+            msSuspected.setSingleRoom(singleRoom);
+            msSuspected.setOthers(others);
+            msSuspected.setSuspectedStatus(suspectedStatus);
+            msSuspected.setScoreRezult(scoreRezult);
+            msSuspected.setScore(score);
+            msSuspected.setScoreHistroy(scoreHistroy);
+            msSuspected.setTemperatureScore(temperatureScore);
+            msSuspected.setUserCreate(userCreate);
+            msSuspected.setTimeCreate(DateTime.now());
+            msSuspected.setUserUpdate(userCreate);
+            msSuspected.setTimeUpdate(DateTime.now());
+            msSuspectedMapper.insert(msSuspected);
+
+            //添加出行
+            MsTrip msTrip = new MsTrip();
+            msTrip.setTripId(msSuspected.getSuspectedId());
+            msTrip.setIsTrip(isTrip);
+            msTrip.setTodayLocal(todayLocal);
+            msTrip.setTodayLocalOther(todayLocalOther);
+            msTrip.setWorkLocal(workLocal);
+            msTrip.setWorkLocalOther(workLocalOther);
+            msTripMapper.insert(msTrip);
+            //添加出行详细
+            if (listTripDet != null && listTripDet.size() > 0) {
+                for (MsTripDet msTripDet : listTripDet) {
+                    MsTripDet msTripDet1 = new MsTripDet();
+                    msTripDet1.setTripDetId(IdWorker.getId());
+                    msTripDet1.setTripId(msSuspected.getSuspectedId());
+                    msTripDet1.setSort(msTripDet.getSort());
+                    msTripDet1.setStartLocal(msTripDet.getStartLocal());
+                    msTripDet1.setStartLocalOther(msTripDet.getStartLocalOther());
+                    msTripDet1.setEndLocal(msTripDet.getEndLocal());
+                    msTripDet1.setEndLocalOther(msTripDet.getEndLocalOther());
+                    msTripDet1.setTripType(msTripDet.getTripType());
+                    msTripDet1.setTripTypeDesp(msTripDet.getTripTypeDesp());
+                    msTripDet1.setTimeCreate(DateTime.now());
+                    msTripDet1.setUserCreate(userCreate);
+                    msTripDet1.setTimeUpdate(DateTime.now());
+                    msTripDet1.setUserUpdate(userCreate);
+                    msTripDetMapper.insert(msTripDet1);
+                }
+            }
+
+        } else {
+            //判断家人是否同名
+            List<MsSuspected> list = msSuspectedMapper.selectUserNameNum(reportId, userName, reportDate);
+            if (list != null && list.size() > 0) {
+                if (list.size() > 1)
+                    return 2L;
+                else {
+                    if (list.get(0).getSuspectedId().longValue() != suspectedId.longValue())
+                        return 2L;
+                }
+            }
+            MsSuspected msSuspected2 = msSuspectedService.getScore(suspectedId, userName, medical, temperature, cough, muscle, dyspnea, fatigue, diarrhea, userCreate);
+            if (msSuspected2 != null) {
+                scoreRezult = msSuspected2.getScoreRezult();
+                score = msSuspected2.getScore();
+                temperatureScore = msSuspected2.getTemperatureScore();
+                scoreHistroy = msSuspected2.getScoreHistroy();
+            }
+
+            MsSuspected msSuspected1 = msSuspectedMapper.selectById(suspectedId);
+            if (msSuspected1 != null) {
+                msSuspected1.setUserName(userName);
+                msSuspected1.setGrender(grender);//默认为家人
+                msSuspected1.setAge(age);
+                msSuspected1.setFamilyStatus(familyStatus);
+                msSuspected1.setStatusDesp(statusDesp);
+                msSuspected1.setMedical(medical);
+                msSuspected1.setTemperature(temperature);
+                msSuspected1.setCough(cough);
+                msSuspected1.setMuscle(muscle);
+                msSuspected1.setDiarrhea(dyspnea);
+                msSuspected1.setFatigue(fatigue);
+                msSuspected1.setDiarrhea(diarrhea);
+                msSuspected1.setSingleRoom(singleRoom);
+                msSuspected1.setOthers(others);
+                msSuspected1.setScoreRezult(scoreRezult);
+                msSuspected1.setScore(score);
+                msSuspected1.setScoreHistroy(scoreHistroy);
+                msSuspected1.setTemperatureScore(temperatureScore);
+                msSuspected1.setSuspectedStatus(suspectedStatus);
+                msSuspectedMapper.updateById(msSuspected1);
+            }
+            //编辑行程
+            MsTrip msTrip = msTripMapper.selectById(suspectedId);
+            if (msTrip != null) {
+                msTrip.setWorkLocalOther(workLocalOther);
+                msTrip.setWorkLocal(workLocal);
+                msTrip.setTodayLocalOther(todayLocalOther);
+                msTrip.setTodayLocal(todayLocal);
+                msTrip.setIsTrip(isTrip);
+                msTripMapper.updateById(msTrip);
+            } else {
+                msTrip = new MsTrip();
+                msTrip.setTripId(suspectedId);
+                msTrip.setIsTrip(isTrip);
+                msTrip.setTodayLocal(todayLocal);
+                msTrip.setTodayLocalOther(todayLocalOther);
+                msTrip.setWorkLocal(workLocal);
+                msTrip.setWorkLocalOther(workLocalOther);
+                msTripMapper.insert(msTrip);
+            }
+            //删除行程详细
+            msTripDetMapper.deleteByTripId(suspectedId);
+            //添加出行详细
+            if (listTripDet != null && listTripDet.size() > 0) {
+                for (MsTripDet msTripDet : listTripDet) {
+                    MsTripDet msTripDet1 = new MsTripDet();
+                    msTripDet1.setTripDetId(IdWorker.getId());
+                    msTripDet1.setTripId(suspectedId);
+                    msTripDet1.setSort(msTripDet.getSort());
+                    msTripDet1.setStartLocal(msTripDet.getStartLocal());
+                    msTripDet1.setStartLocalOther(msTripDet.getStartLocalOther());
+                    msTripDet1.setEndLocal(msTripDet.getEndLocal());
+                    msTripDet1.setEndLocalOther(msTripDet.getEndLocalOther());
+                    msTripDet1.setTripType(msTripDet.getTripType());
+                    msTripDet1.setTripTypeDesp(msTripDet.getTripTypeDesp());
+                    msTripDet1.setTimeCreate(DateTime.now());
+                    msTripDet1.setUserCreate(userCreate);
+                    msTripDet1.setTimeUpdate(DateTime.now());
+                    msTripDet1.setUserUpdate(userCreate);
+                    msTripDetMapper.insert(msTripDet1);
+                }
+            }
+        }
+        //更新今日日报
+        msSuspectedService.updateReport(reportId, medical, singleRoom, temperature);
+        return reportId;
+    }
+
+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
+    public Integer deleteTrip(Long suspectedId) {
+        msTripDetMapper.deleteByTripId(suspectedId);
+        msTripMapper.deleteById(suspectedId);
+        return 0;
+    }
+}

+ 53 - 0
whepi-web/src/main/java/com/bofeng/service/RbService.java

@@ -1,6 +1,7 @@
 package com.bofeng.service;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.bofeng.dao.MsSuspectedMapper;
 import com.bofeng.dao.QzTaskDao;
 import com.bofeng.dao.RbMapper;
 import com.bofeng.entity.*;
@@ -17,6 +18,10 @@ public class RbService {
 
     @Autowired
     private RbMapper rbMapper;
+    @Autowired
+    private MsSuspectedMapper msSuspectedMapper;
+    @Autowired
+    private MsReportService msReportService;
 
     public List<sysUptownUnit> selectAll (Long userId) {
         List<sysUptownUnit> sysUptownUnits = rbMapper.selectDY(userId);
@@ -95,4 +100,52 @@ public class RbService {
 
         return sysUptownHouses;
     }
+
+    public List<ExcelRiBaoPrivate> selectExcelRiBaoPrivate (Long upId,String date) {
+        List<ExcelRiBaoPrivate> list = rbMapper.selectExcelRiBaoPrivate(upId, date);
+
+        if (list != null && list.size() > 0) {
+            String tripDet;
+            for (ExcelRiBaoPrivate excelRiBaoPrivate : list) {
+                tripDet = "";
+                //出行详细
+                List<MsTripDet> listDet = msSuspectedMapper.selectTripSuspected(excelRiBaoPrivate.getTripId());
+                if (listDet != null && listDet.size() > 0) {
+                    for (MsTripDet msTripDet : listDet) {
+                        tripDet += "出发地:" + msReportService.getLocalOther(msTripDet.getStartLocal(), msTripDet.getStartLocalOther()) + ",";
+                        tripDet += "目的地:" + msReportService.getLocalOther(msTripDet.getEndLocal(), msTripDet.getEndLocalOther()) + ",";
+                        tripDet += "出行方式:" + msReportService.getTripType(msTripDet.getTripType()) + ",";
+                        tripDet += "车次/航班/车牌:" + msTripDet.getTripTypeDesp() + ",";
+                    }
+                    excelRiBaoPrivate.setTripDetDesc(tripDet.substring(0, tripDet.length() - 1));
+                }
+            }
+
+        }
+        return list;
+    }
+
+    public List<ExcelRiBaoLY> selectExcelRiBaoLY (Long upId,String date) {
+        List<ExcelRiBaoLY> list = rbMapper.selectExcelRiBaoLY(upId, date);
+
+        if (list != null && list.size() > 0) {
+            String tripDet;
+            for (ExcelRiBaoLY excelRiBaoLY : list) {
+                tripDet = "";
+                //出行详细
+                List<MsTripDet> listDet = msSuspectedMapper.selectTripSuspected(excelRiBaoLY.getTripId());
+                if (listDet != null && listDet.size() > 0) {
+                    for (MsTripDet msTripDet : listDet) {
+                        tripDet += "出发地:" + msReportService.getLocalOther(msTripDet.getStartLocal(), msTripDet.getStartLocalOther()) + ",";
+                        tripDet += "目的地:" + msReportService.getLocalOther(msTripDet.getEndLocal(), msTripDet.getEndLocalOther()) + ",";
+                        tripDet += "出行方式:" + msReportService.getTripType(msTripDet.getTripType()) + ",";
+                        tripDet += "车次/航班/车牌:" + msTripDet.getTripTypeDesp() + ",";
+                    }
+                    excelRiBaoLY.setTripDetDesc(tripDet.substring(0, tripDet.length() - 1));
+                }
+            }
+
+        }
+        return list;
+    }
 }

+ 42 - 41
whepi-web/src/main/java/com/bofeng/service/UserOpenService.java

@@ -8,6 +8,8 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
+
 @Service
 @Transactional(readOnly = true)
 public class UserOpenService {
@@ -59,48 +61,47 @@ public class UserOpenService {
 
     @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
     public void saveUserInfo(Long userId, Integer userType, String linkman, String phone, Integer area, Long uptownId, Long unitId, String doorplate) {
-        UserRole userRole = new UserRole();
-        userRole.setUrId(IdWorker.getId());
-        userRole.setUserId(userId);
-        userRole.setRoleId(1);
-        userRole.setUserCreate(userId);
-        userRole.setUserUpdate(userId);
-        userRole.setStatus(1);
-        UptownHouse uptownHouse = new UptownHouse();
-        uptownHouse.setHouseId(IdWorker.getId());
+        List<UserRole> list = userRoleMapper.getUserRoleByUserId(userId);
+        if (list.size() == 0) {
+            UserRole userRole = new UserRole();
+            userRole.setUrId(IdWorker.getId());
+            userRole.setUserId(userId);
+            userRole.setRoleId(1);
+            userRole.setUserCreate(userId);
+            userRole.setUserUpdate(userId);
+            userRole.setStatus(1);
+            UptownHouse uptownHouse = new UptownHouse();
+            uptownHouse.setHouseId(IdWorker.getId());
+            uptownHouse.setUnitId(unitId);
+            uptownHouse.setDoorplate(doorplate);
+            uptownHouse.setStatus(1);
+            uptownHouseMapper.insert(uptownHouse);
+            UptownHome uptownHome = new UptownHome();
+            uptownHome.setHouseId(uptownHouse.getHouseId());
+            uptownHome.setLinkman(linkman);
+            uptownHome.setPhone(phone);
+            uptownHome.setYoung(0);
+            uptownHome.setMiddle(0);
+            uptownHome.setOld(0);
+            uptownHome.setRemark("");
+            uptownHome.setStatus(1);
+            uptownHomeMapper.insert(uptownHome);
+            userRole.setPropertyId(uptownHome.getHouseId());
+            userRoleMapper.insert(userRole);
+        }
+    }
+
+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
+    public void changeUnitId(Long userId, Long unitId) {
+        UptownHouse uptownHouse = uptownHouseMapper.getUptownHouseByUser(userId);
         uptownHouse.setUnitId(unitId);
+        uptownHouseMapper.updateById(uptownHouse);
+    }
+
+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
+    public void changeDoorplate(Long userId, String doorplate) {
+        UptownHouse uptownHouse = uptownHouseMapper.getUptownHouseByUser(userId);
         uptownHouse.setDoorplate(doorplate);
-        uptownHouse.setStatus(1);
-        uptownHouseMapper.insert(uptownHouse);
-        UptownHome uptownHome = new UptownHome();
-        uptownHome.setHouseId(uptownHouse.getHouseId());
-        uptownHome.setLinkman(linkman);
-        uptownHome.setPhone(phone);
-        uptownHome.setYoung(0);
-        uptownHome.setMiddle(0);
-        uptownHome.setOld(0);
-        uptownHome.setRemark("");
-        uptownHome.setStatus(1);
-        uptownHomeMapper.insert(uptownHome);
-        userRole.setPropertyId(uptownHome.getHouseId());
-//        if (userType == 2) {
-//            Owner owner = new Owner();
-//            owner.setOwnerId(IdWorker.getId());
-//            owner.setUptownId(uptownId);
-//            owner.setLinkman(linkman);
-//            owner.setPhone(phone);
-//            owner.setUserCreate(userId);
-//            owner.setUserUpdate(userId);
-//            ownerMapper.insert(owner);
-//            UserRole userRole1 = new UserRole();
-//            userRole1.setUrId(IdWorker.getId());
-//            userRole1.setUserId(userId);
-//            userRole1.setRoleId(userType);
-//            userRole1.setUserCreate(userId);
-//            userRole1.setUserUpdate(userId);
-//            userRole1.setPropertyId(owner.getOwnerId());
-//            userRoleMapper.insert(userRole1);
-//        }
-        userRoleMapper.insert(userRole);
+        uptownHouseMapper.updateById(uptownHouse);
     }
 }

+ 30 - 14
whepi-web/src/main/java/com/bofeng/wx/WxController.java

@@ -130,24 +130,29 @@ public class WxController {
                                 "/user/home.html",
                         WxConsts.OAuth2Scope.SNSAPI_USERINFO, null)
         );
-
-//        val btnDesc = new WxMenuButton();
-//        btnDesc.setName("平台简介");
-//        btnDesc.setType(WxConsts.MenuButtonType.VIEW);
-//        btnDesc.setUrl(
-//                wxService.oauth2buildAuthorizationUrl(weChatProperties.getDomain() +
-//                                "/home/desc.html",
-//                        WxConsts.OAuth2Scope.SNSAPI_USERINFO, null)
-//        );
-
         val bt2 = new WxMenuButton();
-        bt2.setName("外出查询");
-        bt2.setType(WxConsts.MenuButtonType.VIEW);
-        bt2.setUrl(
+        bt2.setName("相关查询");
+        val bt21 = new WxMenuButton();
+        bt21.setName("外出查询");
+        bt21.setType(WxConsts.MenuButtonType.VIEW);
+        bt21.setUrl(
                 wxService.oauth2buildAuthorizationUrl(weChatProperties.getDomain() +
                                 "/user/goOut.html",
                         WxConsts.OAuth2Scope.SNSAPI_USERINFO, null)
         );
+        val bt22 = new WxMenuButton();
+        bt22.setName("复工查询");
+        bt22.setType(WxConsts.MenuButtonType.VIEW);
+        bt22.setUrl(
+                wxService.oauth2buildAuthorizationUrl(weChatProperties.getDomain() +
+                                "/user/returnWork.html",
+                        WxConsts.OAuth2Scope.SNSAPI_USERINFO, null)
+        );
+        bt2.getSubButtons().add(bt21);
+        bt2.getSubButtons().add(bt22);
+
+
+
 
         val btnDesc = new WxMenuButton();
         btnDesc.setName("平台简介");
@@ -167,17 +172,28 @@ public class WxController {
                                 "/home/adminHelp.html",
                         WxConsts.OAuth2Scope.SNSAPI_USERINFO, null)
         );
+
         val btn33 = new WxMenuButton();
-        btn33.setName("简介");
+        btn33.setName("出入管理");
         btn33.setType(WxConsts.MenuButtonType.VIEW);
         btn33.setUrl(
                 wxService.oauth2buildAuthorizationUrl(weChatProperties.getDomain() +
+                                "/home/outHelp.html",
+                        WxConsts.OAuth2Scope.SNSAPI_USERINFO, null)
+        );
+
+        val btn34 = new WxMenuButton();
+        btn34.setName("简介");
+        btn34.setType(WxConsts.MenuButtonType.VIEW);
+        btn34.setUrl(
+                wxService.oauth2buildAuthorizationUrl(weChatProperties.getDomain() +
                                 "/home/desc.html",
                         WxConsts.OAuth2Scope.SNSAPI_USERINFO, null)
         );
         btnDesc.getSubButtons().add(btn31);
         btnDesc.getSubButtons().add(btn32);
         btnDesc.getSubButtons().add(btn33);
+        btnDesc.getSubButtons().add(btn34);
 //        btn3.getSubButtons().add(btnDesc);
 //        btn3.getSubButtons().add(btnHelp);
 

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

@@ -4,6 +4,7 @@ package com.bofeng.wx.controller;
 import com.bofeng.entity.*;
 import com.bofeng.service.MsReportService;
 import com.bofeng.service.MsSuspectedService;
+import com.bofeng.service.MsTripService;
 import com.yvan.Model;
 import com.yvan.ModelOps;
 import com.yvan.mvc.Pd;
@@ -31,6 +32,8 @@ public class MsReportController {
     private MsSuspectedService msSuspectedService;
     @Autowired
     private MsReportService msReportService;
+    @Autowired
+    private MsTripService msTripService;
 
     //添加家人
     @PostMapping("/home/addRibao")
@@ -61,15 +64,22 @@ public class MsReportController {
         Integer scoreHistroy = Conv.NI(request.getParameter("scoreHistroy"));
         Integer score = Conv.NI(request.getParameter("score"));
 
-        MsReport msReport=new MsReport();
-        Long reportId =msSuspectedService.addSuspected(suspectedId, userName, grender, age, familyStatus, statusDesp, medical, temperature, cough, muscle, dyspnea, fatigue, diarrhea, singleRoom, others, userCreate,scoreRezult,temperatureScore,scoreHistroy,score);
-        if(reportId==2L)
+        MsReport msReport = new MsReport();
+        Long reportId = msSuspectedService.addSuspected(suspectedId, userName, grender, age, familyStatus, statusDesp, medical, temperature, cough, muscle, dyspnea, fatigue, diarrhea, singleRoom, others, userCreate, scoreRezult, temperatureScore, scoreHistroy, score);
+        if (reportId == 2L)
             msReport.setMsgReport("2");
         else
-            msReport= msReportService.getByReport(reportId);
+            msReport = msReportService.getByReport(reportId);
         return msReport;
     }
 
+    //查询用户最近一天的一个家人
+    @GetMapping("/home/selectAddSuspected")
+    public MsSuspected selectAddSuspected(HttpServletRequest request) {
+        Long userCreate = Long.parseLong(request.getParameter("userCreate"));
+        return msSuspectedService.selectAddSuspected(userCreate);
+    }
+
     //查询家人
     @GetMapping("/home/selectSuspected")
     public MsSuspected selectSuspected(HttpServletRequest request) {
@@ -78,30 +88,47 @@ public class MsReportController {
         return msSuspectedService.selectSuspected(suspectedId);
     }
 
+    //查询出行详细
+    @GetMapping("/home/selectTripSuspected")
+    public Model<List<MsTripDet>> selectTripSuspected(HttpServletRequest request) {
+        //初始化今日日报
+        Long suspectedId = Long.parseLong(request.getParameter("suspectedId"));
+        return Model.newSuccess(msSuspectedService.selectTripSuspected(suspectedId));
+    }
+
     //删除家人病例
     @PostMapping("/home/deleteSuspected")
     public MsReport deleteSuspected(HttpServletRequest request) {
         Long suspectedId = Long.parseLong(request.getParameter("suspectedId"));
         MsSuspected msSuspected = msSuspectedService.selectSuspected(suspectedId);
         msSuspectedService.deleteSuspected(suspectedId);
+        msTripService.deleteTrip(suspectedId);
         if (msSuspected != null)
             return msReportService.getByReport(msSuspected.getReportId());
         else
             return null;
     }
 
-    //根据登录人获取家人
+    //根据点击获取家人
     @GetMapping("/home/home/queryRibao")
     public Model<List<MsSuspected>> queryRibao(@Pd(name = "userCreate") Long userCreate) {
         Date t = new Date();
         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
         String reportDate = df.format(t);
-        return Model.newSuccess(msReportService.getByReportReportDate(reportDate, userCreate));
+        //今日有记录
+        List<MsSuspected> list = msReportService.getByReportReportDate(reportDate, userCreate);
+        if (list != null && list.size() > 0)
+            return Model.newSuccess(list);
+            //获取用户最新的记录
+        else {
+           // return Model.newSuccess(msSuspectedService.selectNextSuspected(userCreate));
+            return null;
+        }
     }
 
     //根据日报获取家人
     @GetMapping("/home/home/queryRibaoRefresh")
-    public Model<List<MsSuspected>> queryRibaoRefresh(@Pd(name = "reportId") Long reportId) {
+    public Model<List<MsSuspected>> queryRibaoRefresh(@Pd(name = "reportId") Long reportId, @Pd(name = "userCreate") Long userCreate) {
         return Model.newSuccess(msReportService.getByReportId(reportId));
     }
 
@@ -114,7 +141,7 @@ public class MsReportController {
             return ModelOps.newSuccess();
         } else if (re == 2) { //没有上报体温
             return ModelOps.newFail("请填报今日体温!");
-        }else if (re == 3) { //没有选择家人
+        } else if (re == 3) { //没有选择家人
             return ModelOps.newFail("请选择家人!");
         }
         return ModelOps.newFail("上报错误");
@@ -147,7 +174,7 @@ public class MsReportController {
         Integer dyspnea = Conv.NI(request.getParameter("dyspnea"));
         Integer fatigue = Conv.NI(request.getParameter("fatigue"));
         Integer diarrhea = Conv.NI(request.getParameter("diarrhea"));
-        return msSuspectedService.getScore(suspectedId,userName,medical,temperature, cough, muscle, dyspnea, fatigue, diarrhea, userCreate);
+        return msSuspectedService.getScore(suspectedId, userName, medical, temperature, cough, muscle, dyspnea, fatigue, diarrhea, userCreate);
     }
 
 }

+ 89 - 0
whepi-web/src/main/java/com/bofeng/wx/controller/MsTripController.java

@@ -0,0 +1,89 @@
+package com.bofeng.wx.controller;
+
+
+import com.bofeng.entity.MsReport;
+import com.bofeng.entity.MsSuspected;
+import com.bofeng.entity.MsTripDet;
+import com.bofeng.entity.Owner;
+import com.bofeng.service.MsReportService;
+import com.bofeng.service.MsTripService;
+import com.yvan.platform.Conv;
+import com.yvan.platform.JsonWapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.io.UnsupportedEncodingException;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author: xielianghe
+ * @Date: 2020/2/22 13:31
+ */
+@RestController
+public class MsTripController {
+    @Autowired
+    private MsReportService msReportService;
+    @Autowired
+    private MsTripService msTripService;
+
+    //添加家人出行
+    @PostMapping("/home/addRibaoTrip")
+    public MsReport saveUser(JsonWapper jsonWapper) throws UnsupportedEncodingException {
+        //初始化今日日报
+        Long suspectedId = jsonWapper.asObject(Long.class, "suspectedId") == null ? 0L : jsonWapper.asObject(Long.class, "suspectedId");
+        Long userCreate = jsonWapper.asObject(Long.class, "userCreate")== null ? 0L : jsonWapper.asObject(Long.class, "userCreate");
+        String userName = jsonWapper.asObject(String.class, "userName");
+        byte[] utf8Bytes = userName.getBytes("UTF-8");
+        userName = new String(utf8Bytes, "UTF-8");
+        Integer grender = jsonWapper.asObject(Integer.class, "grender");
+        Integer age = jsonWapper.asObject(Integer.class, "age");
+        String familyStatus = jsonWapper.asObject(String.class, "familyStatus");
+        String statusDesp = jsonWapper.asObject(String.class, "statusDesp");
+        Integer medical = jsonWapper.asObject(Integer.class, "medical")== null ? 0: jsonWapper.asObject(Integer.class, "medical");
+        BigDecimal temperature = jsonWapper.asObject(BigDecimal.class, "temperature");
+        Integer cough = jsonWapper.asObject(Integer.class, "cough")== null ? 0: jsonWapper.asObject(Integer.class, "cough");
+        Integer muscle = jsonWapper.asObject(Integer.class, "muscle")== null ? 0: jsonWapper.asObject(Integer.class, "muscle");
+        Integer dyspnea = jsonWapper.asObject(Integer.class, "dyspnea")== null ? 0: jsonWapper.asObject(Integer.class, "dyspnea");
+        Integer fatigue = jsonWapper.asObject(Integer.class, "fatigue")== null ? 0: jsonWapper.asObject(Integer.class, "fatigue");
+        Integer diarrhea = jsonWapper.asObject(Integer.class, "diarrhea")== null ? 0: jsonWapper.asObject(Integer.class, "diarrhea");
+        Integer singleRoom = jsonWapper.asObject(Integer.class, "singleRoom")== null ? 0: jsonWapper.asObject(Integer.class, "singleRoom");
+        String others = jsonWapper.asObject(String.class, "others");
+        Integer scoreRezult = jsonWapper.asObject(Integer.class, "scoreRezult")== null ? 0: jsonWapper.asObject(Integer.class, "scoreRezult");
+        Integer temperatureScore = jsonWapper.asObject(Integer.class, "temperatureScore")== null ? 0: jsonWapper.asObject(Integer.class, "temperatureScore");
+        Integer scoreHistroy = jsonWapper.asObject(Integer.class, "scoreHistroy")== null ? 0: jsonWapper.asObject(Integer.class, "scoreHistroy");
+        Integer score = jsonWapper.asObject(Integer.class, "score")== null ? 0: jsonWapper.asObject(Integer.class, "score");
+        //添加出行
+        Integer workLocal = jsonWapper.asObject(Integer.class, "workLocal");
+        String workLocalOther = jsonWapper.asObject(String.class, "workLocalOther");
+        Integer todayLocal = jsonWapper.asObject(Integer.class, "todayLocal");
+        String todayLocalOther = jsonWapper.asObject(String.class, "todayLocalOther");
+        Integer isTrip = jsonWapper.asObject(Integer.class, "isTrip");
+        List<MsTripDet> listTripDet = new ArrayList<>();
+        MsTripDet msTripDet;
+        if(jsonWapper.asList("tripDet").size()>0){
+            for (int i = 0; i < jsonWapper.asList("tripDet").size(); i++) {
+                Map<String, Object> mm = (Map) jsonWapper.asList("tripDet").get(i);
+                msTripDet = new MsTripDet();
+                msTripDet.setSort(i+1);
+                msTripDet.setStartLocal(Conv.NI(mm.get("startLocal")));
+                msTripDet.setStartLocalOther(mm.get("startLocalOther").toString());
+                msTripDet.setEndLocal(Conv.NI(mm.get("endLocal")));
+                msTripDet.setEndLocalOther(mm.get("endLocalOther").toString());
+                msTripDet.setTripType(Conv.NI(mm.get("tripType")));
+                msTripDet.setTripTypeDesp(mm.get("tripTypeDesp").toString());
+                listTripDet.add(msTripDet);
+            }
+        }
+        MsReport msReport = new MsReport();
+        Long reportId = msTripService.addSuspectedTrip(suspectedId, userName, grender, age, familyStatus, statusDesp, medical, temperature, cough, muscle, dyspnea, fatigue, diarrhea, singleRoom, others, userCreate, scoreRezult, temperatureScore, scoreHistroy, score, workLocal, workLocalOther, todayLocal, todayLocalOther, isTrip, listTripDet);
+        if (reportId == 2L)
+            msReport.setMsgReport("2");
+        else
+            msReport = msReportService.getByReport(reportId);
+        return msReport;
+    }
+}

+ 23 - 10
whepi-web/src/main/java/com/bofeng/wx/controller/ScanAdminController.java

@@ -123,7 +123,7 @@ public class ScanAdminController {
     @ApiOperation("保存特殊人员")
     @PostMapping("/whepi/OutUser/saveOutUser")
     public Model saveOutUser(@JsonBody OutUser outUser) {
-        OutUser outUser1 = outUserMapper.getOutUserByPhone(outUser.getPhone());
+        OutUser outUser1 = outUserMapper.queryOutUserByPhone(outUser.getPhone());
         if (outUser1 != null) {
             return Model.newFail("该号码已经添加为特殊人员,请仔细检查该号码。");
         }
@@ -149,15 +149,28 @@ public class ScanAdminController {
     public Model<List<UptownDoor>> scanQrImg(HttpParameterParser parser, PageDb pagination) throws IOException, WriterException {
         List<UptownDoor> list = uptownDoorMapper.getAllUptownDoor(pagination, parser.getMap());
         for (UptownDoor door : list) {
-            if (door.getInImg().equals("")) {
-                String img = scan_qr(door.getDoorId(),1,door.getUptownName()+door.getDoorName()+getName(1));
-                uptownDoorMapper.updateDoorQc("in_img", img, door.getDoorId());
-                door.setInImg(img);
-            }
-            if (door.getOutImg().equals("")) {
-                String img = scan_qr(door.getDoorId(),2,door.getUptownName()+door.getDoorName()+getName(2));
-                uptownDoorMapper.updateDoorQc("out_img", img, door.getDoorId());
-                door.setOutImg(img);
+            if (door.getUptownId() == 1238790987234L || door.getUptownId() == 5) {
+                if (door.getInImg().equals("")) {
+                    String img = scan_qr(door.getDoorId(),1,door.getDoorName()+getName(1));
+                    uptownDoorMapper.updateDoorQc("in_img", img, door.getDoorId());
+                    door.setInImg(img);
+                }
+                if (door.getOutImg().equals("")) {
+                    String img = scan_qr(door.getDoorId(),2, door.getDoorName()+getName(2));
+                    uptownDoorMapper.updateDoorQc("out_img", img, door.getDoorId());
+                    door.setOutImg(img);
+                }
+            } else {
+                if (door.getInImg().equals("")) {
+                    String img = scan_qr(door.getDoorId(),1,door.getUptownName()+door.getDoorName()+getName(1));
+                    uptownDoorMapper.updateDoorQc("in_img", img, door.getDoorId());
+                    door.setInImg(img);
+                }
+                if (door.getOutImg().equals("")) {
+                    String img = scan_qr(door.getDoorId(),2,door.getUptownName()+door.getDoorName()+getName(2));
+                    uptownDoorMapper.updateDoorQc("out_img", img, door.getDoorId());
+                    door.setOutImg(img);
+                }
             }
         }
         return Model.newSuccess(pagination, list);

+ 168 - 47
whepi-web/src/main/java/com/bofeng/wx/controller/ScanController.java

@@ -84,18 +84,27 @@ public class ScanController {
                              @RequestParam(value = "inType", required = false, defaultValue = "0") Integer inType) {
         UserOpen userOpen = homeService.getUserOpenByCode(request.getParameter("code"));
         List<UserRole> list = userRoleMapper.getUserRoleByUserId(userOpen.getUserId());
-//        List<UserRole> list = userRoleMapper.getUserRoleByUserId(1L);
-//        UserOpen userOpen = userOpenMapper.selectByUserId(1L);
+//        List<UserRole> list = userRoleMapper.getUserRoleByUserId(1234L);
+//        UserOpen userOpen = userOpenMapper.selectByUserId(1234L);
         model.put("user", userOpen);
         model.put("user_id", "\"" + userOpen.getUserId() + "\"");
         if (list.size() == 0) {
             return new ModelAndView("/user/home.ftl", model);
         } else {
+            Boolean ly = false;
             UptownDoor uptownDoor = uptownDoorMapper.getUptownDoorById(doorId);
             List<UptownHome> uptownHomes =  uptownHomeMapper.getUptownHomeByUserId(userOpen.getUserId());
             UptownUnit unit = uptownUnitMapper.getUptownUnitByUser(userOpen.getUserId());
-            model.put("door", uptownDoor.getUptownName() + uptownDoor.getDoorName());
-            model.put("doorplate", unit.getRidgepole() + "栋" + unit.getUnit() + "单元" +unit.getDoorplate() + "号");
+            if (unit.getUptownId() == 1238790987234L || unit.getUptownId() == 5) {
+                model.put("tittle", "凌云集团");
+                ly = true;
+            }
+            if (ly) {
+                model.put("doorplate", unit.getRidgepole() + unit.getUnit());
+            } else {
+                model.put("doorplate", unit.getRidgepole() + "栋" + unit.getUnit() + "单元" +unit.getDoorplate() + "号");
+                model.put("door", uptownDoor.getUptownName() + uptownDoor.getDoorName());
+            }
             model.put("name", uptownHomes.get(0).getLinkman());
             SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
             model.put("now", sdf.format(new Date()));
@@ -117,9 +126,52 @@ public class ScanController {
             if (inType == 1) {
                 OutScan outScan = outScanMapper.getOutScanByUserlimit(userOpen.getUserId());
                 if (outScan != null && new Date(outScan.getDate().getMillis() + 3600L * 1000 * 24).compareTo(new Date()) == -1) {
-                    model.put("collor", "orange");
+                    if (!ly) {
+                        model.put("collor", "orange");
+                        model.put("into", "允许进入");
+                        model.put("errorMsg", "您在外驻留时间超过1日,请尽快上报您的健康状况,防止在外长时间逗留。");
+                        scanService.saveOutScan(userOpen.getUserId(), inType, uptownDoor.getUptownId(), uptownDoor.getDoorId(), 1, "");
+                        return new ModelAndView("/user/scan.ftl", model);
+                    }
+                }
+                if (ly) {
+                    List<MsReport> msReports1 = msReportMapper.queryMsReportIsXG(userOpen.getUserId());
+                    if (msReports1.size() != 0) {
+                        Integer status = msReportMapper.queryLateStatus(userOpen.getUserId());
+                        if (status != 4) {
+                            model.put("collor", "red");
+                            model.put("into", "不许进入");
+                            model.put("errorMsg", "由于您是新冠确诊或新冠疑似或密切接触者,评估未解除隔离规定,禁止进入。");
+                            scanService.saveOutScan(userOpen.getUserId(), inType, uptownDoor.getUptownId(), uptownDoor.getDoorId(), -1, model.get("errorMsg").toString());
+                            return new ModelAndView("/user/scan.ftl", model);
+                        }
+                    }
+                    List<MsReport> msReports = msReportMapper.selectMsReportLate(userOpen.getUserId());
+                    if (msReports.size() == 0) {
+                        model.put("collor", "red");
+                        model.put("into", "不许进入");
+                        model.put("errorMsg", "您最近三日未上报健康日报,请说明原因,配合监测人员。");
+                        scanService.saveOutScan(userOpen.getUserId(), inType, uptownDoor.getUptownId(), uptownDoor.getDoorId(), -1, model.get("errorMsg").toString());
+                        return new ModelAndView("/user/scan.ftl", model);
+                    } else if (msReports.size() < 3) {
+                        model.put("collor", "red");
+                        model.put("into", "不许进入");
+                        model.put("errorMsg", "您最近三日健康日报漏报,请说明原因并及时填报,配合监测人员。");
+                        scanService.saveOutScan(userOpen.getUserId(), inType, uptownDoor.getUptownId(), uptownDoor.getDoorId(), -1, model.get("errorMsg").toString());
+                        return new ModelAndView("/user/scan.ftl", model);
+                    }
+                    List<MsReport> msReports2 = msReportMapper.selectMsReportThereError(userOpen.getUserId());
+                    if (msReports2.size() > 0) {
+                        model.put("collor", "red");
+                        model.put("into", "不许进入");
+                        model.put("errorMsg", "由于您健康或家人健康评估存在问题,禁止进入,如有疑问请联系直管领导。");
+                        scanService.saveOutScan(userOpen.getUserId(), inType, uptownDoor.getUptownId(), uptownDoor.getDoorId(), -1, model.get("errorMsg").toString());
+                        return new ModelAndView("/user/scan.ftl", model);
+                    }
+                    //您近期内离开过工作单位驻地,请遵守返回工作驻地15日隔离规定,您目前未满15日,禁止进入。
+                    model.put("collor", "green");
                     model.put("into", "允许进入");
-                    model.put("errorMsg", "您在外驻留时间超过1日,请尽快上报您的健康状况,防止在外长时间逗留。");
+                    model.put("errorMsg", "欢迎归来,请注意遵守疫情期间工作安全规则,做好防护,安全工作,健康第一。");
                     scanService.saveOutScan(userOpen.getUserId(), inType, uptownDoor.getUptownId(), uptownDoor.getDoorId(), 1, "");
                     return new ModelAndView("/user/scan.ftl", model);
                 }
@@ -276,8 +328,8 @@ public class ScanController {
     public ModelAndView goOut(HttpServletRequest request, ModelMap model) throws ParseException {
         UserOpen userOpen = homeService.getUserOpen();
         List<UserRole> list = userRoleMapper.getUserRoleByUserId(userOpen.getUserId());
-//        List<UserRole> list = userRoleMapper.getUserRoleByUserId(1L);
-//        UserOpen userOpen = userOpenMapper.selectByUserId(1L);
+//        List<UserRole> list = userRoleMapper.getUserRoleByUserId(1234L);
+//        UserOpen userOpen = userOpenMapper.selectByUserId(1234L);
         model.put("user", userOpen);
         model.put("user_id", "\"" + userOpen.getUserId() + "\"");
         if (list.size() == 0) {
@@ -285,50 +337,119 @@ public class ScanController {
         } else {
             List<UptownHome> uptownHomes =  uptownHomeMapper.getUptownHomeByUserId(userOpen.getUserId());
             UptownUnit unit = uptownUnitMapper.getUptownUnitByUser(userOpen.getUserId());
-            model.put("doorplate", unit.getUptownName() + "小区" +unit.getRidgepole() + "栋" + unit.getUnit() + "单元" +unit.getDoorplate() + "号");
-            model.put("name", uptownHomes.get(0).getLinkman());
-            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-            model.put("now", sdf.format(new Date()));
-            OutUser outUser = outUserMapper.getOutUserByPhone(uptownHomes.get(0).getLinkman(), Long.parseLong(uptownHomes.get(0).getPhone()));
-            if (outUser != null) {
+            if (unit.getUptownId() == 1238790987234L || unit.getUptownId() == 5) {
+                model.put("into", "此功能暂未开放");
+                model.put("errorMsg", "外出请佩戴口罩,避免近距离接触,不得长时间在外逗留。");
+                return  new ModelAndView("/user/goOut.ftl", model);
+            } else {
+                model.put("doorplate", unit.getUptownName() + "小区" +unit.getRidgepole() + "栋" + unit.getUnit() + "单元" +unit.getDoorplate() + "号");
+                model.put("name", uptownHomes.get(0).getLinkman());
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                model.put("now", sdf.format(new Date()));
+                OutUser outUser = outUserMapper.getOutUserByPhone(uptownHomes.get(0).getLinkman(), Long.parseLong(uptownHomes.get(0).getPhone()));
+                if (outUser != null) {
+                    model.put("collor", "green");
+                    model.put("into", "允许外出");
+                    model.put("errorMsg", "外出请佩戴口罩,避免近距离接触,保生产同时注意自身安全。");
+                    return new ModelAndView("/user/goOut.ftl", model);
+                }
+                OutScanConf outScanConf = outScanConfMapper.getOutScanConfByUptown(unit.getUptownId());
+                if (outScanConf.getGoOutFre() == 0) {
+                    model.put("collor", "red");
+                    model.put("into", "禁止外出");
+                    model.put("errorMsg", "根据武汉市小区封闭管理规定,非特殊人员禁止出行!");
+                    return new ModelAndView("/user/goOut.ftl", model);
+                }
+                List<MsReport> msReports = msReportMapper.selectMsReportLate(userOpen.getUserId());
+                if (msReports.size() == 0) {
+                    model.put("collor", "red");
+                    model.put("into", "禁止外出");
+                    model.put("errorMsg", "您近期未提交健康日报,无法判断您健康状态,请提交健康日报。");
+                    return new ModelAndView("/user/goOut.ftl", model);
+                }
+                MsReport msReport = msReportMapper.selectMsReportToday(userOpen.getUserId());
+                if (msReport != null && msReport.getMsStatus() == 2) {
+                    model.put("collor", "red");
+                    model.put("into", "禁止外出");
+                    model.put("errorMsg", "健康日报提示您存在健康问题,禁止外出,请配合。");
+                    return new ModelAndView("/user/goOut.ftl", model);
+                }
+                OutScan outScan = outScanMapper.getOutScanThreeday(userOpen.getUserId(), 2, outScanConf.getGoOutFre());
+                if (outScan != null) {
+                    model.put("collor", "red");
+                    model.put("into", "禁止外出");
+                    model.put("errorMsg", "您今日健康状态评估正常,最近可外出时间"+sdf.format(new Date(outScan.getDayDate().getTime() + 1000L  *3600*24 * outScanConf.getGoOutFre()))+
+                            ",距今日还差"+differentDays(outScan.getDayDate(), sdf.parse(sdf.format(new Date())), outScanConf.getGoOutFre())+"天。");
+                    return new ModelAndView("/user/goOut.ftl", model);
+                }
                 model.put("collor", "green");
                 model.put("into", "允许外出");
-                model.put("errorMsg", "外出请佩戴口罩,避免近距离接触,保生产同时注意自身安全。");
-                return new ModelAndView("/user/goOut.ftl", model);
-            }
-            OutScanConf outScanConf = outScanConfMapper.getOutScanConfByUptown(unit.getUptownId());
-            if (outScanConf.getGoOutFre() == 0) {
-                model.put("collor", "red");
-                model.put("into", "禁止外出");
-                model.put("errorMsg", "根据武汉市小区封闭管理规定,非特殊人员禁止出行!");
-                return new ModelAndView("/user/goOut.ftl", model);
-            }
-            List<MsReport> msReports = msReportMapper.selectMsReportLate(userOpen.getUserId());
-            if (msReports.size() == 0) {
-                model.put("collor", "red");
-                model.put("into", "禁止外出");
-                model.put("errorMsg", "您近期未提交健康日报,无法判断您健康状态,请提交健康日报。");
+                model.put("errorMsg", "外出请佩戴口罩,避免近距离接触,不得长时间在外逗留。");
                 return new ModelAndView("/user/goOut.ftl", model);
             }
-            MsReport msReport = msReportMapper.selectMsReportToday(userOpen.getUserId());
-            if (msReport != null && msReport.getMsStatus() == 2) {
-                model.put("collor", "red");
-                model.put("into", "禁止外出");
-                model.put("errorMsg", "健康日报提示您存在健康问题,禁止外出,请配合。");
-                return new ModelAndView("/user/goOut.ftl", model);
-            }
-            OutScan outScan = outScanMapper.getOutScanThreeday(userOpen.getUserId(), 2, outScanConf.getGoOutFre());
-            if (outScan != null) {
-                model.put("collor", "red");
-                model.put("into", "禁止外出");
-                model.put("errorMsg", "您今日健康状态评估正常,最近可外出时间"+sdf.format(new Date(outScan.getDayDate().getTime() + 1000L  *3600*24 * outScanConf.getGoOutFre()))+
-                        ",距今日还差"+differentDays(outScan.getDayDate(), sdf.parse(sdf.format(new Date())), outScanConf.getGoOutFre())+"天。");
-                return new ModelAndView("/user/goOut.ftl", model);
+        }
+    }
+
+    @ApiOperation("复工查询")
+    @GetMapping("/user/returnWork.html")
+    public ModelAndView returnWork(HttpServletRequest request, ModelMap model) throws ParseException {
+        UserOpen userOpen = homeService.getUserOpen();
+        List<UserRole> list = userRoleMapper.getUserRoleByUserId(userOpen.getUserId());
+//        List<UserRole> list = userRoleMapper.getUserRoleByUserId(1234L);
+//        UserOpen userOpen = userOpenMapper.selectByUserId(1234L);
+        model.put("user", userOpen);
+        model.put("user_id", "\"" + userOpen.getUserId() + "\"");
+        if (list.size() == 0) {
+            return new ModelAndView("/user/home.ftl", model);
+        } else {
+            List<UptownHome> uptownHomes =  uptownHomeMapper.getUptownHomeByUserId(userOpen.getUserId());
+            UptownUnit unit = uptownUnitMapper.getUptownUnitByUser(userOpen.getUserId());
+            model.put("uptownId", unit.getUptownId());
+            if (unit.getUptownId() == 1238790987234L || unit.getUptownId() == 5) {
+                model.put("tittle", "凌云集团");
+                model.put("doorplate", unit.getRidgepole() + unit.getUnit());
+                model.put("name", uptownHomes.get(0).getLinkman());
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                model.put("now", sdf.format(new Date()));
+                List<MsReport> msReports1 = msReportMapper.queryMsReportIsXG(userOpen.getUserId());
+                if (msReports1.size() != 0) {
+                    Integer status = msReportMapper.queryLateStatus(userOpen.getUserId());
+                    if (status != 4) {
+                        model.put("collor", "red");
+                        model.put("into", "不可复工");
+                        model.put("errorMsg", "由于您是新冠确诊或新冠疑似或密切接触者,评估未解除隔离规定,禁止进入。");
+                        return new ModelAndView("/user/returnWork.ftl", model);
+                    }
+                }
+                List<MsReport> msReports = msReportMapper.selectMsReportLate(userOpen.getUserId());
+                if (msReports.size() == 0) {
+                    model.put("collor", "red");
+                    model.put("into", "不可复工");
+                    model.put("errorMsg", "您最近三日未上报健康日报,请说明原因,配合监测人员。");
+                    return new ModelAndView("/user/returnWork.ftl", model);
+                } else if (msReports.size() < 3) {
+                    model.put("collor", "red");
+                    model.put("into", "不可复工");
+                    model.put("errorMsg", "您最近三日健康日报漏报,请说明原因并及时填报,配合监测人员。");
+                    return new ModelAndView("/user/returnWork.ftl", model);
+                }
+                List<MsReport> msReports2 = msReportMapper.selectMsReportThereError(userOpen.getUserId());
+                if (msReports2.size() > 0) {
+                    model.put("collor", "red");
+                    model.put("into", "不可复工");
+                    model.put("errorMsg", "由于您健康或家人健康评估存在问题,禁止进入,如有疑问请联系直管领导。");
+                    return new ModelAndView("/user/returnWork.ftl", model);
+                }
+                model.put("collor", "green");
+                model.put("into", "允许复工");
+                model.put("errorMsg", "欢迎您归来,请注意遵守抗击疫情期间工作安全规定,做好健康防护,安全工作,健康第一。");
+                return new ModelAndView("/user/returnWork.ftl", model);
+                //您近期内离开过工作单位驻地,请遵守返回工作驻地15日隔离规定,您目前未满15日,禁止进入。
+            } else {
+                model.put("into", "此功能暂未开放");
+                model.put("errorMsg", "复工期间请请注意安全。");
+                return  new ModelAndView("/user/returnWork.ftl", model);
             }
-            model.put("collor", "green");
-            model.put("into", "允许外出");
-            model.put("errorMsg", "外出请佩戴口罩,避免近距离接触,不得长时间在外逗留。");
-            return new ModelAndView("/user/goOut.ftl", model);
         }
     }
 

+ 66 - 2
whepi-web/src/main/java/com/bofeng/wx/controller/UserOpenController.java

@@ -67,8 +67,8 @@ public class UserOpenController {
         if (userId == 0) {
             UserOpen userOpen = homeService.getUserOpen();
             list = userRoleMapper.getUserRoleByUserId(userOpen.getUserId());
-//            list = userRoleMapper.getUserRoleByUserId(1225321682867105793L);
-//            UserOpen userOpen = userOpenMapper.selectByUserId(1225321682867105793L);
+//            list = userRoleMapper.getUserRoleByUserId(1234L);
+//            UserOpen userOpen = userOpenMapper.selectByUserId(1234L);
             userId = userOpen.getUserId();
             model.put("user", userOpen);
             model.put("user_id", "\"" + userOpen.getUserId() + "\"");
@@ -78,7 +78,18 @@ public class UserOpenController {
                 Long uptown_id = uptowns.get(0).getUptownId();
                 String uptown_name = uptowns.get(0).getUptownName();
                 model.put("uptown_id", "\"" + uptown_id + "\"");
+                model.put("uptownId", uptown_id);
                 model.put("uptown_name", uptown_name);
+                // 凌云集团的可以更改unit
+                if (uptown_id == 1238790987234L || uptown_id == 5L) {
+                    UptownUnit unit = uptownUnitMapper.getUptownUnitByUser(userId);
+                    model.put("ridgepole", unit.getRidgepole());
+                    model.put("unit", unit.getUnit());
+                    model.put("unitId", unit.getUnitId());
+                    model.put("doorplate", unit.getDoorplate());
+                    List<UptownHome> uptownHomes =  uptownHomeMapper.getUptownHomeByUserId(userOpen.getUserId());
+                    model.put("linkman", uptownHomes.get(0).getLinkman());
+                }
             }
 
 
@@ -86,11 +97,15 @@ public class UserOpenController {
                 return new ModelAndView("/user/home.ftl", model);
             }
             if (list.size() == 1) {
+                //今天数据,今天没有,复制最近一天的数据
                 MsReport msReport = msReportService.getReportByDateNow(userId);
                 model.put("msReport", new JsonWapper(msReport));
                 return new ModelAndView("/home/home.ftl", model);
             }
             if (list.size() == 2) {
+                //今天数据,今天没有,复制最近一天的数据
+                MsReport msReport = msReportService.getReportByDateNow(userId);
+                model.put("msReport", new JsonWapper(msReport));
                 model.put("type", 1);
                 return new ModelAndView("/user/changeRole.ftl", model);
             }
@@ -161,7 +176,18 @@ public class UserOpenController {
                 Long uptown_id = uptowns.get(0).getUptownId();
                 String uptown_name = uptowns.get(0).getUptownName();
                 model.put("uptown_id", "\"" + uptown_id + "\"");
+                model.put("uptownId", uptown_id);
                 model.put("uptown_name", uptown_name);
+                // 凌云集团的可以更改unit
+                if (uptown_id == 1238790987234L || uptown_id == 5L) {
+                    UptownUnit unit = uptownUnitMapper.getUptownUnitByUser(userId);
+                    model.put("ridgepole", unit.getRidgepole());
+                    model.put("unit", unit.getUnit());
+                    model.put("unitId", unit.getUnitId());
+                    model.put("doorplate", unit.getDoorplate());
+                    List<UptownHome> uptownHomes =  uptownHomeMapper.getUptownHomeByUserId(userId);
+                    model.put("linkman", uptownHomes.get(0).getLinkman());
+                }
             }
             if (userType == 1) {
                 MsReport msReport = msReportService.getReportByDateNow(userId);
@@ -195,6 +221,38 @@ public class UserOpenController {
         return uptownUnitMapper.getUptownUnitData(uptownId);
     }
 
+    /**
+     * 凌云集团公司信息
+     * @return
+     */
+    @GetMapping("/home/getUptownUnitLY.json")
+    public List<UptownUnit> getUptownUnitLY(HttpServletRequest request) {
+        Long uptownId = Long.parseLong(request.getParameter("uptownId"));
+        return uptownUnitMapper.getUptownUnitLY(uptownId);
+    }
+
+    /**
+     * 凌云集团更改部门
+     * @return
+     */
+    @PostMapping("/home/changeUnitId.json")
+    public void changeUnitId(ModelMap model, HttpServletRequest request) {
+        Long userId = Long.parseLong(request.getParameter("userId"));
+        Long unitId = Long.parseLong(request.getParameter("newUnitId"));
+        userOpenService.changeUnitId(userId, unitId);
+    }
+
+    /**
+     * 凌云集团更改工号
+     * @return
+     */
+    @PostMapping("/home/changeDoorplate.json")
+    public void changeDoorplate(ModelMap model, HttpServletRequest request) {
+        Long userId = Long.parseLong(request.getParameter("userId"));
+        String doorplate = request.getParameter("newDoorplate");
+        userOpenService.changeDoorplate(userId, doorplate);
+    }
+
     @PostMapping("/home/checkHouseId.json")
     public ResultModel checkHouseId(HttpServletRequest request) {
         ResultModel resultModel = new ResultModel();
@@ -247,6 +305,12 @@ public class UserOpenController {
         return new ModelAndView("/home/adminHelp.ftl", model);
     }
 
+    @GetMapping("/home/outHelp.html")
+    public ModelAndView outHelp(ModelMap model) {
+        return new ModelAndView("/home/outHelp.ftl", model);
+    }
+
+
     @GetMapping("/home/testOk.html")
     public ModelAndView testOk(ModelMap model, HttpServletResponse response) {
         response.setHeader("Access-Control-Allow-Credentials", "true");

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

@@ -263,7 +263,7 @@ public class YeWeiHuiController {
     String fileName = uptown.getUptownName();
     fileName += "上报信息-";
     fileName += date;
-    List<ExcelRiBaoLY> list = rbMapper.selectExcelRiBaoLY(upId, date);
+    List<ExcelRiBaoLY> list = rbService.selectExcelRiBaoLY(upId, date);
     ExcelUtils.writeSheet(ExcelRiBaoLY.class, list).export(resp, fileName);
 
   }
@@ -280,7 +280,7 @@ public class YeWeiHuiController {
       String fileName = uptown.getUptownName();
       fileName += "上报信息-";
       fileName += date;
-      List<ExcelRiBaoPrivate> list = rbMapper.selectExcelRiBaoPrivate(upId, date);
+      List<ExcelRiBaoPrivate> list = rbService.selectExcelRiBaoPrivate(upId, date);
       ExcelUtils.writeSheet(ExcelRiBaoPrivate.class, list).export(resp, fileName);
     }
   }

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

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

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

@@ -2,6 +2,6 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.bofeng.dao.MsSuspectedMapper">
     <select id="selectByReportId" resultType="com.bofeng.entity.MsSuspected">
-        select * from ms_suspected where report_id = #{reportId}
+        select a.*,b.* from ms_suspected a left join ms_trip b on a.suspected_id=b.trip_id where a.report_id = #{reportId}
     </select>
 </mapper>

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

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.bofeng.dao.MsTripDetMapper">
+    <delete id="deleteByTripId">
+        delete from ms_trip_det where trip_id = #{tripId}
+    </delete>
+</mapper>

BIN
whepi-web/src/main/resources/word/健康及旅居申报表_20200221.docx


BIN
whepi-web/src/main/resources/word/隔离人员解除隔离审批表_20200221.docx