feat:排版任务信息交接任务接口实现
This commit is contained in:
parent
0f9f907ddb
commit
24764593f5
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user