bug修改

This commit is contained in:
fl 2025-04-15 19:30:05 +08:00
parent 10bbfc4745
commit 9b4d232ad6
7 changed files with 103 additions and 11 deletions

View File

@ -16,6 +16,7 @@ import com.bonus.imgTool.system.vo.LoginUser;
import com.bonus.imgTool.system.vo.dto.FileStorageDto;
import com.bonus.imgTool.utils.ServerResponse;
import com.bonus.imgTool.utils.UserUtil;
import com.bonus.imgTool.webResult.Constants;
import org.apache.poi.ss.usermodel.Workbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -29,9 +30,8 @@ import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.*;
import java.util.stream.Collectors;
@Service
@ -52,6 +52,12 @@ public class QualityInspectionServiceImpl implements QualityInspectionService {
@Override
public List<SafetyViolationVo> getList(SafetyViolationDto data) {
String roleLevel = Optional.ofNullable(UserUtil.getLoginUser()).map(LoginUser::getRoleLevel).orElse("0");
String proIds = Optional.ofNullable(UserUtil.getLoginUser()).map(LoginUser::getProIds).orElse("-1");
if(Objects.equals(roleLevel, Constants.ROLE_LEVEL)){ // 项目部级
List<Long> proList = Arrays.stream(proIds.split(",")).map(String::trim).filter(s -> !s.isEmpty()).map(Long::valueOf).collect(Collectors.toList());
data.setProIds(proList);
}
return dao.getList(data);
}

View File

@ -15,6 +15,7 @@ import com.bonus.imgTool.system.vo.dto.FileStorageDto;
import com.bonus.imgTool.task.job.ProPullTask;
import com.bonus.imgTool.utils.ServerResponse;
import com.bonus.imgTool.utils.UserUtil;
import com.bonus.imgTool.webResult.Constants;
import org.apache.poi.ss.usermodel.Workbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -29,9 +30,8 @@ import java.net.URLEncoder;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.*;
import java.util.stream.Collectors;
@Service
@ -50,6 +50,12 @@ public class SafetyViolationServiceImpl implements SafetyViolationService {
@Override
public List<SafetyViolationVo> getList(SafetyViolationDto data) {
String roleLevel = Optional.ofNullable(UserUtil.getLoginUser()).map(LoginUser::getRoleLevel).orElse("0");
String proIds = Optional.ofNullable(UserUtil.getLoginUser()).map(LoginUser::getProIds).orElse("-1");
if(Objects.equals(roleLevel, Constants.ROLE_LEVEL)){ // 项目部级
List<Long> proList = Arrays.stream(proIds.split(",")).map(String::trim).filter(s -> !s.isEmpty()).map(Long::valueOf).collect(Collectors.toList());
data.setProIds(proList);
}
return dao.getList(data);
}

View File

@ -73,7 +73,7 @@ public class SafetyViolationDto extends PageEntity {
*/
private String rectDesc;
/**
* 整改状态 0.待整改 1.已整改
* 整改状态 0.待整改 1.已整改 2.未整改
*/
private String rectStatus;
/**
@ -120,12 +120,15 @@ public class SafetyViolationDto extends PageEntity {
*/
private List<FileStorageDto> delFileList;
private String proStatus;
private String proType;
private String uploadType;
private String keyWord;
/**
* 用户管理的工程
*/
private List<Long> proIds;
}

View File

@ -1,6 +1,7 @@
package com.bonus.imgTool.task.dao;
import com.bonus.imgTool.basic.vo.dto.ProDto;
import com.bonus.imgTool.imgUpload.vo.SafetyViolationVo;
import com.bonus.imgTool.system.vo.dto.FileStorageDto;
import org.springframework.stereotype.Repository;
@ -20,4 +21,12 @@ public interface ProPullDao {
List<FileStorageDto> getNotHaveWatermarkPhoto();
void updateHaveWatermarkPhoto(List<FileStorageDto> list);
List<SafetyViolationVo> getSafetyViolationData();
List<SafetyViolationVo> getQualityInspectionData();
void updateSafetyViolationData(List<SafetyViolationVo> safeList);
void updateQualityInspectionData(List<SafetyViolationVo> qualityList);
}

View File

@ -2,6 +2,7 @@ package com.bonus.imgTool.task.job;
import cn.hutool.core.date.DateUtil;
import com.bonus.imgTool.basic.vo.dto.ProDto;
import com.bonus.imgTool.imgUpload.vo.SafetyViolationVo;
import com.bonus.imgTool.system.vo.dto.FileStorageDto;
import com.bonus.imgTool.task.dao.ProPullDao;
import com.bonus.imgTool.utils.HighQualityWatermark;
@ -83,6 +84,22 @@ public class ProPullTask {
log.info("--------水印照片生成定时器完毕------");
}
/**
* 整改状态随时间流逝变化
*/
@Scheduled(initialDelay = 6000, fixedDelay = 60000 * 30)
@Async
public void updateRectStatusTask() {
log.info("--------整改状态随时间流逝变化定时器开启------");
//实名制工程
List<SafetyViolationVo> safeList = dao.getSafetyViolationData();
dao.updateSafetyViolationData(safeList);
List<SafetyViolationVo> qualityList = dao.getQualityInspectionData();
dao.updateQualityInspectionData(qualityList);
log.info("--------整改状态随时间流逝变化定时器完毕------");
}
/**
* 同步工程数据
* @param proList

View File

@ -89,6 +89,30 @@
</if>
</foreach>
</update>
<update id="updateSafetyViolationData">
<foreach collection="list" item="item" separator=";">
<if test="item.id != null">
UPDATE
tb_safety_violations
SET
rect_status = #{item.rectStatus}
WHERE
id = #{item.id}
</if>
</foreach>
</update>
<update id="updateQualityInspectionData">
<foreach collection="list" item="item" separator=";">
<if test="item.id != null">
UPDATE
tb_quality_inspection
SET
rect_status = #{item.rectStatus}
WHERE
id = #{item.id}
</if>
</foreach>
</update>
<select id="getProjectData" resultType="com.bonus.imgTool.basic.vo.dto.ProDto">
@ -158,5 +182,26 @@
AND sfr.file_type = '1'
AND sfr.is_active = 1
</select>
<select id="getSafetyViolationData" resultType="com.bonus.imgTool.imgUpload.vo.SafetyViolationVo">
SELECT
id,
rect_status
FROM
tb_safety_violations
WHERE
rect_status = '0'
AND CURRENT_DATE > rect_date
</select>
<select id="getQualityInspectionData" resultType="com.bonus.imgTool.imgUpload.vo.SafetyViolationVo">
SELECT
id,
rect_status
FROM
tb_quality_inspection
WHERE
rect_status = '0'
AND CURRENT_DATE > rect_date
</select>
</mapper>

View File

@ -208,12 +208,18 @@
<if test="gxId != null">
and tsv.gx_id = #{gxId}
</if>
<if test="proStatus != null and proStatus != ''">
and tp.status = #{proStatus}
<if test="rectStatus != null and rectStatus != ''">
and tsv.rect_status = #{rectStatus}
</if>
<if test="keyWord != null and keyWord != ''">
and locate(#{keyWord},tsv.vio_place)
</if>
<if test="proIds != null and proIds.size() > 0">
and tsv.pro_id in
<foreach collection="proIds" item="proId" open="(" separator="," close=")">
#{proId}
</foreach>
</if>
</where>
GROUP BY tsv.id
</select>