Newspaper 1 gadu atpakaļ
vecāks
revīzija
7feb8a4823
40 mainītis faili ar 240 papildinājumiem un 117 dzēšanām
  1. 0 4
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/carCapture/controller/CarCaptureController.java
  2. 2 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/carCapture/entity/CarCapture.java
  3. 2 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/carCapture/entity/vo/CarCaptureHourVo.java
  4. 3 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/carCapture/param/CarCapturePageParam.java
  5. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/carCapture/service/impl/CarCaptureServiceImpl.java
  6. 4 2
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/controller/DailyInspectionController.java
  7. 12 6
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/entity/DailyInspection.java
  8. 5 2
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/entity/vo/DailyInspectionPageVo.java
  9. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/mapper/DailyInspectionMapper.java
  10. 7 12
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/mapper/mapping/DailyInspectionMapper.xml
  11. 2 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/param/DailyInspectionEditParam.java
  12. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/param/DailyInspectionPageParam.java
  13. 4 2
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/service/DailyInspectionService.java
  14. 15 20
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/service/impl/DailyInspectionServiceImpl.java
  15. 0 5
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dirtyCapture/controller/DirtyCaptureController.java
  16. 2 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dirtyCapture/entity/DirtyCapture.java
  17. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dirtyCapture/service/impl/DirtyCaptureServiceImpl.java
  18. 16 3
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/personCapture/entity/PersonCapture.java
  19. 2 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/personCapture/entity/vo/PersonCaptureHourVo.java
  20. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/personCapture/service/impl/PersonCaptureServiceImpl.java
  21. 0 5
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/speciesCapture/controller/SpeciesCaptureController.java
  22. 2 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/speciesCapture/entity/SpeciesCapture.java
  23. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/speciesCapture/service/impl/SpeciesCaptureServiceImpl.java
  24. 19 4
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/controller/TaskInspectionController.java
  25. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/entity/TaskInspection.java
  26. 19 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/entity/vo/TaskInspectionNumVo.java
  27. 6 2
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/entity/vo/TaskInspectionPageVo.java
  28. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/mapper/TaskInspectionMapper.java
  29. 7 12
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/mapper/mapping/TaskInspectionMapper.xml
  30. 2 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/param/TaskInspectionAddParam.java
  31. 2 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/param/TaskInspectionEditParam.java
  32. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/param/TaskInspectionPageParam.java
  33. 6 2
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/service/TaskInspectionService.java
  34. 33 20
      snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/service/impl/TaskInspectionServiceImpl.java
  35. 27 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/pigpen/controller/BasePigpenController.java
  36. 5 0
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/pigpen/service/BasePigpenService.java
  37. 16 2
      snowy-web-app/src/main/java/vip/xiaonuo/modular/base/pigpen/service/impl/BasePigpenServiceImpl.java
  38. 7 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/entity/WarningInfo.java
  39. 1 1
      snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/param/WarningInfoPageParam.java
  40. 3 2
      snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/service/impl/WarningInfoServiceImpl.java

+ 0 - 4
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/carCapture/controller/CarCaptureController.java

