Newspaper 1 år sedan
förälder
incheckning
365a43b9c6
36 ändrade filer med 640 tillägg och 21 borttagningar
  1. 22 0
      snowy-web-app/src/main/java/vip/xiaonuo/Timer/WarningRemindTimer.java
  2. 13 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/controller/DailyInspectionController.java
  3. 2 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/mapper/DailyInspectionMapper.java
  4. 19 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/mapper/mapping/DailyInspectionMapper.xml
  5. 3 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/service/DailyInspectionService.java
  6. 13 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/service/impl/DailyInspectionServiceImpl.java
  7. 13 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/controller/TaskInspectionController.java
  8. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/entity/TaskInspection.java
  9. 2 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/mapper/TaskInspectionMapper.java
  10. 22 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/mapper/mapping/TaskInspectionMapper.xml
  11. 2 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/service/TaskInspectionService.java
  12. 46 3
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/service/impl/TaskInspectionServiceImpl.java
  13. 32 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/warningRemind/controller/WarningRemindController.java
  14. 69 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/warningRemind/entity/WarningRemind.java
  15. 34 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/warningRemind/enums/WarningRemindEnum.java
  16. 25 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/warningRemind/mapper/WarningRemindMapper.java
  17. 5 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/warningRemind/mapper/mapping/WarningRemindMapper.xml
  18. 26 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/warningRemind/service/WarningRemindService.java
  19. 30 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/warningRemind/service/impl/WarningRemindServiceImpl.java
  20. 3 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/department/service/impl/DepartmentServiceImpl.java
  21. 19 5
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/pigpen/controller/BasePigpenController.java
  22. 13 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/pigpen/entity/vo/BasePigpenMobileVo.java
  23. 3 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/pigpen/service/BasePigpenService.java
  24. 64 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/pigpen/service/impl/BasePigpenServiceImpl.java
  25. 2 2
      snowy-web-app/src/main/java/vip/xiaonuo/modular/clean/billpersonneladmission/service/impl/BillPersonnelAdmissionServiceImpl.java
  26. 17 4
      snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/controller/EnergyElectricityController.java
  27. 20 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/entity/vo/EnergyElectricityMobileVo.java
  28. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/entity/vo/EnergyScreenVo.java
  29. 3 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/mapper/EnergyElectricityMapper.java
  30. 15 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/mapper/mapping/EnergyElectricityMapper.xml
  31. 36 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/param/EnergyElectricityUnitIdParam.java
  32. 4 4
      snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/service/EnergyElectricityService.java
  33. 43 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/service/impl/EnergyElectricityServiceImpl.java
  34. 2 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyWater/mapper/EnergyWaterMapper.java
  35. 15 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyWater/mapper/mapping/EnergyWaterMapper.xml
  36. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/service/impl/WarningInfoServiceImpl.java

+ 22 - 0
snowy-web-app/src/main/java/vip/xiaonuo/Timer/WarningRemindTimer.java

@@ -0,0 +1,22 @@
+package vip.xiaonuo.Timer;
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import vip.xiaonuo.common.timer.CommonTimerTaskRunner;
+import vip.xiaonuo.modular.ai.warningRemind.entity.WarningRemind;
+import vip.xiaonuo.modular.ai.warningRemind.mapper.WarningRemindMapper;
+import vip.xiaonuo.modular.ai.warningRemind.service.WarningRemindService;
+
+@Slf4j
+@Component
+public class WarningRemindTimer implements CommonTimerTaskRunner {
+    @Autowired
+    private WarningRemindService warningRemindService;
+
+    @Override
+    public void action() {
+        warningRemindService.update(new UpdateWrapper<WarningRemind>().lambda().set(WarningRemind::getTodayNoRemind,0));
+    }
+}

+ 13 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/controller/DailyInspectionController.java

@@ -100,4 +100,17 @@ public class DailyInspectionController {
         dailyInspectionService.delete(dailyInspectionIdParamList);
         return CommonResult.ok();
     }
+
+    /**
+     * 获取日常巡检详情
+     *
+     * @author newspaper
+     * @date  2024/01/08 15:58
+     */
+    @ApiOperationSupport(order = 5)
+    @ApiOperation("获取日常巡检详情")
+    @GetMapping("/ai/dailyInspection/detail")
+    public CommonResult<DailyInspectionImageVo> detail(DailyInspectionIdParam dailyInspectionIdParam) {
+        return CommonResult.data(dailyInspectionService.detail(dailyInspectionIdParam));
+    }
 }

+ 2 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/mapper/DailyInspectionMapper.java

@@ -25,4 +25,6 @@ import vip.xiaonuo.modular.ai.dailyInspection.entity.vo.DailyInspectionPageVo;
  **/
 public interface DailyInspectionMapper extends BaseMapper<DailyInspection> {
     Page<DailyInspectionPageVo> page(Page<Object> defaultPage, String userId, Integer status, Integer orgId);
+
+    DailyInspectionPageVo detail(String id);
 }

+ 19 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/mapper/mapping/DailyInspectionMapper.xml

@@ -24,4 +24,23 @@
         ORDER BY
         d.create_time DESC;
     </select>
