Commit b2f627ba by 丁伟峰

增加了当前操作员信息

1 parent 0078c988
......@@ -11,6 +11,8 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import com.dituhui.pea.user.IUser;
@Slf4j
@RestController
@RequestMapping("/pea-order")
......@@ -59,7 +61,8 @@ public class EngineerCalendarController {
public Result<?> updateCalendarPlan(@Validated @RequestBody CalendarUpdateDTO.Request reqDTO) {
Result<?> res = null;
try {
res = engineerCalendarService.updatePlan(reqDTO);
String userId = request.getHeader("userId");
res = engineerCalendarService.updatePlan(userId, reqDTO);
} catch (BusinessException e) {
return Result.failed(e.getMessage());
}
......@@ -70,7 +73,8 @@ public class EngineerCalendarController {
public Result<?> deleteCalendarPlan(@Validated @RequestBody CalendarDeleteDTO.Request reqDTO) {
Result<?> res = null;
try {
res = engineerCalendarService.deletePlan(reqDTO);
String userId = request.getHeader("userId");
res = engineerCalendarService.deletePlan(userId, reqDTO);
} catch (BusinessException e) {
return Result.failed(e.getMessage());
}
......@@ -81,7 +85,8 @@ public class EngineerCalendarController {
public Result<?> BatchAddPlan(@Validated @RequestBody CalendarBatAddDTO.Request reqDTO) {
Result<?> res = null;
try {
res = engineerCalendarService.batchAddPlan(reqDTO);
String userId = request.getHeader("userId");
res = engineerCalendarService.batchAddPlan(userId, reqDTO);
} catch (BusinessException e) {
return Result.failed(e.getMessage());
}
......
......@@ -40,6 +40,12 @@ public class CapacityEngineerCalendarEntity {
@Column(nullable = false)
private String memo = "";
@Column(name = "operator_id")
private String operatorId;
@Column(name = "operator_name")
private String operatorName;
@Column(name = "create_time", nullable = false, updatable = false, columnDefinition = "timestamp default current_timestamp")
private LocalDateTime createTime = LocalDateTime.now();
......
......@@ -11,11 +11,11 @@ public interface EngineerCalendarService {
Result<?> getPlanDetail(CalendarDetailDTO.Request reqDTO);
Result<?> updatePlan(CalendarUpdateDTO.Request reqDTO);
Result<?> updatePlan(String userId, CalendarUpdateDTO.Request reqDTO);
Result<?> deletePlan(CalendarDeleteDTO.Request reqDTO);
Result<?> deletePlan(String userId, CalendarDeleteDTO.Request reqDTO);
Result<?> batchAddPlan(CalendarBatAddDTO.Request reqDTO);
Result<?> batchAddPlan(String userId, CalendarBatAddDTO.Request reqDTO);
Result<?> queryEngineerPlanNum(CalendarQueryNumDTO.Request reqDTO);
}
......@@ -9,6 +9,8 @@ import com.dituhui.pea.order.dao.*;
import com.dituhui.pea.order.dto.*;
import com.dituhui.pea.order.entity.*;
import com.dituhui.pea.order.service.EngineerCalendarService;
import com.dituhui.pea.order.service.UserService;
import com.dituhui.pea.user.IUser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
......@@ -45,6 +47,8 @@ public class EngineerCalendarServiceImpl implements EngineerCalendarService {
private EngineerInfoDao engineerInfoDao;
@Autowired
private EngineerBusinessDao engineerBusinessDao;
@Autowired
private IUser user;
@Override
public Result<?> getEngineersCalendar(EngineerCalendarDTO.Request req) {
......@@ -106,12 +110,13 @@ public class EngineerCalendarServiceImpl implements EngineerCalendarService {
rs.setEndTime(DateUtils.formatDateTime(entity.getEndTime()));
rs.setRemark(entity.getMemo());
// todo 操作员
// rs.setOperator()
rs.setOperator(entity.getOperatorName());
return Result.success(rs);
}
@Override
public Result<?> updatePlan(CalendarUpdateDTO.Request reqDTO) {
public Result<?> updatePlan(String userId, CalendarUpdateDTO.Request reqDTO) {
String userName = user.getUserInfo(userId).getResult().getNickname();
CapacityEngineerCalendarEntity entity = capacityEngineerCalendarDao.getByPlanId(reqDTO.getPlanId());
if (entity == null) {
return Result.failed("日历配置信息不存在");
......@@ -129,13 +134,14 @@ public class EngineerCalendarServiceImpl implements EngineerCalendarService {
entity.setEndTime(time2);
entity.setMemo(reqDTO.getRemark());
// todo 操作员信息
entity.setOperatorId(userId);
entity.setOperatorName(userName);
capacityEngineerCalendarDao.save(entity);
return Result.success(null);
}
@Override
public Result<?> deletePlan(CalendarDeleteDTO.Request reqDTO) {
public Result<?> deletePlan(String userId, CalendarDeleteDTO.Request reqDTO) {
CapacityEngineerCalendarEntity entity = capacityEngineerCalendarDao.getByPlanId(reqDTO.getPlanId());
if (entity == null) {
return Result.failed("日历配置信息不存在");
......@@ -145,7 +151,7 @@ public class EngineerCalendarServiceImpl implements EngineerCalendarService {
}
@Override
public Result<?> batchAddPlan(CalendarBatAddDTO.Request reqDTO) {
public Result<?> batchAddPlan(String userId, CalendarBatAddDTO.Request reqDTO) {
LocalDate beginDate = DateUtils.localDateFromStr(reqDTO.getStart());
LocalDate endDate = DateUtils.localDateFromStr(reqDTO.getEnd());
if (endDate.isBefore(beginDate)) {
......@@ -161,19 +167,19 @@ public class EngineerCalendarServiceImpl implements EngineerCalendarService {
}
}
for (String egineerCode : reqDTO.getEngineerCodes()) {
addEngineerPlan(egineerCode, reqDTO.getType(), reqDTO.getIsAllday(), reqDTO.getStart(), reqDTO.getEnd(), reqDTO.getRemark(), reqDTO.getRepeatType(), reqDTO.getRepeatEndDate());
addEngineerPlan(userId, egineerCode, reqDTO.getType(), reqDTO.getIsAllday(), reqDTO.getStart(), reqDTO.getEnd(), reqDTO.getRemark(), reqDTO.getRepeatType(), reqDTO.getRepeatEndDate());
}
return null;
}
private void addEngineerPlan(String engineerCode, String type, Boolean isAllday, String beginTime, String endTime, String remark, String repeatType, String repeatEndDate) {
private void addEngineerPlan(String userId, String engineerCode, String type, Boolean isAllday, String beginTime, String endTime, String remark, String repeatType, String repeatEndDate) {
if (isAllday) {
EngineerBusinessEntity config = engineerBusinessDao.getByEngineerCode(engineerCode);
beginTime = String.format("%s %s:00", beginTime, config.getWorkOn());
endTime = String.format("%s %s:00", endTime, config.getWorkOff());
}
if ("不重复".equals(repeatType)) {
addOneEngineerPlan(engineerCode, type, beginTime, endTime, remark);
addOneEngineerPlan(userId, engineerCode, type, beginTime, endTime, remark);
} else {
LocalDate beginDate = DateUtils.localDateFromStr(beginTime);
LocalDate endDate = DateUtils.localDateFromStr(repeatEndDate);
......@@ -183,7 +189,7 @@ public class EngineerCalendarServiceImpl implements EngineerCalendarService {
int days = Period.between(beginDate, current).getDays();
beginTime = DateUtils.formatDateTime(DateUtils.localDateTimeFromStr(beginTime).plusDays(days));
endTime = DateUtils.formatDateTime(DateUtils.localDateTimeFromStr(endTime).plusDays(days));
addOneEngineerPlan(engineerCode, type, beginTime, endTime, remark);
addOneEngineerPlan(userId, engineerCode, type, beginTime, endTime, remark);
current = getNextDate(current, repeatType);
}
}
......@@ -216,8 +222,9 @@ public class EngineerCalendarServiceImpl implements EngineerCalendarService {
return current;
}
private void addOneEngineerPlan(String engineerCode, String type, String beginTime, String endTime, String remark) {
private void addOneEngineerPlan(String userId, String engineerCode, String type, String beginTime, String endTime, String remark) {
// 一个工程师、一条配置处理;可能一条会跨多天,需要分别补充处理
String userName = user.getUserInfo(userId).getResult().getAccount();
LocalDate beginDate = DateUtils.localDateFromStr(beginTime);
LocalDate endDate = DateUtils.localDateFromStr(endTime);
......@@ -235,6 +242,9 @@ public class EngineerCalendarServiceImpl implements EngineerCalendarService {
e.setEndTime(DateUtils.localDateTimeFromStr(endTime));
e.setWorkday(DateUtils.formatDate(beginDate));
e.setMemo(remark);
//
e.setOperatorId(userId);
e.setOperatorName(userName);
capacityEngineerCalendarDao.save(e);
return;
}
......@@ -268,6 +278,8 @@ public class EngineerCalendarServiceImpl implements EngineerCalendarService {
}
e.setWorkday(DateUtils.formatDate(current));
e.setMemo(remark);
e.setOperatorId(userId);
e.setOperatorName(userName);
capacityEngineerCalendarDao.save(e);
// 按日迭代
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!