调整餐厅开餐时间
This commit is contained in:
parent
61848a4a82
commit
c6738119d1
@ -1,6 +1,5 @@
|
|||||||
package com.evo.common.utils;
|
package com.evo.common.utils;
|
||||||
|
|
||||||
import com.alibaba.fastjson2.JSON;
|
|
||||||
import com.alibaba.fastjson2.JSONObject;
|
import com.alibaba.fastjson2.JSONObject;
|
||||||
import com.evo.attendance.domain.RzSysParam;
|
import com.evo.attendance.domain.RzSysParam;
|
||||||
import com.evo.attendance.service.IRzSysParamService;
|
import com.evo.attendance.service.IRzSysParamService;
|
||||||
@ -12,8 +11,6 @@ import org.apache.commons.lang3.ObjectUtils;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -38,7 +35,18 @@ public class ParamUtils {
|
|||||||
private static ISysDictDataService dictDataService;
|
private static ISysDictDataService dictDataService;
|
||||||
|
|
||||||
private static IRzHolidayService rzHolidayService;
|
private static IRzHolidayService rzHolidayService;
|
||||||
|
/**
|
||||||
|
* 早餐
|
||||||
|
*/
|
||||||
|
public static String BREAKFAST_SCOPE = "早餐";
|
||||||
|
/**
|
||||||
|
* 午餐
|
||||||
|
*/
|
||||||
|
public static String LUNCH_SCOPE = "午餐";
|
||||||
|
/**
|
||||||
|
* 晚餐
|
||||||
|
*/
|
||||||
|
public static String DINNER_SCOPE = "晚餐";
|
||||||
@Autowired
|
@Autowired
|
||||||
public ParamUtils(IRzSysParamService paramService, ISysDictDataService dictDataService,IRzHolidayService rzHolidayService) {
|
public ParamUtils(IRzSysParamService paramService, ISysDictDataService dictDataService,IRzHolidayService rzHolidayService) {
|
||||||
this.paramService = paramService;
|
this.paramService = paramService;
|
||||||
@ -46,6 +54,27 @@ public class ParamUtils {
|
|||||||
this.rzHolidayService = rzHolidayService;
|
this.rzHolidayService = rzHolidayService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***
|
||||||
|
* 获取餐厅的开放时间
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static List<Integer> getCanteenOpenHour(){
|
||||||
|
RzSysParam param= paramService.getRzSysParam("餐厅的开放就餐时间", "canteen_open_hour","7,8,11,12,13,17,18,19,20","餐厅的开放就餐时间, 多个时间用,间隔");
|
||||||
|
return Collections.asList(param.getParamValue().split(",")).stream().filter(StringUtils::isNotEmpty).map(Integer::valueOf).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
public static Map<String, Map<String, Integer>> getCanteenLimitHour(){
|
||||||
|
RzSysParam param= paramService.getRzSysParam("餐厅的开放就餐时间", "canteen_limit_hour","{\""+BREAKFAST_SCOPE+"\":\"6~9\", \""+LUNCH_SCOPE+"\":\"11~14\", \""+DINNER_SCOPE+"\":\"17~20\"}","餐厅的开放就餐时间, 多个时间用,间隔");
|
||||||
|
JSONObject jsonObject = JSONObject.parseObject(param.getParamValue());
|
||||||
|
String[] breakfastScope = jsonObject.getString(BREAKFAST_SCOPE).split("~");
|
||||||
|
String[] lunchScope = jsonObject.getString(LUNCH_SCOPE).split("~");
|
||||||
|
String[] dinnerScope = jsonObject.getString(DINNER_SCOPE).split("~");
|
||||||
|
Map<String, Map<String, Integer>> result = Collections.emptyMap();
|
||||||
|
result.put(BREAKFAST_SCOPE, Collections.asMap("minHour", Integer.valueOf(breakfastScope[0]),"maxHour",Integer.valueOf(breakfastScope[1])));
|
||||||
|
result.put(LUNCH_SCOPE,Collections.asMap("minHour",Integer.valueOf(lunchScope[0]),"maxHour",Integer.valueOf(lunchScope[1])));
|
||||||
|
result.put(DINNER_SCOPE,Collections.asMap("minHour",Integer.valueOf(dinnerScope[0]),"maxHour",Integer.valueOf(dinnerScope[1])));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
public static String getLimitSubsidyDay(){
|
public static String getLimitSubsidyDay(){
|
||||||
RzSysParam param= paramService.getRzSysParam("月中转正的补助限制日期", "limit_subsidy_day","10","月中转正的补助限制日期; 如value填写的为10. 则10号之前转正有补助, 10号之后转正没有补助");
|
RzSysParam param= paramService.getRzSysParam("月中转正的补助限制日期", "limit_subsidy_day","10","月中转正的补助限制日期; 如value填写的为10. 则10号之前转正有补助, 10号之后转正没有补助");
|
||||||
return param.getParamValue();
|
return param.getParamValue();
|
||||||
@ -145,8 +174,7 @@ public class ParamUtils {
|
|||||||
public static JSONObject getDeviceOverTimeRules(String sn){
|
public static JSONObject getDeviceOverTimeRules(String sn){
|
||||||
if(StringUtils.isEmpty(sn)) return null;
|
if(StringUtils.isEmpty(sn)) return null;
|
||||||
RzSysParam param= paramService.getRzSysParam("特殊加班的考勤规则", "device_over_time_rules","{\"ET74336\":{\"minHour\":2, \"maxHour\":3,\"endMealTime\":\"19:00\"}}","特殊加班的考勤规则, minHour:最小加班时长. maxHour: 最大加班时长, endMealTime: 餐厅闭厅时间");
|
RzSysParam param= paramService.getRzSysParam("特殊加班的考勤规则", "device_over_time_rules","{\"ET74336\":{\"minHour\":2, \"maxHour\":3,\"endMealTime\":\"19:00\"}}","特殊加班的考勤规则, minHour:最小加班时长. maxHour: 最大加班时长, endMealTime: 餐厅闭厅时间");
|
||||||
String val = param.getParamValue();
|
JSONObject jsonObject = JSONObject.parseObject(param.getParamValue());
|
||||||
JSONObject jsonObject = JSONObject.parseObject(val);
|
|
||||||
JSONObject rules = jsonObject.getJSONObject(sn);
|
JSONObject rules = jsonObject.getJSONObject(sn);
|
||||||
return (ObjectUtils.isEmpty(rules) ? JSONObject.parseObject("{\"maxHour\":4}") : rules);
|
return (ObjectUtils.isEmpty(rules) ? JSONObject.parseObject("{\"maxHour\":4}") : rules);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -170,7 +170,7 @@ public class WebSocketServer{
|
|||||||
//发送设备按钮信息
|
//发送设备按钮信息
|
||||||
snDetailService.sendButtons(Collections.asList(snDetail.getSn()));
|
snDetailService.sendButtons(Collections.asList(snDetail.getSn()));
|
||||||
//发送照片
|
//发送照片
|
||||||
snDetailService.sendPhoto(Collections.asList(snDetail.getSn()), null);
|
// snDetailService.sendPhoto(Collections.asList(snDetail.getSn()), null);
|
||||||
}else{
|
}else{
|
||||||
//接受设备端返回的数据,先不做处理
|
//接受设备端返回的数据,先不做处理
|
||||||
System.out.println("设备返回信息:"+message);
|
System.out.println("设备返回信息:"+message);
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSONObject;
|
|||||||
import com.evo.common.constant.Constants;
|
import com.evo.common.constant.Constants;
|
||||||
import com.evo.common.core.domain.AjaxResult;
|
import com.evo.common.core.domain.AjaxResult;
|
||||||
import com.evo.common.utils.DateUtils;
|
import com.evo.common.utils.DateUtils;
|
||||||
|
import com.evo.common.utils.ParamUtils;
|
||||||
import com.evo.common.utils.SecurityUtils;
|
import com.evo.common.utils.SecurityUtils;
|
||||||
import com.evo.common.utils.StringUtils;
|
import com.evo.common.utils.StringUtils;
|
||||||
import com.evo.restaurant.domain.RzRestaurantDetail;
|
import com.evo.restaurant.domain.RzRestaurantDetail;
|
||||||
@ -22,6 +23,7 @@ import javax.annotation.Resource;
|
|||||||
import java.util.Calendar;
|
import java.util.Calendar;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 餐饮详情Service业务层处理
|
* 餐饮详情Service业务层处理
|
||||||
@ -71,7 +73,8 @@ public class RzRestaurantDetailServiceImpl implements IRzRestaurantDetailService
|
|||||||
int hour = calendar.get(Calendar.HOUR_OF_DAY);
|
int hour = calendar.get(Calendar.HOUR_OF_DAY);
|
||||||
|
|
||||||
//判断是否在就餐时间,如果在就餐时间打卡有效,否则打卡无效
|
//判断是否在就餐时间,如果在就餐时间打卡有效,否则打卡无效
|
||||||
if(hour!=7&&hour!=8&&hour!=11&&hour!=12&&hour!=13&&hour!=18&&hour!=19&&hour!=20){
|
//if(hour!=7&&hour!=8&&hour!=11&&hour!=12&&hour!=13&&hour!=18&&hour!=19&&hour!=20){
|
||||||
|
if(!ParamUtils.getCanteenOpenHour().contains(hour)){
|
||||||
cfiv.setResult(2);
|
cfiv.setResult(2);
|
||||||
cfiv.setMsg("{\"Result\":1,\"Msg\":\"不在打卡时间内\"}");
|
cfiv.setMsg("{\"Result\":1,\"Msg\":\"不在打卡时间内\"}");
|
||||||
return JSONObject.toJSONString(cfiv);
|
return JSONObject.toJSONString(cfiv);
|
||||||
@ -109,15 +112,19 @@ public class RzRestaurantDetailServiceImpl implements IRzRestaurantDetailService
|
|||||||
cyFaceInfo.setName(restaurantStatistics.getName());
|
cyFaceInfo.setName(restaurantStatistics.getName());
|
||||||
cyFaceInfo.setTime(new Date());
|
cyFaceInfo.setTime(new Date());
|
||||||
//判断刷脸时间是早餐还是午餐还是晚餐
|
//判断刷脸时间是早餐还是午餐还是晚餐
|
||||||
if(hour>6&&hour<9){
|
Map<String, Map<String, Integer>> limitHour = ParamUtils.getCanteenLimitHour();
|
||||||
|
Map<String, Integer> breakfastLimitMap = limitHour.get(ParamUtils.BREAKFAST_SCOPE);
|
||||||
|
Map<String, Integer> lunchLimitMap = limitHour.get(ParamUtils.LUNCH_SCOPE);
|
||||||
|
Map<String, Integer> dinnerLimitMap = limitHour.get(ParamUtils.DINNER_SCOPE);
|
||||||
|
if(breakfastLimitMap.get("minHour") < hour && hour < breakfastLimitMap.get("maxHour")){
|
||||||
//说明是早餐
|
//说明是早餐
|
||||||
cyFaceInfo.setSign("早餐");
|
cyFaceInfo.setSign("早餐");
|
||||||
restaurantStatistics.setBreakfastNumber(restaurantStatistics.getBreakfastNumber() + 1);
|
restaurantStatistics.setBreakfastNumber(restaurantStatistics.getBreakfastNumber() + 1);
|
||||||
}else if(hour>=11&&hour<=14){
|
}else if(lunchLimitMap.get("minHour") <= hour && hour <= lunchLimitMap.get("maxHour")){
|
||||||
//说明是午餐
|
//说明是午餐
|
||||||
cyFaceInfo.setSign("午餐");
|
cyFaceInfo.setSign("午餐");
|
||||||
restaurantStatistics.setLunchNumber(restaurantStatistics.getLunchNumber() + 1);
|
restaurantStatistics.setLunchNumber(restaurantStatistics.getLunchNumber() + 1);
|
||||||
}else if(hour>=18&&hour<=20){
|
}else if(dinnerLimitMap.get("minHour") <= hour && hour <= dinnerLimitMap.get("maxHour")){
|
||||||
//说明是晚餐
|
//说明是晚餐
|
||||||
cyFaceInfo.setSign("晚餐");
|
cyFaceInfo.setSign("晚餐");
|
||||||
restaurantStatistics.setSupperNumber(restaurantStatistics.getSupperNumber() + 1);
|
restaurantStatistics.setSupperNumber(restaurantStatistics.getSupperNumber() + 1);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user