Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
294ebf33e7
|
@ -9,6 +9,8 @@ import org.jeecg.common.api.vo.Result;
|
||||||
import org.jeecg.common.system.util.JwtUtil;
|
import org.jeecg.common.system.util.JwtUtil;
|
||||||
import org.jeecg.common.util.IpUtils;
|
import org.jeecg.common.util.IpUtils;
|
||||||
import org.jeecg.common.util.SpringContextUtils;
|
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.SysTask;
|
||||||
import org.jeecg.modules.system.entity.vo.SysTaskVo;
|
import org.jeecg.modules.system.entity.vo.SysTaskVo;
|
||||||
import org.jeecg.modules.system.service.ISysTaskService;
|
import org.jeecg.modules.system.service.ISysTaskService;
|
||||||
|
@ -38,17 +40,29 @@ public class SysTaskController {
|
||||||
return result;
|
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")
|
@PostMapping("create")
|
||||||
@ApiOperation(value = "新增排班任务", notes = "新增排班任务")
|
@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);
|
return sysTaskService.create(sysTasks);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PutMapping("update")
|
@PutMapping("update")
|
||||||
public Result update(){
|
@ApiOperation(value = "修改排班任务", notes = "修改排班任务")
|
||||||
return null;
|
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")
|
@TableField(value = "scheduling_date")
|
||||||
@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})
|
||||||
private Date schedulingDate;
|
private Date schedulingDate;
|
||||||
|
|
||||||
@TableField(value = "create_by")
|
@TableField(value = "create_by")
|
||||||
|
|
|
@ -16,4 +16,12 @@ public interface SysTaskMapper extends BaseMapper<SysTask> {
|
||||||
*/
|
*/
|
||||||
List<SysTaskVo> selectTasks(String firstDay, String lastDay);
|
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
|
group by t.user_id,t.scheduling_date,t.id,u.username
|
||||||
</select>
|
</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>
|
</mapper>
|
|
@ -11,8 +11,35 @@ import java.util.Map;
|
||||||
|
|
||||||
public interface ISysTaskService extends IService<SysTask> {
|
public interface ISysTaskService extends IService<SysTask> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询一个月的排班任务信息
|
||||||
|
* @param yearMonth
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
Result<Map<String, List<SysTaskVo>>> findList(Date yearMonth);
|
Result<Map<String, List<SysTaskVo>>> findList(Date yearMonth);
|
||||||
|
|
||||||
|
Result<List<SysTask>> findInfo(Date day);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增排班任务信息
|
||||||
|
* @param sysTasks
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
Result create(List<SysTask> sysTasks);
|
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();
|
List<GardsStations> gardsStations = gardsStationsService.getGardsStations();
|
||||||
try {
|
try {
|
||||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
|
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
String yearMonthStr = dateFormat.format(yearMonth);
|
String yearMonthStr = DateUtils.formatDate(yearMonth, "yyyy-MM");
|
||||||
yearMonthStr = yearMonthStr + "-01";
|
yearMonthStr = yearMonthStr + "-01";
|
||||||
String firstday = "";
|
String firstday = "";
|
||||||
String lastday = "";
|
String lastday = "";
|
||||||
|
@ -116,6 +115,35 @@ public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> impl
|
||||||
return result;
|
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
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public Result create(List<SysTask> sysTasks){
|
public Result create(List<SysTask> sysTasks){
|
||||||
|
@ -150,5 +178,75 @@ public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> impl
|
||||||
return result;
|
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