日期修改

This commit is contained in:
qiaoqinzheng 2023-06-20 15:46:01 +08:00
parent abf5911ff4
commit eb2bca2023
11 changed files with 175 additions and 177 deletions

View File

@ -11,8 +11,6 @@ import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
@Data @Data
@ -75,7 +73,7 @@ public class GardsDetectors implements Serializable {
@TableField(value = "DATE_BEGIN") @TableField(value = "DATE_BEGIN")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateBegin; private Date dateBegin;
/** /**
* 结束运行日期 * 结束运行日期
@ -83,7 +81,7 @@ public class GardsDetectors implements Serializable {
@TableField(value = "DATE_END") @TableField(value = "DATE_END")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateEnd; private Date dateEnd;
/** /**
* Y在运行状态良好N停止 * Y在运行状态良好N停止
@ -103,7 +101,7 @@ public class GardsDetectors implements Serializable {
@TableField(value = "MODDATE") @TableField(value = "MODDATE")
@NotNull(message = "不能为空", groups = {InsertGroup.class, UpdateGroup.class}) @NotNull(message = "不能为空", groups = {InsertGroup.class, UpdateGroup.class})
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime moddate; private Date moddate;
/** /**
* 台站id * 台站id

View File

@ -11,7 +11,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime; import java.util.Date;
@Data @Data
@TableName("GARDS_NUCLEARFACILITY") @TableName("GARDS_NUCLEARFACILITY")
@ -67,7 +67,7 @@ public class GardsNuclearfacility implements Serializable {
@TableField(value = "BUILDDATE") @TableField(value = "BUILDDATE")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime buildDate; private Date buildDate;
/** /**
* 临界时间 * 临界时间
@ -75,7 +75,7 @@ public class GardsNuclearfacility implements Serializable {
@TableField(value = "CRITICALITYDATE") @TableField(value = "CRITICALITYDATE")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime criticalityDate; private Date criticalityDate;
/** /**
* 退休时间 * 退休时间
@ -83,7 +83,7 @@ public class GardsNuclearfacility implements Serializable {
@TableField(value = "RETIREDATE") @TableField(value = "RETIREDATE")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime retireDate; private Date retireDate;
/** /**
* 网格工程日期 * 网格工程日期
@ -91,7 +91,7 @@ public class GardsNuclearfacility implements Serializable {
@TableField(value = "GRIDCONEETIONDATE") @TableField(value = "GRIDCONEETIONDATE")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime gridconeetionDate; private Date gridconeetionDate;
/** /**
* 销售公司 * 销售公司

View File

@ -14,8 +14,6 @@ import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null; import javax.validation.constraints.Null;
import java.io.Serializable; import java.io.Serializable;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
@Data @Data
@ -78,7 +76,7 @@ public class GardsStations implements Serializable {
@TableField(value = "DATE_BEGIN") @TableField(value = "DATE_BEGIN")
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate dateBegin; private Date dateBegin;
/** /**
* 运行终止日期 * 运行终止日期
@ -86,7 +84,7 @@ public class GardsStations implements Serializable {
@TableField(value = "DATE_END") @TableField(value = "DATE_END")
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate dateEnd; private Date dateEnd;
/** /**
* 运行状态 * 运行状态
@ -99,6 +97,7 @@ public class GardsStations implements Serializable {
*/ */
@TableField(value = "MODDATE") @TableField(value = "MODDATE")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime moddate; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date moddate;
} }

View File

