Browse Source

[SBBJ-1226]删除点检维修工单三十天以上工单完成的缓存图片

master
zengqinyuan 2 weeks ago
parent
commit
8c8623dba3
  1. 3
      sql/mysql/product_publish.sql
  2. 6
      win-module-eam/win-module-eam-biz/pom.xml
  3. 5
      win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/dal/dataobject/devicemaintenancejob/DeviceMaintenanceJobMainDO.java
  4. 5
      win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/dal/dataobject/devicespotinspectionrecord/DeviceSpotInspectionRecordDetailDO.java
  5. 5
      win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/dal/dataobject/devicespotinspectionrecord/DeviceSpotInspectionRecordMainDO.java
  6. 72
      win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/job/DeleteFileJob.java
  7. 16
      win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/job/vo/DeleteFileVO.java
  8. 9
      win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/common/DeleteFileService.java
  9. 34
      win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/devicemaintenancejob/DeviceMaintenanceJobMainServiceImpl.java
  10. 44
      win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/moldspotinspectionrecord/MoldSpotInspectionRecordMainServiceImpl.java

3
sql/mysql/product_publish.sql

@ -252,3 +252,6 @@ ALTER TABLE basic_attachment_file ADD COLUMN specifications VARCHAR(50) COMMENT
-- 备件表增加名称索引
ALTER TABLE `basic_item` ADD INDEX name (name);
--- ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 已发布 2025-06-16 13:40
ALTER TABLE job_maintenance_main ADD COLUMN is_delete_file bit(1) COMMENT '是否已删除过期文件';
ALTER TABLE record_spot_inspection_main ADD COLUMN is_delete_file bit(1) COMMENT '是否已删除过期文件';
ALTER TABLE record_spot_inspection_detail ADD COLUMN is_delete_file bit(1) COMMENT '是否已删除过期文件';

6
win-module-eam/win-module-eam-biz/pom.xml

@ -140,6 +140,12 @@
<version>3.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.win</groupId>
<artifactId>win-module-infra-biz</artifactId>
<version>3.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

5
win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/dal/dataobject/devicemaintenancejob/DeviceMaintenanceJobMainDO.java

@ -253,4 +253,9 @@ public class DeviceMaintenanceJobMainDO extends BaseDO {
*/
private Boolean outTimeEmailStatus;
/**
* 是否已删除过去文件
*/
private Integer isDeleteFile;
}

5
win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/dal/dataobject/devicespotinspectionrecord/DeviceSpotInspectionRecordDetailDO.java

@ -73,4 +73,9 @@ public class DeviceSpotInspectionRecordDetailDO extends BaseDO {
@TableField(exist = false)
private List<String> filePathList;
/**
* 是否已删除过去文件
*/
private Integer isDeleteFile;
}

5
win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/dal/dataobject/devicespotinspectionrecord/DeviceSpotInspectionRecordMainDO.java

@ -150,5 +150,10 @@ public class DeviceSpotInspectionRecordMainDO extends BaseDO {
@TableField(exist = false)
private String verifyName;
/**
* 是否已删除过去文件
*/
private Integer isDeleteFile;
}

72
win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/job/DeleteFileJob.java

