yuliang пре 5 година
родитељ
комит
b54fa2c93d

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

@@ -40,4 +40,25 @@ public interface RbMapper extends BaseMapper<sysUptownUnit> {
             "left join ms_suspected c on c.report_id = a.report_id " +
             "where b.house_id = #{houseId} and DATE_FORMAT(a.time_update,'%Y-%m-%d') = #{dateStr}")
     List<MsSuspected> selectYcXq(@Param("houseId") Long houseId, @Param("dateStr") String dateStr);
+
+    @Select(
+            "select suu.ridgepole,suu.unit,suh.doorplate,suho.linkman,suho.phone,msr.safety_num," +
+            "msr.sure_num,msr.suspected_num,msr.normal_num,msr.single_num,mss.user_name,mss.grender," +
+            "mss.age,mss.family_status,mss.medical,mss.temperature,mss.cough,mss.muscle ,mss.dyspnea," +
+            "mss.fatigue,mss.diarrhea,mss.single_room from ms_suspected mss "+
+            "inner join ms_report msr on msr.report_id = mss.report_id and msr.report_date = #{date} "+
+            "inner join sys_uptown_house suh on suh.house_id = msr.house_id "+
+            "inner join sys_uptown_unit suu on suu.unit_id = suh.unit_id and suu.uptown_id=#{uptownId} "+
+            "left join sys_uptown_home suho on suho.house_id = suh.house_id"
+    )
+    List<ExcelRiBao> selectExcelRiBao(@Param("uptownId") Long uptownId, @Param("date") String date);
+
+    @Select(
+            "select u.* from sys_user_role ur " +
+                    "left join sys_uptown_house up on up.house_id = ur.property_id " +
+                    "left join sys_uptown_unit uu on uu.unit_id = up.unit_id " +
+                    "left join sys_uptown u on u.uptown_id = uu.uptown_id " +
+                    "where ur.role_id = 1 and ur.user_id = #{userId} "
+    )
+    List<Uptown> selectUptown(@Param("userId") Long userId);
 }

+ 170 - 0
whepi-web/src/main/java/com/bofeng/entity/ExcelRiBao.java

@@ -0,0 +1,170 @@
+package com.bofeng.entity;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.google.common.base.Strings;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+@Getter
+@Setter
+public class ExcelRiBao {
+
+    private String ridgepole;
+    private String unit;
+    private String doorplate;
+    private int grender;
+    private int family_status;
+    private int medical;
+    private BigDecimal temperature;
+    private int cough;
+    private int muscle;
+    private int dyspnea;
+    private int fatigue;
+    private int diarrhea;
+    private int single_room;
+    private String status_desp = "";
+    private String others = "";
+
+
+    @ExcelProperty(value = "楼栋", index = 0)
+    private String loudong = "";
+
+    public String getLoudong() {
+        if (loudong.length() <= 0) {
+            loudong = ridgepole + "栋" + unit + "单元";
+        }
+        return loudong;
+    }
+
+    @ExcelProperty(value = "房号", index = 1)
+    private String fanghao = "";
+
+    public String getFanghao() {
+        if (fanghao.length() <= 0) {
+            fanghao = doorplate;
+        }
+        return fanghao;
+    }
+
+    @ExcelProperty(value = "联系人", index = 2)
+    private String linkman;
+
+    @ExcelProperty(value = "联系电话", index = 3)
+    private String phone;
+
+    @ExcelProperty(value = "今日居家人数", index = 4)
+    private int safety_num;
+
+    @ExcelProperty(value = "确诊入院人数", index = 5)
+    private int sure_num;
+
+    @ExcelProperty(value = "隔离人数", index = 6)
+    private int single_num;
+
+    @ExcelProperty(value = "异常观察人数", index = 7)
+    private int suspected_num;
+
+    @ExcelProperty(value = "身体正常人数", index = 8)
+    private int normal_num;
+
+    @ExcelProperty(value = "居家人员姓名", index = 9)
+    private String user_name;
+
+    @ExcelProperty(value = "性别", index = 10)
+    private String grenderStr;
+
+    public String getGrenderStr() {
+        if (grender == 1) {
+            grenderStr = "男";
+        } else if (grender == 2) {
+            grenderStr = "女";
+        } else {
+            grenderStr = "未知";
+        }
+        return grenderStr;
+    }
+
+    @ExcelProperty(value = "年龄", index = 11)
+    private String age;
+
+    @ExcelProperty(value = "身体基本情况", index = 12)
+    private String baseDesc;
+    public String getBaseDesc() {
+        if (family_status == 0) {
+            baseDesc = "无病史";
+        } else if (family_status == 1) {
+            baseDesc = "心血管疾病(服用ARB)";
+        } else if (family_status == 2) {
+            baseDesc = "心血管疾病(未服用ARB)";
+        } else if (family_status == 3) {
+            baseDesc = "呼吸系统病史";
+        } else if (family_status == 4) {
+            baseDesc = "肿瘤病史";
+        } else if (family_status == 5) {
+            baseDesc = "糖尿病史";
+        } else if (family_status == 6) {
+            baseDesc = "服用过激素药物";
+        } else if (family_status == 7) {
+            baseDesc = "妊娠期";
+        } else {
+            baseDesc = "其他";
+        }
+        return baseDesc;
+    }
+
+    @ExcelProperty(value = "病情描述", index = 13)
+    private String bingqingDesc = "";
+    public String getBingqingDesc() {
+
+        if (cough == 1) {
+            bingqingDesc += "偶尔短暂咳嗽、";
+        } else if (cough == 2) {
+            bingqingDesc += "咳嗽轻度影响生活、";
+        } else if (cough == 3) {
+            bingqingDesc += "咳嗽严重影响生活、";
+        }
+        if (muscle == 1) {
+            bingqingDesc += "肌肉按压有酸痛、";
+        } else if (muscle == 2) {
+            bingqingDesc += "偶尔肌肉按压酸痛、";
+        } else if (muscle == 3) {
+            bingqingDesc += "肌肉按压持续酸痛、";
+        }
+        if (dyspnea == 1) {
+            bingqingDesc += "呼吸急走或上坡气短、";
+        } else if (dyspnea == 2) {
+            bingqingDesc += "呼吸气短而走路变慢、";
+        } else if (dyspnea == 3) {
+            bingqingDesc += "呼吸走路数分钟后气短、";
+        } else if (dyspnea == 4) {
+            bingqingDesc += "呼吸气短无法离开房间、";
+        }
+        if (fatigue == 1) {
+            bingqingDesc += "可体力劳动但觉得累、";
+        } else if (fatigue == 2) {
+            bingqingDesc += "轻体力劳动后长时间不能恢复、";
+        } else if (fatigue == 3) {
+            bingqingDesc += "不能正常生活、";
+        }
+        if (diarrhea == 1) {
+            bingqingDesc += "轻度腹泻少于于3次、";
+        } else if (diarrhea == 2) {
+            bingqingDesc += "中度腹泻4-6次、";
+        } else if (diarrhea == 3) {
+            bingqingDesc += "重度腹泻超过6次、";
+        }
+        if (single_room == 1) {
+            bingqingDesc += "单间隔离、";
+        }
+        if (!Strings.isNullOrEmpty(status_desp)) {
+            bingqingDesc += status_desp;
+            bingqingDesc += "、";
+        }
+        if (!Strings.isNullOrEmpty(others)) {
+            bingqingDesc += others;
+        }
+        return bingqingDesc;
+    }
+}

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