@@ -62,7 +62,6 @@ public class CarCaptureController {
      */
     @ApiOperationSupport(order = 1)
     @ApiOperation("获取车辆识别分页")
-    @SaCheckPermission("/ai/carCapture/page")
     @GetMapping("/ai/carCapture/page")
     public CommonResult<Page<CarCapture>> page(CarCapturePageParam carCapturePageParam) {
         return CommonResult.data(carCaptureService.page(carCapturePageParam));
@@ -77,7 +76,6 @@ public class CarCaptureController {
     @ApiOperationSupport(order = 4)
     @ApiOperation("删除车辆识别")
     @CommonLog("删除车辆识别")
-    @SaCheckPermission("/ai/carCapture/delete")
     @PostMapping("/ai/carCapture/delete")
     public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
                                                    CommonValidList<CarCaptureIdParam> carCaptureIdParamList) {
@@ -93,7 +91,6 @@ public class CarCaptureController {
      */
     @ApiOperationSupport(order = 5)
     @ApiOperation("获取车辆识别详情")
-    @SaCheckPermission("/ai/carCapture/detail")
     @GetMapping("/ai/carCapture/detail")
     public CommonResult<CarCapture> detail(@Valid CarCaptureIdParam carCaptureIdParam) {
         return CommonResult.data(carCaptureService.detail(carCaptureIdParam));
@@ -107,7 +104,6 @@ public class CarCaptureController {
      */
     @ApiOperationSupport(order = 6)
     @ApiOperation("获取过去12小时车辆识别")
-    @SaCheckPermission("/ai/carCapture/getPastCapture")
     @GetMapping("/ai/carCapture/getPastCapture")
     public CommonResult<CarCapturePastVo> getPastCapture(@Valid OrgIdParam orgIdParam) {
         return CommonResult.data(carCaptureService.getPastCapture(orgIdParam));

+ 2 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/carCapture/entity/CarCapture.java

@@ -13,6 +13,7 @@
 package vip.xiaonuo.modular.ai.carCapture.entity;
 
 import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -37,6 +38,7 @@ public class CarCapture {
 
     /** 时间 */
     @ApiModelProperty(value = "时间", position = 2)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
     private Date capTime;
 
     /** 车牌号 */

+ 2 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/carCapture/entity/vo/CarCaptureHourVo.java

@@ -1,5 +1,6 @@
 package vip.xiaonuo.modular.ai.carCapture.entity.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.models.auth.In;
 import lombok.Data;
@@ -10,6 +11,7 @@ import java.time.LocalDateTime;
 public class CarCaptureHourVo {
 
     @ApiModelProperty(value = "时间", position = 1)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
     private LocalDateTime time;
     @ApiModelProperty(value = "数量", position = 2)
     private Integer value;

+ 3 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/carCapture/param/CarCapturePageParam.java

@@ -15,6 +15,8 @@ package vip.xiaonuo.modular.ai.carCapture.param;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
+import vip.xiaonuo.core.param.OrgIdParam;
+
 import java.math.BigDecimal;
 import java.util.Date;
 
@@ -26,7 +28,7 @@ import java.util.Date;
  **/
 @Getter
 @Setter
-public class CarCapturePageParam {
+public class CarCapturePageParam extends OrgIdParam {
 
     /** 当前页 */
     @ApiModelProperty(value = "当前页码")

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/carCapture/service/impl/CarCaptureServiceImpl.java

@@ -55,7 +55,7 @@ public class CarCaptureServiceImpl extends ServiceImpl<CarCaptureMapper, CarCapt
 
     @Override
     public Page<CarCapture> page(CarCapturePageParam carCapturePageParam) {
-        String orgId = StpLoginUserUtil.getLoginUser().getOrgId();
+        String orgId = carCapturePageParam.getOrgId();
         QueryWrapper<CarCapture> queryWrapper = new QueryWrapper<>();
         queryWrapper.lambda().eq(CarCapture::getOrgId,orgId).orderByDesc(CarCapture::getCapTime);
         if(ObjectUtil.isNotEmpty(carCapturePageParam.getStartCapTime()) && ObjectUtil.isNotEmpty(carCapturePageParam.getEndCapTime())) {

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

@@ -26,6 +26,7 @@ import vip.xiaonuo.common.pojo.CommonResult;
 import vip.xiaonuo.common.pojo.CommonValidList;
 import vip.xiaonuo.modular.ai.dailyInspection.entity.DailyInspection;
 import vip.xiaonuo.modular.ai.dailyInspection.entity.vo.DailyInspectionImageVo;
+import vip.xiaonuo.modular.ai.dailyInspection.entity.vo.DailyInspectionPageVo;
 import vip.xiaonuo.modular.ai.dailyInspection.param.DailyInspectionEditParam;
 import vip.xiaonuo.modular.ai.dailyInspection.param.DailyInspectionIdParam;
 import vip.xiaonuo.modular.ai.dailyInspection.param.DailyInspectionPageParam;
@@ -35,6 +36,7 @@ import javax.annotation.Resource;
 import javax.validation.Valid;
 import javax.validation.constraints.NotEmpty;
 import java.io.IOException;
+import java.text.ParseException;
 
 /**
  * 日常巡检控制器
@@ -60,7 +62,7 @@ public class DailyInspectionController {
     @ApiOperationSupport(order = 1)
     @ApiOperation("获取日常巡检分页")
     @GetMapping("/ai/dailyInspection/page")
-    public CommonResult<Page<DailyInspectionImageVo>> page(DailyInspectionPageParam dailyInspectionPageParam) {
+    public CommonResult<Page<DailyInspectionPageVo>> page(DailyInspectionPageParam dailyInspectionPageParam) {
         return CommonResult.data(dailyInspectionService.page(dailyInspectionPageParam));
     }
 
@@ -80,7 +82,7 @@ public class DailyInspectionController {
                                      @RequestParam @ApiParam(value = "问题描述") String description,
                                      @RequestParam(value = "img1") @ApiParam(value = "图片1") MultipartFile img1,
                                      @RequestParam(value = "img2", required = false) @ApiParam(value = "图片2") MultipartFile img2,
-                                     @RequestParam(value = "img3", required = false) @ApiParam(value = "图片3") MultipartFile img3) throws IOException {
+                                     @RequestParam(value = "img3", required = false) @ApiParam(value = "图片3") MultipartFile img3) throws IOException, ParseException {
         dailyInspectionService.edit(id,inspectTime,inspectPersonId,description,img1,img2,img3);
         return CommonResult.ok();
     }

+ 12 - 6
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/entity/DailyInspection.java

@@ -13,6 +13,7 @@
 package vip.xiaonuo.modular.ai.dailyInspection.entity;
 
 import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -42,23 +43,28 @@ public class DailyInspection extends CommonEntity {
     @ApiModelProperty(value = "巡检位置id", position = 2)
     private String unitId;
 
+    /** 通知人id */
+    @ApiModelProperty(value = "通知人id", position = 3)
+    private String notifierId;
+
     /** 巡检时间 */
-    @ApiModelProperty(value = "巡检时间", position = 3)
-    private LocalDateTime inspectTime;
+    @ApiModelProperty(value = "巡检时间", position = 4)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
+    private Date inspectTime;
 
     /** 巡检人员id */
-    @ApiModelProperty(value = "巡检人员id", position = 4)
+    @ApiModelProperty(value = "巡检人员id", position = 5)
     private String inspectPersonId;
 
     /** 问题描述 */
-    @ApiModelProperty(value = "问题描述", position = 5)
+    @ApiModelProperty(value = "问题描述", position = 6)
     private String description;
 
     /** 问题照片id */
-    @ApiModelProperty(value = "问题照片id", position = 6)
+    @ApiModelProperty(value = "问题照片id", position = 7)
     private String imgUrl;
 
     /** 状态 0:待处理 1:已完成 */
-    @ApiModelProperty(value = "状态 0:待处理 1:已完成", position = 7)
+    @ApiModelProperty(value = "状态 0:待处理 1:已完成", position = 8)
     private Integer status;
 }

+ 5 - 2
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/entity/vo/DailyInspectionPageVo.java

@@ -14,6 +14,7 @@ package vip.xiaonuo.modular.ai.dailyInspection.entity.vo;
 
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -40,10 +41,12 @@ public class DailyInspectionPageVo{
     private String unitName;
 
     @ApiModelProperty(value = "创建时间", position = 3)
-    private LocalDateTime createTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
+    private Date createTime;
 
     @ApiModelProperty(value = "巡检时间", position = 4)
-    private LocalDateTime inspectTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
+    private Date inspectTime;
 
     @ApiModelProperty(value = "巡检人名", position = 5)
     private String userName;

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

@@ -24,7 +24,7 @@ import vip.xiaonuo.modular.ai.dailyInspection.entity.vo.DailyInspectionPageVo;
  * @date  2024/01/08 15:58
  **/
 public interface DailyInspectionMapper extends BaseMapper<DailyInspection> {
-    Page<DailyInspectionPageVo> page(Page<Object> defaultPage, String userId, Integer status, Integer orgId);
+    Page<DailyInspectionPageVo> page(Page<Object> defaultPage, String userId, Integer status, String orgId);
 
     DailyInspectionPageVo detail(String id);
 }

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

@@ -5,30 +5,25 @@
     <select id="page" resultType="vip.xiaonuo.modular.ai.dailyInspection.entity.vo.DailyInspectionPageVo">
         SELECT
         d.id,
-        p.fullName AS 'unitName',
+        p.full_name 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
+        LEFT JOIN `base_pigpen` p ON d.unit_id = p.id
         WHERE
-        d.inspect_person_id = #{userId} AND t.org_id = #{orgId}
+        d.notifier_id = #{userId} AND d.org_id = #{orgId}
         <if test="status != null">
             AND d.status = #{status}
         </if>
         ORDER BY
-        d.create_time DESC;
+        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',
+        p.full_name AS 'unitName',
         d.create_time,
         d.inspect_time,
         u.NAME AS 'userName',
@@ -37,8 +32,8 @@
         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
+        LEFT JOIN `base_pigpen` p ON d.unit_id = p.id
+        LEFT JOIN `SYS_USER` u ON d.inspect_person_id = u.id
         WHERE
         d.id = #{id}
 

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

@@ -12,6 +12,7 @@
  */
 package vip.xiaonuo.modular.ai.dailyInspection.param;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -42,6 +43,7 @@ public class DailyInspectionEditParam {
 
     /** 巡检时间 */
     @ApiModelProperty(value = "巡检时间", position = 3)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
     private Date inspectTime;
 
     /** 巡检人员id */

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dailyInspection/param/DailyInspectionPageParam.java

@@ -41,7 +41,7 @@ public class DailyInspectionPageParam {
     /** 组织id */
     @ApiModelProperty(value = "组织id", position = 3)
     @NotBlank(message = "orgId不能为空")
-    private Integer orgId;
+    private String orgId;
 
     /** 状态 0:待处理 1:已完成 */
     @ApiModelProperty(value = "状态 0:待处理 1:已完成", position = 4)

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

@@ -17,11 +17,13 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import org.springframework.web.multipart.MultipartFile;
 import vip.xiaonuo.modular.ai.dailyInspection.entity.DailyInspection;
 import vip.xiaonuo.modular.ai.dailyInspection.entity.vo.DailyInspectionImageVo;
+import vip.xiaonuo.modular.ai.dailyInspection.entity.vo.DailyInspectionPageVo;
 import vip.xiaonuo.modular.ai.dailyInspection.param.DailyInspectionEditParam;
 import vip.xiaonuo.modular.ai.dailyInspection.param.DailyInspectionIdParam;
 import vip.xiaonuo.modular.ai.dailyInspection.param.DailyInspectionPageParam;
 
 import java.io.IOException;
+import java.text.ParseException;
 import java.util.List;
 
 /**
@@ -38,7 +40,7 @@ public interface DailyInspectionService extends IService<DailyInspection> {
      * @author newspaper
      * @date  2024/01/08 15:58
      */
-    Page<DailyInspectionImageVo> page(DailyInspectionPageParam dailyInspectionPageParam);
+    Page<DailyInspectionPageVo> page(DailyInspectionPageParam dailyInspectionPageParam);
 
 
     /**
@@ -55,7 +57,7 @@ public interface DailyInspectionService extends IService<DailyInspection> {
      * @author newspaper
      * @date  2024/01/08 15:58
      */
-    void edit(String id, String inspectTime, String inspectPersonId, String description, MultipartFile img1, MultipartFile img2, MultipartFile img3) throws IOException;
+    void edit(String id, String inspectTime, String inspectPersonId, String description, MultipartFile img1, MultipartFile img2, MultipartFile img3) throws IOException, ParseException;
 
     DailyInspectionImageVo detail(DailyInspectionIdParam dailyInspectionIdParam);
 

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

@@ -25,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
 import vip.xiaonuo.common.enums.CommonSortOrderEnum;
+import vip.xiaonuo.common.exception.CommonException;
 import vip.xiaonuo.common.page.CommonPageRequest;
 import vip.xiaonuo.modular.ai.dailyInspection.entity.DailyInspection;
 import vip.xiaonuo.modular.ai.dailyInspection.entity.vo.DailyInspectionImageVo;
@@ -38,6 +39,8 @@ import vip.xiaonuo.modular.bi.utils.UploadImage;
 
 import javax.validation.constraints.NotBlank;
 import java.io.IOException;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
@@ -58,50 +61,42 @@ public class DailyInspectionServiceImpl extends ServiceImpl<DailyInspectionMappe
     private UploadImage uploadImage;
 
     @Override
-    public Page<DailyInspectionImageVo> page(DailyInspectionPageParam dailyInspectionPageParam) {
+    public Page<DailyInspectionPageVo> page(DailyInspectionPageParam dailyInspectionPageParam) {
         Integer status = dailyInspectionPageParam.getStatus();
         String userId = StpLoginUserUtil.getLoginUser().getId();
-        Integer orgId = dailyInspectionPageParam.getOrgId();
+        String orgId = dailyInspectionPageParam.getOrgId();
         Page<DailyInspectionPageVo> page = dailyInspectionMapper.page(CommonPageRequest.defaultPage(), userId, status, orgId);
-        Page<DailyInspectionImageVo> dailyInspectionImageVoPage = new Page<>();
-        List dailyInspectionImageVoList = new ArrayList<>();
-        for (DailyInspectionPageVo record : page.getRecords()) {
-            DailyInspectionImageVo dailyInspectionImageVo = new DailyInspectionImageVo();
-            BeanUtil.copyProperties(record,dailyInspectionImageVo);
-            if (ObjectUtil.isNotEmpty(record.getImgUrl())){
-                dailyInspectionImageVo.setPages(record.getImgUrl().split(","));
-            }
-            dailyInspectionImageVoList.add(dailyInspectionImageVo);
-        }
-        dailyInspectionImageVoPage.setRecords(dailyInspectionImageVoList);
-        dailyInspectionImageVoPage.setTotal(page.getTotal());
-        dailyInspectionImageVoPage.setCountId(page.getCountId());
-        dailyInspectionImageVoPage.setCurrent(page.getCurrent());
-        return dailyInspectionImageVoPage;
+        return page;
     }
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public void edit(String id, String inspectTime, String inspectPersonId, String description, MultipartFile img1, MultipartFile img2, MultipartFile img3) throws IOException {
+    public void edit(String id, String inspectTime, String inspectPersonId, String description, MultipartFile img1, MultipartFile img2, MultipartFile img3) throws IOException, ParseException {
         DailyInspection dailyInspection = this.getById(id);
-        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy:MM:dd HH:mm:ss");
-        dailyInspection.setInspectTime(LocalDateTime.parse(inspectTime,formatter));
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        dailyInspection.setInspectTime(dateFormat.parse(inspectTime));
         dailyInspection.setInspectPersonId(inspectPersonId);
         dailyInspection.setDescription(description);
         String imgUrl = "";
         if (ObjectUtil.isNotEmpty(img1)){
             if (!uploadImage.getImageCom(img1).equals("上传失败")){
                 imgUrl = uploadImage.getImageCom(img1);
+            }else {
+                throw new CommonException("图片上传失败!");
             }
         }
         if (ObjectUtil.isNotEmpty(img2)){
             if (!uploadImage.getImageCom(img2).equals("上传失败")){
                 imgUrl = imgUrl + "," + uploadImage.getImageCom(img2);
+            }else {
+                throw new CommonException("图片上传失败!");
             }
         }
         if (ObjectUtil.isNotEmpty(img3)){
             if (!uploadImage.getImageCom(img3).equals("上传失败")){
                 imgUrl = imgUrl + "," + uploadImage.getImageCom(img3);
+            }else {
+                throw new CommonException("图片上传失败!");
             }
         }
         dailyInspection.setImgUrl(imgUrl);

+ 0 - 5
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dirtyCapture/controller/DirtyCaptureController.java

@@ -60,7 +60,6 @@ public class DirtyCaptureController {
      */
     @ApiOperationSupport(order = 1)
     @ApiOperation("获取设备镜头脏污分页")
-    @SaCheckPermission("/ai/dirtyCapture/page")
     @GetMapping("/ai/dirtyCapture/page")
     public CommonResult<Page<DirtyCapture>> page(DirtyCapturePageParam dirtyCapturePageParam) {
         return CommonResult.data(dirtyCaptureService.page(dirtyCapturePageParam));
@@ -75,7 +74,6 @@ public class DirtyCaptureController {
     @ApiOperationSupport(order = 2)
     @ApiOperation("添加设备镜头脏污")
     @CommonLog("添加设备镜头脏污")
-    @SaCheckPermission("/ai/dirtyCapture/add")
     @PostMapping("/ai/dirtyCapture/add")
     public CommonResult<String> add(@RequestBody @Valid DirtyCaptureAddParam dirtyCaptureAddParam) {
         dirtyCaptureService.add(dirtyCaptureAddParam);
@@ -91,7 +89,6 @@ public class DirtyCaptureController {
     @ApiOperationSupport(order = 3)
     @ApiOperation("编辑设备镜头脏污")
     @CommonLog("编辑设备镜头脏污")
-    @SaCheckPermission("/ai/dirtyCapture/edit")
     @PostMapping("/ai/dirtyCapture/edit")
     public CommonResult<String> edit(@RequestBody @Valid DirtyCaptureEditParam dirtyCaptureEditParam) {
         dirtyCaptureService.edit(dirtyCaptureEditParam);
@@ -107,7 +104,6 @@ public class DirtyCaptureController {
     @ApiOperationSupport(order = 4)
     @ApiOperation("删除设备镜头脏污")
     @CommonLog("删除设备镜头脏污")
-    @SaCheckPermission("/ai/dirtyCapture/delete")
     @PostMapping("/ai/dirtyCapture/delete")
     public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
                                                    CommonValidList<DirtyCaptureIdParam> dirtyCaptureIdParamList) {
@@ -123,7 +119,6 @@ public class DirtyCaptureController {
      */
     @ApiOperationSupport(order = 5)
     @ApiOperation("获取设备镜头脏污详情")
-    @SaCheckPermission("/ai/dirtyCapture/detail")
     @GetMapping("/ai/dirtyCapture/detail")
     public CommonResult<DirtyCapture> detail(@Valid DirtyCaptureIdParam dirtyCaptureIdParam) {
         return CommonResult.data(dirtyCaptureService.detail(dirtyCaptureIdParam));

+ 2 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dirtyCapture/entity/DirtyCapture.java

@@ -13,6 +13,7 @@
 package vip.xiaonuo.modular.ai.dirtyCapture.entity;
 
 import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -37,6 +38,7 @@ public class DirtyCapture {
 
     /** 时间 */
     @ApiModelProperty(value = "时间", position = 2)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
     private Date capTime;
 
     /** 照片 */

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/dirtyCapture/service/impl/DirtyCaptureServiceImpl.java

@@ -54,7 +54,7 @@ public class DirtyCaptureServiceImpl extends ServiceImpl<DirtyCaptureMapper, Dir
             queryWrapper.orderBy(true, dirtyCapturePageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
                     StrUtil.toUnderlineCase(dirtyCapturePageParam.getSortField()));
         } else {
-            queryWrapper.lambda().orderByAsc(DirtyCapture::getId);
+            queryWrapper.lambda().orderByDesc(DirtyCapture::getCapTime);
         }
         queryWrapper.lambda().eq(DirtyCapture::getOrgId,dirtyCapturePageParam.getOrgId());
         return this.page(CommonPageRequest.defaultPage(), queryWrapper);

+ 16 - 3
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/personCapture/entity/PersonCapture.java

@@ -13,9 +13,16 @@
 package vip.xiaonuo.modular.ai.personCapture.entity;
 
 import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fhs.core.trans.anno.Trans;
+import com.fhs.core.trans.constant.TransType;
+import com.fhs.core.trans.vo.TransPojo;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
+import vip.xiaonuo.modular.base.pigpen.entity.BasePigpen;
+import vip.xiaonuo.sys.modular.user.entity.SysUser;
+
 import java.math.BigDecimal;
 import java.util.Date;
 
@@ -28,7 +35,7 @@ import java.util.Date;
 @Getter
 @Setter
 @TableName("person_capture")
-public class PersonCapture {
+public class PersonCapture implements TransPojo {
 
     /** id */
     @TableId
@@ -37,6 +44,7 @@ public class PersonCapture {
 
     /** 时间 */
     @ApiModelProperty(value = "时间", position = 2)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
     private Date capTime;
 
     /** 姓名 */
@@ -45,7 +53,7 @@ public class PersonCapture {
 
     /** 类型 */
     @ApiModelProperty(value = "类型", position = 4)
-    private Integer personType;
+    private String personType;
 
     /** 照片 */
     @ApiModelProperty(value = "照片", position = 5)
@@ -60,7 +68,12 @@ public class PersonCapture {
     private String capResult;
 
     /** 通知人 */
-    @ApiModelProperty(value = "通知人", position = 8)
+    @ApiModelProperty(value = "通知人id", position = 8)
+    @Trans(type = TransType.SIMPLE,target = SysUser.class,fields = "name", alias = "user", ref = "notifier")
+    private String notifierId;
+
+    @ApiModelProperty(value = "通知人名称", position = 9)
+    @TableField(exist = false)
     private String notifier;
 
     /** 组织id */

+ 2 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/personCapture/entity/vo/PersonCaptureHourVo.java

@@ -1,5 +1,6 @@
 package vip.xiaonuo.modular.ai.personCapture.entity.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -9,6 +10,7 @@ import java.time.LocalDateTime;
 public class PersonCaptureHourVo {
 
     @ApiModelProperty(value = "时间", position = 1)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
     private LocalDateTime time;
     @ApiModelProperty(value = "数量", position = 2)
     private Integer value;

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/personCapture/service/impl/PersonCaptureServiceImpl.java

@@ -72,7 +72,7 @@ public class PersonCaptureServiceImpl extends ServiceImpl<PersonCaptureMapper, P
             queryWrapper.orderBy(true, personCapturePageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
                     StrUtil.toUnderlineCase(personCapturePageParam.getSortField()));
         } else {
-            queryWrapper.lambda().orderByAsc(PersonCapture::getId);
+            queryWrapper.lambda().orderByDesc(PersonCapture::getCapTime);
         }
         queryWrapper.lambda().eq(PersonCapture::getOrgId,personCapturePageParam.getOrgId());
         return this.page(CommonPageRequest.defaultPage(), queryWrapper);

+ 0 - 5
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/speciesCapture/controller/SpeciesCaptureController.java

@@ -60,7 +60,6 @@ public class SpeciesCaptureController {
      */
     @ApiOperationSupport(order = 1)
     @ApiOperation("获取外来生物识别分页")
-    @SaCheckPermission("/ai/speciesCapture/page")
     @GetMapping("/ai/speciesCapture/page")
     public CommonResult<Page<SpeciesCapture>> page(SpeciesCapturePageParam speciesCapturePageParam) {
         return CommonResult.data(speciesCaptureService.page(speciesCapturePageParam));
@@ -75,7 +74,6 @@ public class SpeciesCaptureController {
     @ApiOperationSupport(order = 2)
     @ApiOperation("添加外来生物识别")
     @CommonLog("添加外来生物识别")
-    @SaCheckPermission("/ai/speciesCapture/add")
     @PostMapping("/ai/speciesCapture/add")
     public CommonResult<String> add(@RequestBody @Valid SpeciesCaptureAddParam speciesCaptureAddParam) {
         speciesCaptureService.add(speciesCaptureAddParam);
@@ -91,7 +89,6 @@ public class SpeciesCaptureController {
     @ApiOperationSupport(order = 3)
     @ApiOperation("编辑外来生物识别")
     @CommonLog("编辑外来生物识别")
-    @SaCheckPermission("/ai/speciesCapture/edit")
     @PostMapping("/ai/speciesCapture/edit")
     public CommonResult<String> edit(@RequestBody @Valid SpeciesCaptureEditParam speciesCaptureEditParam) {
         speciesCaptureService.edit(speciesCaptureEditParam);
@@ -107,7 +104,6 @@ public class SpeciesCaptureController {
     @ApiOperationSupport(order = 4)
     @ApiOperation("删除外来生物识别")
     @CommonLog("删除外来生物识别")
-    @SaCheckPermission("/ai/speciesCapture/delete")
     @PostMapping("/ai/speciesCapture/delete")
     public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
                                                    CommonValidList<SpeciesCaptureIdParam> speciesCaptureIdParamList) {
@@ -123,7 +119,6 @@ public class SpeciesCaptureController {
      */
     @ApiOperationSupport(order = 5)
     @ApiOperation("获取外来生物识别详情")
-    @SaCheckPermission("/ai/speciesCapture/detail")
     @GetMapping("/ai/speciesCapture/detail")
     public CommonResult<SpeciesCapture> detail(@Valid SpeciesCaptureIdParam speciesCaptureIdParam) {
         return CommonResult.data(speciesCaptureService.detail(speciesCaptureIdParam));

+ 2 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/speciesCapture/entity/SpeciesCapture.java

@@ -13,6 +13,7 @@
 package vip.xiaonuo.modular.ai.speciesCapture.entity;
 
 import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -37,6 +38,7 @@ public class SpeciesCapture {
 
     /** 时间 */
     @ApiModelProperty(value = "时间", position = 2)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
     private Date capTime;
 
     /** 照片 */

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/speciesCapture/service/impl/SpeciesCaptureServiceImpl.java

@@ -54,7 +54,7 @@ public class SpeciesCaptureServiceImpl extends ServiceImpl<SpeciesCaptureMapper,
             queryWrapper.orderBy(true, speciesCapturePageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
                     StrUtil.toUnderlineCase(speciesCapturePageParam.getSortField()));
         } else {
-            queryWrapper.lambda().orderByAsc(SpeciesCapture::getId);
+            queryWrapper.lambda().orderByDesc(SpeciesCapture::getCapTime);
         }
         queryWrapper.lambda().eq(SpeciesCapture::getOrgId,speciesCapturePageParam.getOrgId());
         return this.page(CommonPageRequest.defaultPage(), queryWrapper);

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

@@ -28,6 +28,7 @@ import vip.xiaonuo.common.pojo.CommonValidList;
 import vip.xiaonuo.modular.ai.taskInspection.entity.TaskInspection;
 import vip.xiaonuo.modular.ai.taskInspection.entity.vo.TaskInspectionDetailVo;
 import vip.xiaonuo.modular.ai.taskInspection.entity.vo.TaskInspectionImageVo;
+import vip.xiaonuo.modular.ai.taskInspection.entity.vo.TaskInspectionNumVo;
 import vip.xiaonuo.modular.ai.taskInspection.entity.vo.TaskInspectionPageVo;
 import vip.xiaonuo.modular.ai.taskInspection.param.TaskInspectionAddParam;
 import vip.xiaonuo.modular.ai.taskInspection.param.TaskInspectionEditParam;
@@ -39,6 +40,7 @@ import javax.annotation.Resource;
 import javax.validation.Valid;
 import javax.validation.constraints.NotEmpty;
 import java.io.IOException;
+import java.text.ParseException;
 
 /**
  * 任务巡检控制器
@@ -64,7 +66,7 @@ public class TaskInspectionController {
     @ApiOperationSupport(order = 1)
     @ApiOperation("获取任务巡检分页")
     @GetMapping("/ai/taskInspection/page")
-    public CommonResult<Page<TaskInspectionImageVo>> page(TaskInspectionPageParam taskInspectionPageParam) {
+    public CommonResult<Page<TaskInspectionPageVo>> page(TaskInspectionPageParam taskInspectionPageParam) {
         return CommonResult.data(taskInspectionService.page(taskInspectionPageParam));
     }
 
@@ -85,7 +87,7 @@ public class TaskInspectionController {
                                      @RequestParam @ApiParam(value = "今日不再提醒 ") String noRemind,
                                      @RequestParam(value = "img1") @ApiParam(value = "图片1") MultipartFile img1,
                                      @RequestParam(value = "img2", required = false) @ApiParam(value = "图片2") MultipartFile img2,
-                                     @RequestParam(value = "img3", required = false) @ApiParam(value = "图片3") MultipartFile img3) throws IOException {
+                                     @RequestParam(value = "img3", required = false) @ApiParam(value = "图片3") MultipartFile img3) throws IOException, ParseException {
         taskInspectionService.edit(id,inspectTime,inspectPersonId,description,noRemind,img1,img2,img3);
         return CommonResult.ok();
     }
@@ -96,7 +98,7 @@ public class TaskInspectionController {
      * @author newspaper
      * @date  2024/01/08 09:21
      */
-    @ApiOperationSupport(order = 4)
+    @ApiOperationSupport(order = 3)
     @ApiOperation("删除任务巡检")
     @CommonLog("删除任务巡检")
     @PostMapping("/ai/taskInspection/delete")
@@ -112,10 +114,23 @@ public class TaskInspectionController {
      * @author newspaper
      * @date  2024/01/08 09:21
      */
-    @ApiOperationSupport(order = 1)
+    @ApiOperationSupport(order = 4)
     @ApiOperation("获取任务巡检详情")
     @GetMapping("/ai/taskInspection/detail")
     public CommonResult<TaskInspectionImageVo> detail(TaskInspectionIdParam taskInspectionIdParam) {
         return CommonResult.data(taskInspectionService.detail(taskInspectionIdParam));
     }
+
+    /**
+     * 获取巡检数量
+     *
+     * @author newspaper
+     * @date  2024/01/08 09:21
+     */
+    @ApiOperationSupport(order = 5)
+    @ApiOperation("获取巡检数量")
+    @GetMapping("/ai/taskInspection/getNum")
+    public CommonResult<TaskInspectionNumVo> getNum() {
+        return CommonResult.data(taskInspectionService.getNum());
+    }
 }

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

@@ -48,7 +48,7 @@ public class TaskInspection extends CommonEntity {
 
     /** 巡检时间 */
     @ApiModelProperty(value = "巡检时间", position = 4)
-    private LocalDateTime inspectTime;
+    private Date inspectTime;
 
     /** 巡检人员id */
     @ApiModelProperty(value = "巡检人员id", position = 5)

+ 19 - 0
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/entity/vo/TaskInspectionNumVo.java

@@ -0,0 +1,19 @@
+package vip.xiaonuo.modular.ai.taskInspection.entity.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Data
+public class TaskInspectionNumVo {
+
+    @ApiModelProperty(value = "任务巡检", position = 1)
+    private Long taskNum;
+
+    @ApiModelProperty(value = "日常巡检", position = 2)
+    private Long dailyNum;
+
+    @ApiModelProperty(value = "巡检历史", position = 3)
+    private Long historyNum;
+}

+ 6 - 2
snowy-web-app/src/main/java/vip/xiaonuo/modular/ai/taskInspection/entity/vo/TaskInspectionPageVo.java

@@ -1,9 +1,11 @@
 package vip.xiaonuo.modular.ai.taskInspection.entity.vo;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.time.LocalDateTime;
+import java.util.Date;
 
 @Data
 public class TaskInspectionPageVo {
@@ -21,10 +23,12 @@ public class TaskInspectionPageVo {
     private String warningContent;
 
     @ApiModelProperty(value = "创建时间", position = 5)
-    private LocalDateTime createTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
+    private Date createTime;
 
     @ApiModelProperty(value = "巡检时间", position = 6)
-    private LocalDateTime inspectTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
+    private Date inspectTime;
 
     @ApiModelProperty(value = "巡检人名", position = 7)
     private String userName;

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

@@ -25,7 +25,7 @@ import vip.xiaonuo.modular.ai.taskInspection.entity.vo.TaskInspectionPageVo;
  * @date  2024/01/08 09:21
  **/
 public interface TaskInspectionMapper extends BaseMapper<TaskInspection> {
-    Page<TaskInspectionPageVo> page(Page<Object> defaultPage, String userId, Integer status, Integer orgId);
+    Page<TaskInspectionPageVo> page(Page<Object> defaultPage, String userId, Integer status, String orgId);
 
     TaskInspectionPageVo detail(String id);
 }

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

@@ -5,38 +5,33 @@
     <select id="page" resultType="vip.xiaonuo.modular.ai.taskInspection.entity.vo.TaskInspectionPageVo">
         SELECT
             t.id,
-            c.configName AS 'warningType',
-            p.fullName AS 'unitName',
+            c.config_name AS 'warningType',
+            p.full_name 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.inspect_person_id = #{userId} AND t.org_id = #{orgId}
+            t.notifier_id = #{userId} AND t.org_id = #{orgId}
              <if test="status != null">
                 AND t.status = #{status}
             </if>
         ORDER BY
-            t.create_time DESC;
+            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',
+        c.config_name AS 'warningType',
+        p.full_name AS 'unitName',
         w.warning_content,
         t.create_time,
-        t.status
+        t.status,
         t.inspect_time,
         u.NAME AS 'userName',
         t.description,

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

@@ -12,6 +12,7 @@
  */
 package vip.xiaonuo.modular.ai.taskInspection.param;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -41,6 +42,7 @@ public class TaskInspectionAddParam {
 
     /** 巡检时间 */
     @ApiModelProperty(value = "巡检时间", position = 4)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
     private Date inspectTime;
 
     /** 巡检人员id */

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

@@ -12,6 +12,7 @@
  */
 package vip.xiaonuo.modular.ai.taskInspection.param;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -46,6 +47,7 @@ public class TaskInspectionEditParam {
 
     /** 巡检时间 */
     @ApiModelProperty(value = "巡检时间", position = 4)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
     private Date inspectTime;
 
     /** 巡检人员id */

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

@@ -41,7 +41,7 @@ public class TaskInspectionPageParam {
     /** 组织id */
     @ApiModelProperty(value = "组织id", position = 3)
     @NotBlank(message = "orgId不能为空")
-    private Integer orgId;
+    private String orgId;
 
     /** 状态 0:待处理 1:已完成 */
     @ApiModelProperty(value = "状态 0:待处理 1:已完成", position = 4)

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

@@ -18,6 +18,7 @@ import org.springframework.web.multipart.MultipartFile;
 import vip.xiaonuo.modular.ai.taskInspection.entity.TaskInspection;
 import vip.xiaonuo.modular.ai.taskInspection.entity.vo.TaskInspectionDetailVo;
 import vip.xiaonuo.modular.ai.taskInspection.entity.vo.TaskInspectionImageVo;
+import vip.xiaonuo.modular.ai.taskInspection.entity.vo.TaskInspectionNumVo;
 import vip.xiaonuo.modular.ai.taskInspection.entity.vo.TaskInspectionPageVo;
 import vip.xiaonuo.modular.ai.taskInspection.param.TaskInspectionAddParam;
 import vip.xiaonuo.modular.ai.taskInspection.param.TaskInspectionEditParam;
@@ -25,6 +26,7 @@ import vip.xiaonuo.modular.ai.taskInspection.param.TaskInspectionIdParam;
 import vip.xiaonuo.modular.ai.taskInspection.param.TaskInspectionPageParam;
 
 import java.io.IOException;
+import java.text.ParseException;
 import java.util.List;
 
 /**
@@ -41,7 +43,7 @@ public interface TaskInspectionService extends IService<TaskInspection> {
      * @author newspaper
      * @date  2024/01/08 09:21
      */
-    Page<TaskInspectionImageVo> page(TaskInspectionPageParam taskInspectionPageParam);
+    Page<TaskInspectionPageVo> page(TaskInspectionPageParam taskInspectionPageParam);
 
     /**
      * 删除任务巡检
@@ -59,7 +61,9 @@ 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;
+    void edit(String id, String inspectTime, String inspectPersonId, String description, String noRemind, MultipartFile img1, MultipartFile img2, MultipartFile img3) throws IOException, ParseException;
 
     TaskInspectionImageVo detail(TaskInspectionIdParam taskInspectionIdParam);
+
+    TaskInspectionNumVo getNum();
 }

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

@@ -29,9 +29,12 @@ import vip.xiaonuo.common.exception.CommonException;
 import vip.xiaonuo.common.page.CommonPageRequest;
 import vip.xiaonuo.dev.modular.file.enums.DevFileEngineTypeEnum;
 import vip.xiaonuo.dev.modular.file.service.DevFileService;
+import vip.xiaonuo.modular.ai.dailyInspection.entity.DailyInspection;
+import vip.xiaonuo.modular.ai.dailyInspection.mapper.DailyInspectionMapper;
 import vip.xiaonuo.modular.ai.taskInspection.entity.TaskInspection;
 import vip.xiaonuo.modular.ai.taskInspection.entity.vo.TaskInspectionDetailVo;
 import vip.xiaonuo.modular.ai.taskInspection.entity.vo.TaskInspectionImageVo;
+import vip.xiaonuo.modular.ai.taskInspection.entity.vo.TaskInspectionNumVo;
 import vip.xiaonuo.modular.ai.taskInspection.entity.vo.TaskInspectionPageVo;
 import vip.xiaonuo.modular.ai.taskInspection.mapper.TaskInspectionMapper;
 import vip.xiaonuo.modular.ai.taskInspection.param.TaskInspectionAddParam;
@@ -48,6 +51,8 @@ import vip.xiaonuo.modular.warning.warningInfo.mapper.WarningInfoMapper;
 
 import javax.validation.constraints.NotBlank;
 import java.io.IOException;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
@@ -72,52 +77,46 @@ public class TaskInspectionServiceImpl extends ServiceImpl<TaskInspectionMapper,
     private WarningInfoMapper warningInfoMapper;
     @Autowired
     private BaseConfigMapper baseConfigMapper;
+    @Autowired
+    private DailyInspectionMapper dailyInspectionMapper;
 
     @Override
-    public Page<TaskInspectionImageVo> page(TaskInspectionPageParam taskInspectionPageParam) {
+    public Page<TaskInspectionPageVo> page(TaskInspectionPageParam taskInspectionPageParam) {
         Integer status = taskInspectionPageParam.getStatus();
         String userId = StpLoginUserUtil.getLoginUser().getId();
-        Integer orgId = taskInspectionPageParam.getOrgId();
+        String orgId = taskInspectionPageParam.getOrgId();
         Page<TaskInspectionPageVo> taskInspectionPageVoPage = taskInspectionMapper.page(CommonPageRequest.defaultPage(), userId, status, orgId);
-        Page<TaskInspectionImageVo> taskInspectionImageVoPage = new Page<>();
-        List TaskInspectionImageVoList = new ArrayList();
-        for (TaskInspectionPageVo record : taskInspectionPageVoPage.getRecords()) {
-            TaskInspectionImageVo taskInspectionImageVo = new TaskInspectionImageVo();
-            BeanUtil.copyProperties(record,taskInspectionImageVo);
-            if (ObjectUtil.isNotEmpty(record.getImgUrl())){
-                taskInspectionImageVo.setPages(record.getImgUrl().split(","));
-            }
-            TaskInspectionImageVoList.add(taskInspectionImageVo);
-        }
-        taskInspectionImageVoPage.setRecords(TaskInspectionImageVoList);
-        taskInspectionImageVoPage.setTotal(taskInspectionPageVoPage.getTotal());
-        taskInspectionImageVoPage.setCountId(taskInspectionPageVoPage.getCountId());
-        taskInspectionImageVoPage.setTotal(taskInspectionPageVoPage.getCurrent());
-        return taskInspectionImageVoPage;
+        return taskInspectionPageVoPage;
     }
 
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public void edit(String id, String inspectTime, String inspectPersonId, String description, String noRemind, MultipartFile img1, MultipartFile img2, MultipartFile img3) throws IOException {
+    public void edit(String id, String inspectTime, String inspectPersonId, String description, String noRemind, MultipartFile img1, MultipartFile img2, MultipartFile img3) throws IOException, ParseException {
         TaskInspection taskInspection = this.queryEntity(id);
-        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy:MM:dd HH:mm:ss");
-        taskInspection.setInspectTime(LocalDateTime.parse(inspectTime,formatter));
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        taskInspection.setInspectTime(dateFormat.parse(inspectTime));
         taskInspection.setInspectPersonId(inspectPersonId);
         taskInspection.setDescription(description);
         String imgUrl = "";
         if (ObjectUtil.isNotEmpty(img1)){
             if (!"上传失败".equals(uploadImage.getImageCom(img1))){
                 imgUrl = uploadImage.getImageCom(img1);
+            }else {
+                throw new CommonException("图片上传失败!");
             }
         }
         if (ObjectUtil.isNotEmpty(img2)){
             if (!"上传失败".equals(uploadImage.getImageCom(img2))){
                 imgUrl = imgUrl + "," + uploadImage.getImageCom(img2);
+            }else {
+                throw new CommonException("图片上传失败!");
             }
         }
         if (ObjectUtil.isNotEmpty(img3)){
             if (!"上传失败".equals(uploadImage.getImageCom(img3))){
                 imgUrl = imgUrl + "," + uploadImage.getImageCom(img3);
+            }else {
+                throw new CommonException("图片上传失败!");
             }
         }
         taskInspection.setImgUrl(imgUrl);
@@ -157,6 +156,20 @@ public class TaskInspectionServiceImpl extends ServiceImpl<TaskInspectionMapper,
         return taskInspectionImageVo;
     }
 
+    @Override
+    public TaskInspectionNumVo getNum() {
+        String id = StpLoginUserUtil.getLoginUser().getId();
+        TaskInspectionNumVo inspectionNum = new TaskInspectionNumVo();
+        Long taskNum = taskInspectionMapper.selectCount(new QueryWrapper<TaskInspection>().lambda().eq(TaskInspection::getStatus, 0).eq(TaskInspection::getNotifierId, id));
+        Long dailyNum = dailyInspectionMapper.selectCount(new QueryWrapper<DailyInspection>().lambda().eq(DailyInspection::getStatus, 0).eq(DailyInspection::getNotifierId, id));
+        inspectionNum.setTaskNum(taskNum);
+        inspectionNum.setDailyNum(dailyNum);
+        Long count = taskInspectionMapper.selectCount(new QueryWrapper<TaskInspection>().lambda().eq(TaskInspection::getStatus, 1).eq(TaskInspection::getNotifierId, id));
+        Long count1 = dailyInspectionMapper.selectCount(new QueryWrapper<DailyInspection>().lambda().eq(DailyInspection::getStatus, 1).eq(DailyInspection::getNotifierId, id));
+        inspectionNum.setHistoryNum(count+count1);
+        return inspectionNum;
+    }
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void delete(List<TaskInspectionIdParam> taskInspectionIdParamList) {

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

@@ -29,6 +29,7 @@ import vip.xiaonuo.auth.core.util.StpLoginUserUtil;
 import vip.xiaonuo.common.annotation.CommonLog;
 import vip.xiaonuo.common.pojo.CommonResult;
 import vip.xiaonuo.common.pojo.CommonValidList;
+import vip.xiaonuo.core.param.OrgIdParam;
 import vip.xiaonuo.modular.base.baseConfig.entity.BaseConfig;
 import vip.xiaonuo.modular.base.baseConfig.service.BaseConfigService;
 import vip.xiaonuo.modular.base.pigpen.entity.BasePigpen;
@@ -172,4 +173,30 @@ public class BasePigpenController {
         List<BaseConfig> baseConfigs = baseConfigService.list(new QueryWrapper<BaseConfig>().lambda().eq(BaseConfig::getParentId, baseConfig.getId()).eq(BaseConfig::getOrgId, orgId));
         return CommonResult.data(baseConfigs);
     }
+
+    /**
+     * 获取所有栋
+     *
+     * @author newspaper
+     * @date  2024/1/10 16:15
+     */
+    @ApiOperationSupport(order = 9)
+    @ApiOperation("获取所有栋")
+    @GetMapping("/biz/pigpen/listBuild")
+    public CommonResult<List<BasePigpen>> listBuild(@Valid OrgIdParam orgIdParam) {
+        return CommonResult.data(basePigpenService.listBuild(orgIdParam));
+    }
+
+    /**
+     * 获取所有栋
+     *
+     * @author newspaper
+     * @date  2024/1/10 16:15
+     */
+    @ApiOperationSupport(order = 9)
+    @ApiOperation("获取所有单元")
+    @GetMapping("/biz/pigpen/listUnit")
+    public CommonResult<List<BasePigpen>> listUnit(@Valid BasePigpenIdParam basePigpenIdParam) {
+        return CommonResult.data(basePigpenService.listUnit(basePigpenIdParam));
+    }
 }

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

@@ -14,6 +14,7 @@ package vip.xiaonuo.modular.base.pigpen.service;
 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.core.param.OrgIdParam;
 import vip.xiaonuo.modular.base.pigpen.entity.BasePigpen;
 import vip.xiaonuo.modular.base.pigpen.entity.vo.BasePigpenMobileVo;
 import vip.xiaonuo.modular.base.pigpen.param.*;
@@ -105,4 +106,8 @@ public interface BasePigpenService extends IService<BasePigpen> {
     List<Tree<String>> tree(BasePigpenOrgIdParam basePigpenOrgIdParam);
 
     List<BasePigpenMobileVo> mobileTree(BasePigpenOrgIdParam basePigpenOrgIdParam);
+
+    List<BasePigpen> listBuild(OrgIdParam orgIdParam);
+
+    List<BasePigpen> listUnit(BasePigpenIdParam basePigpenIdParam);
 }

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

@@ -35,6 +35,7 @@ import vip.xiaonuo.common.exception.CommonException;
 import vip.xiaonuo.common.listener.CommonDataChangeEventCenter;
 import vip.xiaonuo.common.page.CommonPageRequest;
 import vip.xiaonuo.core.enums.BaseDataTypeEnum;
+import vip.xiaonuo.core.param.OrgIdParam;
 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;
@@ -255,7 +256,7 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
                 BasePigpenMobileVo mobileVo = createPigpenNode(basePigpen.getId(), basePigpen.getFullName(), 1);
 
                 List<BasePigpenMobileVo> child2 = new ArrayList<>();
-                child2.add(createPigpenNode(basePigpen.getId(),basePigpen.getFullName() + "整栋", 2));
+                child2.add(createPigpenNode(basePigpen.getId(),basePigpen.getFullName() + "整栋", 1));
 
                 List<BasePigpen> basePigpenList1 = getPigpenListByTypeAndPids(orgId, 2, basePigpen.getId());
                 if (ObjectUtil.isNotEmpty(basePigpenList1)) {
@@ -266,10 +267,23 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
                 resultList.add(mobileVo);
             }
         }
-
         return resultList;
     }
 
+    @Override
+    public List<BasePigpen> listBuild(OrgIdParam orgIdParam) {
+        String orgId = orgIdParam.getOrgId();
+        List<BasePigpen> list = this.list(new QueryWrapper<BasePigpen>().lambda().eq(BasePigpen::getParentId, 0).eq(BasePigpen::getOrgId, orgId).orderByAsc(BasePigpen::getSort));
+        return list;
+    }
+
+    @Override
+    public List<BasePigpen> listUnit(BasePigpenIdParam basePigpenIdParam) {
+        String id = basePigpenIdParam.getId();
+        List<BasePigpen> list = this.list(new QueryWrapper<BasePigpen>().lambda().like(BasePigpen::getPids,id).eq(BasePigpen::getType, 2).orderByAsc(BasePigpen::getSort));
+        return list;
+    }
+
     private List<BasePigpen> getPigpenListByTypeAndPids(String orgId, int type, String pids) {
         return this.list(new QueryWrapper<BasePigpen>().lambda()
                 .eq(BasePigpen::getType, type)

+ 7 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/entity/WarningInfo.java

@@ -15,6 +15,7 @@ package vip.xiaonuo.modular.warning.warningInfo.entity;
 import com.baomidou.mybatisplus.annotation.*;
 import com.fhs.core.trans.anno.Trans;
 import com.fhs.core.trans.constant.TransType;
+import com.fhs.core.trans.vo.TransPojo;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
@@ -34,7 +35,7 @@ import java.util.Date;
 @Getter
 @Setter
 @TableName("warning_info")
-public class WarningInfo extends CommonEntity {
+public class WarningInfo extends CommonEntity implements TransPojo {
 
     /** id */
     @TableId
@@ -79,4 +80,9 @@ public class WarningInfo extends CommonEntity {
     @ApiModelProperty(value = "预警类型", position = 10)
     @TableField(exist = false)
     private String warningType;
+
+    /** 预警位置 */
+    @ApiModelProperty(value = "预警位置", position = 11)
+    @TableField(exist = false)
+    private String buildName;
 }

+ 1 - 1
snowy-web-app/src/main/java/vip/xiaonuo/modular/warning/warningInfo/param/WarningInfoPageParam.java

@@ -47,7 +47,7 @@ public class WarningInfoPageParam {
     private String unitId;
 
     /** 显示类型 */
-    @ApiModelProperty(value = "显示类型", required = true, example = "0:今日, 1:本周, 2:本月, 3:自定义")
+    @ApiModelProperty(value = "显示类型", required = true, example = "0:今日, 1:本周, 2:本月, 3:自定义, 4:所有")
     @NotBlank(message = "显示类型不能为空")
     private String type;
 

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

@@ -96,10 +96,11 @@ public class WarningInfoServiceImpl extends ServiceImpl<WarningInfoMapper, Warni
                 queryWrapper.lambda().between(WarningInfo::getWarningTime, startWarningTime, endWarningTime);
                 break;
             default:
-                throw new CommonException("显示类型不存在!");
+                break;
         }
         queryWrapper.lambda().eq(WarningInfo::getOrgId,warningInfoPageParam.getOrgId()).orderByDesc(WarningInfo::getWarningTime);
-        Page<WarningInfo> warningInfoPage = this.page(CommonPageRequest.defaultPage(), queryWrapper);
+        Page<WarningInfo> page = new Page<>(warningInfoPageParam.getCurrent(),warningInfoPageParam.getSize());
+        Page<WarningInfo> warningInfoPage = this.page(page, queryWrapper);
         List<WarningInfo> warningInfoList = warningInfoPage.getRecords();
         for (WarningInfo warningInfo : warningInfoList) {
             String[] split = warningInfo.getWarningNotifierId().split(",");