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<Machines> 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<GlassNumberColor> colors = glassNumberColorDao.findAll();
|
for (int i = 0; i < colors.size(); i++) {
|
GlassNumberColor color = colors.get(i);
|
html.append("<tr><td>").append(color.getId()).append("</td><td>");
|
html.append("<span class='label label-success'>").append(color.getGlassId());
|
html.append("</span></td><td><a href='/gmms2/device/deletecolor/").append(color.getId())
|
.append("' class='btn btn-danger'>删除</a></td></tr>");
|
}
|
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<Machines> status = machinesDao.findAll();
|
if (status.size() > 0) {
|
for (Machines statu : status) {
|
MachineMessage machineMessage=machineMessageDao.findmachineid(statu.getId());
|
html.append("<tr><td>"+statu.getMachineName()+"</td>");
|
html.append("<td>"+statu.getConnectState()+"</td>");
|
html.append("<td>"+statu.getIpAddress()+"</td>");
|
html.append("<td>"+machineMessage.getModTime()+"</td></tr>");
|
}
|
}
|
return html.toString();
|
}
|
|
public String getshelfstatuall() {
|
StringBuffer html = new StringBuffer();
|
List<Machines> status = machinesDao.findAll();
|
if (status.size() > 0) {
|
for (Machines statu : status) {
|
if(statu.getConnectState().equals("已连接")){
|
html.append("<button type='button' class='btn btn-primary '>"+statu.getMachineName()+"</button>");
|
}else{
|
html.append("<button style='background-color: red' type='button' class='btn btn-primary '>"+statu.getMachineName()+"</button>");
|
}
|
}
|
}
|
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/gmms","root","");
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}
|
return null;
|
}
|
|
}
|