feat:排版任务信息查询接口,排版任务信息新增接口
This commit is contained in:
parent
f25bf758c9
commit
f614cf391b
|
@ -8,9 +8,7 @@ import java.sql.Timestamp;
|
|||
import java.text.DateFormat;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 类描述:时间操作定义类
|
||||
|
@ -760,4 +758,35 @@ public class DateUtils extends PropertyEditorSupport {
|
|||
return calendar1.get(Calendar.YEAR) == calendar2.get(Calendar.YEAR);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取开始时间和结束时间之间的全部日期信息
|
||||
* @param beginDay
|
||||
* @param endDay
|
||||
* @return
|
||||
*/
|
||||
public static List<String> getAllDay(String beginDay, String endDay){
|
||||
List<String> days = new ArrayList<>();
|
||||
try {
|
||||
//开始日期
|
||||
Calendar begin = Calendar.getInstance();
|
||||
begin.setTime(DateUtils.parseDate(beginDay, "yyyy-MM-dd"));
|
||||
//将开始日期放入集合中
|
||||
days.add(beginDay);
|
||||
//结束日期
|
||||
Calendar end = Calendar.getInstance();
|
||||
end.setTime(DateUtils.parseDate(endDay, "yyyy-MM-dd"));
|
||||
//判断 如果结束日期的时间在开始日期的时间之后
|
||||
while(end.getTime().after(begin.getTime())){
|
||||
//开始日期需要+1天
|
||||
begin.add(Calendar.DAY_OF_MONTH, 1);
|
||||
//将开始日期放入集合中
|
||||
days.add(DateUtils.formatDate(begin.getTime(),"yyyy-MM-dd"));
|
||||
}
|
||||
|
||||
} catch (ParseException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return days;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
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.modules.system.entity.SysTask;
|
||||
import org.jeecg.modules.system.entity.vo.SysTaskVo;
|
||||
import org.jeecg.modules.system.service.ISysTaskService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("sysTask")
|
||||
@Api(value = "排班任务管理", tags = "排班任务管理")
|
||||
public class SysTaskController {
|
||||
|
||||
@Autowired
|
||||
private ISysTaskService sysTaskService;
|
||||
|
||||
@GetMapping("findList")
|
||||
@ApiOperation(value = "查询一个月的排班任务信息", notes = "查询一个月的排班任务信息")
|
||||
public Result<Map<String, List<SysTaskVo>>> findList(@DateTimeFormat(pattern = "yyyy-MM") Date yearMonth){
|
||||
Result<Map<String, List<SysTaskVo>>> result = sysTaskService.findList(yearMonth);
|
||||
return result;
|
||||
}
|
||||
|
||||
@PostMapping("create")
|
||||
@ApiOperation(value = "新增排班任务", notes = "新增排班任务")
|
||||
public Result create(@RequestBody @Validated List<SysTask> sysTasks){
|
||||
return sysTaskService.create(sysTasks);
|
||||
}
|
||||
|
||||
@PutMapping("update")
|
||||
public Result update(){
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,53 @@
|
|||
package org.jeecg.modules.system.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import org.jeecg.config.valid.InsertGroup;
|
||||
import org.jeecg.config.valid.UpdateGroup;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@TableName("sys_task")
|
||||
public class SysTask implements Serializable {
|
||||
|
||||
@TableId(value = "id",type = IdType.ASSIGN_ID)
|
||||
private String id;
|
||||
|
||||
@TableField(value = "user_id")
|
||||
@NotBlank(message = "不能为空", groups = {InsertGroup.class, UpdateGroup.class})
|
||||
private String userId;
|
||||
|
||||
@TableField(value = "scheduling_date")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date schedulingDate;
|
||||
|
||||
@TableField(value = "create_by")
|
||||
private String createBy;
|
||||
|
||||
@TableField(value = "operate_ip")
|
||||
private String operateIp;
|
||||
|
||||
@TableField(value = "create_time")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
|
||||
@TableField(value = "update_time")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<SysTaskStation> stationList;
|
||||
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
package org.jeecg.modules.system.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import org.jeecg.config.valid.InsertGroup;
|
||||
import org.jeecg.config.valid.UpdateGroup;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
@TableName(value = "sys_task_station")
|
||||
public class SysTaskStation implements Serializable {
|
||||
|
||||
@TableId(value = "id",type = IdType.ASSIGN_ID)
|
||||
private String id;
|
||||
|
||||
@TableField(value = "task_id")
|
||||
@NotBlank(message = "不能为空", groups = {InsertGroup.class, UpdateGroup.class})
|
||||
private String taskId;
|
||||
|
||||
@TableField(value = "station_id")
|
||||
@NotBlank(message = "不能为空", groups = {InsertGroup.class, UpdateGroup.class})
|
||||
private String stationId;
|
||||
|
||||
@TableField(value = "operate_ip")
|
||||
private String operateIp;
|
||||
|
||||
@TableField(value = "create_time")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTime;
|
||||
|
||||
@TableField(value = "update_time")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date updateTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String stationName;
|
||||
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
package org.jeecg.modules.system.entity.vo;
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class SysTaskVo {
|
||||
|
||||
private String id;
|
||||
|
||||
private String userId;
|
||||
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private Date schedulingDate;
|
||||
|
||||
private String username;
|
||||
|
||||
private Integer number;
|
||||
|
||||
private List<String> stationList;
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package org.jeecg.modules.system.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.jeecg.modules.system.entity.SysTask;
|
||||
import org.jeecg.modules.system.entity.vo.SysTaskVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface SysTaskMapper extends BaseMapper<SysTask> {
|
||||
|
||||
/**
|
||||
* 查询月份第一天到最后一天所有的排班任务信息
|
||||
* @param firstDay
|
||||
* @param lastDay
|
||||
* @return
|
||||
*/
|
||||
List<SysTaskVo> selectTasks(String firstDay, String lastDay);
|
||||
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package org.jeecg.modules.system.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.jeecg.modules.system.entity.SysTaskStation;
|
||||
|
||||
public interface SysTaskStationMapper extends BaseMapper<SysTaskStation> {
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.jeecg.modules.system.mapper.SysTaskMapper">
|
||||
|
||||
<select id="selectTasks" resultType="org.jeecg.modules.system.entity.vo.SysTaskVo">
|
||||
SELECT
|
||||
t.user_id,
|
||||
t.scheduling_date,
|
||||
t.id,
|
||||
count(s.task_id) number,
|
||||
u.username
|
||||
FROM
|
||||
sys_task t
|
||||
left join sys_task_station s on t.id = s.task_id
|
||||
left join sys_user u on u.id = t.user_id
|
||||
where t.scheduling_date BETWEEN #{firstDay} and #{lastDay}
|
||||
group by t.user_id,t.scheduling_date,t.id,u.username
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,18 @@
|
|||
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.SysTaskVo;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public interface ISysTaskService extends IService<SysTask> {
|
||||
|
||||
Result<Map<String, List<SysTaskVo>>> findList(Date yearMonth);
|
||||
|
||||
Result create(List<SysTask> sysTasks);
|
||||
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
package org.jeecg.modules.system.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.jeecg.modules.system.entity.SysTaskStation;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface ISysTaskStationService extends IService<SysTaskStation> {
|
||||
|
||||
void create(String taskId, String ipAddr, List<SysTaskStation> taskStations);
|
||||
|
||||
}
|
|
@ -0,0 +1,154 @@
|
|||
package org.jeecg.modules.system.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.system.util.JwtUtil;
|
||||
import org.jeecg.common.util.DateUtils;
|
||||
import org.jeecg.common.util.IpUtils;
|
||||
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.SysTaskVo;
|
||||
import org.jeecg.modules.system.mapper.SysTaskMapper;
|
||||
import org.jeecg.modules.system.mapper.SysTaskStationMapper;
|
||||
import org.jeecg.modules.system.service.IGardsStationsService;
|
||||
import org.jeecg.modules.system.service.ISysTaskService;
|
||||
import org.jeecg.modules.system.service.ISysTaskStationService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service(value = "sysTaskService")
|
||||
public class SysTaskServiceImpl extends ServiceImpl<SysTaskMapper, SysTask> implements ISysTaskService {
|
||||
|
||||
@Autowired
|
||||
private ISysTaskStationService sysTaskStationService;
|
||||
@Autowired
|
||||
private SysTaskStationMapper sysTaskStationMapper;
|
||||
@Autowired
|
||||
private IGardsStationsService gardsStationsService;
|
||||
|
||||
@Override
|
||||
public Result<Map<String, List<SysTaskVo>>> findList(Date yearMonth) {
|
||||
Result<Map<String, List<SysTaskVo>>> result = new Result();
|
||||
Map<String, List<SysTaskVo>> map = new LinkedHashMap<>();
|
||||
//获取全部台站信息
|
||||
List<GardsStations> gardsStations = gardsStationsService.getGardsStations();
|
||||
try {
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String yearMonthStr = dateFormat.format(yearMonth);
|
||||
yearMonthStr = yearMonthStr + "-01";
|
||||
String firstday = "";
|
||||
String lastday = "";
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.setTime(sdf.parse(yearMonthStr));
|
||||
cal.add(Calendar.MONTH, 0);
|
||||
cal.set(Calendar.DAY_OF_MONTH, 1);
|
||||
firstday = sdf.format(cal.getTime());
|
||||
|
||||
cal = Calendar.getInstance();
|
||||
cal.setTime(sdf.parse(yearMonthStr));
|
||||
cal.add(Calendar.MONTH, 1);
|
||||
cal.set(Calendar.DAY_OF_MONTH, 0);
|
||||
lastday = sdf.format(cal.getTime());
|
||||
|
||||
//查询日期范围内全部的排班任务信息
|
||||
List<SysTaskVo> sysTaskVos = this.baseMapper.selectTasks(firstday, lastday);
|
||||
//获取当月开始日期和结束日期之间的全部日期
|
||||
List<String> allDay = DateUtils.getAllDay(firstday, lastday);
|
||||
if (CollectionUtils.isNotEmpty(sysTaskVos)){
|
||||
//过滤出当前所有的排版任务id
|
||||
List<String> taskIds = sysTaskVos.stream().map(item -> item.getId()).collect(Collectors.toList());
|
||||
//根据排版任务id查询出各排版任务对应的台站信息
|
||||
LambdaQueryWrapper<SysTaskStation> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.in(SysTaskStation::getTaskId, taskIds);
|
||||
queryWrapper.select(SysTaskStation::getTaskId, SysTaskStation::getStationId);
|
||||
List<SysTaskStation> sysTaskStations = sysTaskStationMapper.selectList(queryWrapper);
|
||||
//台站信息不为空
|
||||
if (CollectionUtils.isNotEmpty(sysTaskStations)){
|
||||
//遍历所有台站信息并赋值台站名称
|
||||
for (SysTaskStation taskStation:sysTaskStations) {
|
||||
//通过stream流获取当前台站id对应的台站信息
|
||||
List<GardsStations> gardsStationsList = gardsStations.stream().filter(item -> item.getStationId().toString().equals(taskStation.getStationId())).collect(Collectors.toList());
|
||||
//如果台站数量大于0,则说明有对应的台站信息
|
||||
if (CollectionUtils.isNotEmpty(gardsStationsList)){
|
||||
//台站id唯一,取第一条数据
|
||||
GardsStations stations = gardsStationsList.get(0);
|
||||
taskStation.setStationName(stations.getStationCode());
|
||||
}
|
||||
}
|
||||
//遍历排版任务信息
|
||||
for (SysTaskVo taskVo:sysTaskVos) {
|
||||
//根据排版任务id过滤出属于当前任务的台站集合,取台站名称字段合成集合
|
||||
List<String> stationNames = sysTaskStations.stream().filter(item -> item.getTaskId().equals(taskVo.getId())).map(SysTaskStation::getStationName).collect(Collectors.toList());
|
||||
//返回台站名称集合
|
||||
taskVo.setStationList(stationNames);
|
||||
}
|
||||
}
|
||||
for (String day:allDay) {
|
||||
List<SysTaskVo> taskVos = sysTaskVos.stream().filter(item -> DateUtils.formatDate(item.getSchedulingDate(), "yyyy-MM-dd").equals(day)).collect(Collectors.toList());
|
||||
if (CollectionUtils.isNotEmpty(taskVos)){
|
||||
map.put(day, taskVos);
|
||||
}else {
|
||||
map.put(day, Collections.emptyList());
|
||||
}
|
||||
}
|
||||
}else {
|
||||
for (String day:allDay) {
|
||||
map.put(day, Collections.emptyList());
|
||||
}
|
||||
}
|
||||
result.setResult(map);
|
||||
} catch (ParseException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
@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());
|
||||
}
|
||||
}
|
||||
}
|
||||
result.setSuccess(true);
|
||||
result.success("新增成功");
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
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) {
|
||||
for (SysTaskStation sysTaskStation:taskStations) {
|
||||
if (StringUtils.isBlank(sysTaskStation.getStationId())){
|
||||
throw new RuntimeException("台站信息不能为空");
|
||||
}
|
||||
sysTaskStation.setOperateIp(ipAddr);
|
||||
sysTaskStation.setId(String.valueOf(IdWorker.getId()));
|
||||
sysTaskStation.setTaskId(taskId);
|
||||
sysTaskStation.setCreateTime(new Date());
|
||||
this.baseMapper.insert(sysTaskStation);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user