package com.northglass.service.slicecage; import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.Model; import com.northglass.entity.GalssTask; import com.northglass.entity.Horizontal; import com.northglass.entity.ShelfRack; import com.northglass.entity.Slicecage; import com.northglass.entity.SlicecagePattern; import com.northglass.repository.GalssTaskDao; import com.northglass.repository.HorizontalDao; import com.northglass.repository.RawFileDao; import com.northglass.repository.SlicecageDao; import com.northglass.repository.SlicecagePatternDao; import com.northglass.service.shelfmanager.ShelfManagerService; @Component @Transactional public class SlicecageService { private static final Logger LOGGER = LoggerFactory.getLogger(SlicecageService.class); @Autowired SlicecageDao slicecageDao; @Autowired GalssTaskDao galssTaskDao; @Autowired HorizontalDao horizontalDao; @Autowired SlicecagePatternDao slicecagePatternDao; @Autowired ShelfManagerService shelfManagerService; public String getslicecageRankInfohmt(Long groups){ StringBuffer html = new StringBuffer(); List slicecage=slicecageDao.findfall(groups); if(slicecage.size()>0){ for (Slicecage slicecages : slicecage){ if(slicecages.getState().equals("空闲")){ html.append(""); html.append(""); html.append(""+slicecages.getId() +""); html.append(""+slicecages.getSlicecageRank() +""); html.append(""+slicecages.getState() +""); html.append(""); html.append(""); html.append(""); html.append(""); html.append(""); html.append(""); html.append(""); html.append(""+slicecages.getFlag() +""); html.append(""); } else{ List galssTasklist = galssTaskDao.findbyTypeId(slicecages.getTypeId(),slicecages.getProcesscardId(),groups); GalssTask galssTask=galssTasklist.get(0); html.append(""); html.append(""); html.append(""+slicecages.getId() +""); html.append(""+slicecages.getSlicecageRank() +""); html.append(""+slicecages.getState() +""); html.append(""+slicecages.getTypeId()+""); html.append(""+galssTask.getWidth()+""); html.append(""+galssTask.getHeight()+""); html.append(""+galssTask.getThickness()+""); html.append(""+slicecages.getCount()+""); html.append(""+slicecages.getProcesscardId()+""); html.append(""+galssTask.getEngineeringId()+""); html.append(""+slicecages.getFlag() +""); html.append(""); } } } return html.toString(); } public String getslicecageRankInfohmt1(Long groups){ StringBuffer html = new StringBuffer(); List horizontal=horizontalDao.findAll(); if(horizontal.size()>0){ for (Horizontal slicecages : horizontal){ if(slicecages.getState().equals("空闲")){ html.append(""); html.append(""); html.append(""+slicecages.getId() +""); html.append(""+slicecages.getSlicecageRank() +""); html.append(""+slicecages.getState() +""); html.append(""); html.append(""); html.append(""); html.append(""); html.append(""); html.append(""); html.append(""); html.append(""+slicecages.getFlag() +""); html.append(""); } else{ List galssTasklist = galssTaskDao.findbyTypeId(slicecages.getTypeId(),slicecages.getProcesscardId(),groups); GalssTask galssTask=galssTasklist.get(0); html.append(""); html.append(""); html.append(""+slicecages.getId() +""); html.append(""+slicecages.getSlicecageRank() +""); html.append(""+slicecages.getState() +""); html.append(""+slicecages.getTypeId()+""); html.append(""+galssTask.getWidth()+""); html.append(""+galssTask.getHeight()+""); html.append(""+galssTask.getThickness()+""); html.append(""+slicecages.getCount()+""); html.append(""+slicecages.getProcesscardId()+""); html.append(""+galssTask.getEngineeringId()+""); html.append(""+slicecages.getFlag() +""); html.append(""); } } } return html.toString(); } public String galsstaskInfohmtl(Long groups){ StringBuffer html = new StringBuffer(); List galssTask=galssTaskDao.findByprocedure(groups); if(galssTask.size()>0){ for (GalssTask galssTasks : galssTask){ html.append(""); html.append(""); html.append(""+galssTasks.getId() +""); html.append(""+galssTasks.getGalssId() +""); html.append(""+galssTasks.getWidth() +""); html.append(""+galssTasks.getHeight() +""); html.append(""+galssTasks.getThickness() +""); html.append(""+galssTasks.getProcesscardId() +""); html.append(""+galssTasks.getDropFrame() +""); html.append(""); } } return html.toString(); } public String getslicecagetaskhtml(Long groups){ StringBuffer html = new StringBuffer(); List galssTask=galssTaskDao.findByproceduretask(groups); if(galssTask.size()>0){ for (GalssTask galssTasks : galssTask){ html.append(""); html.append(""+galssTasks.getGalssId() +""); html.append(""+galssTasks.getRank() +""); html.append(""+galssTasks.getWidth() +""); html.append(""+galssTasks.getHeight() +""); html.append(""+galssTasks.getThickness() +""); html.append(""+galssTasks.getProcesscardId() +""); html.append(""+galssTasks.getWorkProcedure() +""); html.append(""+galssTasks.getWorkState() +""); html.append(""+galssTasks.getDropFrame() +""); html.append(""); html.append(""); } } return html.toString(); } public String buttonhmtl(Long groups){ StringBuffer html = new StringBuffer(); SlicecagePattern slicecagePattern=slicecagePatternDao.findById(groups); if (slicecagePattern.getVar().equals("1")){ html.append(""); html.append(""); html.append(""); html.append(""); }else if (slicecagePattern.getVar().equals("3")){ html.append(""); html.append(""); html.append(""); html.append(""); }else if (slicecagePattern.getVar().equals("4")){ html.append(""); html.append(""); html.append(""); html.append(""); }else{ html.append(""); html.append(""); html.append(""); html.append(""); } return html.toString(); } public void rackdelete(Long id,String type,Long groups) { Slicecage slicecage=slicecageDao.findById(id); if(slicecage!=null){ if(type.equals("禁用")){ slicecage.setFlag(1); slicecageDao.save(slicecage); }else if(type.equals("启用")){ slicecage.setFlag(0); slicecageDao.save(slicecage); }else if(type.equals("出片")){ slicecage.setTypeId(0); slicecage.setCount(0); slicecage.setState("空闲"); slicecage.setProcesscardId(null); slicecageDao.save(slicecage); List galssTasks=galssTaskDao.findslicecagerank(Long.parseLong(slicecage.getSlicecageRank()),groups); for (GalssTask galssTask : galssTasks){ galssTask.setWorkProcedureNumber(100); galssTask.setWorkProcedure("测量"); galssTask.setWorkState("待识别"); galssTask.setRank(0l); galssTask.setOutRank(0l); galssTask.setSlicecageRank(null); galssTaskDao.save(galssTask); } } } } public void rackdelete2(Long id,String type,Long groups) { Horizontal horizontal=horizontalDao.findById(id); if(horizontal!=null){ if(type.equals("禁用")){ horizontal.setFlag(1); horizontalDao.save(horizontal); }else if(type.equals("启用")){ horizontal.setFlag(0); horizontalDao.save(horizontal); }else if(type.equals("传送")){ Horizontal horizontals=horizontalDao.findbygroup(2l,horizontal.getSlicecageRank()); horizontals.setCount(horizontal.getCount()); horizontals.setTypeId(horizontal.getTypeId()); horizontals.setProcesscardId(horizontal.getProcesscardId()); horizontals.setState("使用中"); horizontalDao.save(horizontals); System.out.println(horizontal.getId()); List galssTasks=galssTaskDao.findslicecagerank2(horizontal.getId(),groups); System.out.println(galssTasks.size()); for (GalssTask galssTask : galssTasks){ galssTask.setSlicecageRank(horizontals.getId()); galssTaskDao.save(galssTask); } horizontal.setTypeId(0); horizontal.setCount(0); horizontal.setState("空闲"); horizontal.setProcesscardId(null); horizontalDao.save(horizontal); }else if(type.equals("出片")){ horizontal.setTypeId(0); horizontal.setCount(0); horizontal.setState("空闲"); horizontal.setProcesscardId(null); horizontalDao.save(horizontal); List galssTasks=galssTaskDao.findslicecagerank2(horizontal.getId(),groups); for (GalssTask galssTask : galssTasks){ galssTask.setWorkProcedureNumber(100); galssTask.setWorkProcedure("测量"); galssTask.setWorkState("待识别"); galssTask.setRank(0l); galssTask.setOutRank(0l); galssTask.setSlicecageRank(null); galssTaskDao.save(galssTask); } } } } public void addslicecagerack(Long id,Long galssid) { Slicecage slicecages=slicecageDao.findById(id); GalssTask galssTask=galssTaskDao.findOne(galssid); if(slicecages.getState().equals("使用中")&& slicecages.getCount()==1&& slicecages.getTypeId()==galssTask.getTypeId() && slicecages.getProcesscardId().equals(galssTask.getProcesscardId())){ slicecages.setCount(2); galssTask.setSlicecageRank(Long.valueOf(slicecages.getSlicecageRank())); galssTask.setWorkProcedure("理片"); galssTask.setWorkState("已进库"); galssTask.setWorkProcedureNumber(200); slicecageDao.save(slicecages); galssTaskDao.save(galssTask); }else if(slicecages.getState().equals("空闲")){ slicecages.setSlicecageRank(slicecages.getSlicecageRank()); slicecages.setState("使用中"); slicecages.setProcesscardId(galssTask.getProcesscardId()); slicecages.setCount(1); slicecages.setTypeId(galssTask.getTypeId()); galssTask.setSlicecageRank(Long.valueOf(slicecages.getSlicecageRank())); galssTask.setWorkProcedure("理片"); galssTask.setWorkState("已进库"); galssTask.setWorkProcedureNumber(200); slicecageDao.save(slicecages); galssTaskDao.save(galssTask); } } public void addslicecagerack2(Long id,Long galssid) { Horizontal horizontal=horizontalDao.findById(id); GalssTask galssTask=galssTaskDao.findOne(galssid); horizontal.setSlicecageRank(horizontal.getSlicecageRank()); horizontal.setState("使用中"); horizontal.setProcesscardId(galssTask.getProcesscardId()); horizontal.setCount(1); horizontal.setTypeId(galssTask.getTypeId()); galssTask.setSlicecageRank(Long.valueOf(horizontal.getId())); galssTask.setWorkProcedure("理片"); galssTask.setWorkState("已进库"); galssTask.setWorkProcedureNumber(200); horizontalDao.save(horizontal); galssTaskDao.save(galssTask); } public void slicecagepattern(String type,Long groups) { SlicecagePattern slicecagePattern = slicecagePatternDao.findById(groups); slicecagePattern.setVar(type); slicecagePatternDao.save(slicecagePattern); } public String updatetask(Long id) { GalssTask galssTask=galssTaskDao.findOne(id); galssTask.setWorkProcedureNumber(100); galssTask.setWorkProcedure("测量"); galssTask.setWorkState("待识别"); galssTask.setRank(0l); galssTask.setOutRank(0l); galssTaskDao.save(galssTask); return "redirect:/slicecage/slicecagetask"; } }