zhoushihao
2025-03-12 de991ff452a0eb496c779e9d6b134b720a9564fa
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
@@ -2,6 +2,7 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
@@ -13,11 +14,12 @@
import com.mes.damage.mapper.DamageMapper;
import com.mes.damage.service.DamageService;
import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
import com.mes.edgglasstask.entity.request.IdentWornRequest;
import com.mes.damage.entity.request.DamageRequest;
import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
import com.mes.edgstoragecage.entity.EdgStorageCage;
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
import com.mes.edgstoragecage.entity.vo.CutDrawingVO;
import com.mes.edgstoragecage.entity.vo.EdgSlotRemainVO;
import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
import com.mes.edgstoragecage.mapper.EdgStorageCageMapper;
import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
@@ -33,7 +35,6 @@
import com.mes.taskcache.service.TaskCacheService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -71,9 +72,6 @@
    @Autowired
    TaskCacheService taskCacheService;
    @Resource
    DamageMapper damageMapper;
    @Autowired
    DamageService damageService;
@@ -81,7 +79,7 @@
    EdgGlassTaskInfoService edgGlassTaskInfoService;
    @Override
    public List<CutDrawingVO> queryCurrentCutDrawing(int deviceId, int stationCell) {
    public JSONObject queryCurrentCutDrawing(int deviceId, int stationCell) {
//         获取本条线当前正在执行的工程
        Engineering engineering = engineeringMapper.selectOne(new LambdaQueryWrapper<Engineering>()
                .eq(Engineering::getState, 1).eq(Engineering::getStationCell, stationCell));
@@ -109,7 +107,12 @@
                patternSequence = lastGlass.getPatternSequence();
            }
        }
        return baseMapper.queryCutDrawingByEngineerId(engineering.getEngineerId(), patternSequence, 0);
        JSONObject jsonObject = new JSONObject();
         List<CutDrawingVO> currentCutDrawings = baseMapper.queryCutDrawingByEngineerId(engineering.getEngineerId(), patternSequence, 0);
        jsonObject.append("currentCutTerritory", currentCutDrawings);
        jsonObject.append("engineer", engineering.getEngineerId());
        jsonObject.append("sequence", patternSequence);
        return jsonObject;
    }
    @Override
@@ -291,27 +294,19 @@
        return outEdgStorageCageDetails;
    }
    @Override
    public String identControls(IdentWornRequest request) {
    public String identControls(DamageRequest request) {
        //将识别破损的玻璃直接加入破损表
        Damage damage = new Damage();
        BeanUtils.copyProperties(request, damage);
        damage.setType(request.getState());
        damage.setRemark("");
        damage.setStatus(0);
        damageService.insertDamage(damage);
        damageService.autoSubmitReport(request.getGlassId(), request.getLine(), request.getWorkingProcedure(), "掰片识别", request.getState());
        return "success";
    }
    @Override
    public String edgReportStatus(IdentWornRequest request) {
    public String edgReportStatus(DamageRequest request) {
        //将磨边队列破损的玻璃直接加入破损表
        Damage damage = new Damage();
        BeanUtils.copyProperties(request, damage);
        damage.setType(request.getState());
        damage.setRemark("");
        damage.setStatus(0);
        damageService.insertDamage(damage);
        damageService.autoSubmitReport(request.getGlassId(), request.getLine(), request.getWorkingProcedure(), "磨边清洗", request.getState());
        //修改磨边队列数据状态
        edgGlassTaskInfoService.update(new LambdaUpdateWrapper<EdgGlassTaskInfo>()
                .set(EdgGlassTaskInfo::getState, request.getState()).eq(EdgGlassTaskInfo::getGlassId, request.getGlassId()));
@@ -333,7 +328,7 @@
            //说明此玻璃没有进过理片
            return true;
        } else {
            List<Damage> damage = damageMapper.selectList(new LambdaQueryWrapper<Damage>()
            List<Damage> damage = damageService.list(new LambdaQueryWrapper<Damage>()
                    .eq(Damage::getGlassId, glassId)
                    .and(wrapper -> wrapper.eq(Damage::getType, 8).or().eq(Damage::getType, 9))
            );
@@ -348,4 +343,17 @@
    public EdgStorageCageDetails queryEdgStorageDetailsBySize(int deviceId, int currentSlot, double width, double height) {
        return baseMapper.queryEdgStorageDetailsBySize(deviceId, currentSlot, width, height);
    }
    @Override
    public String edgDetailsOperate(DamageRequest request) {
        //卧式理片笼爆破损
        damageService.autoSubmitReport(request.getGlassId(), request.getLine(), request.getWorkingProcedure(), "卧式理片笼", request.getState());
        this.remove(new LambdaQueryWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getGlassId, request.getGlassId()));
        return "success";
    }
    @Override
    public List<EdgSlotRemainVO> querySlotRemainWidth(int cellLength, int glassGap) {
        return this.baseMapper.querySlotRemainWidth(cellLength, glassGap);
    }
}