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.Arrays; import java.util.Date; import java.util.HashMap; 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.fasterxml.jackson.databind.ObjectMapper; 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; import java.lang.reflect.Field; @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 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(""); html.append("").append(num++).append(""); html.append("").append(rawPackages.getId()).append(""); html.append("").append(rawPackages.getFileName()).append(""); html.append("").append(galssTaskcount).append(""); html.append("").append(patterTaskcount).append(""); html.append("").append(rawPackages.getState()).append(""); html.append("领取任务        "); html.append("标记完成"); html.append(""); } StringBuffer html2 = new StringBuffer(); UserDetails userDetails=userDetailsDao.findgroups(prodLine); html2.append(""); 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 { if(prodLine.equals("4")){ model.addAttribute("pattertaskHtml", getpattertaskHtml(Long.valueOf(prodLine))); model.addAttribute("pattertaskHtml2", getpattertaskHtml4(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/gotasks2"; }else{ model.addAttribute("pattertaskHtml", getpattertaskHtml(Long.valueOf(prodLine))); model.addAttribute("pattertaskHtml2", getpattertaskHtml2(Long.valueOf(prodLine))); model.addAttribute("rawPackageslistname",getrawPackageslistname(prodLine)); model.addAttribute("groups", prodLine); if(rawFileDao.findIdGroup1(Long.valueOf(prodLine))==null){ model.addAttribute("state", 0); }else{ model.addAttribute("state", 1); } 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 rawPackageslist = rawFileDao.findAcceptedByGroups(Long.valueOf(prodLine)); int num = 1; for (RawFile rawPackages : rawPackageslist) { int galssTaskcount = galssTaskBufferDao.findbygalsstaskcount(rawPackages.getFileName()); int patterTaskcount = patternTaskBufferDao.findbypattertaskcount(rawPackages.getFileName()); html.append(""); html.append("").append(num++).append(""); html.append("").append(rawPackages.getId()).append(""); html.append("").append(rawPackages.getFileName()).append(""); html.append("").append(galssTaskcount).append(""); html.append("").append(patterTaskcount).append(""); html.append("").append(rawPackages.getState()).append(""); html.append("领取任务        "); html.append("标记完成"); html.append(""); } StringBuffer html2 = new StringBuffer(); UserDetails userDetails=userDetailsDao.findgroups(prodLine); html2.append(""); 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(""); 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; if(line==4){ LOGGER.debug(""+line); conn.prepareCall("{call GalssTask4(?,?,?)}"); CallableStatement c=conn.prepareCall("{call GalssTask4(?,?,?)}"); c.setLong(1,id); c.setLong(2, line); c.registerOutParameter(3, java.sql.Types.INTEGER); c.execute(); int ret= c.getInt(3); c.close(); if(ret==100){ model.addAttribute("message",100); model.addAttribute("pattertaskHtml", getpattertaskHtml(Long.valueOf(line))); model.addAttribute("pattertaskHtml2", getpattertaskHtml4(Long.valueOf(line))); model.addAttribute("groups", line); } return "cutmanage/gotasks2"; }else{ 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 patternTasklist=patternTaskDao.findbygroup(id); for (PatternTask patternTask : patternTasklist) { patternTask.setGroups(line); patternTaskDao.save(patternTask); }*/ List 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); if(rawFileDao.findIdGroup1(line)==null){ model.addAttribute("state", 0); }else{ model.addAttribute("state", 1); } return "cutmanage/gotasks"; } //System.out.println(ret); } catch (SQLException e) { e.printStackTrace(); return "cutmanage/gettask"; } finally{ glasstask_lock=0; } } /** * 空闲中的料架 * * @return */ public List getFreeShelfRankNumberList() { List freeShelfRanks = shelfRackDao.findFreeRanks(); List result = new ArrayList(); // 生成list for (ShelfRack shelfRank : freeShelfRanks) { result.add(shelfRank.getNumber()); } return result; } public List getFreeShelfRankNumberList1() { List freeShelfRanks = shelfRackDao.findFreeRanks1(); List result = new ArrayList(); // 生成list for (ShelfRack shelfRank : freeShelfRanks) { result.add(shelfRank.getNumber()); } return result; } //加载上片位信息页面 public String getLoadMachineHtml() { StringBuffer html = new StringBuffer(); List loadMachineList = machineDao.findload(); for (Machines loadMachine : loadMachineList) { List racks = loadRackDao.findRack(loadMachine.getId()); boolean firstRow = true; html.append(""); if (firstRow) { html.append(""); html.append("
"); html.append(""); html.append(loadMachine.getMachineName()).append("   "); html.append(loadMachine.getConnectState()).append(""); for (LoadRack rack : racks) { html.append(""); html.append("").append("上片位"); html.append(rack.getNumber()).append(" "); html.append(""); html.append(""); 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(""); html.append(""); html.append(""); html.append(""); html.append(""); if (rack.getState().equals(RackState.FREE)) { html.append(""); }else { html.append("   "); html.append("   "); } html.append(""); html.append(""); } } } return html.toString(); } //膜系 public List getColorList() { List colors = glassNumberColorDao.findAll(); List result = new ArrayList(); // 生成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 id,Long line) { RawFile rawFile=rawFileDao.findAcceptedByGroup2(id); int lipiancount =galssTaskDao.finlipian2(rawFile.getFileName()); int slicecount; if (line==1) { slicecount=horizontalDao.findfall3(rawFile.getFileName()); //System.out.println(slicecount); }else if(line==4){ slicecount=0; }else{ slicecount=slicecageDao.findfall3(rawFile.getFileName()); } System.out.println(lipiancount); System.out.println(slicecount); System.out.println(rawFile.getFileName()); if(lipiancount>0||slicecount>0){ return "redirect:cutmanage/gettasks"; }else{ Connection conn=DeviceService.getConnection(); try{ if(line==4){ CallableStatement c=conn.prepareCall("{call GalssTaskStop4(?,?)}"); c.setLong(1,line); c.setLong(2,1); c.execute(); c.close(); }else{ CallableStatement c=conn.prepareCall("{call workmanship(?)}"); c.setLong(1,id); c.execute(); c.close(); rawFile.setState("已完成"); rawFile.setReceiveTime(new Date()); galssTaskDao.deleteGlassTask(rawFile.getFileName()); patternTaskDao.deletepatternTask(rawFile.getId()); RawFile rawFile1=rawFileDao.findIdGroup1(line); if(rawFile1!=null){ rawFile1.setState("已领取"); } } return "redirect:cutmanage/gettasks"; } catch (SQLException e) { e.printStackTrace(); return "redirect:cutmanage/gettasks"; }finally{ messageProcessor.close(conn); } } } //中断任务 public String delecttask1(Long id,Long line) { RawFile rawFile=rawFileDao.findAcceptedByGroup2(id); int lipiancount =galssTaskDao.finlipian2(rawFile.getFileName()); int slicecount; if (line==1) { slicecount=horizontalDao.findfall3(rawFile.getFileName()); //System.out.println(slicecount); }else if(line==4){ slicecount=0; }else{ slicecount=slicecageDao.findfall3(rawFile.getFileName()); } if(lipiancount>0||slicecount>0){ return "redirect:cutmanage/gettasks"; }else{ Connection conn=DeviceService.getConnection(); try { if(line==4){ CallableStatement c=conn.prepareCall("{call GalssTaskStop4(?,?)}"); c.setLong(1,line); c.setLong(2,2); c.execute(); c.close(); }else{ CallableStatement c=conn.prepareCall("{call interrupttask(?,?)}"); c.setString(1,rawFile.getFileName()); c.setLong(2,line); c.execute(); c.close(); rawFile.setState("中断"); rawFile.setReceiveTime(new Date()); galssTaskDao.deleteGlassTask(rawFile.getFileName()); patternTaskDao.deletepatternTask(rawFile.getId()); RawFile rawFile1=rawFileDao.findIdGroup1(line); if(rawFile1!=null){ rawFile1.setState("已领取"); } } 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 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 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); RawFile rawFile1 =rawFileDao.findIdGroup1(line); if (rawFile!=null){ List patternTasklist=patternTaskDao.findbygroups2(line,rawFile.getId()); double mianji=0; for(PatternTask patternTask :patternTasklist){ List galssTasklist =galssTaskDao.findpattern(patternTask.getId()); for(GalssTask galssTask:galssTasklist){ mianji=mianji+(Double.parseDouble(galssTask.getEdgWidth())*Double.parseDouble(galssTask.getEdgHeight())); } } BigDecimal bg=new BigDecimal(mianji); //PatternTask patternTask =patternTaskDao.findbyword(rawFile.getId()); int count=patternTaskDao.findcount(rawFile.getId()); int sum=patternTaskDao.findsum(rawFile.getId()); html.append(""); html.append("").append(rawFile.getFileName()).append(""); /*html.append("").append(patternTask.getRawWidth()).append(""); html.append("").append(patternTask.getRawHeight()).append(""); html.append("").append(patternTask.getRawThickness()).append(""); html.append("").append(patternTask.getColor()).append("");*/ html.append("").append(count).append(""); html.append("").append(sum).append(""); html.append("").append(bg.toPlainString()).append(""); html.append("已领取"); html.append(""); html.append(" "); html.append(""); } if(rawFile1!=null){ List patternTasklist=patternTaskDao.findbygroups2(line,rawFile1.getId()); double mianji=0; for(PatternTask patternTask :patternTasklist){ List 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); int count=patternTaskDao.findcount(rawFile1.getId()); int sum=patternTaskDao.findsum(rawFile1.getId()); html.append(""); html.append("").append(rawFile1.getFileName()).append(""); /*html.append("").append(patternTask.getRawWidth()).append(""); html.append("").append(patternTask.getRawHeight()).append(""); html.append("").append(patternTask.getRawThickness()).append(""); html.append("").append(patternTask.getColor()).append("");*/ html.append("").append(count).append(""); html.append("").append(sum).append(""); html.append("").append(bg.toPlainString()).append(""); html.append("正在切割"); html.append(""); html.append(" "); html.append(""); } 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 patternTasklist =patternTaskDao.findIdGroup(line); String state="等待中"; String state1="已完成"; for (PatternTask patternTask : patternTasklist) { html.append(""); html.append("").append(patternTask.getRank()).append(""); html.append("").append(patternTask.getRawWidth()).append(""); html.append("").append(patternTask.getRawHeight()).append(""); html.append("").append(patternTask.getRawThickness()).append(""); html.append("").append(patternTask.getColor()).append(""); html.append("").append(patternTask.getWorkState()).append(""); html.append("").append(patternTask.getRawFile().getFileName()).append(""); html.append(""); html.append(" "); html.append(""); } return html.toString(); } public String getpattertaskHtml4(Long line) { StringBuffer html = new StringBuffer(); List patternTasklist =patternTaskDao.findIdGroup(line); String state="等待中"; String state1="已完成"; for (PatternTask patternTask : patternTasklist) { html.append(""); html.append("").append(patternTask.getRank()).append(""); html.append("").append(patternTask.getRawWidth()).append(""); html.append("").append(patternTask.getRawHeight()).append(""); html.append("").append(patternTask.getRawThickness()).append(""); html.append("").append(patternTask.getColor()).append(""); html.append("").append(patternTask.getContent()).append(""); html.append(""); html.append(""); } return html.toString(); } public String getpattertaskHtml3(Long line) { StringBuffer html = new StringBuffer(); List patternTasklist =patternTaskDao.findIdGroupby(line); for (PatternTask patternTask : patternTasklist) { // patternTask.getRawWidth() } return html.toString(); } public void updatepieces(Long id,String pieces) { PatternTask patternTask=patternTaskDao.findOne(id); if(patternTask!=null){ patternTask.setContent(pieces); patternTaskDao.save(patternTask); } } public void updatepieces(Long id,String width,String height,String thinkness,String color,String count) { // PatternTask patternTask=patternTaskDao.findOne(id); // if(patternTask!=null){ // patternTask.setContent(count); // patternTaskDao.save(patternTask); // } //添加手动报工任务 Connection conn=DeviceService.getConnection(); try { CallableStatement c=conn.prepareCall("{call GalssCutmanage4(?,?,?,?,?,?)}"); c.setString(1,width); c.setString(2, height); c.setString(3, thinkness); c.setString(4, color); c.setString(5, count); c.registerOutParameter(5, java.sql.Types.INTEGER); c.execute(); c.close(); } catch (SQLException e) { e.printStackTrace(); }finally{ messageProcessor.close(conn); } } 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 rawFiles = rawFileDao.GetAllOthersStateTsaks(); List 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(""); html.append("").append(num++).append(""); html.append("").append(rawPackages.getId()).append(""); html.append("").append(rawPackages.getFileName()).append(""); html.append("").append(galssTaskcount).append(""); html.append("").append(patterTaskcount).append(""); html.append("").append(rawPackages.getState()).append(""); html.append("重新下发"); html.append(""); } 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 getnumberlist() { List dongZuoTable = dongZuoTableDao.findall(); return dongZuoTable; } }