package com.mes.temperingglass.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.bigstorage.entity.BigStorageCage;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper;
import com.mes.bigstorage.mapper.BigStorageCageMapper;
import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.temperingglass.mapper.TemperingGlassInfoMapper;
import com.mes.temperingglass.service.TemperingGlassInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
*
* 服务类
*
*
* @author zhoush
* @since 2024-03-27
*/
@Slf4j
@Service
public class TemperingGlassInfoServiceImpl extends ServiceImpl implements TemperingGlassInfoService {
@Resource
private BigStorageCageDetailsMapper bigStorageCageDetailsMapper;
@Resource
private BigStorageCageMapper bigStorageCageMapper;
@Override
public void addOutTask(List temperingGlassInfoList) {
double carWidth=5000;
double gap=50;
//写入任务到任务表
for (TemperingGlassInfo temperingGlassInfo:temperingGlassInfoList
) {
log.info("1、当出片车宽度大于玻璃宽度时");
if((carWidth-temperingGlassInfo.getWidth())>0){
carWidth-=temperingGlassInfo.getWidth()+gap;
log.info("2、添加钢化小片表信息到任务表");
temperingGlassInfo.setState(-1);
baseMapper.updateById(temperingGlassInfo);
log.info("3、修改钢化小片表任务状态");
BigStorageCageOutTask bigStorageCageOutTask = new BigStorageCageOutTask();
bigStorageCageOutTask.setId(temperingGlassInfo.getId());
} else {
break;
}
}
}
@Override
public boolean saveBatch(List list) {
log.info("需要钢化的玻璃为:{}", list);
return baseMapper.saveBatch(list);
}
//调度
@Override
public void schedulingTask() {
QueryWrapper detailsWrapper1 = Wrappers.query();
detailsWrapper1.select("tempering_layout_id", "count(distinct slot)")
.groupBy("tempering_layout_id");
List