@ -12,8 +12,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate; import java.util.Date;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@Data @Data
@ -31,7 +30,7 @@ public class SysTask implements Serializable {
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
@NotBlank(message = "不能为空", groups = {InsertGroup.class, UpdateGroup.class}) @NotBlank(message = "不能为空", groups = {InsertGroup.class, UpdateGroup.class})
private LocalDate schedulingDate; private Date schedulingDate;
@TableField(value = "create_by") @TableField(value = "create_by")
private String createBy; private String createBy;
@ -42,12 +41,12 @@ public class SysTask implements Serializable {
@TableField(value = "create_time") @TableField(value = "create_time")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime; private Date createTime;
@TableField(value = "update_time") @TableField(value = "update_time")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime; private Date updateTime;
@TableField(exist = false) @TableField(exist = false)
private String userName; private String userName;

View File

@ -12,7 +12,6 @@ import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
@Data @Data
@ -36,12 +35,12 @@ public class SysTaskStation implements Serializable {
@TableField(value = "create_time") @TableField(value = "create_time")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime; private Date createTime;
@TableField(value = "update_time") @TableField(value = "update_time")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime updateTime; private Date updateTime;
@TableField(exist = false) @TableField(exist = false)
private String stationName; private String stationName;

View File

@ -4,7 +4,6 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -19,6 +18,6 @@ public class SysTaskChangeVo {
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate day; private Date day;
} }

View File

@ -4,7 +4,6 @@ import lombok.Data;
import org.jeecg.modules.system.entity.SysTaskStation; import org.jeecg.modules.system.entity.SysTaskStation;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDate;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -16,7 +15,7 @@ public class SysTaskVo {
private String userId; private String userId;
@DateTimeFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate schedulingDate; private Date schedulingDate;
private String username; private String username;

View File

@ -86,7 +86,7 @@ public class GardsDetectorsServiceImpl extends ServiceImpl<GardsDetectorsMapper,
return result; return result;
} }
} }
gardsDetectors.setModdate(LocalDateTime.now()); gardsDetectors.setModdate(new Date());
this.baseMapper.insert(gardsDetectors); this.baseMapper.insert(gardsDetectors);
result.success("新增成功"); result.success("新增成功");
this.findDetectors(); this.findDetectors();

View File

@ -20,10 +20,7 @@ import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.HashMap; import java.util.*;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Service("gardsStationsService") @Service("gardsStationsService")
@ -101,7 +98,7 @@ public class GardsStationsServiceImpl extends ServiceImpl<GardsStationsMapper, G
return result; return result;
} }
} }
gardsStations.setModdate(LocalDateTime.now()); gardsStations.setModdate(new Date());
this.baseMapper.insert(gardsStations); this.baseMapper.insert(gardsStations);
result.setSuccess(true); result.setSuccess(true);
result.success("新增成功"); result.success("新增成功");

View File

