三跨标识

This commit is contained in:
马三炮 2025-11-13 14:31:31 +08:00
parent b450b5c343
commit e281f8366a
3 changed files with 115 additions and 52 deletions

View File

@ -374,18 +374,49 @@ public interface JjBusinessMapper {
void updateSingProject(TodayTaskVo todayTaskVoOld);
/**
*
*修改工程三跨信息
* @param todayTaskVoOld
*/
void updateStartDateSingProject(TodayTaskVo todayTaskVoOld);
/**
* 获取当天二级和三级风险的信息
* @param todayTaskVo
* @return
*/
List<TodayTaskVo> getTodayTaskVo2List(TodayTaskVo todayTaskVo);
/**
* 查看以前这个班组是否被标识
* @param todayTaskVoNew
* @return
*/
TodayTaskVo getTeamIdentify(TodayTaskVo todayTaskVoNew);
/**
* 修改班组标识时间
* @param todayTaskNew
*/
void updateTeamIdentify(TodayTaskVo todayTaskNew);
/**
* 修改班组标识时间
* @param todayTaskNew
*/
void updateTeamIdentifyEndTate(TodayTaskVo todayTaskNew);
/**
* 新增班组标识
* @param todayTaskVoNew
*/
void insertTeamIdentify(TodayTaskVo todayTaskVoNew);
/**
* 删除三跨标识
* @param todayTaskVoIn
*/
void delClassMeetingSpan(TodayTaskVo todayTaskVoIn);
/**
* 新增三跨标识
* @param todayTaskVoIn
*/
void insertClassMeetingSpan(TodayTaskVo todayTaskVoIn);
}

View File