@ -0,0 +1,72 @@
package com.win.module.eam.job;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.win.framework.common.exception.ErrorCode;
import com.win.framework.common.exception.util.ServiceExceptionUtil;
import com.win.framework.mybatis.core.dataobject.BaseDO;
import com.win.framework.quartz.core.handler.JobHandler;
import com.win.module.eam.dal.dataobject.attachmentfile.AttachmentFileDO;
import com.win.module.eam.dal.mysql.attachmentfile.AttachmentFileMapper;
import com.win.module.eam.job.vo.DeleteFileVO;
import com.win.module.eam.service.common.DeleteFileService;
import com.win.module.infra.service.file.FileService;
import com.win.module.system.util.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
@Component
public class DeleteFileJob implements JobHandler {
@Resource
private List<DeleteFileService> list;
@Resource
private AttachmentFileMapper attachmentFileMapper;
@Resource
private FileService fileService;
@Override
public String execute(String param) throws Exception {
list.forEach(item -> {
DeleteFileVO<?> deleteVO = item.findeDeleteFileVO();
deleteFile(deleteVO);
});
return "删除成功";
}
public <T extends BaseDO> void deleteFile(DeleteFileVO<T> vo) {
if (vo == null) {
return;
}
List<?> ids = vo.getIds();
DeleteFileVO<?> subVO = vo.getSubVO();
deleteFile(subVO);
String funcCode = subVO.getFuncCode();
if (StringUtils.isNotBlank(funcCode)) {
List<AttachmentFileDO> attachmentFileDOS = attachmentFileMapper.selectList(
new LambdaQueryWrapper<AttachmentFileDO>()
.eq(AttachmentFileDO::getFuncCode, funcCode)
.in(AttachmentFileDO::getNumber, vo.getNumberList()));
for (AttachmentFileDO attachmentFileDO : attachmentFileDOS) {
try {
fileService.deleteFile(attachmentFileDO.getId());
} catch (Exception e) {
ServiceExceptionUtil.exception(new ErrorCode(50001, String.format("删除文件失败:%s", ExceptionUtils.getStackTrace(e))));
}
}
}
BaseMapper<T> baseMapper = vo.getBaseMapper();
UpdateWrapper<T> updateWrapper = new UpdateWrapper<>();
updateWrapper.in("id", ids);
updateWrapper.set("is_file_delete", 1);
baseMapper.update(null, updateWrapper);
}
}

16
win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/job/vo/DeleteFileVO.java

@ -0,0 +1,16 @@
package com.win.module.eam.job.vo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.win.framework.mybatis.core.dataobject.BaseDO;
import lombok.Data;
import java.util.List;
@Data
public class DeleteFileVO<T extends BaseDO> {
private List<?> ids;
private List<?> numberList;
private BaseMapper<T> baseMapper;
private String funcCode;
private DeleteFileVO<?> subVO;
}

9
win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/common/DeleteFileService.java

@ -0,0 +1,9 @@
package com.win.module.eam.service.common;
import com.win.framework.mybatis.core.dataobject.BaseDO;
import com.win.module.eam.job.vo.DeleteFileVO;
public interface DeleteFileService {
<T extends BaseDO> DeleteFileVO<T> findeDeleteFileVO();
}

34
win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/devicemaintenancejob/DeviceMaintenanceJobMainServiceImpl.java