+    <select id="detail" resultType="vip.xiaonuo.modular.ai.dailyInspection.entity.vo.DailyInspectionPageVo"
+            parameterType="java.lang.String">
+        SELECT
+        d.id,
+        p.fullName AS 'unitName',
+        d.create_time,
+        d.inspect_time,
+        u.NAME AS 'userName',
+        d.description,
+        d.img_url,
+        d.status
+        FROM
+        `daily_inspection` d
+        LEFT JOIN `base_pigpen` p ON w.unit_id = p.id
+        LEFT JOIN `SYS_USER` u ON t.inspect_person_id = u.id
+        WHERE
+        d.id = #{id}
+
+    </select>
 </mapper>

+ 3 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/service/DailyInspectionService.java

@@ -56,4 +56,7 @@ public interface DailyInspectionService extends IService<DailyInspection> {
      * @date  2024/01/08 15:58
      */
     void edit(String id, String inspectTime, String inspectPersonId, String description, MultipartFile img1, MultipartFile img2, MultipartFile img3) throws IOException;
+
+    DailyInspectionImageVo detail(DailyInspectionIdParam dailyInspectionIdParam);
+
 }

+ 13 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/service/impl/DailyInspectionServiceImpl.java

@@ -36,6 +36,7 @@ import vip.xiaonuo.modular.ai.dailyInspection.param.DailyInspectionPageParam;
 import vip.xiaonuo.modular.ai.dailyInspection.service.DailyInspectionService;
 import vip.xiaonuo.modular.bi.utils.UploadImage;
 
+import javax.validation.constraints.NotBlank;
 import java.io.IOException;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
@@ -108,6 +109,18 @@ public class DailyInspectionServiceImpl extends ServiceImpl<DailyInspectionMappe
         this.updateById(dailyInspection);
     }
 
+    @Override
+    public DailyInspectionImageVo detail(DailyInspectionIdParam dailyInspectionIdParam) {
+        String id = dailyInspectionIdParam.getId();
+        DailyInspectionImageVo dailyInspectionImageVo = new DailyInspectionImageVo();
+        DailyInspectionPageVo dailyInspectionPageVo = dailyInspectionMapper.detail(id);
+        BeanUtil.copyProperties(dailyInspectionPageVo,dailyInspectionImageVo);
+        if (ObjectUtil.isNotEmpty(dailyInspectionPageVo.getImgUrl())){
+            dailyInspectionImageVo.setPages(dailyInspectionPageVo.getImgUrl().split(","));
+        }
+        return dailyInspectionImageVo;
+    }
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void delete(List<DailyInspectionIdParam> dailyInspectionIdParamList) {

+ 13 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/controller/TaskInspectionController.java

@@ -105,4 +105,17 @@ public class TaskInspectionController {
         taskInspectionService.delete(taskInspectionIdParamList);
         return CommonResult.ok();
     }
+
+    /**
+     * 获取任务巡检详情
+     *
+     * @author newspaper
+     * @date  2024/01/08 09:21
+     */
+    @ApiOperationSupport(order = 1)
+    @ApiOperation("获取任务巡检详情")
+    @GetMapping("/ai/taskInspection/detail")
+    public CommonResult<TaskInspectionImageVo> detail(TaskInspectionIdParam taskInspectionIdParam) {
+        return CommonResult.data(taskInspectionService.detail(taskInspectionIdParam));
+    }
 }

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/entity/TaskInspection.java

@@ -68,6 +68,6 @@ public class TaskInspection extends CommonEntity {
 
     /** 组织id */
     @ApiModelProperty(value = "组织id", position = 9)
-    private Integer orgId;
+    private String orgId;
 
 }

+ 2 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/mapper/TaskInspectionMapper.java

@@ -26,4 +26,6 @@ import vip.xiaonuo.modular.ai.taskInspection.entity.vo.TaskInspectionPageVo;
  **/
 public interface TaskInspectionMapper extends BaseMapper<TaskInspection> {
     Page<TaskInspectionPageVo> page(Page<Object> defaultPage, String userId, Integer status, Integer orgId);
+
+    TaskInspectionPageVo detail(String id);
 }

+ 22 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/mapper/mapping/TaskInspectionMapper.xml

@@ -28,4 +28,26 @@
         ORDER BY
             t.create_time DESC;
     </select>
+    <select id="detail" resultType="vip.xiaonuo.modular.ai.taskInspection.entity.vo.TaskInspectionPageVo"
+            parameterType="java.lang.String">
+        SELECT
+        t.id,
+        c.configName AS 'warningType',
+        p.fullName AS 'unitName',
+        w.warning_content,
+        t.create_time,
+        t.status
+        t.inspect_time,
+        u.NAME AS 'userName',
+        t.description,
+        t.img_url
+        FROM
+        `task_inspection` t
+        LEFT JOIN `warning_info` w ON t.warning_id = w.id
+        LEFT JOIN `base_config` c ON w.warning_type_id = c.id
+        LEFT JOIN `base_pigpen` p ON w.unit_id = p.id
+        LEFT JOIN `SYS_USER` u ON t.inspect_person_id = u.id
+        WHERE
+        t.id = #{id}
+    </select>
 </mapper>

+ 2 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/service/TaskInspectionService.java

@@ -60,4 +60,6 @@ public interface TaskInspectionService extends IService<TaskInspection> {
     TaskInspection queryEntity(String id);
 
     void edit(String id, String inspectTime, String inspectPersonId, String description, String noRemind, MultipartFile img1, MultipartFile img2, MultipartFile img3) throws IOException;
+
+    TaskInspectionImageVo detail(TaskInspectionIdParam taskInspectionIdParam);
 }

+ 46 - 3
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/service/impl/TaskInspectionServiceImpl.java

