package com.northglass.service.cutmanage;
|
|
import java.io.BufferedReader;
|
import java.io.File;
|
import java.io.FileInputStream;
|
import java.io.FileWriter;
|
import java.io.IOException;
|
import java.io.InputStream;
|
import java.io.OutputStream;
|
import java.io.StringReader;
|
import java.io.UnsupportedEncodingException;
|
import java.math.BigDecimal;
|
import java.sql.CallableStatement;
|
import java.sql.Connection;
|
import java.sql.DriverManager;
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
import java.sql.Statement;
|
import java.text.DecimalFormat;
|
import java.text.ParseException;
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
import java.sql.*;
|
import java.util.Stack;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
|
import org.apache.ibatis.annotations.Select;
|
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 org.springframework.web.servlet.ModelAndView;
|
|
import com.northglass.Globel.mes;
|
import com.northglass.SqlHelper.DBSession;
|
import com.northglass.applicationListener.InitializeSystemApplicationListener;
|
import com.northglass.constants.ShelfTaskType;
|
import com.northglass.constants.StateConstants.GlassState;
|
import com.northglass.constants.StateConstants.LoadMachineTaskState;
|
import com.northglass.constants.StateConstants.RackState;
|
import com.northglass.constants.StateConstants.RawPackageTxtState;
|
import com.northglass.constants.StateConstants.ShelfRankState;
|
import com.northglass.constants.StateConstants.ShelfTaskState;
|
import com.northglass.constants.StateConstants.TaskState;
|
import com.northglass.entity.Machines;
|
import com.northglass.entity.PatternTask;
|
import com.northglass.entity.PatternTaskBuffer;
|
import com.northglass.entity.ProdLineState;
|
import com.northglass.entity.RawFile;
|
import com.northglass.entity.RawPackage;
|
import com.northglass.entity.Cutmanagedetailis;
|
import com.northglass.entity.DongZuoTable;
|
import com.northglass.entity.GalssTask;
|
import com.northglass.entity.GalssTaskBuffer;
|
import com.northglass.entity.GalssTaskDetails;
|
import com.northglass.entity.GlassNumberColor;
|
import com.northglass.entity.LoadRack;
|
import com.northglass.entity.ShelfRack;
|
import com.northglass.entity.ShelfRack2;
|
import com.northglass.entity.ShelfTask;
|
import com.northglass.entity.Slicecage;
|
import com.northglass.entity.UserDetails;
|
import com.northglass.repository.CutmanagedetailisDao;
|
import com.northglass.repository.DongZuoTableDao;
|
import com.northglass.repository.GalssTaskBufferDao;
|
import com.northglass.repository.GalssTaskDao;
|
import com.northglass.repository.GalssTaskDetailsDao;
|
import com.northglass.repository.GlassNumberColorDao;
|
import com.northglass.repository.HorizontalDao;
|
import com.northglass.repository.LoadRackDao;
|
import com.northglass.repository.MachineDao;
|
import com.northglass.repository.PatternTaskBufferDao;
|
import com.northglass.repository.PatternTaskDao;
|
import com.northglass.repository.ProdLineStateDao;
|
import com.northglass.repository.RawFileDao;
|
import com.northglass.repository.RawPackageDao;
|
import com.northglass.repository.ShelfRackDao;
|
import com.northglass.repository.ShelfTaskDao;
|
import com.northglass.repository.SlicecageDao;
|
import com.northglass.repository.SlicecagePatternDao;
|
import com.northglass.repository.UserDetailsDao;
|
import com.northglass.service.device.DeviceService;
|
import com.northglass.service.message.MessageProcessor;
|
|
import antlr.collections.impl.LList;
|
|
|
|
|
|
|
@Component
|
@Transactional
|
public class CutManageService {
|
private static String WEB_ROOT_PATH;
|
private static String TEMP_PATH1;
|
private static String TEMP_PATH2;
|
@Autowired
|
private MachineDao machineDao;
|
|
@Autowired
|
private LoadRackDao loadRackDao;
|
|
@Autowired
|
private SlicecageDao slicecageDao;
|
|
@Autowired
|
private HorizontalDao horizontalDao;
|
|
@Autowired
|
private CutmanagedetailisDao cutmanagedetailisDao;
|
|
@Autowired
|
private ProdLineStateDao prodLineStateDao;
|
|
@Autowired
|
private ShelfRackDao shelfRackDao;
|
|
@Autowired
|
private ShelfTaskDao shelfTaskDao;
|
|
@Autowired
|
private RawPackageDao rawPackageDao;
|
|
@Autowired
|
private DongZuoTableDao dongZuoTableDao;
|
|
@Autowired
|
private RawFileDao rawFileDao;
|
|
@Autowired
|
private PatternTaskDao patternTaskDao;
|
|
@Autowired
|
private PatternTaskBufferDao patternTaskBufferDao;
|
|
@Autowired
|
private GalssTaskBufferDao galssTaskBufferDao;
|
|
@Autowired
|
private GalssTaskDao galssTaskDao;
|
|
@Autowired
|
private GlassNumberColorDao glassNumberColorDao;
|
|
@Autowired
|
private GalssTaskDetailsDao galssTaskDetailsDao;
|
|
@Autowired
|
private MessageProcessor messageProcessor;
|
|
@Autowired
|
private UserDetailsDao userDetailsDao;
|
|
private static final Logger LOGGER = LoggerFactory.getLogger(CutManageService.class);
|
|
|
|
|
|
|
/**
|
* 进入领取任务列表页面
|
*
|
* @return
|
*/
|
public String getTask(String prodLine, Model model) {
|
RawFile rawPackageTxt = rawFileDao.findAcceptedByGroup(Long.valueOf(prodLine));// 当前产线是否有任务
|
// 没有任务
|
if (rawPackageTxt == null) {
|
StringBuffer html = new StringBuffer();
|
List<RawFile> rawPackageslist = rawFileDao.findTasks(Long.valueOf(prodLine));
|
int num = 1;
|
for (RawFile rawPackages : rawPackageslist) {
|
int galssTaskcount = galssTaskBufferDao.findbygalsstaskcount(rawPackages.getFileName());
|
int patterTaskcount = patternTaskBufferDao.findbypattertaskcount(rawPackages.getFileName());
|
html.append("<tr>");
|
html.append("<td>").append(num++).append("</td>");
|
html.append("<td>").append(rawPackages.getId()).append("</td>");
|
html.append("<td>").append(rawPackages.getFileName()).append("</td>");
|
html.append("<td>").append(galssTaskcount).append("</td>");
|
html.append("<td>").append(patterTaskcount).append("</td>");
|
html.append("<td>").append(rawPackages.getState()).append("</td>");
|
html.append("<td><a href='/gmms2/cutmanage/gottask/").append(rawPackages.getId()).append("/")
|
.append(prodLine).append("'>领取任务</a> ");
|
html.append("<a href='/gmms2/cutmanage/markover/").append(rawPackages.getFileName()).append("/")
|
.append(prodLine).append("'>标记完成</a></td>");
|
html.append("</tr>");
|
}
|
StringBuffer html2 = new StringBuffer();
|
UserDetails userDetails=userDetailsDao.findgroups(prodLine);
|
html2.append("<button id='dengluname' style='background-color: #5CADFE' class='btn btn-large btn-success' onclick='updatedengluname()'>"+userDetails.getName()+"</button>");
|
model.addAttribute("rawPackageslistname", html2.toString());
|
model.addAttribute("total", rawPackageslist.size());
|
model.addAttribute("line", prodLine);
|
model.addAttribute("groups", prodLine);
|
model.addAttribute("rawPackageslist", html.toString());
|
|
|
|
return "cutmanage/gettask";
|
} else {
|
model.addAttribute("pattertaskHtml", getpattertaskHtml(Long.valueOf(prodLine)));
|
model.addAttribute("pattertaskHtml2", getpattertaskHtml2(Long.valueOf(prodLine)));
|
model.addAttribute("rawPackageslistname",getrawPackageslistname(prodLine));
|
model.addAttribute("groups", prodLine);
|
int st=-1;
|
try(DBSession sn=mes.getMesDBHelper().createSession(false)){
|
sn.createSql("SELECT able FROM gmms_device_state where line=? and device_name='上片机'");
|
//System.out.println(prodLine);
|
ResultSet r= sn.query(prodLine).getCurrentResult();
|
if(r.next()){
|
boolean b=r.getBoolean(1);
|
//System.out.println(b);
|
st=b?1:0;
|
}
|
}
|
catch(SQLException e){
|
|
}
|
model.addAttribute("able",st);
|
return "cutmanage/gotasks";
|
}
|
|
}
|
|
public String getTasks(String prodLine, Model model) {
|
|
StringBuffer html = new StringBuffer();
|
List<RawFile> rawPackageslist = rawFileDao.findAcceptedByGroups(Long.valueOf(prodLine));
|
for (RawFile rawPackages : rawPackageslist) {
|
html.append("<tr>");
|
html.append("<td>").append(rawPackages.getId()).append("</td>");
|
html.append("<td>").append(rawPackages.getFileName()).append("</td>");
|
/* html.append("<td>").append(rawPackages.getWidth()).append("</td>");
|
html.append("<td>").append(rawPackages.getHeight()).append("</td>");
|
html.append("<td>").append(rawPackages.getThickness()).append("</td>");*/
|
html.append("<td>").append(rawPackages.getState()).append("</td>");
|
html.append("<td><a href='/gmms2/cutmanage/gottask/").append(rawPackages.getId()).append("/")
|
.append(prodLine).append("'>领取任务</a> ");
|
html.append("<a href='/gmms2/cutmanage/markover/").append(rawPackages.getFileName()).append("/")
|
.append(prodLine).append("'>标记完成</a></td>");
|
html.append("</tr>");
|
}
|
StringBuffer html2 = new StringBuffer();
|
UserDetails userDetails=userDetailsDao.findgroups(prodLine);
|
html2.append("<button id='dengluname' style='background-color: #5CADFE' class='btn btn-large btn-success' onclick='updatedengluname()'>"+userDetails.getName()+"</button>");
|
model.addAttribute("rawPackageslist", html.toString());
|
model.addAttribute("rawPackageslistname", html2.toString());
|
return "cutmanage/gettask";
|
|
|
}
|
|
public String getrawPackageslistname(String line) {
|
StringBuffer html2 = new StringBuffer();
|
UserDetails userDetails=userDetailsDao.findgroups(line);
|
html2.append("<button id='dengluname' style='background-color: #5CADFE' class='btn btn-large btn-success' onclick='updatedengluname()'>"+userDetails.getName()+"</button>");
|
return html2.toString();
|
}
|
|
public void updatedengluname(String groups,String username) {
|
UserDetails userDetails=userDetailsDao.findgroups(groups);
|
if (groups.equals("1")) {
|
if (username.equals("shangpian1-A")) {
|
userDetails.setName("shangpian1-B");
|
}else if(username.equals("shangpian1-B")) {
|
userDetails.setName("shangpian1-A");
|
}
|
} else if(groups.equals("2")) {
|
if (username.equals("shangpian2-A")) {
|
userDetails.setName("shangpian2-B");
|
}else if(username.equals("shangpian2-B")) {
|
userDetails.setName("shangpian2-A");
|
}
|
}else if(groups.equals("3")) {
|
if (username.equals("shangpian3-A")) {
|
userDetails.setName("shangpian3-B");
|
}else if(username.equals("shangpian3-B")) {
|
userDetails.setName("shangpian3-A");
|
}
|
}
|
userDetailsDao.save(userDetails);
|
}
|
|
static int glasstask_lock=0;
|
public String getTaskInterface(HttpServletRequest request, HttpServletResponse response, Long id,Long line, Model model) {
|
|
if(glasstask_lock!=0){
|
return "cutmanage/gettask";
|
}
|
try(Connection conn=DeviceService.getConnection()){
|
glasstask_lock=1;
|
|
CallableStatement c=conn.prepareCall("{call GalssTask(?,?,?)}");
|
c.setLong(1,id);
|
c.setLong(2, line);
|
c.registerOutParameter(3, java.sql.Types.INTEGER);
|
c.execute();
|
int ret= c.getInt(3);
|
c.close();
|
|
//conn.close();
|
|
LOGGER.debug(""+ret);
|
if(ret==100){
|
RawFile rawFile=rawFileDao.findOne(id);
|
rawFile.setState("已领取");
|
rawFile.setOperator(line);
|
rawFile.setCreateTime(new Date());
|
rawFileDao.save(rawFile);
|
|
|
List<PatternTask> patternTasklist=patternTaskDao.findbygroup(id);
|
for (PatternTask patternTask : patternTasklist) {
|
patternTask.setGroups(line);
|
patternTaskDao.save(patternTask);
|
}
|
|
List<GalssTask> galssTasklist=galssTaskDao.findbyengineering(rawFile.getFileName());
|
for (GalssTask galssTask : galssTasklist) {
|
galssTask.setStartTime(new Date());
|
galssTaskDao.save(galssTask);
|
}
|
}
|
|
model.addAttribute("message",ret);
|
model.addAttribute("pattertaskHtml", getpattertaskHtml(Long.valueOf(line)));
|
model.addAttribute("pattertaskHtml2", getpattertaskHtml2(Long.valueOf(line)));
|
model.addAttribute("groups", line);
|
//System.out.println(ret);
|
return "cutmanage/gotasks";
|
} catch (SQLException e) {
|
e.printStackTrace();
|
return "cutmanage/gettask";
|
}
|
finally{
|
glasstask_lock=0;
|
}
|
}
|
|
|
|
|
/**
|
* 空闲中的料架
|
*
|
* @return
|
*/
|
public List<String> getFreeShelfRankNumberList() {
|
List<ShelfRack> freeShelfRanks = shelfRackDao.findFreeRanks();
|
List<String> result = new ArrayList<String>();
|
|
// 生成list
|
for (ShelfRack shelfRank : freeShelfRanks) {
|
result.add(shelfRank.getNumber());
|
}
|
return result;
|
}
|
|
public List<String> getFreeShelfRankNumberList1() {
|
List<ShelfRack> freeShelfRanks = shelfRackDao.findFreeRanks1();
|
List<String> result = new ArrayList<String>();
|
|
// 生成list
|
for (ShelfRack shelfRank : freeShelfRanks) {
|
result.add(shelfRank.getNumber());
|
}
|
return result;
|
}
|
|
//加载上片位信息页面
|
public String getLoadMachineHtml() {
|
StringBuffer html = new StringBuffer();
|
|
List<Machines> loadMachineList = machineDao.findload();
|
for (Machines loadMachine : loadMachineList) {
|
List<LoadRack> racks = loadRackDao.findRack(loadMachine.getId());
|
boolean firstRow = true;
|
html.append("<tr>");
|
if (firstRow) {
|
html.append("<td rowspan='").append(racks.size()).append("'>");
|
html.append("<br>");
|
html.append("<a href='#").append(loadMachine.getId()).append("'>");
|
html.append(loadMachine.getMachineName()).append("</a>   ");
|
html.append(loadMachine.getConnectState()).append("</td>");
|
|
|
for (LoadRack rack : racks) {
|
|
|
|
html.append("<td>");
|
html.append("<a href='javascript:void(0)'>").append("上片位");
|
html.append(rack.getNumber()).append("</a> ");
|
html.append("</td>");
|
|
html.append("<td>");
|
if (rack.getShelfTask() != null) {
|
//System.out.println(rack.getShelfTask().getShelfRack().getId());
|
ShelfRack rank = shelfRackDao.findRankByRawId(rack.getShelfTask().getShelfRack().getId());
|
html.append("【").append(rank.getNumber()).append("号】");
|
//Y 2023-7-2修改 判断rack.getShelfTask().getShelfRack().getRawPackage()是否为空
|
if(rack.getShelfTask().getShelfRack().getRawPackage()!=null){
|
html.append(rack.getShelfTask().getShelfRack().getRawPackage().getDescription());
|
}else{
|
html.append("");
|
}
|
|
}
|
else{
|
if (!rack.getState().equals(RackState.FREE)) {
|
html.append(rack.getNumber()+"号上片位信息出错,请清除重置!");
|
}
|
}
|
html.append("</td>");
|
|
html.append("<td>");
|
html.append("");
|
html.append("</td>");
|
html.append("<td>");
|
if (rack.getState().equals(RackState.FREE)) {
|
html.append("<button style='background-color: #5CADFE' class='btn btn-large btn-success' onclick='addload(").append(rack.getId()).append(")'>添加原片</button>");
|
}else {
|
html.append("<button style='background-color: #5CADFE' class='btn btn-large btn-warning' style='background-color: #5CADFE' onclick='modifyload(").append(rack.getId()).append(")'>修改原片</button> <button style='background-color: #5CADFE' class='btn btn-large btn-danger' onclick='deleteload(").append(rack.getId()).append(")'>清除消息</button>");
|
html.append(" <button style='background-color: #5CADFE' class='btn btn-large btn-danger' onclick='tuikuload(").append(rack.getId()).append(")'>退库</button>");
|
}
|
|
html.append("</td>");
|
html.append("</tr>");
|
}
|
}
|
}
|
|
return html.toString();
|
}
|
|
//膜系
|
public List<String> getColorList() {
|
List<GlassNumberColor> colors = glassNumberColorDao.findAll();
|
List<String> result = new ArrayList<String>();
|
|
// 生成list
|
for (GlassNumberColor color : colors) {
|
result.add(color.getGlassId());
|
}
|
return result;
|
}
|
|
//清除上片位信息
|
public String deleteinfo(String loadMachineId) {
|
LoadRack rack = loadRackDao.findOne(Long.valueOf(loadMachineId));
|
rack.setFalgShelf("0");
|
rack.setState(RackState.FREE);
|
RawPackage raw = rack.getShelfTask().getShelfRack().getRawPackage();
|
if (raw != null) {
|
ShelfRack rank = shelfRackDao.findRankByRawId2(raw.getId());
|
if (rank != null) {
|
if (rank.getState().equals("正在使用")) {
|
rank.setState("使用中");
|
|
shelfRackDao.save(rank);
|
}
|
}
|
rack.setShelfTask(null);
|
}
|
loadRackDao.save(rack);
|
return "redirect:/cutmanage/loadmachinerack";
|
}
|
|
//结束任务
|
public String delecttask(Long operator) {
|
RawFile rawFile=rawFileDao.findAcceptedByGroup(operator);
|
int lipiancount =galssTaskDao.finlipian(operator);
|
|
int slicecount;
|
if (operator==1) {
|
slicecount=horizontalDao.findfall2(operator);
|
//System.out.println(slicecount);
|
}else{
|
slicecount=slicecageDao.findfall2(operator);
|
}
|
if(lipiancount>0||slicecount>0){
|
return "redirect:cutmanage/gettasks";
|
}else{
|
Connection conn=DeviceService.getConnection();
|
try{
|
|
CallableStatement c=conn.prepareCall("{call workmanship(?)}");
|
c.setLong(1,operator);
|
c.execute();
|
c.close();
|
|
|
rawFile.setState("已完成");
|
rawFile.setReceiveTime(new Date());
|
galssTaskDao.deleteGlassTask(rawFile.getFileName());
|
patternTaskDao.deletepatternTask(rawFile.getId());
|
return "redirect:cutmanage/gettasks";
|
} catch (SQLException e) {
|
e.printStackTrace();
|
return "redirect:cutmanage/gettasks";
|
}finally{
|
messageProcessor.close(conn);
|
}
|
}
|
|
}
|
|
|
//中断任务
|
public String delecttask1(Long operator) {
|
RawFile rawFile=rawFileDao.findAcceptedByGroup(operator);
|
int lipiancount =galssTaskDao.finlipian(operator);
|
|
int slicecount;
|
if (operator==1) {
|
slicecount=horizontalDao.findfall2(operator);
|
//System.out.println(slicecount);
|
}else{
|
slicecount=slicecageDao.findfall2(operator);
|
}
|
if(lipiancount>0||slicecount>0){
|
return "redirect:cutmanage/gettasks";
|
}else{
|
Connection conn=DeviceService.getConnection();
|
try {
|
|
CallableStatement c=conn.prepareCall("{call interrupttask(?,?)}");
|
c.setString(1,rawFile.getFileName());
|
c.setLong(2,operator);
|
c.execute();
|
c.close();
|
|
rawFile.setState("中断");
|
rawFile.setReceiveTime(new Date());
|
galssTaskDao.deleteGlassTask(rawFile.getFileName());
|
patternTaskDao.deletepatternTask(rawFile.getId());
|
return "redirect:cutmanage/gettasks";
|
} catch (SQLException e) {
|
e.printStackTrace();
|
return "redirect:cutmanage/gettasks";
|
}finally{
|
messageProcessor.close(conn);
|
}
|
|
}
|
|
}
|
|
//修改原片数量
|
public void modifyAction(String pieces, String ids) {
|
Cutmanagedetailis cutmanagedetailis =new Cutmanagedetailis();
|
LoadRack rack = loadRackDao.findOne(Long.valueOf(ids));
|
//UserDetails userDetails=userDetailsDao.findgroups(rack.getGroups()+"");
|
Connection conn=DeviceService.getConnection();
|
String banzuname="无";
|
try {
|
CallableStatement c=conn.prepareCall("{call Update_raw(?,?)}");
|
c.setString(1,rack.getGroups()+"");
|
c.registerOutParameter(2,java.sql.Types.VARCHAR);
|
c.execute();
|
banzuname=c.getString(2);
|
c.close();
|
conn.close();
|
} catch (Exception e) {
|
// TODO: handle exception
|
|
}
|
|
RawPackage rawPackage = rack.getShelfTask().getShelfRack().getRawPackage();
|
int picss=rawPackage.getLeftPieces();
|
if (rawPackage != null) {
|
ShelfRack rank = shelfRackDao.findRankByRawId(rawPackage.getId());
|
int pic = Integer.parseInt(pieces);
|
boolean pics=pieces.contains("-");
|
if(pics){
|
|
}else{
|
rawPackage.setLeftPieces(pic);
|
rawPackageDao.save(rawPackage);
|
cutmanagedetailis.setWidth(rawPackage.getRawWidth());
|
cutmanagedetailis.setHeight(rawPackage.getRawHeight());
|
cutmanagedetailis.setThickness(rawPackage.getRawThickness());
|
cutmanagedetailis.setColor(rawPackage.getColor());
|
cutmanagedetailis.setPieces(picss-pic);
|
cutmanagedetailis.setGroups(rack.getGroups());
|
cutmanagedetailis.setStatrtime(new Date());
|
cutmanagedetailis.setEngineeringId("手动使用");
|
if(rawPackage.getBatchId()!=null){
|
cutmanagedetailis.setBatchId(rawPackage.getBatchId());
|
}
|
if(rawPackage.getProductionTime()!=null){
|
cutmanagedetailis.setProductionTime(rawPackage.getProductionTime());
|
}
|
|
cutmanagedetailis.setWarehousingTime(rawPackage.getCreateTime());
|
cutmanagedetailis.setDengluname(banzuname);
|
cutmanagedetailisDao.save(cutmanagedetailis);
|
}
|
|
}/* else {
|
rack.setState(RackState.FREE);
|
loadRackDao.save(rack);
|
}*/
|
|
|
}
|
|
public List<GalssTaskDetails> selectgalssTaskDetails(HttpServletRequest request) throws ParseException{
|
String filename = request.getParameter("optname");
|
String groups = request.getParameter("groups");
|
String starttime = request.getParameter("starttime");//01/02/2017代表2017年1月2号
|
String completetime = request.getParameter("completetime");
|
List<GalssTaskDetails> galssTaskDetail;
|
if((filename==null || "".equals(filename)) && (groups==null || "".equals(groups))
|
&& (starttime==null || "".equals(starttime))&& (completetime!=null || !"".equals(completetime))){
|
galssTaskDetail=galssTaskDetailsDao.findtime(completetime);
|
|
}
|
else {
|
galssTaskDetail=galssTaskDetailsDao.findtime(completetime);
|
}
|
return galssTaskDetail;
|
}
|
|
public String getpattertaskHtml(Long line) {
|
StringBuffer html = new StringBuffer();
|
RawFile rawFile =rawFileDao.findIdGroup(line);
|
List<PatternTask> patternTasklist=patternTaskDao.findbygroups(line);
|
double mianji=0;
|
for(PatternTask patternTask :patternTasklist){
|
List<GalssTask> galssTasklist =galssTaskDao.findpattern(patternTask.getId());
|
for(GalssTask galssTask:galssTasklist){
|
mianji=mianji+(Double.parseDouble(galssTask.getEdgWidth())*Double.parseDouble(galssTask.getEdgHeight()));
|
}
|
}
|
//System.out.println(mianji);
|
//int sum=shelfRackDao.findShelfRansum(width, heigth, thickness, color)
|
BigDecimal bg=new BigDecimal(mianji);
|
if (rawFile!=null){
|
//PatternTask patternTask =patternTaskDao.findbyword(rawFile.getId());
|
int count=patternTaskDao.findcount(rawFile.getId());
|
int sum=patternTaskDao.findsum(rawFile.getId());
|
html.append("<tr>");
|
html.append("<td>").append(rawFile.getFileName()).append("</td>");
|
/*html.append("<td>").append(patternTask.getRawWidth()).append("</td>");
|
html.append("<td>").append(patternTask.getRawHeight()).append("</td>");
|
html.append("<td>").append(patternTask.getRawThickness()).append("</td>");
|
html.append("<td>").append(patternTask.getColor()).append("</td>");*/
|
html.append("<td>").append(count).append("</td>");
|
html.append("<td>").append(sum).append("</td>");
|
html.append("<td>").append(bg.toPlainString()).append("</td>");
|
html.append("<td><button style='background-color: #5CADFE' class='btn btn-large btn-success' onclick='delecttask1(").append(rawFile.getOperator()).append(")'>中断任务</button>");
|
html.append(" <button style='background-color: #5CADFE' class='btn btn-large btn-success' onclick='delecttask(").append(rawFile.getOperator()).append(")'>结束任务</button></td>");
|
html.append("</tr>");
|
}
|
|
|
return html.toString();
|
}
|
/*
|
|
* 3600*3200 5 A
|
* 3500*3200 3 B
|
* 3400*3200 2 C
|
* 领取
|
* 1 A 2 A 3 B 。。。 10
|
* SELECT GONGCHENGHAO,COUNT(*) FROM PATTREN_ WHWERE GONGCHENGHAO='' GROUP BY WIDTH,
|
*
|
*
|
*/
|
public String getpattertaskHtml2(Long line) {
|
StringBuffer html = new StringBuffer();
|
List<PatternTask> patternTasklist =patternTaskDao.findIdGroup(line);
|
String state="等待中";
|
String state1="已完成";
|
for (PatternTask patternTask : patternTasklist) {
|
html.append("<tr>");
|
html.append("<td>").append(patternTask.getRank()).append("</td>");
|
html.append("<td>").append(patternTask.getRawWidth()).append("</td>");
|
html.append("<td>").append(patternTask.getRawHeight()).append("</td>");
|
html.append("<td>").append(patternTask.getRawThickness()).append("</td>");
|
html.append("<td>").append(patternTask.getColor()).append("</td>");
|
html.append("<td>").append(patternTask.getWorkState()).append("</td>");
|
html.append("<td><button style='background-color: #5CADFE' class='btn btn-large btn-success' onclick='updatetask(").append(patternTask.getId()).append(")'>重新开始</button>");
|
html.append(" <button style='background-color: #5CADFE' class='btn btn-large btn-success' onclick='updatetask1(").append(patternTask.getId()).append(")'>设置完成</button></td>");
|
html.append("</tr>");
|
}
|
|
|
|
return html.toString();
|
}
|
|
public String getpattertaskHtml3(Long line) {
|
StringBuffer html = new StringBuffer();
|
List<PatternTask> patternTasklist =patternTaskDao.findIdGroupby(line);
|
for (PatternTask patternTask : patternTasklist) {
|
// patternTask.getRawWidth()
|
}
|
|
|
|
return html.toString();
|
}
|
|
|
public void updatetask(Long id) {
|
PatternTask patternTask=patternTaskDao.findOne(id);
|
if(patternTask!=null){
|
patternTask.setWorkState("等待中");
|
patternTaskDao.save(patternTask);
|
}
|
}
|
|
public void updatetask1(Long id) {
|
PatternTask patternTask=patternTaskDao.findOne(id);
|
if(patternTask!=null){
|
patternTask.setWorkState("已完成");
|
patternTaskDao.save(patternTask);
|
}
|
}
|
|
|
public void taskadd(HttpServletRequest request) {
|
double width=Double.parseDouble(request.getParameter("width"));
|
double height=Double.parseDouble(request.getParameter("height"));
|
double thickness=Double.parseDouble(request.getParameter("thickness"));
|
int pices=Integer.parseInt(request.getParameter("pices"));
|
long groups=Long.parseLong(request.getParameter("groups"));
|
String dropframe=request.getParameter("dropframe");
|
double grinding=Double.parseDouble(request.getParameter("grinding"));
|
String marking=request.getParameter("marking");
|
String processcardid=request.getParameter("processcardid");
|
String engineeringid=request.getParameter("engineeringid");
|
Connection conn=DeviceService.getConnection();
|
try {
|
|
CallableStatement c=conn.prepareCall("{call GalssTaskAdd(?,?,?,?,?,?,?,?,?,?,?)}");
|
c.setDouble(1,width);
|
c.setDouble(2, height);
|
c.setDouble(3, thickness);
|
c.setInt(4, pices);
|
c.setLong(5, groups);
|
c.setString(6, dropframe);
|
c.setDouble(7, grinding);
|
c.setString(8, processcardid);
|
c.setString(9, engineeringid);
|
c.setString(10, marking);
|
c.registerOutParameter(10, java.sql.Types.INTEGER);
|
c.execute();
|
c.close();
|
|
} catch (SQLException e) {
|
e.printStackTrace();
|
}finally{
|
messageProcessor.close(conn);
|
}
|
|
/*RawFile rawFile =rawFileDao.findfileName(engineeringid);
|
if(rawFile!=null){
|
PatternTask patternTask=patternTaskDao.findbyword(rawFile.getId());
|
patternTask.setId((long)5);
|
patternTaskDao.save(patternTask);
|
int galssTask1 = galssTaskDao.finmaxtypeid(patternTask.getGroups());
|
for (int i = 1; i <= pices; i++) {
|
GalssTask galssTask = new GalssTask();
|
galssTask.setId((long)i);
|
galssTask.setRank(0l);
|
galssTask.setTypeId((long)galssTask1+1);
|
galssTask.setGalssId((long)i);
|
galssTask.setPatternTask(patternTask);
|
galssTask.setWidth(width+(grinding/2));
|
galssTask.setHeight(height+(grinding/2));
|
galssTask.setThickness(thickness);
|
galssTask.setColor("白玻");
|
galssTask.setEdgWidth(width+"");
|
galssTask.setEdgHeight(height+"");
|
galssTask.setGalssType(1);
|
galssTask.setWorkState("待识别");
|
galssTask.setWorkProcedure("测量");
|
galssTask.setDropFrame(dropframe);
|
galssTask.setSlicecageFlag("0");
|
galssTask.setOutRank(0l);
|
galssTask.setStopPosition(0);
|
galssTask.setBrokenState(0);
|
galssTask.setStopRank(0);
|
galssTask.setStartTime(new Date());
|
galssTask.setProcesscardId(processcardid);
|
galssTask.setEngineeringId(engineeringid);
|
galssTask.setWorkProcedureNumber(100);
|
galssTaskDao.save(galssTask);
|
}
|
}else{
|
RawFile rawFiles =new RawFile();
|
rawFiles.setFileName(engineeringid);
|
rawFiles.setState("已领取");
|
rawFiles.setOperator(groups);
|
rawFiles.setCreateTime(new Date());
|
rawFileDao.save(rawFiles);
|
|
RawFile rawFile2 =rawFileDao.findfileName(engineeringid);
|
PatternTask patternTask = new PatternTask();
|
patternTask.setId(1l);
|
patternTask.setRank(0l);
|
patternTask.setRawType("0");
|
patternTask.setRawHeight(0);
|
patternTask.setRawWidth(0);
|
patternTask.setRawThickness(0);
|
patternTask.setWorkState("已完成");
|
patternTask.setColor("0");
|
patternTask.setTaskId(0l);
|
patternTask.setRawFile(rawFile2);
|
patternTask.setFinshTime(new Date());
|
patternTask.setFlag(0);
|
patternTask.setGroups(groups);
|
patternTaskDao.save(patternTask);
|
|
for (int i = 1; i <= pices; i++) {
|
GalssTask galssTask = new GalssTask();
|
galssTask.setId((long)i);
|
galssTask.setRank(0l);
|
galssTask.setTypeId(1l);
|
galssTask.setGalssId((long)i);
|
galssTask.setPatternTask(patternTask);
|
galssTask.setWidth(width+(grinding/2));
|
galssTask.setHeight(height+(grinding/2));
|
galssTask.setThickness(thickness);
|
galssTask.setColor("白玻");
|
galssTask.setEdgWidth(width+"");
|
galssTask.setEdgHeight(height+"");
|
galssTask.setGalssType(1);
|
galssTask.setWorkState("待识别");
|
galssTask.setWorkProcedure("测量");
|
galssTask.setDropFrame(dropframe);
|
galssTask.setSlicecageFlag("0");
|
galssTask.setOutRank(0l);
|
galssTask.setStopPosition(0);
|
galssTask.setBrokenState(0);
|
galssTask.setStopRank(0);
|
galssTask.setStartTime(new Date());
|
galssTask.setProcesscardId(processcardid);
|
galssTask.setEngineeringId(engineeringid);
|
galssTask.setWorkProcedureNumber(100);
|
galssTaskDao.save(galssTask);
|
}
|
|
}*/
|
}
|
|
|
// TODO 标记工程已完成
|
public String markover(String gch, String prodLine, Model model) {
|
RawFile rawFile = rawFileDao.GetGongChengByGCH(gch);
|
rawFile.setState("手动完成");
|
rawFile.setReceiveTime(new Date());
|
rawFileDao.save(rawFile);
|
|
return getTask(prodLine, model);
|
}
|
|
// TODO 查看除下发外的其他工程
|
//public String allOthersStateTsaks(Model model, String line) {
|
public String lookOverStateTsaks(Model model, String line) {
|
//List<RawFile> rawFiles = rawFileDao.GetAllOthersStateTsaks();
|
List<RawFile> rawFiles = rawFileDao.GeOverStatetasks();
|
//rawFiles = rawFiles.subList(0, 1000);
|
int num = 1;
|
StringBuffer html = new StringBuffer();
|
for (RawFile rawPackages : rawFiles) {
|
int galssTaskcount = galssTaskBufferDao.findbygalsstaskcount(rawPackages.getFileName());
|
int patterTaskcount = patternTaskBufferDao.findbypattertaskcount(rawPackages.getFileName());
|
html.append("<tr>");
|
html.append("<td>").append(num++).append("</td>");
|
html.append("<td>").append(rawPackages.getId()).append("</td>");
|
html.append("<td>").append(rawPackages.getFileName()).append("</td>");
|
html.append("<td>").append(galssTaskcount).append("</td>");
|
html.append("<td>").append(patterTaskcount).append("</td>");
|
html.append("<td>").append(rawPackages.getState()).append("</td>");
|
html.append("<td><a href='/gmms2/cutmanage/againXiaFaTast/").append(rawPackages.getFileName()).append("/")
|
.append(line).append("'>重新下发</a></td>");
|
html.append("</tr>");
|
}
|
model.addAttribute("total", rawFiles.size());
|
model.addAttribute("line", line);
|
model.addAttribute("rawPackageslist", html.toString());
|
return "cutmanage/gettask";
|
|
}
|
|
// TODO 重新下发
|
public String againXiaFaTast(String gch, String prodLine, Model model) {
|
RawFile rawFile = rawFileDao.GetGongChengByGCH(gch);
|
rawFile.setState("已下发");
|
rawFile.setOperator(0);
|
//rawFile.setReceiveTime(null);
|
rawFileDao.save(rawFile);
|
return lookOverStateTsaks(model,prodLine);
|
}
|
|
|
public List<DongZuoTable> getnumberlist() {
|
List<DongZuoTable> dongZuoTable = dongZuoTableDao.findall();
|
|
return dongZuoTable;
|
}
|
|
|
|
}
|