diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/contant/AuditStatus.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/contant/AuditStatus.java new file mode 100644 index 0000000..c92fd2b --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/contant/AuditStatus.java @@ -0,0 +1,22 @@ +package com.njzscloud.supervisory.dispose.contant; + +import com.njzscloud.common.core.ienum.DictStr; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +/** + * 字典代码:audit_status + * 字典名称:审核状态 + */ +@Getter +@RequiredArgsConstructor +public enum AuditStatus implements DictStr { + DaiShenHe("DaiShenHe", "待审核"), + YiShenHe("YiShenHe", "已审核"), + YouWenTi("YouWenTi", "有问题"), + ; + + private final String val; + + private final String txt; +} diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/controller/DisposeRecordController.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/controller/DisposeRecordController.java index 5e59b05..05aeef7 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/controller/DisposeRecordController.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/controller/DisposeRecordController.java @@ -5,6 +5,7 @@ import com.njzscloud.common.core.utils.R; import com.njzscloud.common.mp.support.PageParam; import com.njzscloud.common.mp.support.PageResult; import com.njzscloud.common.mvc.util.FileResponseUtil; +import com.njzscloud.supervisory.dispose.pojo.AuditParam; import com.njzscloud.supervisory.dispose.pojo.DisposeRecordEntity; import com.njzscloud.supervisory.dispose.pojo.DisposeRecordPagingParam; import com.njzscloud.supervisory.dispose.pojo.DisposeRecordReportParam; @@ -73,6 +74,11 @@ public class DisposeRecordController { return R.success(disposeRecordService.detail(id)); } + @PostMapping("/audit") + public R audit(@RequestBody AuditParam auditParam) { + return R.success(disposeRecordService.audit(auditParam)); + } + @GetMapping("/export") public void export(@RequestParam List date, HttpServletResponse response) { byte[] bytes = disposeRecordService.export(date); diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/controller/ProjectClearanceDetailController.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/controller/ProjectClearanceDetailController.java index 6f40edb..fd92d53 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/controller/ProjectClearanceDetailController.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/controller/ProjectClearanceDetailController.java @@ -16,7 +16,11 @@ public class ProjectClearanceDetailController { private final DisposeRecordService disposeRecordService; @PostMapping("/report") - public R report(@RequestParam(required = false, defaultValue = "1") Integer action, @RequestBody DisposeRecordReportParam disposeRecordReportParam) { + public R report(@RequestParam(required = false, defaultValue = "0") Integer action, @RequestBody DisposeRecordReportParam disposeRecordReportParam) { + if (action == 0) { + Integer action_ = disposeRecordReportParam.getAction(); + action = action_ == null ? 1 : action_; + } disposeRecordService.report(action, disposeRecordReportParam); return R.success(); } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/pojo/AuditParam.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/pojo/AuditParam.java new file mode 100644 index 0000000..23968ad --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/pojo/AuditParam.java @@ -0,0 +1,17 @@ +package com.njzscloud.supervisory.dispose.pojo; + +import com.njzscloud.supervisory.dispose.contant.AuditStatus; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +@Getter +@Setter +@ToString +@Accessors(chain = true) +public class AuditParam { + private Long id; + private AuditStatus auditStatus; + private String problemDesc; +} diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/pojo/DisposeRecordEntity.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/pojo/DisposeRecordEntity.java index 8d47792..ecfcf0f 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/pojo/DisposeRecordEntity.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/pojo/DisposeRecordEntity.java @@ -2,6 +2,7 @@ package com.njzscloud.supervisory.dispose.pojo; import com.baomidou.mybatisplus.annotation.*; import com.njzscloud.common.mp.support.handler.j.JsonTypeHandler; +import com.njzscloud.supervisory.dispose.contant.AuditStatus; import com.njzscloud.supervisory.dispose.contant.GarbageCategory; import com.njzscloud.supervisory.dispose.contant.TimeOutStatus; import lombok.Getter; @@ -84,7 +85,21 @@ public class DisposeRecordEntity { * 处置地点 */ private String disposalSite; + /** + * 装车照片 + */ + @TableField(typeHandler = JsonTypeHandler.class) + private List zcPhotos; + /** + * 审核状态 + */ + private AuditStatus auditStatus; + + /** + * 问题描述 + */ + private String problemDesc; private TimeOutStatus timeOutStatus; private String dataSn; diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/pojo/DisposeRecordReportParam.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/pojo/DisposeRecordReportParam.java index 9d0c827..1bcd11b 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/pojo/DisposeRecordReportParam.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/pojo/DisposeRecordReportParam.java @@ -28,8 +28,8 @@ public class DisposeRecordReportParam { private Double tareWeight; // 皮重 private Double grossWeight; // 毛重 private Double netWeight; // 净重 - private String startTime; // 开始时间 - private String finishTime; // 完成时间 + private Long startTime; // 开始时间 + private Long finishTime; // 完成时间 private String communitySn; // 小区编号 private String communityName; // 小区名称 private String clearCompanySn; // 清运公司编码 @@ -56,6 +56,8 @@ public class DisposeRecordReportParam { private String carInBody; private String carOutFront; private String carOutBody; + // 动作:1=新增,2=更新,3=删除 + private Integer action; /** * 联系人 */ @@ -67,4 +69,5 @@ public class DisposeRecordReportParam { private String contactPhone; private List tspPhotos; + private List zcPhotos; } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/service/DisposeRecordService.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/service/DisposeRecordService.java index 9c32a96..ef93042 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/service/DisposeRecordService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/service/DisposeRecordService.java @@ -2,6 +2,7 @@ package com.njzscloud.supervisory.dispose.service; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.excel.EasyExcel; @@ -15,6 +16,7 @@ import com.njzscloud.common.core.tuple.Tuple2; import com.njzscloud.common.core.utils.GroupUtil; import com.njzscloud.common.mp.support.PageParam; import com.njzscloud.common.mp.support.PageResult; +import com.njzscloud.supervisory.dispose.contant.AuditStatus; import com.njzscloud.supervisory.dispose.contant.GarbageCategory; import com.njzscloud.supervisory.dispose.mapper.DisposeRecordMapper; import com.njzscloud.supervisory.dispose.pojo.*; @@ -210,6 +212,16 @@ public class DisposeRecordService extends ServiceImpl 0) { + inTime = DateUtil.parse(startTime.toString()).toLocalDateTime(); + } + LocalDateTime outTime = null; + if (finishTime != null && finishTime > 0) { + outTime = DateUtil.parse(finishTime.toString()).toLocalDateTime(); + } return new DisposeRecordEntity() .setOrigin(disposeRecordReportParam.getCommunityName()) .setClearingCompany(disposeRecordReportParam.getClearCompanyName()) @@ -218,8 +230,8 @@ public class DisposeRecordService extends ServiceImpl Exceptions.exception("数据不存在")); + Assert.isTrue(disposeRecordEntity.getAuditStatus() == AuditStatus.DaiShenHe, () -> Exceptions.exception("数据已审核,不能重复审核")); + this.updateById(new DisposeRecordEntity() + .setId(disposeRecordEntity.getId()) + .setAuditStatus(auditParam.getAuditStatus()) + .setProblemDesc(auditParam.getProblemDesc()) + ); + return disposeRecordEntity; + } } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/service/TaskService.java b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/service/TaskService.java index 2adc819..e3d46f5 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/service/TaskService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/supervisory/dispose/service/TaskService.java @@ -22,6 +22,7 @@ public class TaskService { .set("time_out_status", TimeOutStatus.YiChaoShi) .leSql("create_time", "DATE_SUB(NOW(), INTERVAL 12 HOUR)") .eq("time_out_status", TimeOutStatus.WeiChaoShi) + .eq("deleted", 0) ); log.info("超时警告任务执行结束:{}", update); } diff --git a/z-doc/zsy-recycling-supervision.pdma.json b/z-doc/zsy-recycling-supervision.pdma.json index 75cb3c4..e159a07 100644 --- a/z-doc/zsy-recycling-supervision.pdma.json +++ b/z-doc/zsy-recycling-supervision.pdma.json @@ -4,7 +4,7 @@ "avatar": "data:image/png;base64,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", "version": "4.9.4", "createdTime": "2023-4-13 11:53:52", - "updatedTime": "2025-8-25 13:55:06", + "updatedTime": "2025-8-28 15:00:45", "dbConns": [], "profile": { "default": { @@ -9116,7 +9116,7 @@ "len": "", "scale": "", "primaryKey": false, - "notNull": true, + "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, @@ -9125,6 +9125,57 @@ "extProps": {}, "id": "DF246FD3-8E1E-470F-883C-E0AA51D0AF3A" }, + { + "defKey": "zc_photos", + "defName": "装车照片", + "comment": "", + "type": "TEXT", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "B1BC2E92-6A75-44C0-A254-76E066047F53", + "extProps": {}, + "id": "8B5498AA-F7EA-4666-93EE-3FD47F97833C" + }, + { + "defKey": "audit_status", + "defName": "审核状态", + "comment": "", + "type": "VARCHAR", + "len": 32, + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "'DaiShenHe'", + "hideInGraph": false, + "refDict": "", + "baseType": "AA07828C-4FCB-4EDA-9B51-53A3F264F231", + "extProps": {}, + "id": "D63A9DDA-AD27-4F7F-A646-580FB2B74D2F" + }, + { + "defKey": "problem_desc", + "defName": "问题描述", + "comment": "", + "type": "VARCHAR", + "len": 255, + "scale": "", + "primaryKey": false, + "notNull": true, + "autoIncrement": false, + "defaultValue": "''", + "hideInGraph": false, + "refDict": "", + "baseType": "AA07828C-4FCB-4EDA-9B51-53A3F264F231", + "extProps": {}, + "id": "EA455528-0E01-4EC6-B8C9-3B5705DCED59" + }, { "defKey": "time_out_status", "defName": "超时状态",