master
lzq 2025-08-28 15:13:41 +08:00
parent fa1d6029c4
commit 2c2b4747dc
9 changed files with 152 additions and 7 deletions

View File

@ -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;
}

View File

@ -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<DisposeRecordEntity> audit(@RequestBody AuditParam auditParam) {
return R.success(disposeRecordService.audit(auditParam));
}
@GetMapping("/export")
public void export(@RequestParam List<LocalDate> date, HttpServletResponse response) {
byte[] bytes = disposeRecordService.export(date);

View File

@ -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();
}

View File

@ -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;
}

View File

@ -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<String> zcPhotos;
/**
*
*/
private AuditStatus auditStatus;
/**
*
*/
private String problemDesc;
private TimeOutStatus timeOutStatus;
private String dataSn;

View File

@ -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<String> tspPhotos;
private List<String> zcPhotos;
}

View File

@ -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<DisposeRecordMapper, Dispo
}
private DisposeRecordEntity resolveData(DisposeRecordReportParam disposeRecordReportParam) {
Long startTime = disposeRecordReportParam.getStartTime();
Long finishTime = disposeRecordReportParam.getFinishTime();
LocalDateTime inTime = null;
if (startTime != null && startTime > 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<DisposeRecordMapper, Dispo
.setInWeight(String.valueOf(disposeRecordReportParam.getGrossWeight() == null ? 0 : disposeRecordReportParam.getGrossWeight()))
.setOutWeight(String.valueOf(disposeRecordReportParam.getTareWeight() == null ? 0 : disposeRecordReportParam.getTareWeight()))
.setSuttleWeight(String.valueOf(disposeRecordReportParam.getNetWeight() == null ? 0 : disposeRecordReportParam.getNetWeight()))
.setInTime(DateUtil.parse(disposeRecordReportParam.getStartTime()).toLocalDateTime())
.setOutTime(DateUtil.parse(disposeRecordReportParam.getFinishTime()).toLocalDateTime())
.setInTime(inTime)
.setOutTime(outTime)
.setDisposalSite(disposeRecordReportParam.getTreatmentCompanyName())
.setDataSn(disposeRecordReportParam.getTreatmentOrderNo())
.setInFrontPhoto(disposeRecordReportParam.getCarInFront())
@ -229,7 +241,21 @@ public class DisposeRecordService extends ServiceImpl<DisposeRecordMapper, Dispo
.setContact(disposeRecordReportParam.getContact())
.setContactPhone(disposeRecordReportParam.getContactPhone())
.setTspPhotos(disposeRecordReportParam.getTspPhotos())
.setZcPhotos(disposeRecordReportParam.getZcPhotos())
;
}
@Transactional(rollbackFor = Exception.class)
public DisposeRecordEntity audit(AuditParam auditParam) {
DisposeRecordEntity disposeRecordEntity = this.getById(auditParam.getId());
Assert.notNull(disposeRecordEntity, () -> 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;
}
}

View File

@ -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);
}

View File

@ -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": "超时状态",