feat:排版任务信息查询详情接口,排版任务信息删除接口,排版任务信息修改接口
This commit is contained in:
parent
f614cf391b
commit
8910b3f92a
|
@ -9,6 +9,8 @@ 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.SysTaskVo;
|
||||
import org.jeecg.modules.system.service.ISysTaskService;
|
||||
|
@ -38,17 +40,29 @@ public class SysTaskController {
|
|||
return result;
|
||||
}
|
||||
|
||||
@GetMapping("findInfo")
|
||||
@ApiOperation(value = "查询日期当天的排班任务详情信息", notes = "查询日期当天的排班任务详情信息")
|
||||
public Result findInfo(@DateTimeFormat(pattern = "yyyy-MM-dd") Date day){
|
||||
Result<List<SysTask>> result = sysTaskService.findInfo(day);
|
||||
return result;
|
||||
}
|
||||
|
||||
@PostMapping("create")
|
||||
@ApiOperation(value = "新增排班任务", notes = "新增排班任务")
|
||||
public Result create(@RequestBody @Validated List<SysTask> sysTasks){
|
||||
public Result create(@RequestBody @Validated(value = InsertGroup.class) List<SysTask> sysTasks){
|
||||
return sysTaskService.create(sysTasks);
|
||||
}
|
||||
|
||||
@PutMapping("update")
|
||||
public Result update(){
|
||||
return null;
|
||||
@ApiOperation(value = "修改排班任务", notes = "修改排班任务")
|
||||
public Result update(@RequestBody @Validated(value = UpdateGroup.class) List<SysTask> sysTasks){
|
||||
return sysTaskService.update(sysTasks);
|
||||
}
|
||||
|
||||
|
||||
@DeleteMapping("deleteById")
|
||||
@ApiOperation(value = "删除排班任务", notes = "删除排班任务")
|
||||
public Result deleteById(String taskId, String userId){
|
||||
return sysTaskService.deleteById(taskId, userId);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@ public class SysTask implements Serializable {
|
|||
@TableField(value = "scheduling_date")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@NotBlank(message = "不能为空", groups = {InsertGroup.class, UpdateGroup.class})
|
||||
private Date schedulingDate;
|
||||
|
||||
@TableField(value = "create_by")
|
||||
|
|
|
@ -16,4 +16,12 @@ public interface SysTaskMapper extends BaseMapper<SysTask> {
|
|||
*/
|
||||
List<SysTaskVo> selectTasks(String firstDay, String lastDay);
|
||||
|
||||
/**
|
||||
* 查询日期范围内的排班任务信息
|
||||
* @param firstDay
|
||||
* @param lastDay
|
||||
* @return
|
||||
*/
|
||||
List<SysTask> selectTaskByDate(String firstDay, String lastDay);
|
||||
|
||||
}
|
||||
|
|
|
@ -17,4 +17,15 @@
|
|||
group by t.user_id,t.scheduling_date,t.id,u.username
|
||||
</select>
|
||||
|
||||
<select id="selectTaskByDate" resultType="org.jeecg.modules.system.entity.SysTask">
|
||||
SELECT
|
||||
t.user_id as userId,
|
||||
t.scheduling_date as schedulingDate,
|
||||
t.id
|
||||
FROM
|
||||
sys_task t
|
||||
left join sys_task_station s on t.id = s.task_id
|
||||
where t.scheduling_date BETWEEN #{firstDay} and #{lastDay}
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -11,8 +11,35 @@ import java.util.Map;
|
|||
|
||||
public interface ISysTaskService extends IService<SysTask> {
|
||||
|
||||
/**
|
||||
* 查询一个月的排班任务信息
|
||||
* @param yearMonth
|
||||
* @return
|
||||
*/
|
||||
Result<Map<String, List<SysTaskVo>>> findList(Date yearMonth);
|
||||
|
||||
Result<List<SysTask>> findInfo(Date day);
|
||||
|
||||
/**
|
||||
* 新增排班任务信息
|
||||
* @param sysTasks
|
||||
* @return
|
||||
*/
|
||||
Result create(List<SysTask> sysTasks);
|
||||
|
||||
/**
|
||||
* 修改用户的任务信息
|
||||
* @param sysTasks
|
||||
* @return
|
||||
*/
|
||||
Result update(List<SysTask> sysTasks);
|
||||
|
||||
/**
|
||||
* 删除排班任务信息
|
||||
* @param taskId
|
||||
* @param userId
|
||||
* @return
|
||||
*/
|
||||
Result deleteById(String taskId, String userId);
|
||||
|
||||
}
|
||||
|
|
|
@ -45,9 +45,8 @@ public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> impl
|
|||
//获取全部台站信息
|
||||
List<GardsStations> gardsStations = gardsStationsService.getGardsStations();
|
||||
try {
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String yearMonthStr = dateFormat.format(yearMonth);
|
||||
String yearMonthStr = DateUtils.formatDate(yearMonth, "yyyy-MM");
|
||||
yearMonthStr = yearMonthStr + "-01";
|
||||
String firstday = "";
|
||||
String lastday = "";
|
||||
|
@ -116,6 +115,35 @@ public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> impl
|
|||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result<List<SysTask>> findInfo(Date day) {
|
||||
Result<List<SysTask>> result = new Result();
|
||||
try {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.setTime(sdf.parse(DateUtils.formatDate(day, "yyyy-MM-dd")));
|
||||
String date = sdf.format(cal.getTime());
|
||||
List<SysTask> sysTasks = this.baseMapper.selectTaskByDate(date, date);
|
||||
if (CollectionUtils.isNotEmpty(sysTasks)){
|
||||
List<String> taskIds = sysTasks.stream().map(SysTask::getId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<SysTaskStation> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.in(SysTaskStation::getTaskId, taskIds);
|
||||
queryWrapper.select(SysTaskStation::getId,SysTaskStation::getTaskId,SysTaskStation::getStationId);
|
||||
List<SysTaskStation> taskStations = sysTaskStationMapper.selectList(queryWrapper);
|
||||
if (CollectionUtils.isNotEmpty(taskStations)){
|
||||
for (SysTask sysTask:sysTasks) {
|
||||
List<SysTaskStation> stations = taskStations.stream().filter(item -> item.getTaskId().equals(sysTask.getId())).collect(Collectors.toList());
|
||||
sysTask.setStationList(stations);
|
||||
}
|
||||
}
|
||||
}
|
||||
result.setResult(sysTasks);
|
||||
} catch (ParseException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Result create(List<SysTask> sysTasks){
|
||||
|
@ -150,5 +178,75 @@ public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> impl
|
|||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
@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)){
|
||||
//获取第一个排班任务的信息
|
||||
SysTask task = sysTasks.get(0);
|
||||
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());
|
||||
}
|
||||
}
|
||||
}
|
||||
result.setSuccess(true);
|
||||
result.success("修改成功");
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据排班任务日期删除历史任务信息
|
||||
* @param schedulingDate
|
||||
*/
|
||||
private void deleteByDate(Date schedulingDate){
|
||||
//根据排班日期查询对应的任务信息
|
||||
LambdaQueryWrapper<SysTask> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(SysTask::getSchedulingDate, DateUtils.formatDate(schedulingDate, "yyyy-MM-dd"));
|
||||
List<SysTask> sysTasks = this.baseMapper.selectList(queryWrapper);
|
||||
//获取任务信息的id
|
||||
List<String> taskIds = sysTasks.stream().map(SysTask::getId).collect(Collectors.toList());
|
||||
//根据任务id删除关联的台站信息
|
||||
LambdaQueryWrapper<SysTaskStation> taskStationQueryWrapper = new LambdaQueryWrapper<>();
|
||||
taskStationQueryWrapper.in(SysTaskStation::getTaskId, taskIds);
|
||||
sysTaskStationMapper.delete(taskStationQueryWrapper);
|
||||
//根据任务id删除任务信息
|
||||
this.baseMapper.deleteBatchIds(taskIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result deleteById(String taskId, String userId) {
|
||||
Result result = new Result();
|
||||
LambdaQueryWrapper<SysTaskStation> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(SysTaskStation::getTaskId, taskId);
|
||||
sysTaskStationMapper.delete(queryWrapper);
|
||||
LambdaQueryWrapper<SysTask> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SysTask::getId, taskId);
|
||||
wrapper.eq(SysTask::getUserId, userId);
|
||||
this.baseMapper.delete(wrapper);
|
||||
result.success("删除成功");
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user