bug 食堂修改

This commit is contained in:
lizhenhua 2025-09-08 09:47:12 +08:00
parent a78873474c
commit 4fd892e771
6 changed files with 55 additions and 33 deletions

View File

@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.*;
/**
* 水电数据Controller
*
*
* @author xsheng
* @date 2025-04-05
*/
@ -31,8 +31,7 @@ public class HardwareScreenController extends BaseController {
@ApiOperation(value = "获取水电数据详细信息")
@PostMapping(value = "/getHydroPowerInfo")
public AjaxResult getHydroPowerInfo(@RequestBody HydroPowerVo dto) {
long type=dto.getDateType();
return success(hardwareScreenService.selectHydroPowerByType(type));
return success(hardwareScreenService.selectHydroPowerByType(dto));
}
/**

View File

@ -9,7 +9,7 @@ import java.util.List;
* @author 19814
*/
public interface HardwareScreenMapper {
public List<HydroPowerVo> selectHydroPowerByType(Long type);
public List<HydroPowerVo> selectHydroPowerByType(HydroPowerVo type);
public MorningCheckVo getMorningCheckInfo();
public MorningCheckVo getHealthCheckNum();
public List<MorningCheckVo> getCookCertificateInfo();

View File

@ -8,18 +8,18 @@ import java.util.List;
/**
* 水电数据Service接口
*
*
* @author xsheng
* @date 2025-04-05
*/
public interface HardwareScreenService {
/**
* 查询水电数据
*
*
* @param type 水电数据主键
* @return 水电数据
*/
public List<HydroPowerVo> selectHydroPowerByType(Long type);
public List<HydroPowerVo> selectHydroPowerByType(HydroPowerVo dto);
public List<DishVo> getDishInfo(DishVo dishVo);

View File

@ -4,9 +4,12 @@ import com.bonus.canteen.core.screening.mapper.HardwareScreenMapper;
import com.bonus.canteen.core.screening.vo.DishVo;
import com.bonus.canteen.core.screening.vo.HydroPowerVo;
import com.bonus.canteen.core.screening.vo.MorningCheckVo;
import com.bonus.common.houqin.constant.DeviceTypeEnum;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
/**
@ -18,18 +21,23 @@ public class HardwareScreenServiceImpl implements HardwareScreenService {
private HardwareScreenMapper mapper;
@Override
public List<HydroPowerVo> selectHydroPowerByType(Long type) {
List<HydroPowerVo> list=new ArrayList<>();
public List<HydroPowerVo> selectHydroPowerByType(HydroPowerVo dto) {
List<HydroPowerVo> list = null;
try {
for(int i=0;i<8;i++){
HydroPowerVo vo=new HydroPowerVo();
vo.setCanteen("大一食堂");
vo.setPlace("一楼");
vo.setName("用电量");
vo.setValue("15");
vo.setOnline("在线");
list.add(vo);
//处理电的逻辑
if(Objects.equals(dto.getIfwater(), "1")){
dto.setDeviceType(DeviceTypeEnum.ELECTRIC_METER.getKey());
}else{
dto.setDeviceType(DeviceTypeEnum.WATER_METER.getKey());
}
// 自动填充 dateParam / monthParam
if(dto.getDateType() == 1L) { // 今天
dto.setDateParam(LocalDate.now().toString()); // "2025-08-15"
} else if(dto.getDateType() == 2L) { // 本月
dto.setMonthParam(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM"))); // "2025-08"
}
list = mapper.selectHydroPowerByType(dto);
}catch (Exception e){
e.printStackTrace();
}

View File

@ -12,5 +12,10 @@ public class HydroPowerVo {
private String name;
private String value;
private String online;
private long dateType;
private long dateType;//1:今日 2:本月 3:累计
private String ifwater;//1:有水 2:
private int deviceType;
private String dateParam; // yyyy-MM-dd 格式
private String monthParam; // yyyy-MM 格式
}

View File

@ -4,20 +4,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bonus.canteen.core.screening.mapper.HardwareScreenMapper">
<select id="selectHydroPowerByType" resultType="com.bonus.canteen.core.screening.vo.HydroPowerVo">
</select>
<select id="getMorningCheckInfo" resultType="com.bonus.canteen.core.screening.vo.MorningCheckVo">
SELECT
count(1) AS morningCheckNum
,sum(case when temperature_status='1' then 0 else 1 end) AS morningCheckAbno
,count(1) AS handCheckNum
,sum(case when temperature_status='1' then 0 else 1 end) AS handCheckAbno
,count(1) AS faceCheckNum
,sum(case when temperature_status='1' then 0 else 1 end) AS faceCheckAbno
FROM kitchen_staff_morning_check
where DATE(record_time)=DATE(NOW())
</select>
SELECT
bc.canteen_name AS canteen,
m.device_network_state AS online,
CONCAT(ba.area_name, '-', ksp.sub_place_name) AS place,
SUM(
<choose>
<when test="dataType == 1">
CASE WHEN DATE(w.record_time) = #{dateParam} THEN CAST(w.usage_power AS DECIMAL(10,2)) ELSE 0 END
</when>
<when test="dataType == 2">
CASE WHEN DATE_FORMAT(w.record_time, '%Y-%m') = #{monthParam} THEN CAST(w.usage_power AS DECIMAL(10,2)) ELSE 0 END
</when>
<when test="dataType == 3">
CAST(w.usage_power AS DECIMAL(10,2))
</when>
</choose>
) AS 'name'
FROM kitchen_device_info m
LEFT JOIN kitchen_water_info w ON m.device_id = w.device_id
LEFT JOIN basic_area ba ON m.area_id = ba.area_id
LEFT JOIN basic_canteen bc ON bc.canteen_id = m.canteen_id
LEFT JOIN kitchen_sub_place ksp ON ksp.sub_place_id = m.sub_place
WHERE m.device_type = #{deviceType}
GROUP BY m.device_id
<select id="getHealthCheckNum" resultType="com.bonus.canteen.core.screening.vo.MorningCheckVo">
select count(1) as healthNum,
@ -32,4 +42,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where aa.post_name like '%厨师%' and bb.photo_url is not null
</select>
</mapper>
</mapper>