package com.mes.md.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
import com.mes.common.S7object;
|
import com.mes.device.PlcParameterObject;
|
import com.mes.md.entity.GlassInfo;
|
import com.mes.md.entity.Tasking;
|
import com.mes.md.mapper.GlassInfoMapper;
|
import com.mes.md.mapper.TaskingMapper;
|
import com.mes.md.service.TaskingService;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
import java.util.Objects;
|
|
/**
|
* <p>
|
* 工作任务操作记录明细 服务实现类
|
* </p>
|
*
|
* @author wu
|
* @since 2024-08-28
|
*/
|
@Service
|
public class TaskingServiceImpl extends MPJBaseServiceImpl<TaskingMapper, Tasking> implements TaskingService {
|
@Resource
|
GlassInfoMapper glassInfoMapper;
|
PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
|
@Override
|
public boolean updateStatus(Integer state) {
|
//更改上片模式
|
//向设备发送选择的状态
|
S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("Status").getAddress(), state);
|
//发送后重新读取判断是否更改成功
|
String loadStatus = plcParameterObject.getPlcParameter("Status").getValue();
|
return state == Integer.parseInt(loadStatus);
|
|
}
|
|
@Override
|
public boolean updateLoadState(Integer state) {
|
//更改联机状态
|
//向设备发送选择的状态
|
S7object.getinstance().plccontrol.writeWord(plcParameterObject.getPlcParameter("loadState").getAddress(), state);
|
//发送后重新读取判断是否更改成功
|
String loadState = plcParameterObject.getPlcParameter("loadState").getValue();
|
return state == Integer.parseInt(loadState);
|
|
}
|
|
@Override
|
public boolean updateDamage(Tasking tasking) {
|
UpdateWrapper<Tasking> queryWrapper = new UpdateWrapper<>();
|
queryWrapper.eq("glass_id",tasking.getGlassId())
|
.set("work_state",tasking.getWorkState());
|
return this.update(queryWrapper);
|
}
|
|
@Override
|
public List<Tasking> selectTasking() {
|
QueryWrapper<Tasking> queryWrapper = new QueryWrapper<>();
|
queryWrapper.orderByDesc("task_sequence");
|
return list(queryWrapper);
|
}
|
|
@Override
|
public Boolean insertTasking(String status) {
|
Tasking tasking = new Tasking();
|
if(Objects.equals(status, "1")){
|
QueryWrapper <GlassInfo> queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("task_type","标准")
|
.eq("work_state","工作")
|
.orderByAsc("task_sequence");
|
GlassInfo glassInfo =glassInfoMapper.selectOne(queryWrapper);
|
if(glassInfo!=null){
|
tasking.setBatchNumber(glassInfo.getBatchNumber());
|
tasking.setScanId(glassInfo.getScanId());
|
tasking.setProgramId(glassInfo.getProgramId());
|
tasking.setTaskType(glassInfo.getTaskType());
|
tasking.setTaskSequence(glassInfo.getTaskSequence());
|
tasking.setTaskQuantity(glassInfo.getTaskQuantity());
|
tasking.setLength(glassInfo.getLength());
|
tasking.setWidth(glassInfo.getWidth());
|
tasking.setThickness(glassInfo.getThickness());
|
tasking.setDrawingGlue(glassInfo.getDrawingGlue());
|
tasking.setDrawingMarking(glassInfo.getDrawingMarking());
|
tasking.setSilkScreenX(glassInfo.getSilkScreenX());
|
tasking.setSilkScreenY(glassInfo.getSilkScreenY());
|
tasking.setIsMarking(glassInfo.getIsMarking());
|
tasking.setIsSilkScreen(glassInfo.getIsSilkScreen());
|
tasking.setCurrentCraft("上片");
|
|
}
|
}
|
else {
|
tasking.setTaskType("定制");
|
tasking.setCurrentCraft("上片");
|
}
|
return save(tasking);
|
}
|
|
@Override
|
public boolean updateTasking(String scanId) {
|
return false;
|
}
|
|
@Override
|
public Tasking selectTaskLoad(Tasking tasking) {
|
QueryWrapper<Tasking> queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("current_craft",tasking.getGlassId())
|
.eq("state",tasking.getState())
|
.eq("work_state",tasking.getWorkState())
|
.orderByAsc("glass_id");
|
return getOne(queryWrapper);
|
}
|
|
@Override
|
public Boolean insertTaskingPro(String tasking) {
|
return null;
|
}
|
}
|