@ -1,6 +1,7 @@
package com.win.module.eam.service.devicemaintenancejob;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -17,6 +18,7 @@ import com.win.module.eam.dal.dataobject.devicemaintenancejob.DeviceMaintenanceJ
import com.win.module.eam.dal.dataobject.devicemaintenancejob.DeviceMaintenanceJobDetailItemDO;
import com.win.module.eam.dal.dataobject.devicemaintenancejob.DeviceMaintenanceJobMainDO;
import com.win.module.eam.dal.dataobject.devicerepairrequest.DeviceRepairRequestDO;
import com.win.module.eam.dal.dataobject.devicespotinspectionrecord.DeviceSpotInspectionRecordDetailDO;
import com.win.module.eam.dal.dataobject.item.ItemDO;
import com.win.module.eam.dal.dataobject.maintenanceturnto.MaintenanceTurntoDO;
import com.win.module.eam.dal.dataobject.moldaccounts.MoldAccountsDO;
@ -34,7 +36,9 @@ import com.win.module.eam.dal.mysql.questionsharingplatform.QuestionSharingPlatf
import com.win.module.eam.enums.DictTypeConstants;
import com.win.module.eam.enums.basic.BasicStatusEnum;
import com.win.module.eam.enums.order.OrderStatusEnum;
import com.win.module.eam.job.vo.DeleteFileVO;
import com.win.module.eam.service.attachmentfile.AttachmentFileService;
import com.win.module.eam.service.common.DeleteFileService;
import com.win.module.eam.service.deviceaccounts.DeviceAccountsService;
import com.win.module.eam.service.devicerepairrequest.DeviceRepairRequestService;
import com.win.module.eam.service.moldaccounts.MoldAccountsService;
@ -58,6 +62,7 @@ import org.apache.commons.lang3.ObjectUtils;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
@ -79,7 +84,7 @@ import static com.win.module.eam.enums.ErrorCodeConstants.*;
*/
@Service
@Validated
public class DeviceMaintenanceJobMainServiceImpl implements DeviceMaintenanceJobMainService {
public class DeviceMaintenanceJobMainServiceImpl implements DeviceMaintenanceJobMainService, DeleteFileService {
@Resource
private DeviceMaintenanceJobMainMapper deviceMaintenanceJobMainMapper;
@ -677,7 +682,6 @@ public class DeviceMaintenanceJobMainServiceImpl implements DeviceMaintenanceJob
}
@Override
@Transactional(rollbackFor = Exception.class)
public int orderClickVerify(Long id, String status, String content) {
@ -747,6 +751,7 @@ public class DeviceMaintenanceJobMainServiceImpl implements DeviceMaintenanceJob
// respVO.setApplyer(maintenanceJobMainDO.getApplyer());
// uniappPushMessageService.uniappSend(respVO);
// } else {//工程师验证
//// try {
//// UniappPushMessageRespVO respVO = new UniappPushMessageRespVO();
//// respVO.setType(maintenanceJobMainDO.getType());
@ -811,7 +816,6 @@ public class DeviceMaintenanceJobMainServiceImpl implements DeviceMaintenanceJob
// }
// return i;
// }
@Override
public int deleteStatus(String request_number) {
return deviceMaintenanceJobMainMapper.deleteStatus(request_number);
@ -1072,8 +1076,6 @@ public class DeviceMaintenanceJobMainServiceImpl implements DeviceMaintenanceJob
}
@Override
public void checkTimeoutSendEmail() {
// 获取超时分钟数配置
@ -1146,6 +1148,24 @@ public class DeviceMaintenanceJobMainServiceImpl implements DeviceMaintenanceJob
}
@Override
public DeleteFileVO<?> findeDeleteFileVO() {
List<DeviceMaintenanceJobMainDO> deviceRepairRequestDOS = deviceMaintenanceJobMainMapper.selectList(
new LambdaQueryWrapper<DeviceMaintenanceJobMainDO>()
.eq(DeviceMaintenanceJobMainDO::getStatus, OrderStatusEnum.COMPLETED_STATUS.getCode())
.ne(DeviceMaintenanceJobMainDO::getIsDeleteFile, 1)
.lt(DeviceMaintenanceJobMainDO::getCreateTime, LocalDateTime.now().minusDays(30))
);
if (CollectionUtils.isEmpty(deviceRepairRequestDOS)) {
return null;
}
List<Long> list = deviceRepairRequestDOS.stream().map(DeviceMaintenanceJobMainDO::getId).toList();
DeleteFileVO<DeviceMaintenanceJobMainDO> deleteFileVO = new DeleteFileVO<>();
deleteFileVO.setIds(list);
deleteFileVO.setNumberList(deviceRepairRequestDOS.stream().map(DeviceMaintenanceJobMainDO::getRequestNumber).toList());
deleteFileVO.setFuncCode("request_repair");
deleteFileVO.setBaseMapper(deviceMaintenanceJobMainMapper);
return deleteFileVO;
}
}

44
win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/moldspotinspectionrecord/MoldSpotInspectionRecordMainServiceImpl.java

@ -2,6 +2,7 @@ package com.win.module.eam.service.moldspotinspectionrecord;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -40,10 +41,11 @@ import com.win.module.eam.dal.mysql.planMasterDtbl.PlanMasterDtblMapper;
import com.win.module.eam.dal.mysql.repairrelation.RepairRelationMapper;
import com.win.module.eam.enums.basic.BasicStatusEnum;
import com.win.module.eam.enums.order.OrderStatusEnum;
import com.win.module.eam.job.vo.DeleteFileVO;
import com.win.module.eam.service.attachmentfile.AttachmentFileService;
import com.win.module.eam.service.common.DeleteFileService;
import com.win.module.eam.service.deviceaccounts.DeviceAccountsService;
import com.win.module.eam.service.devicemolditems.DeviceMoldItemsService;
import com.win.module.eam.service.devicemoldmaintenanceconfig.DeviceMoldMaintenanceConfigService;
import com.win.module.eam.service.devicerepairrequest.DeviceRepairRequestService;
import com.win.module.eam.service.moldaccounts.MoldAccountsService;
import com.win.module.eam.service.moldmaintenancejob.MoldMaintenanceJobMainService;
@ -86,7 +88,7 @@ import static com.win.module.eam.enums.ErrorCodeConstants.XUN_JIAN_ORDER_NOT_EXI
@Slf4j
@Service
@Validated
public class MoldSpotInspectionRecordMainServiceImpl implements MoldSpotInspectionRecordMainService {
public class MoldSpotInspectionRecordMainServiceImpl implements MoldSpotInspectionRecordMainService, DeleteFileService {
@Resource
private DeviceSpotInspectionRecordMainMapper deviceSpotInspectionRecordMainMapper;
@ -224,7 +226,6 @@ public class MoldSpotInspectionRecordMainServiceImpl implements MoldSpotInspecti
}
private void createSpotInspectionUploadFile(String number, Map<String, Object> map, DeviceSpotInspectionRecordDetailDO inspectionRecordDetailDO) {
// 文件入库处理
UploadFileRequest fileUploadRequest = new UploadFileRequest();
@ -262,7 +263,6 @@ public class MoldSpotInspectionRecordMainServiceImpl implements MoldSpotInspecti
}
@Resource
private MoldMaintenanceJobMainService moldMaintenanceJobMainService;
@ -326,8 +326,6 @@ public class MoldSpotInspectionRecordMainServiceImpl implements MoldSpotInspecti
}
@Override
public Integer updateDeviceSpotInspectionRecordMain(DeviceSpotInspectionRecordMainUpdateReqVO updateReqVO) {
// 校验存在
@ -470,7 +468,6 @@ public class MoldSpotInspectionRecordMainServiceImpl implements MoldSpotInspecti
}
@Override
public void createSpotInspectionTask(int type) {
String times = null;
@ -668,4 +665,37 @@ public class MoldSpotInspectionRecordMainServiceImpl implements MoldSpotInspecti
}
deviceSpotInspectionRecordDetailMapper.insertBatch(detailDOList);
}
@Override
public DeleteFileVO<?> findeDeleteFileVO() {
List<DeviceSpotInspectionRecordMainDO> mainList = deviceSpotInspectionRecordMainMapper.selectList(
new LambdaQueryWrapper<DeviceSpotInspectionRecordMainDO>()
.eq(DeviceSpotInspectionRecordMainDO::getStatus, OrderStatusEnum.COMPLETED_STATUS.getCode())
.ne(DeviceSpotInspectionRecordMainDO::getIsDeleteFile, 1)
.lt(DeviceSpotInspectionRecordMainDO::getCreateTime, LocalDateTime.now().minusDays(30))
);
if (CollectionUtils.isEmpty(mainList)) {
return null;
}
List<Long> mainVoList = mainList.stream().map(DeviceSpotInspectionRecordMainDO::getId).toList();
DeleteFileVO<DeviceSpotInspectionRecordMainDO> mainDeleteFileVO = new DeleteFileVO<>();
mainDeleteFileVO.setIds(mainVoList);
mainDeleteFileVO.setNumberList(mainList.stream().map(DeviceSpotInspectionRecordMainDO::getNumber).toList());
mainDeleteFileVO.setBaseMapper(deviceSpotInspectionRecordMainMapper);
List<String> mainIdList = mainList.stream().map(DeviceSpotInspectionRecordMainDO::getNumber).toList();
List<DeviceSpotInspectionRecordDetailDO> detailList = deviceSpotInspectionRecordDetailMapper.selectList(
new LambdaQueryWrapper<DeviceSpotInspectionRecordDetailDO>()
.ne(DeviceSpotInspectionRecordDetailDO::getIsDeleteFile, 1)
.in(DeviceSpotInspectionRecordDetailDO::getMasterId, mainIdList));
List<Long> detailVoList = detailList.stream().map(DeviceSpotInspectionRecordDetailDO::getId).toList();
DeleteFileVO<DeviceSpotInspectionRecordDetailDO> detailDeleteFileVO = new DeleteFileVO<>();
detailDeleteFileVO.setIds(detailVoList);
detailDeleteFileVO.setNumberList(detailList.stream().map(DeviceSpotInspectionRecordDetailDO::getNumber).toList());
detailDeleteFileVO.setFuncCode("INSPECTION_CREATE");
detailDeleteFileVO.setBaseMapper(deviceSpotInspectionRecordDetailMapper);
mainDeleteFileVO.setSubVO(detailDeleteFileVO);
return mainDeleteFileVO;
}
}

Loading…
Cancel
Save