package com.northglass.service.device; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.net.URLDecoder; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.sql.*; 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.MachineType; import com.northglass.entity.Machines; import com.northglass.entity.PatternTask; import com.northglass.GlassLayout.Algorithm.AlgorithmDBInterface; import com.northglass.GlassLayout.Algorithm.AlgorithmDBInterface.ComputeResult; import com.northglass.GlassLayout.Tempering.LayoutAlgorithm.AlgorithmParams; import com.northglass.entity.GlassNumberColor; import com.northglass.entity.LoadRack; import com.northglass.entity.MachineDispose; import com.northglass.entity.MachineFont; import com.northglass.entity.MachineMessage; import com.northglass.entity.RawFile; import com.northglass.entity.ShelfTask; import com.northglass.entity.Slicecage; import com.northglass.repository.MachinesTypeDao; import com.northglass.repository.GlassNumberColorDao; import com.northglass.repository.LoadRackDao; import com.northglass.repository.MachineDao; import com.northglass.repository.MachineDisposeDao; import com.northglass.repository.MachineFontDao; import com.northglass.repository.MachineMessageDao; import com.northglass.repository.RawFileDao; import com.northglass.repository.ShelfTaskDao; import com.northglass.repository.SlicecageDao; import com.northglass.service.MachineService.MachineService; import com.northglass.service.message.MessageProcessor; import com.northglass.util.HexUtil; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @Component @Transactional public class DeviceService { private static final Logger LOGGER = LoggerFactory.getLogger(DeviceService.class); @Autowired private MachinesTypeDao machinesTypeDao; @Autowired private MessageProcessor MessageProcessor; @Autowired private MachineDao machinesDao; @Autowired private MachineFontDao machineFontDao; @Autowired private MachineDisposeDao machineDisposeDao; @Autowired private MachineMessageDao machineMessageDao; @Autowired private RawFileDao rawFileDao; @Autowired private LoadRackDao loadRackDao; @Autowired private ShelfTaskDao shelfTaskDao; @Autowired private MachineService machineService; @Autowired private MachineDao machineDao; @Autowired private GlassNumberColorDao glassNumberColorDao; @Autowired SlicecageDao slicecageDao; public void CeshiMainche() { Machines Machine=machineDao.findOne(38L); String str="000000000000000000"; for(int i=0;i<45;i++){ if(i==0){ str+="0001"; }else if(i==99){ str+="02ed"; }else if(i==99){ str+="022f"; }else{ str+="0000"; } } MessageProcessor.generateReturnMessage(str,Machine); } public void connect() { /*List shelf67=machineDao.findAll(); for (Machines machines : shelf67) { machineService.connect(machines); }*/ // Machines Machine=machineDao.findOne(75L); // machineService.connect(Machine); // Machines Machine=machineDao.findOne(38L); // machineService.connect(Machine); //com.northglass.GlassLayout.Algorithm.AlgorithmDBInterface.f(2); } public void resetState() { } //得到所有的45个字 public String[] ResultTexts(String Str) { String []InfoTex =new String[45]; Str=Str.substring(18); for(int i=0;i<45;i++){ InfoTex[i]=Str.substring(0,4); Str=Str.substring(4); } return InfoTex; } //保存TEXT文本 public static void WriteFile(String URL,String FileName,String Content,boolean isappend){ try { String FileUrl=URL+File.separator+FileName; File file=new File(FileUrl); if(file.exists()){ file.createNewFile(); } OutputStream out =new FileOutputStream(file,isappend); Content="\r"+Content; byte[] b=Content.getBytes(); out.write(b); out.close(); } catch (Exception e) { // TODO: handle exception } } public static void WriteFiles(String URL,String FileName,String Content){ try { String FileUrl=URL+File.separator+FileName; File file=new File(FileUrl); if(file.exists()){ file.createNewFile(); } OutputStream out =new FileOutputStream(file,true); Content="\r"+Content; byte[] b=Content.getBytes(); out.write(b); out.close(); } catch (Exception e) { System.out.println("写入文件错误!错误原因"+e); } } public String findColorHtml() { StringBuffer html = new StringBuffer(); List colors = glassNumberColorDao.findAll(); for (int i = 0; i < colors.size(); i++) { GlassNumberColor color = colors.get(i); html.append("").append(color.getId()).append(""); html.append("").append(color.getGlassId()); html.append("删除"); } return html.toString(); } public void addcolor(GlassNumberColor color) { color.setFlag("0"); glassNumberColorDao.save(color); } public void deletecolor(String id) { GlassNumberColor color = glassNumberColorDao.findOne(Long.parseLong(id)); glassNumberColorDao.delete(Long.parseLong(id)); LOGGER.debug("删除膜系" + color.getGlassId()); } public String getshelfstatu() { StringBuffer html = new StringBuffer(); List status = machinesDao.findAll(); if (status.size() > 0) { for (Machines statu : status) { MachineMessage machineMessage=machineMessageDao.findmachineid(statu.getId()); html.append(""+statu.getMachineName()+""); html.append(""+statu.getConnectState()+""); html.append(""+statu.getIpAddress()+""); html.append(""+machineMessage.getModTime()+""); } } return html.toString(); } public String getshelfstatuall() { StringBuffer html = new StringBuffer(); List status = machinesDao.findAll(); if (status.size() > 0) { for (Machines statu : status) { if(statu.getConnectState().equals("已连接")){ html.append(""); }else{ html.append(""); } } } return html.toString(); } public static Connection getConnection() { //localhost 192.168.200.201 192.168.2.6 10.12.0.100 try { return DriverManager.getConnection("jdbc:mariadb://localhost:3307/gmms","root",""); } catch (SQLException e) { e.printStackTrace(); } return null; } }