@ -39,9 +39,6 @@ import java.io.IOException;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -118,7 +115,7 @@ public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> impl
} }
} }
for (String day:allDay) { for (String day:allDay) {
List<SysTaskVo> taskVos = sysTaskVos.stream().filter(item -> item.getSchedulingDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")).equals(day)).collect(Collectors.toList()); List<SysTaskVo> taskVos = sysTaskVos.stream().filter(item -> DateUtils.formatDate(item.getSchedulingDate(), "yyyy-MM-dd").equals(day)).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(taskVos)){ if (CollectionUtils.isNotEmpty(taskVos)){
map.put(day, taskVos); map.put(day, taskVos);
}else { }else {
@ -200,7 +197,7 @@ public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> impl
//id //id
sysTask.setId(String.valueOf(IdWorker.getId())); sysTask.setId(String.valueOf(IdWorker.getId()));
//创建时间 //创建时间
sysTask.setCreateTime(LocalDateTime.now()); sysTask.setCreateTime(new Date());
this.baseMapper.insert(sysTask); this.baseMapper.insert(sysTask);
//如果排班任务中台站信息不为空 //如果排班任务中台站信息不为空
if (CollectionUtils.isNotEmpty(sysTask.getStationList())){ if (CollectionUtils.isNotEmpty(sysTask.getStationList())){
@ -237,7 +234,7 @@ public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> impl
//id //id
sysTask.setId(String.valueOf(IdWorker.getId())); sysTask.setId(String.valueOf(IdWorker.getId()));
//创建时间 //创建时间
sysTask.setCreateTime(LocalDateTime.now()); sysTask.setCreateTime(new Date());
this.baseMapper.insert(sysTask); this.baseMapper.insert(sysTask);
//如果排班任务中台站信息不为空 //如果排班任务中台站信息不为空
if (CollectionUtils.isNotEmpty(sysTask.getStationList())){ if (CollectionUtils.isNotEmpty(sysTask.getStationList())){
@ -254,19 +251,23 @@ public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> impl
* 根据排班任务日期删除历史任务信息 * 根据排班任务日期删除历史任务信息
* @param schedulingDate * @param schedulingDate
*/ */
private void deleteByDate(LocalDate schedulingDate){ private void deleteByDate(Date schedulingDate){
//根据排班日期查询对应的任务信息 try {
LambdaQueryWrapper<SysTask> queryWrapper = new LambdaQueryWrapper<>(); //根据排班日期查询对应的任务信息
queryWrapper.eq(SysTask::getSchedulingDate, schedulingDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); LambdaQueryWrapper<SysTask> queryWrapper = new LambdaQueryWrapper<>();
List<SysTask> sysTasks = this.baseMapper.selectList(queryWrapper); queryWrapper.eq(SysTask::getSchedulingDate, DateUtils.parseDate(DateUtils.formatDate(schedulingDate, "yyyy-MM-dd"), "yyyy-MM-dd"));
//获取任务信息的id List<SysTask> sysTasks = this.baseMapper.selectList(queryWrapper);
List<String> taskIds = sysTasks.stream().map(SysTask::getId).collect(Collectors.toList()); //获取任务信息的id
//根据任务id删除关联的台站信息 List<String> taskIds = sysTasks.stream().map(SysTask::getId).collect(Collectors.toList());
LambdaQueryWrapper<SysTaskStation> taskStationQueryWrapper = new LambdaQueryWrapper<>(); //根据任务id删除关联的台站信息
taskStationQueryWrapper.in(SysTaskStation::getTaskId, taskIds); LambdaQueryWrapper<SysTaskStation> taskStationQueryWrapper = new LambdaQueryWrapper<>();
sysTaskStationMapper.delete(taskStationQueryWrapper); taskStationQueryWrapper.in(SysTaskStation::getTaskId, taskIds);
//根据任务id删除任务信息 sysTaskStationMapper.delete(taskStationQueryWrapper);
this.baseMapper.deleteBatchIds(taskIds); //根据任务id删除任务信息
this.baseMapper.deleteBatchIds(taskIds);
} catch (ParseException e) {
throw new RuntimeException(e);
}
} }
@Override @Override
@ -287,40 +288,44 @@ public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> impl
@Transactional @Transactional
public Result changeScheduling(SysTaskChangeVo sysTaskChangeVo) { public Result changeScheduling(SysTaskChangeVo sysTaskChangeVo) {
Result result = new Result(); Result result = new Result();
//来源用户相关信息查询 try {
//查询出当前来源用户在排版日期的任务信息 //来源用户相关信息查询
LambdaQueryWrapper<SysTask> fromQueryWrapper = new LambdaQueryWrapper<>(); //查询出当前来源用户在排版日期的任务信息
fromQueryWrapper.eq(SysTask::getUserId, sysTaskChangeVo.getFromUserId()); LambdaQueryWrapper<SysTask> fromQueryWrapper = new LambdaQueryWrapper<>();
fromQueryWrapper.eq(SysTask::getSchedulingDate, sysTaskChangeVo.getDay().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); fromQueryWrapper.eq(SysTask::getUserId, sysTaskChangeVo.getFromUserId());
SysTask fromSysTask = this.baseMapper.selectOne(fromQueryWrapper); fromQueryWrapper.eq(SysTask::getSchedulingDate, DateUtils.parseDate(DateUtils.formatDate(sysTaskChangeVo.getDay(), "yyyy-MM-dd"), "yyyy-MM-dd"));
//根据来源用户的任务以及台站信息查询出对应的任务及台站信息 SysTask fromSysTask = this.baseMapper.selectOne(fromQueryWrapper);
LambdaQueryWrapper<SysTaskStation> fromTaskQueryWrapper = new LambdaQueryWrapper<>(); //根据来源用户的任务以及台站信息查询出对应的任务及台站信息
fromTaskQueryWrapper.eq(SysTaskStation::getTaskId, fromSysTask.getId()); LambdaQueryWrapper<SysTaskStation> fromTaskQueryWrapper = new LambdaQueryWrapper<>();
fromTaskQueryWrapper.in(SysTaskStation::getStationId, sysTaskChangeVo.getStationIds()); fromTaskQueryWrapper.eq(SysTaskStation::getTaskId, fromSysTask.getId());
List<SysTaskStation> sysTaskStations = sysTaskStationMapper.selectList(fromTaskQueryWrapper); fromTaskQueryWrapper.in(SysTaskStation::getStationId, sysTaskChangeVo.getStationIds());
//转移到用户相关信息查询 List<SysTaskStation> sysTaskStations = sysTaskStationMapper.selectList(fromTaskQueryWrapper);
//查询出当前转移到用户在排班日期的任务信息 //转移到用户相关信息查询
LambdaQueryWrapper<SysTask> toQueryWrapper = new LambdaQueryWrapper<>(); //查询出当前转移到用户在排班日期的任务信息
toQueryWrapper.eq(SysTask::getUserId, sysTaskChangeVo.getToUserId()); LambdaQueryWrapper<SysTask> toQueryWrapper = new LambdaQueryWrapper<>();
toQueryWrapper.eq(SysTask::getSchedulingDate, sysTaskChangeVo.getDay().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); toQueryWrapper.eq(SysTask::getUserId, sysTaskChangeVo.getToUserId());
SysTask toSysTask = this.baseMapper.selectOne(toQueryWrapper); toQueryWrapper.eq(SysTask::getSchedulingDate, DateUtils.parseDate(DateUtils.formatDate(sysTaskChangeVo.getDay(), "yyyy-MM-dd"), "yyyy-MM-dd"));
//台站信息不为空 SysTask toSysTask = this.baseMapper.selectOne(toQueryWrapper);
if (CollectionUtils.isNotEmpty(sysTaskStations)){ //台站信息不为空
//遍历当前要进行修改的台站信息 if (CollectionUtils.isNotEmpty(sysTaskStations)){
for (SysTaskStation taskStation:sysTaskStations) { //遍历当前要进行修改的台站信息
taskStation.setTaskId(toSysTask.getId()); for (SysTaskStation taskStation:sysTaskStations) {
sysTaskStationMapper.updateById(taskStation); taskStation.setTaskId(toSysTask.getId());
sysTaskStationMapper.updateById(taskStation);
}
} }
//判断 如果当前来源用户及日期下的排班任务对应的台站信息为空排班任务信息删除
LambdaQueryWrapper<SysTaskStation> sysTaskStationQueryWrapper = new LambdaQueryWrapper<>();
sysTaskStationQueryWrapper.eq(SysTaskStation::getTaskId, fromSysTask.getId());
List<SysTaskStation> stations = sysTaskStationMapper.selectList(sysTaskStationQueryWrapper);
if (CollectionUtils.isEmpty(stations)){
this.baseMapper.deleteById(fromSysTask);
}
result.setSuccess(true);
result.success("交接完成");
} catch (ParseException e) {
throw new RuntimeException(e);
} }
//判断 如果当前来源用户及日期下的排班任务对应的台站信息为空排班任务信息删除
LambdaQueryWrapper<SysTaskStation> sysTaskStationQueryWrapper = new LambdaQueryWrapper<>();
sysTaskStationQueryWrapper.eq(SysTaskStation::getTaskId, fromSysTask.getId());
List<SysTaskStation> stations = sysTaskStationMapper.selectList(sysTaskStationQueryWrapper);
if (CollectionUtils.isEmpty(stations)){
this.baseMapper.deleteById(fromSysTask);
}
result.setSuccess(true);
result.success("交接完成");
return result; return result;
} }
@ -336,7 +341,7 @@ public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> impl
List<SysTaskVo> sysTaskVos = entry.getValue(); List<SysTaskVo> sysTaskVos = entry.getValue();
if (CollectionUtils.isNotEmpty(sysTaskVos)){ if (CollectionUtils.isNotEmpty(sysTaskVos)){
for (SysTaskVo sysTaskVo:sysTaskVos) { for (SysTaskVo sysTaskVo:sysTaskVos) {
String schedulingDate = sysTaskVo.getSchedulingDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); String schedulingDate = DateUtils.formatDate(sysTaskVo.getSchedulingDate(), "yyyy-MM-dd");
String username = sysTaskVo.getUsername(); String username = sysTaskVo.getUsername();
String stationNames = ""; String stationNames = "";
for (SysTaskStation sysTaskStation:sysTaskVo.getStationList()) { for (SysTaskStation sysTaskStation:sysTaskVo.getStationList()) {
@ -410,113 +415,117 @@ public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> impl
List<ImportFailureVo> failureList = new ArrayList<>(); List<ImportFailureVo> failureList = new ArrayList<>();
int successNum = 0; int successNum = 0;
int failureNum = 0; int failureNum = 0;
//第一步 读取导入数据中的全部排班任务相关信息进行新增 try {
if (CollectionUtils.isNotEmpty(dataList)){ //第一步 读取导入数据中的全部排班任务相关信息进行新增
//遍历导入数据内容 if (CollectionUtils.isNotEmpty(dataList)){
for (SysTaskExportVo sysTaskExportVo:dataList) { //遍历导入数据内容
boolean failFlag = false; for (SysTaskExportVo sysTaskExportVo:dataList) {
//排班任务相关台站信息集合 boolean failFlag = false;
List<SysTaskStation> sysTaskStationList = new ArrayList<>(); //排班任务相关台站信息集合
SysTask sysTask = new SysTask(); List<SysTaskStation> sysTaskStationList = new ArrayList<>();
headRow++; SysTask sysTask = new SysTask();
//排班日期 headRow++;
String schedulingDate = sysTaskExportVo.getSchedulingDate(); //排班日期
//用户名称 String schedulingDate = sysTaskExportVo.getSchedulingDate();
String userName = sysTaskExportVo.getUserName(); //用户名称
//台站名称 String userName = sysTaskExportVo.getUserName();
String stationName = sysTaskExportVo.getStationName(); //台站名称
//存放切割后的台站名称 String stationName = sysTaskExportVo.getStationName();
List<String> stations = new ArrayList<>(); //存放切割后的台站名称
//判断排版日期用户名称台站名称是否为空 List<String> stations = new ArrayList<>();
if (StringUtils.isAnyEmpty(schedulingDate,userName,stationName)){ //判断排版日期用户名称台站名称是否为空
failureList.add(new ImportFailureVo(headRow+1, "必填信息不全")); if (StringUtils.isAnyEmpty(schedulingDate,userName,stationName)){
failureNum++; failureList.add(new ImportFailureVo(headRow+1, "必填信息不全"));
failFlag = true;
if (failFlag){
continue;
}
}
//判断台站名称是否为空
if (StringUtils.isNotBlank(stationName)){
if (stationName.indexOf("")>0){
failureList.add(new ImportFailureVo(headRow+1, "台站信息内容错误,台站编码间用英文逗号隔开"));
failureNum++; failureNum++;
failFlag = true; failFlag = true;
if (failFlag){ if (failFlag){
continue; continue;
} }
}else {
stations = Arrays.asList(stationName.split(StringPool.COMMA));
} }
} //判断台站名称是否为空
sysTask.setSchedulingDate(LocalDate.parse(schedulingDate)); if (StringUtils.isNotBlank(stationName)){
//根据用户名称过滤出对应的用户信息 if (stationName.indexOf("")>0){
List<SysUser> sysUserList = userList.stream().filter(item -> item.getUsername().equals(userName)).collect(Collectors.toList()); failureList.add(new ImportFailureVo(headRow+1, "台站信息内容错误,台站编码间用英文逗号隔开"));
//如果用户存在将用户id传入排班任务
if (CollectionUtils.isNotEmpty(sysUserList)){
SysUser sysUser = sysUserList.get(0);
sysTask.setUserId(sysUser.getId());
}else {
failureList.add(new ImportFailureVo(headRow+1, "用户信息不存在"));
failureNum++;
failFlag = true;
if (failFlag){
continue;
}
}
//判断内容是否重复
if (CollectionUtils.isNotEmpty(taskList)){
//与本次录入的数据进行比较
for (SysTask task:taskList) {
if (task.getUserId().equals(sysTask.getUserId()) && task.getSchedulingDate().equals(sysTask.getSchedulingDate()) ){
failureList.add(new ImportFailureVo(headRow+1, "排班任务信息已存在,重复录入"));
failureNum++; failureNum++;
failFlag = true; failFlag = true;
} if (failFlag){
} continue;
if (failFlag){
continue;
}
}
if (CollectionUtils.isNotEmpty(stations)){
for (GardsStations station:stationsList) {
for (String sName:stations) {
if (station.getStationCode().equals(sName)){
SysTaskStation taskStation = new SysTaskStation();
taskStation.setStationId(String.valueOf(station.getStationId()));
taskStation.setStationName(sName);
sysTaskStationList.add(taskStation);
} }
}else {
stations = Arrays.asList(stationName.split(StringPool.COMMA));
} }
} }
//判断 台站名称集合长度与排班任务对应台站信息长度不一致 丢失台站信息 sysTask.setSchedulingDate(DateUtils.parseDate(schedulingDate, "yyyy-MM-dd"));
if (stations.size()!=sysTaskStationList.size()){ //根据用户名称过滤出对应的用户信息
String code = ""; List<SysUser> sysUserList = userList.stream().filter(item -> item.getUsername().equals(userName)).collect(Collectors.toList());
List<String> sysTaskStationNames = sysTaskStationList.stream().map(SysTaskStation::getStationName).collect(Collectors.toList()); //如果用户存在将用户id传入排班任务
for (String name:stations) { if (CollectionUtils.isNotEmpty(sysUserList)){
if (sysTaskStationNames.indexOf(name)<0){ SysUser sysUser = sysUserList.get(0);
code+=name+","; sysTask.setUserId(sysUser.getId());
} }else {
} failureList.add(new ImportFailureVo(headRow+1, "用户信息不存在"));
code = code.substring(0,code.length()-1);
failureList.add(new ImportFailureVo(headRow+1, "台站信息"+code+"不存在!"));
failureNum++; failureNum++;
failFlag = true; failFlag = true;
if (failFlag){ if (failFlag){
continue; continue;
} }
} }
sysTask.setStationList(sysTaskStationList);
//判断内容是否重复
if (CollectionUtils.isNotEmpty(taskList)){
//与本次录入的数据进行比较
for (SysTask task:taskList) {
if (task.getUserId().equals(sysTask.getUserId()) && task.getSchedulingDate().equals(sysTask.getSchedulingDate()) ){
failureList.add(new ImportFailureVo(headRow+1, "排班任务信息已存在,重复录入"));
failureNum++;
failFlag = true;
}
}
if (failFlag){
continue;
}
}
if (CollectionUtils.isNotEmpty(stations)){
for (GardsStations station:stationsList) {
for (String sName:stations) {
if (station.getStationCode().equals(sName)){
SysTaskStation taskStation = new SysTaskStation();
taskStation.setStationId(String.valueOf(station.getStationId()));
taskStation.setStationName(sName);
sysTaskStationList.add(taskStation);
}
}
}
//判断 台站名称集合长度与排班任务对应台站信息长度不一致 丢失台站信息
if (stations.size()!=sysTaskStationList.size()){
String code = "";
List<String> sysTaskStationNames = sysTaskStationList.stream().map(SysTaskStation::getStationName).collect(Collectors.toList());
for (String name:stations) {
if (sysTaskStationNames.indexOf(name)<0){
code+=name+",";
}
}
code = code.substring(0,code.length()-1);
failureList.add(new ImportFailureVo(headRow+1, "台站信息"+code+"不存在!"));
failureNum++;
failFlag = true;
if (failFlag){
continue;
}
}
sysTask.setStationList(sysTaskStationList);
}
successNum++;
taskList.add(sysTask);
}
//判断当前数据库中的排班任务信息是否为空
if (CollectionUtils.isNotEmpty(taskList)){
this.addOrUpdate(sysTaskList,taskList);
} }
successNum++;
taskList.add(sysTask);
}
//判断当前数据库中的排班任务信息是否为空
if (CollectionUtils.isNotEmpty(taskList)){
this.addOrUpdate(sysTaskList,taskList);
} }
} catch (ParseException e) {
throw new RuntimeException(e);
} }
importViewVo.setDetailList(failureList); importViewVo.setDetailList(failureList);
importViewVo.setSuccess(successNum); importViewVo.setSuccess(successNum);
@ -549,7 +558,7 @@ public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> impl
//id //id
sysTask.setId(String.valueOf(IdWorker.getId())); sysTask.setId(String.valueOf(IdWorker.getId()));
//创建时间 //创建时间
sysTask.setCreateTime(LocalDateTime.now()); sysTask.setCreateTime(new Date());
this.baseMapper.insert(sysTask); this.baseMapper.insert(sysTask);
//如果排班任务中台站信息不为空 //如果排班任务中台站信息不为空
if (CollectionUtils.isNotEmpty(sysTask.getStationList())){ if (CollectionUtils.isNotEmpty(sysTask.getStationList())){

View File

@ -10,7 +10,6 @@ import org.jeecg.modules.system.service.ISysTaskStationService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -27,7 +26,7 @@ public class SysTaskStationServiceImpl extends ServiceImpl<SysTaskStationMapper,
sysTaskStation.setOperateIp(ipAddr); sysTaskStation.setOperateIp(ipAddr);
sysTaskStation.setId(String.valueOf(IdWorker.getId())); sysTaskStation.setId(String.valueOf(IdWorker.getId()));
sysTaskStation.setTaskId(taskId); sysTaskStation.setTaskId(taskId);
sysTaskStation.setCreateTime(LocalDateTime.now()); sysTaskStation.setCreateTime(new Date());
this.baseMapper.insert(sysTaskStation); this.baseMapper.insert(sysTaskStation);
} }
} }
@ -45,7 +44,7 @@ public class SysTaskStationServiceImpl extends ServiceImpl<SysTaskStationMapper,
sysTaskStation.setOperateIp(ipAddr); sysTaskStation.setOperateIp(ipAddr);
sysTaskStation.setId(String.valueOf(IdWorker.getId())); sysTaskStation.setId(String.valueOf(IdWorker.getId()));
sysTaskStation.setTaskId(taskId); sysTaskStation.setTaskId(taskId);
sysTaskStation.setCreateTime(LocalDateTime.now()); sysTaskStation.setCreateTime(new Date());
this.baseMapper.insert(sysTaskStation); this.baseMapper.insert(sysTaskStation);
} }
} }