@ -969,6 +969,9 @@ public class JjBusinessService {
}
}
/**
* 工程维度标记三跨
*/
public void threeSpan() {
try {
log.error("执行项目三跨标识**********************");
@ -988,6 +991,7 @@ public class JjBusinessService {
if (todayTaskVo3List.size()>0){
for (TodayTaskVo o:todayTaskVo3List) {
if(StringUtils.isNotBlank(o.getWorkGx())){
TodayTaskVo todayTaskVoIn = new TodayTaskVo();
if (o.getWorkGx().contains("导地线展放") || o.getWorkGx().contains("紧线、挂线作业")|| o.getWorkGx().contains("附件安装")){
//对这个工程进行标识是三跨工程
TodayTaskVo todayTaskVoNew = new TodayTaskVo();
@ -996,44 +1000,40 @@ public class JjBusinessService {
//查看以前这个工程是否被标识
TodayTaskVo todayTaskVoOld= mapper.getSingProject(todayTaskVoNew);
if (!org.springframework.util.StringUtils.isEmpty(todayTaskVoOld)){
if (StringUtils.isNotBlank(todayTaskVoOld.getStartDate()) && StringUtils.isBlank(todayTaskVoOld.getEndDate())){
//判断今天和标记时间相隔几天
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate targetDateFromString = LocalDate.parse(todayTaskVoOld.getStartDate(), formatter);
// 3. 计算间隔天数结果为正数表示目标日期在今天之前负数表示在今天之后
Long daysDiff = ChronoUnit.DAYS.between(targetDateFromString, today);
if (daysDiff.intValue()==1){
//修改状态
o.setThreeSpan("");
mapper.updateClassMetting(o);
todayTaskVoOld.setEndDate(DateUtils.formatDate(new Date(),"yyyy-MM-dd"));
mapper.updateSingProject(todayTaskVoOld);
}
} else if (StringUtils.isNotBlank(todayTaskVoOld.getStartDate()) && StringUtils.isNotBlank(todayTaskVoOld.getEndDate())) {
//判断今天和标记时间相隔几天
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate targetDateFromString = LocalDate.parse(todayTaskVoOld.getStartDate(), formatter);
// 3. 计算间隔天数结果为正数表示目标日期在今天之前负数表示在今天之后
Long daysDiff = ChronoUnit.DAYS.between(targetDateFromString, today);
if (daysDiff.intValue()==15){
//修改状态
o.setThreeSpan("");
mapper.updateClassMetting(o);
todayTaskVoOld.setStartDate(DateUtils.formatDate(new Date(),"yyyy-MM-dd"));
todayTaskVoOld.setEndDate(null);
mapper.updateStartDateSingProject(todayTaskVoOld);
}
//判断今天和标记时间相隔几天
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate targetDateFromString = LocalDate.parse(todayTaskVoOld.getStartDate(), formatter);
// 3. 计算间隔天数结果为正数表示目标日期在今天之前负数表示在今天之后
Long daysDiff = ChronoUnit.DAYS.between(targetDateFromString, today);
if (daysDiff.intValue()>14){
//修改状态
todayTaskVoIn.setClassId(o.getClassId());
todayTaskVoIn.setThreeSpan("");
mapper.delClassMeetingSpan(todayTaskVoIn);
mapper.insertClassMeetingSpan(todayTaskVoIn);
todayTaskVoOld.setStartDate(DateUtils.formatDate(new Date(),"yyyy-MM-dd"));
mapper.updateSingProject(todayTaskVoOld);
}else {
//修改状态
todayTaskVoIn.setClassId(o.getClassId());
todayTaskVoIn.setThreeSpan("");
mapper.delClassMeetingSpan(todayTaskVoIn);
mapper.insertClassMeetingSpan(todayTaskVoIn);
}
}else {
//修改状态
o.setThreeSpan("");
mapper.updateClassMetting(o);
todayTaskVoIn.setClassId(o.getClassId());
mapper.delClassMeetingSpan(todayTaskVoIn);
mapper.insertClassMeetingSpan(todayTaskVoIn);
mapper.insertSingProject(todayTaskVoNew);
}
}else {
//修改状态
o.setThreeSpan("");
mapper.updateClassMetting(o);
todayTaskVoIn.setClassId(o.getClassId());
todayTaskVoIn.setThreeSpan("");
todayTaskVoIn.setStartDate(DateUtils.formatDate(new Date(),"yyyy-MM-dd"));
mapper.delClassMeetingSpan(todayTaskVoIn);
mapper.insertClassMeetingSpan(todayTaskVoIn);
}
}
@ -1050,6 +1050,9 @@ public class JjBusinessService {
}
}
/**
* 班组维度标记三跨
*/
public void teamThreeSpan() {
try {
TodayTaskVo todayTaskVo = new TodayTaskVo();
@ -1061,38 +1064,58 @@ public class JjBusinessService {
XxlJobHelper.log("todayTaskVo2List-->"+todayTaskVo2List.size());
if(todayTaskVo2List.size()>0){
for (TodayTaskVo todayTaskVoOld: todayTaskVo2List) {
TodayTaskVo todayTaskVoIn = new TodayTaskVo();
if (StringUtils.isNotBlank(todayTaskVoOld.getWorkContent())){
if (todayTaskVoOld.getWorkContent().contains("带电线路") || todayTaskVoOld.getWorkContent().contains("线路带电")|| todayTaskVoOld.getWorkContent().contains("跨越主航道河流、海上主航道")){
//对这个工程进行标识是三跨工程
TodayTaskVo todayTaskVoNew = new TodayTaskVo();
todayTaskVoNew.setTeamId(todayTaskVoOld.getTeamId());
todayTaskVoNew.setStartDate(DateUtils.formatDate(new Date(),"yyyy-MM-dd"));
//查看以前这个工程是否被标识
//查看以前这个班组是否被标识
TodayTaskVo todayTaskNew= mapper.getTeamIdentify(todayTaskVoNew);
XxlJobHelper.log("today-->"+todayTaskNew);
todayTaskVoIn.setThreeSpan("");
todayTaskVoIn.setClassId(todayTaskVoOld.getClassId());
todayTaskVoIn.setStartDate(DateUtils.formatDate(new Date(),"yyyy-MM-dd"));
mapper.delClassMeetingSpan(todayTaskVoIn);
mapper.insertClassMeetingSpan(todayTaskVoIn);
if (!org.springframework.util.StringUtils.isEmpty(todayTaskNew)){
if (StringUtils.isNotBlank(todayTaskNew.getStartDate()) && StringUtils.isBlank(todayTaskNew.getEndDate())){
//修改状态
todayTaskVoOld.setThreeSpan("");
mapper.updateClassMetting(todayTaskVoOld);
mapper.updateTeamIdentify(todayTaskNew);
} else if (StringUtils.isNotBlank(todayTaskNew.getStartDate()) && StringUtils.isNotBlank(todayTaskNew.getEndDate())) {
//修改状态
todayTaskVoOld.setThreeSpan("");
mapper.updateClassMetting(todayTaskVoOld);
todayTaskNew.setEndDate(null);
mapper.updateTeamIdentifyEndTate(todayTaskNew);
}
}else {
//修改状态
todayTaskVoOld.setThreeSpan("");
mapper.updateClassMetting(todayTaskVoOld);
mapper.updateTeamIdentify(todayTaskVoNew);
}else {
mapper.insertTeamIdentify(todayTaskVoNew);
}
}else {
//修改状态
todayTaskVoOld.setThreeSpan("");
mapper.updateClassMetting(todayTaskVoOld);
//对这个工程进行标识是三跨工程
TodayTaskVo todayTaskVoNew = new TodayTaskVo();
todayTaskVoNew.setTeamId(todayTaskVoOld.getTeamId());
todayTaskVoNew.setStartDate(DateUtils.formatDate(new Date(),"yyyy-MM-dd"));
//查看以前这个工程是否被标识
TodayTaskVo todayTaskNew= mapper.getTeamIdentify(todayTaskVoNew);
if (!org.springframework.util.StringUtils.isEmpty(todayTaskNew)){
//判断今天和标记时间相隔几天
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate targetDateFromString = LocalDate.parse(todayTaskNew.getStartDate(), formatter);
// 3. 计算间隔天数结果为正数表示目标日期在今天之前负数表示在今天之后
Long daysDiff = ChronoUnit.DAYS.between(targetDateFromString, today);
//如果超过三天标识取消
if(daysDiff>2){
todayTaskVoIn.setThreeSpan("");
}else {
todayTaskVoIn.setThreeSpan("");
}
todayTaskVoIn.setClassId(todayTaskVoOld.getClassId());
todayTaskVoIn.setStartDate(DateUtils.formatDate(new Date(),"yyyy-MM-dd"));
mapper.delClassMeetingSpan(todayTaskVoIn);
mapper.insertClassMeetingSpan(todayTaskVoIn);
}else {
todayTaskVoIn.setThreeSpan("");
todayTaskVoIn.setClassId(todayTaskVoOld.getClassId());
todayTaskVoIn.setStartDate(DateUtils.formatDate(new Date(),"yyyy-MM-dd"));
mapper.delClassMeetingSpan(todayTaskVoIn);
mapper.insertClassMeetingSpan(todayTaskVoIn);
mapper.insertTeamIdentify(todayTaskNew);
}
}
}

View File

@ -35,6 +35,11 @@
team_id,start_date
)values (#{teamId},#{startDate})
</insert>
<insert id="insertClassMeetingSpan">
insert into jj_class_meeting_span(
class_id,three_span,create_date
)values (#{classId},#{threeSpan},#{startDate})
</insert>
<update id="updateWarnInfo" parameterType="com.xxl.job.executor.inter.vo.JjBusinessInfoVo">
UPDATE jj_warn_info SET work_content=#{workContent},team_id_car=#{idCard},
work_team=#{workTeam},ticket_id=#{ticketId},ticket_no=#{ticketNo},team_leader=#{relName},
@ -70,6 +75,10 @@
where y_class_id=#{yClassId} and type=#{type} AND warn_day=#{warnDay}
</delete>
<delete id="delClassMeetingSpan">
delete from jj_class_meeting_span
where class_id=#{classId}
</delete>
<select id="getTodayTicketList" resultType="com.xxl.job.executor.inter.vo.JjBusinessInfoVo">