增加质量和安全的用时和是否超期

This commit is contained in:
guoshengxiong 2024-07-12 17:10:53 +08:00
parent 0728d04cca
commit 5f10511b14
8 changed files with 77 additions and 4 deletions

View File

@ -82,4 +82,10 @@ public class QualityRectifyRecord implements Serializable {
private String realName;
@TableField(exist = false)
private String createUserName;
@TableField(exist = false)
@ApiModelProperty(value = "用时")
private String takeTime;
@ApiModelProperty("第一个超期的")
private Boolean overTime;
}

View File

@ -7,6 +7,6 @@
from quality_rectify_record a
LEFT JOIN system_user b ON a.create_user=b.user_id
where a.quality_id=#{qualityId}
ORDER BY a.create_time
ORDER BY a.rectify_time
</select>
</mapper>

View File

@ -270,6 +270,7 @@ public class QualityInspectionRecordServiceImpl extends ServiceImpl<QualityInspe
public void saveQualityInspectionRecord(QualityInspectionRecord qualityInspectionRecord) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
qualityInspectionRecord.setCreateTime(df.format(new Date()));
qualityInspectionRecord.setChangeLimitTime(DateUtil.formatDateTime(DateUtil.parse(qualityInspectionRecord.getChangeLimitTime())));
if (Objects.equals(qualityInspectionRecord.getRecordType(), QualityInspectionRecordRecordTypeEnum.RECORD.getValue())) {
qualityInspectionRecord.setStatus(5);
}

View File

@ -3,6 +3,8 @@ package com.zhgd.xmgl.modules.quality.service.impl;
import cn.afterturn.easypoi.entity.ImageEntity;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
@ -28,6 +30,7 @@ import com.zhgd.xmgl.modules.quality.service.IQualityRectifyRecordService;
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper;
import com.zhgd.xmgl.push.config.PushPayloads;
import com.zhgd.xmgl.util.TimeUtil;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.io.FileUtils;
@ -76,7 +79,33 @@ public class QualityRectifyRecordServiceImpl extends ServiceImpl<QualityRectifyR
@Override
public List<QualityRectifyRecord> selectRectifyRecordList(Map<String, Object> map) {
return qualityRectifyRecordMapper.selectRectifyRecordList(map);
String qualityId = MapUtils.getString(map, "qualityId");
QualityInspectionRecord inspectionRecord = qualityInspectionRecordMapper.selectById(qualityId);
if (inspectionRecord == null) {
return null;
}
//计算用时和是否超期
List<QualityRectifyRecord> records = qualityRectifyRecordMapper.selectRectifyRecordList(map);
if (CollUtil.isNotEmpty(records)) {
QualityRectifyRecord begin = records.get(0);
begin.setTakeTime(TimeUtil.toDayHourMinSecond(DateUtil.between(DateUtil.parse(begin.getRectifyTime()), DateUtil.parse(inspectionRecord.getInspectTime()), DateUnit.SECOND)));
boolean isOverTime = DateUtil.compare(DateUtil.parse(begin.getRectifyTime()), DateUtil.parse(inspectionRecord.getChangeLimitTime())) > 0;
begin.setOverTime(isOverTime);
if (records.size() > 1) {
for (int i = 1; i < records.size(); i++) {
QualityRectifyRecord record = records.get(i);
long betweenSecond = DateUtil.between(DateUtil.parse(record.getRectifyTime()), DateUtil.parse(records.get(i - 1).getRectifyTime()), DateUnit.SECOND);
record.setTakeTime(TimeUtil.toDayHourMinSecond(betweenSecond));
if (!isOverTime) {
isOverTime = DateUtil.compare(DateUtil.parse(record.getRectifyTime()), DateUtil.parse(inspectionRecord.getChangeLimitTime())) > 0;
record.setOverTime(isOverTime);
} else {
record.setOverTime(false);
}
}
}
}
return records;
}
@Override

View File

@ -83,4 +83,9 @@ public class XzSecurityQualityRectifyRecord implements Serializable {
private String realName;
@TableField(exist = false)
private String createUserName;
@TableField(exist = false)
@ApiModelProperty(value = "用时")
private String takeTime;
@ApiModelProperty("第一个超期的")
private Boolean overTime;
}