@@ -1,9 +1,11 @@
 package com.bofeng.wx.controller;
 
+import com.bofeng.dao.RbMapper;
 import com.bofeng.entity.QzTask;
 import com.bofeng.entity.QzTaskReply;
 import com.bofeng.entity.SysUptownHouse;
 import com.bofeng.entity.sysUptownUnit;
+import com.bofeng.excel.ExcelUtils;
 import com.bofeng.service.HomeService;
 import com.bofeng.entity.*;
 import com.bofeng.service.QzTaskReplyService;
@@ -16,6 +18,8 @@ import com.yvan.ModelOps;
 import com.yvan.mvc.Pd;
 import com.yvan.platform.JsonWapper;
 import com.yvan.platform.YvanUtil;
+import io.swagger.annotations.ApiOperation;
+import lombok.SneakyThrows;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.ui.ModelMap;
@@ -25,6 +29,8 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.servlet.ModelAndView;
 
+import javax.servlet.http.HttpServletResponse;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -42,6 +48,9 @@ public class YeWeiHuiController {
     @Autowired
     private HomeService homeService;
 
+    @Autowired
+    private RbMapper rbMapper;
+
     @GetMapping("/yeweihui/home.html")
     public ModelAndView yeweihui(ModelMap model,@RequestParam(value = "userId", required = false,defaultValue = "0") Long userId) {
 
@@ -172,4 +181,20 @@ public class YeWeiHuiController {
         List<MsSuspected> rbList = rbService.selectYcXq(houseId);
         return Model.newSuccess(rbList);
     }
+
+    @ApiOperation("导出家庭上报明细")
+    @GetMapping("/yeweihui/exportRiBao")
+    @SneakyThrows
+    public void exportRiBao(@Pd(name = "userId") Long userId,
+                            @Pd(name = "date") String date,
+                            HttpServletResponse resp) {
+
+        List<Uptown> uptowns = rbMapper.selectUptown(userId);
+
+        if (uptowns!=null && uptowns.size()>0) {
+            Long upId = uptowns.get(0).getUptownId();
+            List<ExcelRiBao> list = rbMapper.selectExcelRiBao(upId,date);
+            ExcelUtils.writeSheet(ExcelRiBao.class, list).export(resp);
+        }
+    }
 }