init:导入后新增或修改操作方法实现

This commit is contained in:
orgin 2023-05-23 14:18:57 +08:00
parent b2a04b0574
commit aaf022b438
3 changed files with 32 additions and 46 deletions

View File

@ -7,6 +7,8 @@ import java.util.List;
public interface ISysTaskStationService extends IService<SysTaskStation> {
void create(String taskId, String ipAddr, List<SysTaskStation> taskStations);
void create(String taskId, List<SysTaskStation> taskStations);
void updateStation(String taskId, List<SysTaskStation> stationList);
}

View File

@ -175,28 +175,16 @@ public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> impl
@Transactional
public Result create(List<SysTask> sysTasks){
Result result = new Result();
//获取request
HttpServletRequest request = SpringContextUtils.getHttpServletRequest();
//获取当前操作人用户名
String username = JwtUtil.getUserNameByToken(request);
//设置IP地址
String ipAddr = IpUtils.getIpAddr(request);
//如果新增排班任务不为空
if (CollectionUtils.isNotEmpty(sysTasks)){
//遍历排班任务进行存储
for (SysTask sysTask:sysTasks) {
//操作人
sysTask.setCreateBy(username);
//操作人的ip
sysTask.setOperateIp(ipAddr);
//id
sysTask.setId(String.valueOf(IdWorker.getId()));
//创建时间
sysTask.setCreateTime(new Date());
this.baseMapper.insert(sysTask);
//如果排班任务中台站信息不为空
if (CollectionUtils.isNotEmpty(sysTask.getStationList())){
sysTaskStationService.create(sysTask.getId(), ipAddr, sysTask.getStationList());
sysTaskStationService.create(sysTask.getId(), sysTask.getStationList());
}
}
}
@ -209,12 +197,6 @@ public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> impl
@Transactional
public Result update(List<SysTask> sysTasks) {
Result result = new Result();
//获取request
HttpServletRequest request = SpringContextUtils.getHttpServletRequest();
//获取当前操作人用户名
String username = JwtUtil.getUserNameByToken(request);
//设置IP地址
String ipAddr = IpUtils.getIpAddr(request);
//如果新增排班任务不为空
if (CollectionUtils.isNotEmpty(sysTasks)){
//获取第一个排班任务的信息
@ -222,18 +204,12 @@ public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> impl
this.deleteByDate(task.getSchedulingDate());
//遍历排班任务进行存储
for (SysTask sysTask:sysTasks) {
//操作人
sysTask.setCreateBy(username);
//操作人的ip
sysTask.setOperateIp(ipAddr);
//id
sysTask.setId(String.valueOf(IdWorker.getId()));
//创建时间
sysTask.setCreateTime(new Date());
this.baseMapper.insert(sysTask);
//如果排班任务中台站信息不为空
if (CollectionUtils.isNotEmpty(sysTask.getStationList())){
sysTaskStationService.create(sysTask.getId(), ipAddr, sysTask.getStationList());
sysTaskStationService.create(sysTask.getId(), sysTask.getStationList());
}
}
}
@ -514,9 +490,18 @@ public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> impl
SysTask task = this.baseMapper.selectOne(queryWrapper);
//如果查询到的内容不为空则进行修改
if (Objects.nonNull(task)){
List<SysTaskStation> stationList = sysTask.getStationList();
if (CollectionUtils.isNotEmpty(stationList)){
sysTaskStationService.updateStation(task.getId(), stationList);
}
}else {//如果查询的内容为空则进行新增
//id
sysTask.setId(String.valueOf(IdWorker.getId()));
this.baseMapper.insert(sysTask);
//如果排班任务中台站信息不为空
if (CollectionUtils.isNotEmpty(sysTask.getStationList())){
sysTaskStationService.create(sysTask.getId(), sysTask.getStationList());
}
}
}

View File

@ -1,44 +1,43 @@
package org.jeecg.modules.system.service.impl;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.modules.system.entity.GardsStations;
import org.jeecg.modules.system.entity.SysTaskStation;
import org.jeecg.modules.system.mapper.GardsStationsMapper;
import org.jeecg.modules.system.mapper.SysTaskStationMapper;
import org.jeecg.modules.system.service.IGardsStationsService;
import org.jeecg.modules.system.service.ISysTaskStationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.sql.DataSource;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@Service(value = "sysTaskStationService")
public class SysTaskStationServiceImpl extends ServiceImpl<SysTaskStationMapper, SysTaskStation> implements ISysTaskStationService {
@Autowired
private IGardsStationsService gardsStationsService;
@Override
@Transactional
public void create(String taskId, String ipAddr, List<SysTaskStation> taskStations) {
public void create(String taskId, List<SysTaskStation> taskStations) {
for (SysTaskStation sysTaskStation:taskStations) {
if (StringUtils.isBlank(sysTaskStation.getStationId())){
throw new RuntimeException("台站信息不能为空");
}
sysTaskStation.setOperateIp(ipAddr);
sysTaskStation.setId(String.valueOf(IdWorker.getId()));
sysTaskStation.setTaskId(taskId);
this.baseMapper.insert(sysTaskStation);
}
}
@Override
public void updateStation(String taskId, List<SysTaskStation> stationList) {
LambdaQueryWrapper<SysTaskStation> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysTaskStation::getTaskId, taskId);
this.baseMapper.delete(queryWrapper);
for (SysTaskStation sysTaskStation:stationList) {
if (StringUtils.isBlank(sysTaskStation.getStationId())){
throw new RuntimeException("台站信息不能为空");
}
sysTaskStation.setId(String.valueOf(IdWorker.getId()));
sysTaskStation.setTaskId(taskId);
sysTaskStation.setCreateTime(new Date());