package com.qianwen.smartman.modules.mdc.wrapper;
|
|
import java.sql.Timestamp;
|
import java.util.List;
|
import java.util.Optional;
|
import com.qianwen.smartman.common.enums.GlobalWcsTypeEnum;
|
import com.qianwen.core.mp.support.BaseEntityWrapper;
|
import com.qianwen.core.tool.utils.SpringUtil;
|
import com.qianwen.smartman.modules.cps.entity.Employee;
|
import com.qianwen.smartman.modules.cps.entity.GlobalWcs;
|
import com.qianwen.smartman.modules.cps.entity.Workstation;
|
import com.qianwen.smartman.modules.cps.service.IEmployeeService;
|
import com.qianwen.smartman.modules.cps.service.IGlobalWcsService;
|
import com.qianwen.smartman.modules.cps.service.IWorkstationService;
|
import com.qianwen.smartman.modules.mdc.convert.WorkstationFeedBackConvert;
|
import com.qianwen.smartman.modules.mdc.entity.WorkstationFeedback;
|
import com.qianwen.smartman.modules.mdc.entity.WorkstationFeedbackDetail;
|
import com.qianwen.smartman.modules.mdc.service.IWorkstationFeedbackService;
|
import com.qianwen.smartman.modules.mdc.vo.StatusRecordVO;
|
import com.qianwen.smartman.modules.mdc.vo.WorkstationFeedBackVO;
|
|
public class WorkstationFeedbackWrapper extends BaseEntityWrapper<WorkstationFeedback, WorkstationFeedBackVO> {
|
private static final IGlobalWcsService globalWcsService = (IGlobalWcsService) SpringUtil.getBean(IGlobalWcsService.class);
|
private static final IWorkstationService workstationService = (IWorkstationService) SpringUtil.getBean(IWorkstationService.class);
|
private static final IWorkstationFeedbackService feedbackService = (IWorkstationFeedbackService) SpringUtil.getBean(IWorkstationFeedbackService.class);
|
private static final IEmployeeService employeeService = (IEmployeeService) SpringUtil.getBean(IEmployeeService.class);
|
|
public static WorkstationFeedbackWrapper build() {
|
return new WorkstationFeedbackWrapper();
|
}
|
|
public WorkstationFeedBackVO entityVO(WorkstationFeedback feedback) {
|
WorkstationFeedBackVO vo = WorkstationFeedBackConvert.INSTANCE.convert(feedback);
|
|
Optional.<GlobalWcs>ofNullable(globalWcsService.getByCode(feedback.getWcs(), GlobalWcsTypeEnum.FEEDBACK))
|
.map(GlobalWcs::getName).ifPresent(vo::setWcsDesc);
|
Optional.<Workstation>ofNullable(workstationService.getById(feedback.getWorkstationId())).ifPresent(station -> {
|
vo.setWorkstationName(station.getName());
|
vo.setWorkstationCode(station.getCode());
|
vo.setWorkstationAvatar(station.getAvatar());
|
});
|
Optional.<Employee>ofNullable(employeeService.cachedById(feedback.getFeedUser())).map(Employee::getName)
|
.ifPresent(vo::setFeedUser);
|
Optional.<GlobalWcs>ofNullable(globalWcsService.getByCode(feedback.getWcs(), GlobalWcsTypeEnum.FEEDBACK))
|
.map(GlobalWcs::getName).ifPresent(vo::setWcsDesc);
|
|
/*
|
Optional map = Optional.ofNullable(globalWcsService.getByCode(feedback.getWcs(), GlobalWcsTypeEnum.FEEDBACK)).map((v0) -> {
|
return v0.getName();
|
});
|
vo.getClass();
|
map.ifPresent(this::setWcsDesc);
|
Optional.ofNullable(workstationService.getById(feedback.getWorkstationId())).ifPresent(station -> {
|
vo.setWorkstationName(station.getName());
|
vo.setWorkstationCode(station.getCode());
|
vo.setWorkstationAvatar(station.getAvatar());
|
});
|
Optional map2 = Optional.ofNullable(employeeService.cachedById(feedback.getFeedUser())).map((v0) -> {
|
return v0.getName();
|
});
|
vo.getClass();
|
map2.ifPresent(this::setFeedUser);
|
Optional map3 = Optional.ofNullable(globalWcsService.getByCode(feedback.getWcs(), GlobalWcsTypeEnum.FEEDBACK)).map((v0) -> {
|
return v0.getName();
|
});
|
vo.getClass();
|
map3.ifPresent(this::setWcsDesc);*/
|
vo.setPoint(vo.getEndTime() == null);
|
vo.setFeedbackId(feedback.getId());
|
return vo;
|
}
|
|
public static WorkstationFeedBackVO entityVO(final WorkstationFeedbackDetail detail) {
|
WorkstationFeedback feedback = feedbackService.cachedById(detail.getFeedbackId());
|
WorkstationFeedBackVO vo = new WorkstationFeedBackVO();
|
vo.setStartTime(detail.getStartTime());
|
vo.setEndTime(detail.getEndTime());
|
vo.setWcs(detail.getWcs());
|
|
Optional.<GlobalWcs>ofNullable(globalWcsService.getByCode(detail.getWcs(), GlobalWcsTypeEnum.FEEDBACK)).map(GlobalWcs::getName).ifPresent(vo::setWcsDesc);
|
/*
|
Optional map = Optional.ofNullable(globalWcsService.getByCode(detail.getWcs(), GlobalWcsTypeEnum.FEEDBACK)).map((v0) -> {
|
return v0.getName();
|
});
|
vo.getClass();
|
map.ifPresent(this::setWcsDesc);
|
*/
|
vo.setFeedbackDesc(feedback.getRemark());
|
Optional.ofNullable(workstationService.getById(detail.getWorkstationId())).ifPresent(station -> {
|
vo.setWorkstationName(station.getName());
|
vo.setWorkstationCode(station.getCode());
|
vo.setWorkstationAvatar(station.getAvatar());
|
vo.setWorkstationId(station.getId());
|
});
|
vo.setFeedbackTime(feedback.getFeedbackTime());
|
/*
|
Optional map2 = Optional.ofNullable(employeeService.cachedById(feedback.getFeedUser())).map((v0) -> {
|
return v0.getName();
|
});
|
vo.getClass();
|
map2.ifPresent(this::setFeedUser);*/
|
|
Optional.<Employee>ofNullable(employeeService.cachedById(feedback.getFeedUser())).map(Employee::getName).ifPresent(vo::setFeedUser);
|
vo.setPoint(feedback.getEndTime() == null);
|
return vo;
|
}
|
|
public static StatusRecordVO entityRecordVO(final WorkstationFeedback feedback) {
|
StatusRecordVO vo = new StatusRecordVO();
|
vo.setStartTime(new Timestamp(feedback.getStartTime().getTime()));
|
vo.setPoint(feedback.getEndTime() == null);
|
vo.setEndTime(feedback.getEndTime() == null ? new Timestamp(System.currentTimeMillis()) : new Timestamp(feedback.getEndTime().getTime()));
|
wrapper(vo, feedback);
|
return vo;
|
}
|
|
public static List<StatusRecordVO> entityVO(List<StatusRecordVO> list) {
|
list.forEach(vo -> {
|
Long feedbackId = vo.getFeedbackId();
|
if (feedbackId != null) {
|
WorkstationFeedback feedback = feedbackService.cachedById(feedbackId);
|
vo.setPoint(feedback.getEndTime() == null);
|
wrapper(vo, feedback);
|
}
|
});
|
return list;
|
}
|
|
private static void wrapper(final StatusRecordVO vo, final WorkstationFeedback feedback) {
|
vo.setFeedbackTime(new Timestamp(feedback.getFeedbackTime().getTime()));
|
vo.setWcs(Integer.valueOf(Integer.parseInt(feedback.getWcs())));
|
|
Optional.<GlobalWcs>ofNullable(globalWcsService.getByCode(feedback.getWcs(), GlobalWcsTypeEnum.FEEDBACK)).map(GlobalWcs::getName).ifPresent(vo::setWcsDesc);
|
Optional.<Employee>ofNullable(employeeService.cachedById(feedback.getFeedUser())).map(Employee::getName).map(vo::setFeedUser);
|
|
/*
|
Optional map = Optional.ofNullable(globalWcsService.getByCode(feedback.getWcs(), GlobalWcsTypeEnum.FEEDBACK)).map((v0) -> {
|
return v0.getName();
|
});
|
vo.getClass();
|
map.ifPresent(this::setWcsDesc);
|
Optional map2 = Optional.ofNullable(employeeService.cachedById(feedback.getFeedUser())).map((v0) -> {
|
return v0.getName();
|
});
|
vo.getClass();
|
map2.map(this::setFeedUser);*/
|
vo.setFeedUserId(Optional.ofNullable(feedback.getEndFeedUser()).orElse(feedback.getFeedUser()));
|
vo.setHumanFeedback(true);
|
vo.setFeedbackId(feedback.getId());
|
vo.setFeedbackDesc(feedback.getRemark());
|
}
|
}
|