View File

@ -7,6 +7,6 @@
from xz_security_quality_rectify_record a
LEFT JOIN system_user b ON a.create_user=b.user_id
where a.quality_id=#{qualityId}
ORDER BY a.create_time
ORDER BY a.rectify_time
</select>
</mapper>

View File

@ -346,6 +346,7 @@ public class XzSecurityQualityInspectionRecordServiceImpl extends ServiceImpl<Xz
public void saveQualityInspectionRecord(XzSecurityQualityInspectionRecord record) {
SimpleDateFormat df = new SimpleDateFormat(Cts.YYYY_MM_DD_HH_MM_SS);
record.setCreateTime(df.format(new Date()));
record.setChangeLimitTime(DateUtil.formatDateTime(DateUtil.parse(record.getChangeLimitTime())));
if (Objects.equals(record.getRecordType(), XzSecurityQualityInspectionRecordRecordTypeEnum.RECORD.getValue())) {
record.setStatus(5);
}

View File

@ -3,6 +3,8 @@ package com.zhgd.xmgl.modules.xz.security.service.impl;
import cn.afterturn.easypoi.entity.ImageEntity;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
@ -14,6 +16,8 @@ import com.gexin.fastjson.JSONArray;
import com.gexin.fastjson.JSONObject;
import com.zhgd.xmgl.call.SanjiangDataCall;
import com.zhgd.xmgl.modules.basicdata.service.INoticeService;
import com.zhgd.xmgl.modules.quality.entity.QualityInspectionRecord;
import com.zhgd.xmgl.modules.quality.entity.QualityRectifyRecord;
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper;
import com.zhgd.xmgl.modules.xz.security.entity.XzSecurityQualityInspectionRecord;
@ -26,6 +30,7 @@ import com.zhgd.xmgl.modules.xz.security.mapper.XzSecurityQualityRectifyRecordMa
import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityQualityInspectionRecordService;
import com.zhgd.xmgl.modules.xz.security.service.IXzSecurityQualityRectifyRecordService;
import com.zhgd.xmgl.push.config.PushPayloads;
import com.zhgd.xmgl.util.TimeUtil;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.io.FileUtils;
@ -72,7 +77,33 @@ public class XzSecurityQualityRectifyRecordServiceImpl extends ServiceImpl<XzSec
@Override
public List<XzSecurityQualityRectifyRecord> selectRectifyRecordList(Map<String, Object> map) {
return xzSecurityQualityRectifyRecordMapper.selectRectifyRecordList(map);
String qualityId = MapUtils.getString(map, "qualityId");
XzSecurityQualityInspectionRecord inspectionRecord = xzSecurityQualityInspectionRecordMapper.selectById(qualityId);
if (inspectionRecord == null) {
return null;
}
//计算用时和是否超期
List<XzSecurityQualityRectifyRecord> records = xzSecurityQualityRectifyRecordMapper.selectRectifyRecordList(map);
if (CollUtil.isNotEmpty(records)) {
XzSecurityQualityRectifyRecord begin = records.get(0);
begin.setTakeTime(TimeUtil.toDayHourMinSecond(DateUtil.between(DateUtil.parse(begin.getRectifyTime()), DateUtil.parse(inspectionRecord.getInspectTime()), DateUnit.SECOND)));
boolean isOverTime = DateUtil.compare(DateUtil.parse(begin.getRectifyTime()), DateUtil.parse(inspectionRecord.getChangeLimitTime())) > 0;
begin.setOverTime(isOverTime);
if (records.size() > 1) {
for (int i = 1; i < records.size(); i++) {
XzSecurityQualityRectifyRecord record = records.get(i);
long betweenSecond = DateUtil.between(DateUtil.parse(record.getRectifyTime()), DateUtil.parse(records.get(i - 1).getRectifyTime()), DateUnit.SECOND);
record.setTakeTime(TimeUtil.toDayHourMinSecond(betweenSecond));
if (!isOverTime) {
isOverTime = DateUtil.compare(DateUtil.parse(record.getRectifyTime()), DateUtil.parse(inspectionRecord.getChangeLimitTime())) > 0;
record.setOverTime(isOverTime);
} else {
record.setOverTime(false);
}
}
}
}
return records;
}
@Override