Prechádzať zdrojové kódy

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

maoyunfeng 5 rokov pred
rodič
commit
87a43408c8

+ 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 '修改人',

+ 107 - 23
whepi-ui/templates/home/ribao.js

@@ -633,38 +633,122 @@ function ribao_add() {
       $('#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 != "") {
+            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");
 
-    //基本情况
-    $("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);
+          $("#switchQuezhen").val(getMedical(suspected.medical));
+          $("#switchQuezhen").attr("data-values", suspected.medical);
 
-    $("#switchDanjiangeli").val(getSingleRoom(0));
-    $("#switchDanjiangeli").attr("data-values", 0);
+          $("#switchDanjiangeli").val(getSingleRoom(suspected.singleRoom));
+          $("#switchDanjiangeli").attr("data-values", suspected.singleRoom);
 
-    $("#js_input_user_tiwen").val(0);
+          $("#js_input_user_tiwen").val(suspected.temperature);
 
-    $("#js_input_user_kesou").val(getCough(0));
-    $("#js_input_user_kesou").attr("data-values", 0);
+          $("#js_input_user_kesou").val(getCough(suspected.cough));
+          $("#js_input_user_kesou").attr("data-values", suspected.cough);
 
-    $("#js_input_user_jirou").val(getMuscle(0));
-    $("#js_input_user_jirou").attr("data-values", 0);
+          $("#js_input_user_jirou").val(getMuscle(suspected.muscle));
+          $("#js_input_user_jirou").attr("data-values", suspected.muscle);
 
-    $("#js_input_user_huxi").val(getDyspnea(0));
-    $("#js_input_user_huxi").attr("data-values", 0);
+          $("#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");
 
-    $("#js_input_user_fali").val(getFatigue(0));
-    $("#js_input_user_fali").attr("data-values", 0);
+          $("#switchQuezhen").val(getMedical(0));
+          $("#switchQuezhen").attr("data-values", 0);
 
-    $("#js_input_user_fuxie").val(getDiarrhea(0));
-    $("#js_input_user_fuxie").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);
+
+        }
+      },
+    });
 
   });
 }

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

@@ -28,4 +28,14 @@ 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);
 }

+ 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> {
+}

+ 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;
+}

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

@@ -4,8 +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.dao.MsTripMapper;
 import com.bofeng.entity.MsReport;
 import com.bofeng.entity.MsSuspected;
+import com.bofeng.entity.MsTrip;
 import com.yvan.platform.Conv;
 import io.swagger.models.auth.In;
 import org.joda.time.DateTime;
@@ -32,6 +34,8 @@ public class MsSuspectedService {
     private MsSuspectedMapper msSuspectedMapper;
     @Autowired
     private MsReportMapper msReportMapper;
+    @Autowired
+    private MsTripMapper msTripMapper;
 
     //查询家人
     @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
@@ -39,6 +43,12 @@ public class MsSuspectedService {
         return msSuspectedMapper.selectById(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 Long addSuspected(Long suspectedId, String userName, Integer grender, Integer age, String familyStatus,
@@ -107,7 +117,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 +153,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 +165,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();
@@ -253,7 +264,7 @@ public class MsSuspectedService {
         msSuspected.setScore(addScore(medical, temperature, cough, muscle, dyspnea, fatigue, diarrhea));
         Integer scoreHistroy = 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;
     }
 

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

@@ -0,0 +1,261 @@
+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);
+            }
+            //删除行程详细
+            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;
+    }
+}

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

@@ -61,15 +61,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) {
@@ -114,7 +121,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 +154,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 javax.servlet.http.HttpServletRequest;
+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");
+        Long userCreate = 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");
+        BigDecimal temperature = jsonWapper.asObject(BigDecimal.class, "temperature");
+        Integer cough = jsonWapper.asObject(Integer.class, "cough");
+        Integer muscle = jsonWapper.asObject(Integer.class, "muscle");
+        Integer dyspnea = jsonWapper.asObject(Integer.class, "dyspnea");
+        Integer fatigue = jsonWapper.asObject(Integer.class, "fatigue");
+        Integer diarrhea = jsonWapper.asObject(Integer.class, "diarrhea");
+        Integer singleRoom = jsonWapper.asObject(Integer.class, "singleRoom");
+        String others = jsonWapper.asObject(String.class, "others");
+        Integer scoreRezult = jsonWapper.asObject(Integer.class, "scoreRezult");
+        Integer temperatureScore = jsonWapper.asObject(Integer.class, "temperatureScore");
+        Integer scoreHistroy = jsonWapper.asObject(Integer.class, "scoreHistroy");
+        Integer score = 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;
+        for (int i = 0; i < jsonWapper.asList("tripDet").size(); i++) {
+            Map<String, Object> mm = (Map) jsonWapper.asList("listTripDet").get(i);
+            msTripDet = new MsTripDet();
+            msTripDet.setSort(Integer.parseInt(mm.get("sort").toString()));
+            msTripDet.setStartLocal(Integer.parseInt(mm.get("startLocal").toString()));
+            msTripDet.setStartLocalOther(mm.get("startLocalOther").toString());
+            msTripDet.setEndLocal(Integer.parseInt(mm.get("endLocal").toString()));
+            msTripDet.setEndLocalOther(mm.get("endLocalOther").toString());
+            msTripDet.setTripType(Integer.parseInt(mm.get("tripType").toString()));
+            msTripDet.setTripTypeDesp(mm.get("tripTypeOther").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;
+    }
+}

+ 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>