feat:排版任务信息交接任务接口实现

This commit is contained in:
qiaoqinzheng 2023-05-18 16:23:45 +08:00
parent 0f9f907ddb
commit 24764593f5
5 changed files with 81 additions and 6 deletions

View File

@ -1,17 +1,13 @@
package org.jeecg.modules.system.controller;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.util.JwtUtil;
import org.jeecg.common.util.IpUtils;
import org.jeecg.common.util.SpringContextUtils;
import org.jeecg.config.valid.InsertGroup;
import org.jeecg.config.valid.UpdateGroup;
import org.jeecg.modules.system.entity.SysTask;
import org.jeecg.modules.system.entity.vo.SysTaskChangeVo;
import org.jeecg.modules.system.entity.vo.SysTaskVo;
import org.jeecg.modules.system.service.ISysTaskService;
import org.springframework.beans.factory.annotation.Autowired;
@ -19,7 +15,6 @@ import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -65,4 +60,10 @@ public class SysTaskController {
return sysTaskService.deleteById(taskId, userId);
}
@PutMapping("changeScheduling")
@ApiOperation(value = "交接排班任务", notes = "交接排班任务")
public Result changeScheduling(@RequestBody SysTaskChangeVo sysTaskChangeVo){
return sysTaskService.changeScheduling(sysTaskChangeVo);
}
}

View File

@ -0,0 +1,23 @@
package org.jeecg.modules.system.entity.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
@Data
public class SysTaskChangeVo {
private String fromUserId;
private String toUserId;
private List<String> stationIds;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date day;
}

View File

@ -1,7 +1,9 @@
package org.jeecg.modules.system.mapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.modules.system.entity.SysTask;
import org.jeecg.modules.system.entity.SysTaskStation;
import org.jeecg.modules.system.entity.vo.SysTaskVo;
import java.util.List;
@ -24,4 +26,5 @@ public interface SysTaskMapper extends BaseMapper<SysTask> {
*/
List<SysTask> selectTaskByDate(String firstDay, String lastDay);
List<SysTaskStation> selectList(LambdaQueryWrapper<SysTaskStation> sysTaskStationQueryWrapper);
}

View File

@ -3,6 +3,7 @@ package org.jeecg.modules.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.system.entity.SysTask;
import org.jeecg.modules.system.entity.vo.SysTaskChangeVo;
import org.jeecg.modules.system.entity.vo.SysTaskVo;
import java.util.Date;
@ -42,4 +43,10 @@ public interface ISysTaskService extends IService<SysTask> {
*/
Result deleteById(String taskId, String userId);
/**
* 交接排班任务
* @param sysTaskChangeVo
* @return
*/
Result changeScheduling(SysTaskChangeVo sysTaskChangeVo);
}

View File

@ -12,6 +12,7 @@ import org.jeecg.common.util.SpringContextUtils;
import org.jeecg.modules.system.entity.GardsStations;
import org.jeecg.modules.system.entity.SysTask;
import org.jeecg.modules.system.entity.SysTaskStation;
import org.jeecg.modules.system.entity.vo.SysTaskChangeVo;
import org.jeecg.modules.system.entity.vo.SysTaskVo;
import org.jeecg.modules.system.mapper.SysTaskMapper;
import org.jeecg.modules.system.mapper.SysTaskStationMapper;
@ -261,5 +262,45 @@ public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> impl
return result;
}
@Override
@Transactional
public Result changeScheduling(SysTaskChangeVo sysTaskChangeVo) {
Result result = new Result();
//来源用户相关信息查询
//查询出当前来源用户在排版日期的任务信息
LambdaQueryWrapper<SysTask> fromQueryWrapper = new LambdaQueryWrapper<>();
fromQueryWrapper.eq(SysTask::getUserId, sysTaskChangeVo.getFromUserId());
fromQueryWrapper.eq(SysTask::getSchedulingDate, DateUtils.formatDate(sysTaskChangeVo.getDay(), "yyyy-MM-dd"));
SysTask fromSysTask = this.baseMapper.selectOne(fromQueryWrapper);
//根据来源用户的任务以及台站信息查询出对应的任务及台站信息
LambdaQueryWrapper<SysTaskStation> fromTaskQueryWrapper = new LambdaQueryWrapper<>();
fromTaskQueryWrapper.eq(SysTaskStation::getTaskId, fromSysTask.getId());
fromTaskQueryWrapper.in(SysTaskStation::getStationId, sysTaskChangeVo.getStationIds());
List<SysTaskStation> sysTaskStations = sysTaskStationMapper.selectList(fromTaskQueryWrapper);
//转移到用户相关信息查询
//查询出当前转移到用户在排班日期的任务信息
LambdaQueryWrapper<SysTask> toQueryWrapper = new LambdaQueryWrapper<>();
toQueryWrapper.eq(SysTask::getUserId, sysTaskChangeVo.getToUserId());
toQueryWrapper.eq(SysTask::getSchedulingDate, DateUtils.formatDate(sysTaskChangeVo.getDay(), "yyyy-MM-dd"));
SysTask toSysTask = this.baseMapper.selectOne(toQueryWrapper);
//台站信息不为空
if (CollectionUtils.isNotEmpty(sysTaskStations)){
//遍历当前要进行修改的台站信息
for (SysTaskStation taskStation:sysTaskStations) {
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("交接完成");
return result;
}
}