@@ -39,7 +39,12 @@ import vip.xiaonuo.modular.ai.taskInspection.param.TaskInspectionEditParam;
 import vip.xiaonuo.modular.ai.taskInspection.param.TaskInspectionIdParam;
 import vip.xiaonuo.modular.ai.taskInspection.param.TaskInspectionPageParam;
 import vip.xiaonuo.modular.ai.taskInspection.service.TaskInspectionService;
+import vip.xiaonuo.modular.ai.warningRemind.entity.WarningRemind;
+import vip.xiaonuo.modular.ai.warningRemind.mapper.WarningRemindMapper;
+import vip.xiaonuo.modular.base.baseConfig.mapper.BaseConfigMapper;
 import vip.xiaonuo.modular.bi.utils.UploadImage;
+import vip.xiaonuo.modular.warning.warningInfo.entity.WarningInfo;
+import vip.xiaonuo.modular.warning.warningInfo.mapper.WarningInfoMapper;
 
 import javax.validation.constraints.NotBlank;
 import java.io.IOException;
@@ -58,9 +63,15 @@ import java.util.List;
 public class TaskInspectionServiceImpl extends ServiceImpl<TaskInspectionMapper, TaskInspection> implements TaskInspectionService {
 
     @Autowired
+    private WarningRemindMapper warningRemindMapper;
+    @Autowired
     private TaskInspectionMapper taskInspectionMapper;
     @Autowired
     private UploadImage uploadImage;
+    @Autowired
+    private WarningInfoMapper warningInfoMapper;
+    @Autowired
+    private BaseConfigMapper baseConfigMapper;
 
     @Override
     public Page<TaskInspectionImageVo> page(TaskInspectionPageParam taskInspectionPageParam) {
@@ -95,23 +106,55 @@ public class TaskInspectionServiceImpl extends ServiceImpl<TaskInspectionMapper,
         taskInspection.setDescription(description);
         String imgUrl = "";
         if (ObjectUtil.isNotEmpty(img1)){
-            if (!uploadImage.getImageCom(img1).equals("上传失败")){
+            if (!"上传失败".equals(uploadImage.getImageCom(img1))){
                 imgUrl = uploadImage.getImageCom(img1);
             }
         }
         if (ObjectUtil.isNotEmpty(img2)){
-            if (!uploadImage.getImageCom(img2).equals("上传失败")){
+            if (!"上传失败".equals(uploadImage.getImageCom(img2))){
                 imgUrl = imgUrl + "," + uploadImage.getImageCom(img2);
             }
         }
         if (ObjectUtil.isNotEmpty(img3)){
-            if (!uploadImage.getImageCom(img3).equals("上传失败")){
+            if (!"上传失败".equals(uploadImage.getImageCom(img3))){
                 imgUrl = imgUrl + "," + uploadImage.getImageCom(img3);
             }
         }
         taskInspection.setImgUrl(imgUrl);
         taskInspection.setStatus(1);
         this.updateById(taskInspection);
+
+        if ("1".equals(noRemind)){
+            WarningInfo warningInfo = warningInfoMapper.selectById(taskInspection.getWarningId());
+            String waringTypeId = baseConfigMapper.selectById(warningInfo.getWarningTypeId()).getId();
+            WarningRemind warningRemind = warningRemindMapper.selectOne(new QueryWrapper<WarningRemind>().lambda()
+                    .eq(WarningRemind::getOrgId, taskInspection.getOrgId())
+                    .eq(WarningRemind::getUnitId, warningInfo.getUnitId())
+                    .eq(WarningRemind::getWarningTypeId, waringTypeId));
+            if (ObjectUtil.isNotEmpty(warningRemind)){
+                warningRemind.setTodayNoRemind(1);
+                warningRemindMapper.updateById(warningRemind);
+            }else {
+                warningRemind = new WarningRemind();
+                warningRemind.setOrgId(taskInspection.getOrgId());
+                warningRemind.setUnitId(warningInfo.getUnitId());
+                warningRemind.setWarningTypeId(waringTypeId);
+                warningRemind.setTodayNoRemind(1);
+                warningRemindMapper.insert(warningRemind);
+            }
+        }
+    }
+
+    @Override
+    public TaskInspectionImageVo detail(TaskInspectionIdParam taskInspectionIdParam) {
+        String id = taskInspectionIdParam.getId();
+        TaskInspectionImageVo taskInspectionImageVo = new TaskInspectionImageVo();
+        TaskInspectionPageVo taskInspectionPageVo = taskInspectionMapper.detail(id);
+        BeanUtil.copyProperties(taskInspectionPageVo,taskInspectionImageVo);
+        if (ObjectUtil.isNotEmpty(taskInspectionPageVo.getImgUrl())){
+            taskInspectionImageVo.setPages(taskInspectionPageVo.getImgUrl().split(","));
+        }
+        return taskInspectionImageVo;
     }
 
     @Transactional(rollbackFor = Exception.class)

+ 32 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/warningRemind/controller/WarningRemindController.java

@@ -0,0 +1,32 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.modular.ai.warningRemind.controller;
+
+import com.github.xiaoymin.knife4j.annotations.ApiSupport;
+import io.swagger.annotations.Api;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 今日不再提醒巡检控制器
+ *
+ * @author newspaper
+ * @date  2024/01/09 15:26
+ */
+@Api(tags = "今日不再提醒巡检控制器")
+@ApiSupport(author = "SNOWY_TEAM", order = 1)
+@RestController
+@Validated
+public class WarningRemindController {
+
+}

+ 69 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/warningRemind/entity/WarningRemind.java

@@ -0,0 +1,69 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.modular.ai.warningRemind.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 今日不再提醒巡检实体
+ *
+ * @author newspaper
+ * @date  2024/01/09 15:26
+ **/
+@Getter
+@Setter
+@TableName("warning_remind")
+public class WarningRemind {
+
+    /** id */
+    @TableId
+    @ApiModelProperty(value = "id", position = 1)
+    private String id;
+
+    /** 单元id */
+    @ApiModelProperty(value = "单元id", position = 2)
+    private String unitId;
+
+    /** 预警类型id */
+    @ApiModelProperty(value = "预警类型id", position = 3)
+    private String warningTypeId;
+
+    /** 今日不再提醒 0提醒 1不提醒 */
+    @ApiModelProperty(value = "今日不再提醒 0提醒 1不提醒", position = 4)
+    private Integer todayNoRemind;
+
+    /** 组织id*/
+    @ApiModelProperty(value = "组织id", position = 5)
+    private String orgId;
+
+    /** 删除标志 */
+    @ApiModelProperty(value = "删除标志", position = 99)
+    @TableLogic
+    @TableField(fill = FieldFill.INSERT)
+    private String deleteFlag;
+
+    /** 创建时间 */
+    @ApiModelProperty(value = "创建时间", position = 99)
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    /** 创建用户 */
+    @ApiModelProperty(value = "创建用户", position = 99)
+    @TableField(fill = FieldFill.INSERT)
+    private String createUser;
+}

+ 34 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/warningRemind/enums/WarningRemindEnum.java

@@ -0,0 +1,34 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.modular.ai.warningRemind.enums;
+
+import lombok.Getter;
+
+/**
+ * 今日不再提醒巡检枚举
+ *
+ * @author newspaper
+ * @date  2024/01/09 15:26
+ **/
+@Getter
+public enum WarningRemindEnum {
+
+    /** 测试 */
+    TEST("TEST");
+
+    private final String value;
+
+    WarningRemindEnum(String value) {
+        this.value = value;
+    }
+}

+ 25 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/warningRemind/mapper/WarningRemindMapper.java

@@ -0,0 +1,25 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.modular.ai.warningRemind.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import vip.xiaonuo.modular.ai.warningRemind.entity.WarningRemind;
+
+/**
+ * 今日不再提醒巡检Mapper接口
+ *
+ * @author newspaper
+ * @date  2024/01/09 15:26
+ **/
+public interface WarningRemindMapper extends BaseMapper<WarningRemind> {
+}

+ 5 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/warningRemind/mapper/mapping/WarningRemindMapper.xml

@@ -0,0 +1,5 @@
+<?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="vip.xiaonuo.modular.ai.warningRemind.mapper.WarningRemindMapper">
+
+</mapper>

+ 26 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/warningRemind/service/WarningRemindService.java

@@ -0,0 +1,26 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.modular.ai.warningRemind.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.modular.ai.warningRemind.entity.WarningRemind;
+
+/**
+ * 今日不再提醒巡检Service接口
+ *
+ * @author newspaper
+ * @date  2024/01/09 15:26
+ **/
+public interface WarningRemindService extends IService<WarningRemind> {
+
+}

+ 30 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/warningRemind/service/impl/WarningRemindServiceImpl.java

@@ -0,0 +1,30 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.modular.ai.warningRemind.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import vip.xiaonuo.modular.ai.warningRemind.entity.WarningRemind;
+import vip.xiaonuo.modular.ai.warningRemind.mapper.WarningRemindMapper;
+import vip.xiaonuo.modular.ai.warningRemind.service.WarningRemindService;
+
+/**
+ * 今日不再提醒巡检Service接口实现类
+ *
+ * @author newspaper
+ * @date  2024/01/09 15:26
+ **/
+@Service
+public class WarningRemindServiceImpl extends ServiceImpl<WarningRemindMapper, WarningRemind> implements WarningRemindService {
+
+}

+ 3 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/department/service/impl/DepartmentServiceImpl.java

@@ -145,6 +145,9 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
         department.setSortCode(sortCode);
         if (ObjectUtil.isNotEmpty(departmentImgUrl)){
             String uploadReturnUrl = uploadImage.getImageCom(departmentImgUrl);
+            if (uploadReturnUrl.equals("上传失败")){
+                throw new CommonException("图片上传失败!");
+            }
             department.setDepartmentImgUrl(uploadReturnUrl);
         }
         this.updateById(department);

+ 19 - 5
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/pigpen/controller/BasePigpenController.java

@@ -32,6 +32,7 @@ import vip.xiaonuo.common.pojo.CommonValidList;
 import vip.xiaonuo.modular.base.baseConfig.entity.BaseConfig;
 import vip.xiaonuo.modular.base.baseConfig.service.BaseConfigService;
 import vip.xiaonuo.modular.base.pigpen.entity.BasePigpen;
+import vip.xiaonuo.modular.base.pigpen.entity.vo.BasePigpenMobileVo;
 import vip.xiaonuo.modular.base.pigpen.param.*;
 import vip.xiaonuo.modular.base.pigpen.service.BasePigpenService;
 
@@ -85,12 +86,25 @@ public class BasePigpenController {
     }
 
     /**
+     * 获取移动端栋舍树
+     *
+     * @author newspaper
+     * @date  2023/12/05 08:55
+     */
+    @ApiOperationSupport(order = 3)
+    @ApiOperation("获取移动端栋舍树")
+    @GetMapping("/biz/pigpen/mobileTree")
+    public CommonResult<List<BasePigpenMobileVo>> mobileTree(BasePigpenOrgIdParam basePigpenOrgIdParam) {
+        return CommonResult.data(basePigpenService.mobileTree(basePigpenOrgIdParam));
+    }
+
+    /**
      * 添加base_pigpen
      *
      * @author newspaper
      * @date  2023/12/05 08:55
      */
-    @ApiOperationSupport(order = 2)
+    @ApiOperationSupport(order = 4)
     @ApiOperation("添加栋舍")
     @CommonLog("添加栋舍")
     @PostMapping("/biz/pigpen/add")
@@ -105,7 +119,7 @@ public class BasePigpenController {
      * @author newspaper
      * @date  2023/12/05 08:55
      */
-    @ApiOperationSupport(order = 3)
+    @ApiOperationSupport(order = 5)
     @ApiOperation("编辑栋舍")
     @CommonLog("编辑栋舍")
     @PostMapping("/biz/pigpen/edit")
@@ -120,7 +134,7 @@ public class BasePigpenController {
      * @author newspaper
      * @date  2023/12/05 08:55
      */
-    @ApiOperationSupport(order = 4)
+    @ApiOperationSupport(order = 6)
     @ApiOperation("删除栋舍")
     @CommonLog("删除栋舍")
     @PostMapping("/biz/pigpen/delete")
@@ -136,7 +150,7 @@ public class BasePigpenController {
      * @author newspaper
      * @date  2023/12/05 08:55
      */
-    @ApiOperationSupport(order = 5)
+    @ApiOperationSupport(order = 7)
     @ApiOperation("获取栋舍详情")
     @GetMapping("/biz/pigpen/detail")
     public CommonResult<BasePigpen> detail(@Valid BasePigpenIdParam basePigpenIdParam) {
@@ -149,7 +163,7 @@ public class BasePigpenController {
      * @author newspaper
      * @date  2023/12/22 9:13
      */
-    @ApiOperationSupport(order = 6)
+    @ApiOperationSupport(order = 8)
     @ApiOperation("获取栋舍阶段选择器")
     @GetMapping("/biz/pigpen/stageSelector")
     public CommonResult<List<BaseConfig>> typeSelector(BasePigpenOrgIdParam basePigpenOrgIdParam) {

+ 13 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/pigpen/entity/vo/BasePigpenMobileVo.java

@@ -0,0 +1,13 @@
+package vip.xiaonuo.modular.base.pigpen.entity.vo;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class BasePigpenMobileVo {
+    private String id;
+    private String name;
+    private Integer type;
+    private List<BasePigpenMobileVo> child;
+}

+ 3 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/pigpen/service/BasePigpenService.java

@@ -15,6 +15,7 @@ import cn.hutool.core.lang.tree.Tree;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import vip.xiaonuo.modular.base.pigpen.entity.BasePigpen;
+import vip.xiaonuo.modular.base.pigpen.entity.vo.BasePigpenMobileVo;
 import vip.xiaonuo.modular.base.pigpen.param.*;
 
 import java.util.List;
@@ -102,4 +103,6 @@ public interface BasePigpenService extends IService<BasePigpen> {
     BasePigpen getById(List<BasePigpen> originDataList, String id);
 
     List<Tree<String>> tree(BasePigpenOrgIdParam basePigpenOrgIdParam);
+
+    List<BasePigpenMobileVo> mobileTree(BasePigpenOrgIdParam basePigpenOrgIdParam);
 }

+ 64 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/base/pigpen/service/impl/BasePigpenServiceImpl.java

@@ -36,12 +36,15 @@ import vip.xiaonuo.common.listener.CommonDataChangeEventCenter;
 import vip.xiaonuo.common.page.CommonPageRequest;
 import vip.xiaonuo.core.enums.BaseDataTypeEnum;
 import vip.xiaonuo.modular.base.pigpen.entity.BasePigpen;
+import vip.xiaonuo.modular.base.pigpen.entity.vo.BasePigpenMobileVo;
 import vip.xiaonuo.modular.base.pigpen.mapper.BasePigpenMapper;
 import vip.xiaonuo.modular.base.pigpen.param.*;
 import vip.xiaonuo.modular.base.pigpen.service.BasePigpenService;
 import vip.xiaonuo.sys.core.enums.SysDataTypeEnum;
 
 
+import javax.validation.constraints.NotBlank;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -227,4 +230,65 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
                 .collect(Collectors.toList());
         return TreeUtil.build(treeNodeList, "0");
     }
+
+    @Override
+    public List<BasePigpenMobileVo> mobileTree(BasePigpenOrgIdParam basePigpenOrgIdParam) {
+        String orgId = basePigpenOrgIdParam.getOrgId();
+        List<BasePigpenMobileVo> resultList = new ArrayList<>();
+
+        // 根节点
+        BasePigpenMobileVo root = new BasePigpenMobileVo();
+        root.setName("全场");
+        root.setId(null);
+        root.setType(0);
+
+        List<BasePigpenMobileVo> child = new ArrayList<>();
+        child.add(createPigpenNode(null,"全场", 0));
+        root.setChild(child);
+
+        resultList.add(root);
+
+        List<BasePigpen> basePigpenList = getPigpenListByTypeAndParentId(orgId, 0, 0);
+
+        if (ObjectUtil.isNotEmpty(basePigpenList)) {
+            for (BasePigpen basePigpen : basePigpenList) {
+                BasePigpenMobileVo mobileVo = createPigpenNode(basePigpen.getId(), basePigpen.getFullName(), 1);
+
+                List<BasePigpenMobileVo> child2 = new ArrayList<>();
+                child2.add(createPigpenNode(basePigpen.getId(),basePigpen.getFullName() + "整栋", 2));
+
+                List<BasePigpen> basePigpenList1 = getPigpenListByTypeAndPids(orgId, 2, basePigpen.getId());
+                if (ObjectUtil.isNotEmpty(basePigpenList1)) {
+                    basePigpenList1.forEach(pigpen -> child2.add(createPigpenNode(pigpen.getId(), pigpen.getFullName(), 2)));
+                }
+
+                mobileVo.setChild(child2);
+                resultList.add(mobileVo);
+            }
+        }
+
+        return resultList;
+    }
+
+    private List<BasePigpen> getPigpenListByTypeAndPids(String orgId, int type, String pids) {
+        return this.list(new QueryWrapper<BasePigpen>().lambda()
+                .eq(BasePigpen::getType, type)
+                .like(BasePigpen::getPids, pids)
+                .eq(BasePigpen::getOrgId, orgId));
+    }
+
+    private List<BasePigpen> getPigpenListByTypeAndParentId(String orgId, int type, int parentId) {
+        return this.list(new QueryWrapper<BasePigpen>().lambda()
+                .eq(BasePigpen::getType, type)
+                .eq(BasePigpen::getParentId, parentId)
+                .eq(BasePigpen::getOrgId, orgId));
+    }
+
+    private BasePigpenMobileVo createPigpenNode(String id, String name, int type) {
+        BasePigpenMobileVo mobileVo = new BasePigpenMobileVo();
+        mobileVo.setId(id);
+        mobileVo.setName(name);
+        mobileVo.setType(type);
+        return mobileVo;
+    }
 }

+ 2 - 2
snowy-web-app/src/main/java/vip/xiaonuo/modular/clean/billpersonneladmission/service/impl/BillPersonnelAdmissionServiceImpl.java

@@ -69,7 +69,7 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void edit(BillPersonnelAdmissionEditParam billPersonnelAdmissionEditParam) {
-        BillPersonnelAdmission billPersonnelAdmission = this.queryEntity(billPersonnelAdmissionEditParam.getId());
+        BillPersonnelAdmission billPersonnelAdmission = this.queryEntity(billPersonnelAdmissionEditParam.getId().toString());
         BeanUtil.copyProperties(billPersonnelAdmissionEditParam, billPersonnelAdmission);
         this.updateById(billPersonnelAdmission);
     }
@@ -83,7 +83,7 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
 
     @Override
     public BillPersonnelAdmission detail(BillPersonnelAdmissionIdParam billPersonnelAdmissionIdParam) {
-        return this.queryEntity(billPersonnelAdmissionIdParam.getId());
+        return this.queryEntity(billPersonnelAdmissionIdParam.getId().toString());
     }
 
     @Override

+ 17 - 4
snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/controller/EnergyElectricityController.java

@@ -18,14 +18,14 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 import vip.xiaonuo.common.pojo.CommonResult;
 import vip.xiaonuo.core.param.OrgIdParam;
-import vip.xiaonuo.modular.energy.energyElectricity.entity.vo.EnergyElectricityProportionVo;
-import vip.xiaonuo.modular.energy.energyElectricity.entity.vo.EnergyElectricityTopVo;
-import vip.xiaonuo.modular.energy.energyElectricity.entity.vo.EnergyElectricityTrendVo;
-import vip.xiaonuo.modular.energy.energyElectricity.entity.vo.EnergyScreenVo;
+import vip.xiaonuo.modular.energy.energyElectricity.entity.vo.*;
 import vip.xiaonuo.modular.energy.energyElectricity.param.EnergyElectricityListParm;
+import vip.xiaonuo.modular.energy.energyElectricity.param.EnergyElectricityUnitIdParam;
 import vip.xiaonuo.modular.energy.energyElectricity.param.EnergyElectricityProportionParam;
 import vip.xiaonuo.modular.energy.energyElectricity.param.EnergyElectricityTopParm;
 import vip.xiaonuo.modular.energy.energyElectricity.service.EnergyElectricityService;
@@ -105,4 +105,17 @@ public class EnergyElectricityController {
         return CommonResult.data(energyElectricityService.listScreenEnergy(orgId));
     }
 
+    /**
+     * 获取移动端能耗实时监测
+     *
+     * @author newspaper
+     * @date  2023/12/21 14:54
+     */
+    @ApiOperationSupport(order = 5)
+    @ApiOperation("获取移动端能耗实时监测")
+    @PostMapping("/energy/energyElectricity/getToday")
+    public CommonResult<EnergyElectricityMobileVo> getToday(@RequestBody EnergyElectricityUnitIdParam electricityUnitIdParam) {
+        return CommonResult.data(energyElectricityService.getToday(electricityUnitIdParam));
+    }
+
 }

+ 20 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/entity/vo/EnergyElectricityMobileVo.java

@@ -0,0 +1,20 @@
+package vip.xiaonuo.modular.energy.energyElectricity.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Data
+public class EnergyElectricityMobileVo {
+    @ApiModelProperty(value = "用水量", position = 1)
+    private BigDecimal waterValue;
+
+    @ApiModelProperty(value = "用电量", position = 2)
+    private BigDecimal electricityValue;
+
+
+
+}

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/entity/vo/EnergyScreenVo.java

@@ -7,7 +7,7 @@ import java.math.BigDecimal;
 
 @Data
 public class EnergyScreenVo {
-    @ApiModelProperty(value = "位置", position = 1)
+    @ApiModelProperty(value = "月份", position = 1)
     private String month;
 
     @ApiModelProperty(value = "用水", position = 2)

+ 3 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/mapper/EnergyElectricityMapper.java

@@ -15,6 +15,7 @@ package vip.xiaonuo.modular.energy.energyElectricity.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import vip.xiaonuo.modular.energy.energyElectricity.entity.EnergyElectricity;
 import vip.xiaonuo.modular.energy.energyElectricity.entity.vo.EnergyElectricityListVo;
+import vip.xiaonuo.modular.energy.energyElectricity.entity.vo.EnergyElectricityMobileVo;
 import vip.xiaonuo.modular.energy.energyElectricity.entity.vo.EnergyElectricityTopVo;
 import vip.xiaonuo.modular.energy.energyElectricity.entity.vo.EnergyScreenVo;
 
@@ -59,4 +60,6 @@ public interface EnergyElectricityMapper extends BaseMapper<EnergyElectricity> {
     List<EnergyElectricityListVo> listSevenDay(List<String> pigpenList, String orgId);
 
     List<EnergyScreenVo> listScreenEnergy(String orgId);
+
+    BigDecimal getToday(List<String> pigpenList, String orgId);
 }

+ 15 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/mapper/mapping/EnergyElectricityMapper.xml

@@ -292,4 +292,19 @@
         ) f ON m.month = f.month
         ORDER BY m.month
    </select>
+    <select id="getToday" resultType="java.math.BigDecimal">
+        SELECT
+            ROUND(SUM(electricity_value), 2)
+        FROM
+        `energy_electricity`
+        WHERE
+            DATE(create_date) = CURRENT_DATE
+            AND org_id = #{orgId}
+            <if test="pigpenList != null and pigpenList.size > 0">
+                AND unit_id IN
+                <foreach collection="pigpenList" item="pigpenId" index="i" open="(" close=")" separator=",">
+                    #{pigpenId}
+                </foreach>
+            </if>
+    </select>
 </mapper>

+ 36 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/param/EnergyElectricityUnitIdParam.java

@@ -0,0 +1,36 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.modular.energy.energyElectricity.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import vip.xiaonuo.core.param.OrgIdParam;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * 能耗电表Id参数
+ *
+ * @author newspaper
+ * @date  2023/12/21 09:15
+ **/
+@Getter
+@Setter
+public class EnergyElectricityUnitIdParam extends OrgIdParam {
+
+    /** 栋舍id */
+    @ApiModelProperty(value = "栋舍id", required = true, position = 1)
+    @NotBlank(message = "pigpenId不能为空")
+    private String pigpenId;
+}

+ 4 - 4
snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/service/EnergyElectricityService.java

@@ -14,12 +14,10 @@ package vip.xiaonuo.modular.energy.energyElectricity.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import vip.xiaonuo.modular.energy.energyElectricity.entity.EnergyElectricity;
-import vip.xiaonuo.modular.energy.energyElectricity.entity.vo.EnergyElectricityProportionVo;
-import vip.xiaonuo.modular.energy.energyElectricity.entity.vo.EnergyElectricityTopVo;
-import vip.xiaonuo.modular.energy.energyElectricity.entity.vo.EnergyElectricityTrendVo;
-import vip.xiaonuo.modular.energy.energyElectricity.entity.vo.EnergyScreenVo;
+import vip.xiaonuo.modular.energy.energyElectricity.entity.vo.*;
 import vip.xiaonuo.modular.energy.energyElectricity.param.EnergyElectricityListParm;
 import vip.xiaonuo.modular.energy.energyElectricity.param.EnergyElectricityTopParm;
+import vip.xiaonuo.modular.energy.energyElectricity.param.EnergyElectricityUnitIdParam;
 
 
 import java.util.List;
@@ -39,4 +37,6 @@ public interface EnergyElectricityService extends IService<EnergyElectricity> {
     List<EnergyElectricityTopVo> listTop(EnergyElectricityTopParm energyElectricityTopParm, String orgId);
 
     List<EnergyScreenVo> listScreenEnergy(String orgId);
+
+    EnergyElectricityMobileVo getToday(EnergyElectricityUnitIdParam electricityUnitIdParam);
 }

+ 43 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyElectricity/service/impl/EnergyElectricityServiceImpl.java

@@ -27,8 +27,11 @@ import vip.xiaonuo.modular.energy.energyElectricity.entity.vo.*;
 import vip.xiaonuo.modular.energy.energyElectricity.mapper.EnergyElectricityMapper;
 import vip.xiaonuo.modular.energy.energyElectricity.param.EnergyElectricityListParm;
 import vip.xiaonuo.modular.energy.energyElectricity.param.EnergyElectricityTopParm;
+import vip.xiaonuo.modular.energy.energyElectricity.param.EnergyElectricityUnitIdParam;
 import vip.xiaonuo.modular.energy.energyElectricity.service.EnergyElectricityService;
+import vip.xiaonuo.modular.energy.energyWater.mapper.EnergyWaterMapper;
 
+import javax.validation.constraints.NotBlank;
 import java.math.BigDecimal;
 import java.math.MathContext;
 import java.math.RoundingMode;
@@ -47,6 +50,8 @@ public class EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityM
 
     @Autowired
     private EnergyElectricityMapper energyElectricityMapper;
+    @Autowired
+    private EnergyWaterMapper energyWaterMapper;
 
     @Autowired
     private BaseConfigMapper baseConfigMapper;
@@ -179,4 +184,42 @@ public class EnergyElectricityServiceImpl extends ServiceImpl<EnergyElectricityM
         List<EnergyScreenVo> energyVoList = energyElectricityMapper.listScreenEnergy(orgId);
         return energyVoList;
     }
+
+    @Override
+    public EnergyElectricityMobileVo getToday(EnergyElectricityUnitIdParam electricityUnitIdParam) {
+        String orgId = electricityUnitIdParam.getOrgId();
+        String pigpenId = electricityUnitIdParam.getPigpenId();
+        List<String> pigpenList = new ArrayList<>();
+        if (ObjectUtil.isNotEmpty(pigpenId)){
+            BasePigpen basePigpen = basePigpenMapper.selectById(pigpenId);
+            Integer pigpenType = basePigpen.getType();
+            switch (pigpenType){
+                case 0:
+                    List<BasePigpen> basePigpens = basePigpenMapper.selectList(new QueryWrapper<BasePigpen>().lambda().eq(BasePigpen::getParentId, pigpenId));
+                    if (ObjectUtil.isNotEmpty(basePigpens)){
+                        List<String> collect = basePigpens.stream().map(basePigpen1 -> basePigpen1.getId()).collect(Collectors.toList());
+                        List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(new QueryWrapper<BasePigpen>().lambda().in(BasePigpen::getParentId, collect));
+                        if (ObjectUtil.isNotEmpty(basePigpens1)){
+                            pigpenList.addAll(basePigpens1.stream().map(basePigpen1 -> basePigpen1.getId()).collect(Collectors.toList()));
+                        }
+                    }
+                    break;
+                case 1:
+                    List<BasePigpen> basePigpens1 = basePigpenMapper.selectList(new QueryWrapper<BasePigpen>().lambda().eq(BasePigpen::getParentId, pigpenId));
+                    if (ObjectUtil.isNotEmpty(basePigpens1)){
+                        pigpenList.addAll(basePigpens1.stream().map(basePigpen1 -> basePigpen1.getId()).collect(Collectors.toList()));
+                    }
+                    break;
+                case 2:
+                    pigpenList.add(pigpenId);
+                    break;
+                default:
+                    throw new CommonException("pigpenId参数错误!");
+            }
+        }
+        EnergyElectricityMobileVo result= new EnergyElectricityMobileVo();
+        result.setElectricityValue(energyElectricityMapper.getToday(pigpenList,orgId));
+        result.setWaterValue(energyWaterMapper.getToday(pigpenList,orgId));
+        return result;
+    }
 }

+ 2 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyWater/mapper/EnergyWaterMapper.java

@@ -58,4 +58,6 @@ public interface EnergyWaterMapper extends BaseMapper<EnergyWater> {
     List<EnergyWaterTopVo> listCustomTop(String orgId, String startDate, String endDate);
 
     List<EnergyWaterListVo> listSevenDay(List<String> pigpenList, String orgId);
+
+    BigDecimal getToday(List<String> pigpenList, String orgId);
 }

+ 15 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/energy/energyWater/mapper/mapping/EnergyWaterMapper.xml

@@ -255,4 +255,19 @@
         ORDER BY
             DATE(create_date) ASC;
     </select>
+    <select id="getToday" resultType="java.math.BigDecimal">
+        SELECT
+            ROUND(SUM(water_value), 2)
+        FROM
+            `energy_water`
+        WHERE
+            DATE(create_date) = CURRENT_DATE
+            AND org_id = #{orgId}
+        <if test="pigpenList != null and pigpenList.size > 0">
+            AND unit_id IN
+            <foreach collection="pigpenList" item="pigpenId" index="i" open="(" close=")" separator=",">
+                #{pigpenId}
+            </foreach>
+        </if>
+    </select>
 </mapper>

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/service/impl/WarningInfoServiceImpl.java

@@ -133,7 +133,7 @@ public class WarningInfoServiceImpl extends ServiceImpl<WarningInfoMapper, Warni
         List<WarningInfoRateVo> warningInfoRateVoList = new ArrayList<>();
         for (BaseConfig baseConfig : baseConfigs) {
             WarningInfoRateVo warningInfoRateVo = new WarningInfoRateVo();
-            long count = this.count(new QueryWrapper<WarningInfo>().lambda().eq(WarningInfo::getOrgId, orgId).eq(WarningInfo::getWarningType, baseConfig.getId()).ge(WarningInfo::getWarningTime, dateTime));
+            long count = this.count(new QueryWrapper<WarningInfo>().lambda().eq(WarningInfo::getOrgId, orgId).eq(WarningInfo::getWarningTypeId, baseConfig.getId()).ge(WarningInfo::getWarningTime, dateTime));
             warningInfoRateVo.setName(baseConfig.getConfigName());
             warningInfoRateVo.setValue(count);
             warningInfoRateVoList.add(warningInfoRateVo);