package com.northglass.service.orderglassinfo; import java.util.ArrayList; import java.util.List; import java.util.Map; 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 com.northglass.entity.Glass; import com.northglass.entity.LoadMachine; import com.northglass.entity.OrderGlassInfo; import com.northglass.entity.ShelfRank; import com.northglass.entity.ShelfStatu; import com.northglass.repository.LoadMachineDao; import com.northglass.repository.OrderGlassInfoDao; import com.northglass.repository.ShelfRankDao; import com.northglass.repository.ShelfStatuDao; @Component @Transactional public class OrderGlassInfoService { private static final Logger LOGGER = LoggerFactory.getLogger(OrderGlassInfoService.class); @Autowired private OrderGlassInfoDao orderGlassInfoDao; @Autowired private ShelfRankDao shelfRankDao; @Autowired private ShelfStatuDao shelfStatuDao; @Autowired private LoadMachineDao loadMachineDao; public OrderGlassInfo save(OrderGlassInfo glass) { return orderGlassInfoDao.save(glass); } public OrderGlassInfo getById(Long id) { return orderGlassInfoDao.findOne(id); } public List findAll() { return orderGlassInfoDao.findAll(); } public List FindOrderGlassDesc() { return orderGlassInfoDao.FindOrderGlassDesc(); } public void FenRank(){//问题 添加表 //分架逻辑 List glasses =FindOrderGlassDesc(); List glasses2 = new ArrayList(); double ThicknessSum=0; for(int i=0;i=-300)?true:false;//宽度差是否符合 boolean Heightconform=(HeightPoor<=150&&HeightPoor>=-150)?true:false;//高度差是否符合 System.out.println(WegihtPoor+","+HeightPoor+","+Wegihtconform+","+Heightconform+","+Thickness); //当前玻璃是否满足料架深度,以及与料架中上一片的规格差 if(Thickness<=60&&Wegihtconform&&Heightconform){ //放同一个架子 ThicknessSum=Thickness; String MaterialRackId=glasses2.get(glasses2.size()-1).getMaterialRackId();//拿到最后的架号 orderGlassInfo.setMaterialRackId(MaterialRackId);//架号为上一片数号 }else{ //另起一架 ThicknessSum=orderGlassInfo.getThickness(); String MaterialRackId=glasses2.get(glasses2.size()-1).getMaterialRackId(); int ID=Integer.parseInt(MaterialRackId.substring(MaterialRackId.indexOf("-")+1)); //System.out.println(MaterialRackId.substring(MaterialRackId.indexOf("-")+1)); orderGlassInfo.setMaterialRackId("LG-"+(ID+1)); //新架号为上一片架号+1 } glasses2.add(orderGlassInfo); orderGlassInfoDao.save(orderGlassInfo); } } } } public String getAllGlassHtml() { StringBuffer html = new StringBuffer(); List glasses = findAll(); if (glasses.size() > 0) { for (OrderGlassInfo glass : glasses) { html.append("").append(glass.getId()).append(""); html.append("").append(glass.getContractId()).append(""); html.append("").append(glass.getCode()).append(""); html.append("").append(glass.getProcessingDrawingNo()).append(""); html.append("").append(glass.getCustomerName()).append(""); html.append("").append(glass.getWeight()).append(""); html.append("").append(glass.getHeight()).append(""); html.append("").append(glass.getThickness()).append(""); html.append("").append(glass.getNumber()).append(""); html.append("").append(glass.getColorMembraneSystem()).append("");//颜色磨细 html.append("").append(glass.getFinishedProductName()).append("");//成品名称 html.append("").append(glass.getProjectName()).append("");//项目名称 html.append("").append(glass.getEdgeGrinding()).append("");//磨边量 if (glass.getProcessCardId() == null) { html.append("").append("无").append("");//流程卡号 }else { html.append("").append(glass.getProcessCardId()).append("");//流程卡号 } if (glass.getMaterialRackId() == null) { html.append("").append("无").append("");//架号 }else{ html.append("").append(glass.getMaterialRackId()).append("");//架号 } if (glass.getGlassNo() == null) { html.append("").append("无").append("");//玻璃编号 }else { html.append("").append(glass.getGlassNo()).append("");//玻璃编号 } html.append(""); } } return html.toString(); } public String getAllGlassHtmls() { List glasses=getAllGlassHtmls12(); StringBuffer html = new StringBuffer(); if(glasses==null||glasses.size()<=0){ return ""; }else{ int i=1; for (String[] glass : glasses) { if(i==1){ html.append(""); i=2; } else{ html.append(""); } html.append("").append(glass[0]).append(""); html.append(""); html.append(""); html.append(""); html.append(""); html.append("").append(glass[4]).append(""); html.append(""); html.append(""); } } return html.toString(); } public String groupshtmls() { List loadMachineList = loadMachineDao.findAll(); String resulthtml=""; for(LoadMachine loadMachine:loadMachineList){ resulthtml+=""; } return resulthtml; } public List getAllGlassHtmls12() { List glasses1 = shelfRankDao.findInWorkRanks(); List glasses2 =new ArrayList(); int i=0; if (glasses1.size() > 0) { for (ShelfRank glass1 : glasses1) { if(glasses2==null||glasses2.size()==0){ String []hh=new String[7]; hh[0]=glass1.getRawPackage().getId().toString();// hh[1]=glass1.getLength().toString();// hh[2]=glass1.getThickness().toString();// hh[3]=glass1.getColor().toString(); hh[4]=glass1.getRawPackage().getLeftPieces()+"".toString(); hh[5]=glass1.getWidth().toString(); hh[6]=glass1.getPrecent()==null?"":glass1.getPrecent(); glasses2.add(hh); }else{ int ispp=0; for(String[] glass2 : glasses2){ boolean is0=(glass1.getPrecent()==null?"":glass1.getPrecent()).equals((glass2[6])); boolean is1= glass1.getLength().toString().equals(glass2[1])&&glass1.getWidth().toString().equals(glass2[5])&&glass1.getThickness().toString().equals(glass2[2])&&glass1.getColor().toString().equals(glass2[3])?true:false; boolean is2= glass1.getLength().toString().equals(glass2[5])&&glass1.getWidth().toString().equals(glass2[1])&&glass1.getThickness().toString().equals(glass2[2])&&glass1.getColor().toString().equals(glass2[3])?true:false; if((is1||is2)&&is0){ ispp=1; glass2[4]=(Integer.valueOf(glass2[4])+glass1.getRawPackage().getLeftPieces()+""); break; } } if(ispp!=1){ String []hh=new String[7]; hh[0]=glass1.getRawPackage().getId().toString();// hh[1]=glass1.getLength().toString();// hh[2]=glass1.getThickness().toString();// hh[3]=glass1.getColor().toString(); hh[4]=glass1.getRawPackage().getLeftPieces()+"".toString(); hh[5]=glass1.getWidth().toString(); hh[6]=glass1.getPrecent()==null?"":glass1.getPrecent(); glasses2.add(hh); } } i=i+1; } } return glasses2; } /*public List getAllGlassHtmls1() { List glasses1 = shelfRankDao.findInWorkRanks(); List glasses2 =new ArrayList(); //遍历计数 count List a =new ArrayList(); String []hh=new String[5]; int i=0; if (glasses1.size() > 0) { for (ShelfRank glass1 : glasses1) { if(glasses2==null||glasses2.size()==0){ ShelfRank sss=glass1; glasses2.add(sss); }else{ //System.out.println(glasses2.size()); //System.out.println(glasses2.get(0)==null?true:false); int ispp=0; for (String[] strings : a) { boolean is1= glass1.getLength().equals(glass2.getLength())&&glass1.getWidth().equals(glass2.getWidth())&&glass1.getThickness().equals(glass2.getThickness())&&glass1.getColor().equals(glass2.getColor())?true:false; strings[2]=(Integer.valueOf(strings[2])+glass1.getRawPackage().getLeftPieces())+""; } for(ShelfRank glass2 : glasses2){ boolean is1= glass1.getLength().equals(glass2.getLength())&&glass1.getWidth().equals(glass2.getWidth())&&glass1.getThickness().equals(glass2.getThickness())&&glass1.getColor().equals(glass2.getColor())?true:false; boolean is2= glass1.getLength().equals(glass2.getWidth())&&glass1.getWidth().equals(glass2.getLength())&&glass1.getThickness().equals(glass2.getThickness())&&glass1.getColor().equals(glass2.getColor())?true:false; System.out.println(glass1.getLength()==glass2.getWidth()&&glass1.getWidth()==glass2.getLength()&&glass1.getThickness()==glass2.getThickness()?true:false); System.out.println(glass1.getInfoid()+","+glass2.getInfoid()); System.out.println(glass1.getLength()); System.out.println(glass1.getWidth()); System.out.println(glass1.getThickness()); System.out.println(glass2.getLength()); System.out.println(glass2.getWidth()); System.out.println(glass2.getThickness()); System.out.println(1); if(is1||is2){ //System.out.println(2); ispp=1; glass2.getRawPackage().setLeftPieces(glass2.getRawPackage().getLeftPieces()+glass1.getRawPackage().getLeftPieces()); break; strings[2]=(glass2.getRawPackage().getLeftPieces()+glass1.getRawPackage().getLeftPieces()); } } if(ispp!=1){ ShelfRank sss=glass1; glasses2.add(sss); } //System.out.println(3); } i=i+1; } } return glasses2; }*/ public String shelfhtmls() { List glasses=shelfStatuDao.findAll(); StringBuffer html = new StringBuffer(); //System.out.println("11111111"); for (ShelfStatu glass : glasses) { html.append("").append(glass.getId()).append(""); html.append("").append(glass.getMachine()).append(""); if("1".equals(glass.getPoint())){ html.append("已下发"); } else if("2".equals(glass.getPoint())){ html.append("停止任务"); } else if("3".equals(glass.getPoint())){ html.append("已发送"); } html.append("开始任务   结束任务"); html.append(""); } return html.toString(); } public void updateshelf(String findByMachine){ ShelfStatu statu=shelfStatuDao.findByMachine(findByMachine); statu.setPoint("1"); shelfStatuDao.save(statu); } public void updateshelf1(String findByMachine){ ShelfStatu statu=shelfStatuDao.findByMachine(findByMachine); statu.setPoint("2"); shelfStatuDao.save(statu); } }