|
@@ -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,63 @@ 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ String returnWork = msReportMapper.returnWork(userOpen.getUserId());
|
|
|
+ if (returnWork != null) {
|
|
|
+ List<MsReport> msReports2 = msReportMapper.returnWorkTime(returnWork, userOpen.getUserId());
|
|
|
+ if (msReports2.size() < 15) {
|
|
|
+ model.put("collor", "red");
|
|
|
+ model.put("into", "不许进入");
|
|
|
+ model.put("errorMsg", "您返回工作驻地后未满14日,不许进入。"+day15(msReports2)+"起方可进入!");
|
|
|
+ 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);
|
|
|
}
|
|
@@ -139,7 +202,7 @@ public class ScanController {
|
|
|
model.put("into", "禁止外出");
|
|
|
model.put("errorMsg", "根据武汉市小区封闭管理规定,非特殊人员禁止出行!");
|
|
|
scanService.saveOutScan(userOpen.getUserId(), inType, uptownDoor.getUptownId(), uptownDoor.getDoorId(), -1, model.get("errorMsg").toString());
|
|
|
- return new ModelAndView("/user/goOut.ftl", model);
|
|
|
+ return new ModelAndView("/user/scan.ftl", model);
|
|
|
}
|
|
|
OutScan outScan = outScanMapper.getOutScanThreeday(userOpen.getUserId(), 2, outScanConf.getGoOutFre());
|
|
|
if (outScan != null) {
|
|
@@ -223,7 +286,7 @@ public class ScanController {
|
|
|
model.put("into", "禁止外出");
|
|
|
model.put("errorMsg", "根据武汉市小区封闭管理规定,非特殊人员禁止出行!");
|
|
|
scanService.saveOutScanEstate(userOpen.getUserId(), -1, model.get("errorMsg").toString());
|
|
|
- return new ModelAndView("/user/goOut.ftl", model);
|
|
|
+ return new ModelAndView("/user/scanEstate.ftl", model);
|
|
|
}
|
|
|
List<MsReport> msReports = msReportMapper.selectMsReportLate(userOpen.getUserId());
|
|
|
if (msReports.size() != 3) {
|
|
@@ -276,8 +339,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 +348,129 @@ 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", "外出请佩戴口罩,避免近距离接触,保生产同时注意自身安全。");
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ String returnWork = msReportMapper.returnWork(userOpen.getUserId());
|
|
|
+ if (returnWork != null) {
|
|
|
+ List<MsReport> msReports2 = msReportMapper.returnWorkTime(returnWork, userOpen.getUserId());
|
|
|
+ if (msReports2.size() < 15) {
|
|
|
+ model.put("collor", "red");
|
|
|
+ model.put("into", "不许进入");
|
|
|
+ model.put("errorMsg", "您返回工作驻地后未满14日,不许进入。"+day15(msReports2)+"起方可进入!");
|
|
|
+ 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);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -377,6 +519,17 @@ public class ScanController {
|
|
|
return time.substring(0, time.length() - 1);
|
|
|
}
|
|
|
|
|
|
+ public String day15(List<MsReport> list) {
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("MM月dd日");
|
|
|
+ Date time1 = null;
|
|
|
+ if(list.size() == 0) {
|
|
|
+ time1 = new Date();
|
|
|
+ } else {
|
|
|
+ time1 = list.get(0).getReportDate();
|
|
|
+ }
|
|
|
+ return sdf.format(new Date(time1.getTime() + 1000L*3600*24*14));
|
|
|
+ }
|
|
|
+
|
|
|
// /**
|
|
|
// * 生成进出门二维码
|
|
|
// * @param doorId 小区大门ID
|