严智鑫
2025-05-27 80f64d025e25cdba8a33a1badf2109c80d0bafe7
ºÓ±±ÍûÃÀÏîÄ¿/MES_11/src/main/java/com/northglass/service/reportform/ReportformService.java
@@ -8,6 +8,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -103,14 +104,37 @@
   @Autowired
   private LiuChengKaReportDao liuchengkaDao;
   public static String subZeroAndDot(double doublestr){
      String doubleStr=doublestr+"";
        if(null != doubleStr && doubleStr.indexOf(".") > 0){
            doubleStr = doubleStr.replaceAll("0+?$", "");//去掉多余的0
            doubleStr = doubleStr.replaceAll("[.]$", "");//如最后一位是.则去掉
        }
        return doubleStr;
    }
   public String shelfreportformhmtl() {
      List<String> RawTypes=new ArrayList<>();
      RawTypes.add("SL");
      RawTypes.add("DL");
      StringBuffer html = new StringBuffer();// å®žä¾‹åŒ–缓存
      List<ShelfRack> ranks = shelfRackDao.findBystate();
      for (ShelfRack rank : ranks) {
         if (rank.getState().equals(RackState.IN_WORK) || rank.getState().equals(RackState.ON_WAITING)) {
         if (rank.getRawPackage()!=null&&(rank.getState().equals(RackState.IN_WORK) || rank.getState().equals(RackState.ON_WAITING))) {
            String unit="";
            String size="";
            String Color=rank.getRawPackage().getColor();
            if(Color.length()>=2&&RawTypes.contains(Color.substring(0, 2))){
               //膜玻  mm
               unit="mm";
               size=subZeroAndDot(rank.getRawPackage().getRawHeight())+"X"+subZeroAndDot(rank.getRawPackage().getRawWidth());
            }else{
               //白玻  å•位 m
               unit="m";
               size=subZeroAndDot(rank.getRawPackage().getRawHeight()/1000)+"X"+subZeroAndDot(rank.getRawPackage().getRawWidth()/1000);
            }
            html.append("<tr>");
            html.append("<td>" + rank.getNumber() + "</td>");
            html.append("<td>" + (rank.getRawPackage().getBatchId()==null?"":rank.getRawPackage().getBatchId()) + "</td>");
@@ -120,10 +144,14 @@
            html.append("<td>" + rank.getRawPackage().getRawThickness() + "</td>");
            html.append("<td>" + rank.getRawPackage().getLeftPieces() + "</td>");
            html.append("<td>" + rank.getCreateTime() + "</td>");
            html.append("<td>" + size + "</td>");
            html.append("<td>" + unit + "</td>");
            html.append("</tr>");
         } else {
            html.append("<tr>");
            html.append("<td>" + rank.getNumber() + "</td>");
            html.append("<td></td>");
            html.append("<td></td>");
            html.append("<td></td>");
            html.append("<td></td>");
            html.append("<td></td>");
@@ -136,7 +164,13 @@
      }
      return html.toString();// è¿”回料架信息
   }
   public String getData(int count){
      SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      Calendar c = Calendar.getInstance();
      c.setTime(new Date());
      c.add(Calendar.DATE, count);  // number of days to add
      return sdFormat.format(c.getTime());
   }
   public String shelfrankreportformhtml(HttpServletRequest request) {
      SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      // Long groups=Long.valueOf(request.getParameter("groups"));
@@ -147,13 +181,16 @@
      try {
         if ((request.getParameter("starttime") == "" || request.getParameter("findtime") == "")
               && request.getParameter("batchid") == "") {
            starttime = "1900-01-01 00:00:00";
            starttime = getData(-30);//近30天的时间
            //starttime = "1900-01-01 00:00:00";
            findtime = sdFormat.format(new Date());
            Date aDate = sdFormat.parse(starttime);
            Date aDate1 = sdFormat.parse(findtime);
         } else if (request.getParameter("starttime") == null) {
            starttime = "1900-01-01 00:00:00";
            starttime = getData(-30);//近30天的时间
            //starttime = "1900-01-01 00:00:00";
            findtime = sdFormat.format(new Date());
            Date aDate = sdFormat.parse(starttime);
            Date aDate1 = sdFormat.parse(findtime);
@@ -178,7 +215,8 @@
            ranks = rankDao.findalltimebatchid(aDate, aDate1, batchid);
         } else if (request.getParameter("starttime") == "" && request.getParameter("findtime") == ""
               && request.getParameter("engineeringid") != "") {
            starttime = "1900-01-01 00:00:00";
            starttime = getData(-30);//近30天的时间
            //starttime = "1900-01-01 00:00:00";
            findtime = sdFormat.format(new Date());
            batchid = request.getParameter("batchid");
            Date aDate = sdFormat.parse(starttime);
@@ -228,7 +266,8 @@
         // æŸ¥è¯¢å…¨éƒ¨
         if ((request.getParameter("starttime") == "" || request.getParameter("findtime") == "")
               && request.getParameter("engineeringid") == "" && request.getParameter("processcardid") == "") {
            starttime = "1900-01-01 00:00:00";
            starttime = getData(-30);//近30天的时间
            //starttime = "1900-01-01 00:00:00";
            findtime = sdFormat.format(new Date());
            Date aDate = sdFormat.parse(starttime);
            Date aDate1 = sdFormat.parse(findtime);
@@ -236,7 +275,8 @@
         }
         // æŸ¥è¯¢å…¨éƒ¨
         else if (request.getParameter("starttime") == null) {
            starttime = "1900-01-01 00:00:00";
            starttime = getData(-30);//近30天的时间
            //starttime = "1900-01-01 00:00:00";
            findtime = sdFormat.format(new Date());
            Date aDate = sdFormat.parse(starttime);
            Date aDate1 = sdFormat.parse(findtime);
@@ -285,7 +325,8 @@
         // å·¥ç¨‹æŸ¥è¯¢
         else if (request.getParameter("starttime") == "" && request.getParameter("findtime") == ""
               && request.getParameter("engineeringid") != "" && request.getParameter("processcardid") == "") {
            starttime = "1900-01-01 00:00:00";
            starttime = getData(-30);//近30天的时间
            //starttime = "1900-01-01 00:00:00";
            findtime = sdFormat.format(new Date());
            engineeringid = request.getParameter("engineeringid");
            Date aDate = sdFormat.parse(starttime);
@@ -295,7 +336,8 @@
         // æµç¨‹å¡æŸ¥è¯¢
         else if (request.getParameter("starttime") == "" && request.getParameter("findtime") == ""
               && request.getParameter("engineeringid") == "" && request.getParameter("processcardid") != "") {
            starttime = "1900-01-01 00:00:00";
            starttime = getData(-30);//近30天的时间
            //starttime = "1900-01-01 00:00:00";
            findtime = sdFormat.format(new Date());
            processcardid = request.getParameter("processcardid");
            Date aDate = sdFormat.parse(starttime);
@@ -305,7 +347,8 @@
         // æµç¨‹å¡å·¥ç¨‹æŸ¥è¯¢
         else if (request.getParameter("starttime") == "" && request.getParameter("findtime") == ""
               && request.getParameter("engineeringid") != "" && request.getParameter("processcardid") != "") {
            starttime = "1900-01-01 00:00:00";
            starttime = getData(-30);//近30天的时间
            //starttime = "1900-01-01 00:00:00";
            findtime = sdFormat.format(new Date());
            processcardid = request.getParameter("processcardid");
            engineeringid = request.getParameter("engineeringid");
@@ -362,7 +405,8 @@
         // æŸ¥è¯¢å…¨éƒ¨
         if ((request.getParameter("starttime") == "" || request.getParameter("findtime") == "")
               && request.getParameter("engineeringid") == "" && request.getParameter("processcardid") == "") {
            starttime = "1900-01-01 00:00:00";
            starttime = getData(-30);//近30天的时间
            //starttime = "1900-01-01 00:00:00";
            findtime = sdFormat.format(new Date());
            Date aDate = sdFormat.parse(starttime);
            Date aDate1 = sdFormat.parse(findtime);
@@ -370,7 +414,8 @@
         }
         // æŸ¥è¯¢å…¨éƒ¨
         else if (request.getParameter("starttime") == null) {
            starttime = "1900-01-01 00:00:00";
            starttime = getData(-30);//近30天的时间
            //starttime = "1900-01-01 00:00:00";
            findtime = sdFormat.format(new Date());
            Date aDate = sdFormat.parse(starttime);
            Date aDate1 = sdFormat.parse(findtime);
@@ -419,7 +464,8 @@
         // å·¥ç¨‹æŸ¥è¯¢
         else if (request.getParameter("starttime") == "" && request.getParameter("findtime") == ""
               && request.getParameter("engineeringid") != "" && request.getParameter("processcardid") == "") {
            starttime = "1900-01-01 00:00:00";
            starttime = getData(-30);//近30天的时间
            //starttime = "1900-01-01 00:00:00";
            findtime = sdFormat.format(new Date());
            engineeringid = request.getParameter("engineeringid");
            Date aDate = sdFormat.parse(starttime);
@@ -429,7 +475,8 @@
         // æµç¨‹å¡æŸ¥è¯¢
         else if (request.getParameter("starttime") == "" && request.getParameter("findtime") == ""
               && request.getParameter("engineeringid") == "" && request.getParameter("processcardid") != "") {
            starttime = "1900-01-01 00:00:00";
            starttime = getData(-30);//近30天的时间
            //starttime = "1900-01-01 00:00:00";
            findtime = sdFormat.format(new Date());
            processcardid = request.getParameter("processcardid");
            Date aDate = sdFormat.parse(starttime);
@@ -439,7 +486,8 @@
         // æµç¨‹å¡å·¥ç¨‹æŸ¥è¯¢
         else if (request.getParameter("starttime") == "" && request.getParameter("findtime") == ""
               && request.getParameter("engineeringid") != "" && request.getParameter("processcardid") != "") {
            starttime = "1900-01-01 00:00:00";
            starttime = getData(-30);//近30天的时间
            //starttime = "1900-01-01 00:00:00";
            findtime = sdFormat.format(new Date());
            processcardid = request.getParameter("processcardid");
            engineeringid = request.getParameter("engineeringid");
@@ -493,7 +541,8 @@
      if ((request.getParameter("starttime") == null || request.getParameter("findtime") == null
            || request.getParameter("starttime") == "" || request.getParameter("findtime") == "")
            &&(request.getParameter("dengluname") == ""||request.getParameter("dengluname") == null)) {
         starttime = "1900-01-01 00:00:00";
         starttime = getData(-30);//近30天的时间
         //starttime = "1900-01-01 00:00:00";
         findtime = sdFormat.format(new Date());
          aDate = sdFormat.parse(starttime);
          aDate1 = sdFormat.parse(findtime);
@@ -512,7 +561,8 @@
      }else if ((request.getParameter("starttime") == null || request.getParameter("findtime") == null
            || request.getParameter("starttime") == "" || request.getParameter("findtime") == "")
            &&request.getParameter("dengluname") != ""&&request.getParameter("dengluname") != null) {
         starttime = "1900-01-01 00:00:00";
         starttime = getData(-30);//近30天的时间
         //starttime = "1900-01-01 00:00:00";
         findtime = sdFormat.format(new Date());
         dengluname=request.getParameter("dengluname");
          aDate = sdFormat.parse(starttime);
@@ -569,8 +619,11 @@
      String findtime;
      if (request.getParameter("starttime") == null || request.getParameter("findtime") == null
            || request.getParameter("starttime") == "" || request.getParameter("findtime") == "") {
         starttime = "1900-01-01 00:00:00";
         /*starttime=(request.getParameter("starttime") == null||request.getParameter("starttime") =="")==true?"":"";*/
         starttime = getData(-10);//近30天的时间
         //starttime = "1900-01-01 00:00:00";
         findtime = sdFormat.format(new Date());
         System.out.println(starttime);
      } else {
         starttime = request.getParameter("starttime").replace("T", " ") + ":00";
         findtime = request.getParameter("findtime").replace("T", " ") + ":00";
@@ -584,12 +637,29 @@
         List<Cutmanagedetailis> cutmanagedetailis = cutmanagedetailisDao.findallgroups1(aDate, aDate1);
         double mianji;
         List<String> RawTypes=new ArrayList<>();
         RawTypes.add("SL");
         RawTypes.add("DL");
         for (Cutmanagedetailis cutmanagedetaili : cutmanagedetailis) {
            int pieces = cutmanagedetailisDao.findallpieces1(cutmanagedetaili.getWidth(),
                  cutmanagedetaili.getHeight(), cutmanagedetaili.getThickness(), cutmanagedetaili.getColor(),
                  aDate, aDate1);
            mianji = (int) cutmanagedetaili.getWidth() * cutmanagedetaili.getHeight() * pieces/1000000;
            BigDecimal bg = new BigDecimal(mianji);
            String unit="";
            String size="";
            String Color=cutmanagedetaili.getColor();
            if(Color.length()>=2&&RawTypes.contains(Color.substring(0, 2))){
               //膜玻  mm
               unit="mm";
               size=subZeroAndDot(cutmanagedetaili.getHeight())+"X"+subZeroAndDot(cutmanagedetaili.getWidth());
            }else{
               //白玻  å•位 m
               unit="m";
               size=subZeroAndDot(cutmanagedetaili.getHeight()/1000)+"X"+subZeroAndDot(cutmanagedetaili.getWidth()/1000);
            }
            html.append("<tr>");
            html.append("<td>" + cutmanagedetaili.getWidth() + "</td>");
            html.append("<td>" + cutmanagedetaili.getHeight() + "</td>");
@@ -597,6 +667,8 @@
            html.append("<td>" + cutmanagedetaili.getColor() + "</td>");
            html.append("<td>" + pieces + "</td>");
            html.append("<td>" + mianji + "</td>");
            html.append("<td>" + size + "</td>");
            html.append("<td>" + unit + "</td>");
            html.append("</tr>");
         }
@@ -619,7 +691,8 @@
      if ((request.getParameter("starttime") == null || request.getParameter("findtime") == null
            || request.getParameter("starttime") == "" || request.getParameter("findtime") == "")
            &&(request.getParameter("dengluname") == ""||request.getParameter("dengluname") == null)) {
         starttime = "1900-01-01 00:00:00";
         starttime = getData(-30);//近30天的时间
         //starttime = "1900-01-01 00:00:00";
         findtime = sdFormat.format(new Date());
         Date aDate = sdFormat.parse(starttime);
         Date aDate1 = sdFormat.parse(findtime);
@@ -638,7 +711,8 @@
      }else if ((request.getParameter("starttime") == null || request.getParameter("findtime") == null
            || request.getParameter("starttime") == "" || request.getParameter("findtime") == "")
            &&request.getParameter("dengluname") != ""&&request.getParameter("dengluname") != null) {
         starttime = "1900-01-01 00:00:00";
         starttime = getData(-30);//近30天的时间
         //starttime = "1900-01-01 00:00:00";
         findtime = sdFormat.format(new Date());
         dengluname=request.getParameter("dengluname");
         Date aDate = sdFormat.parse(starttime);
@@ -694,7 +768,8 @@
      String findtime;
      if (request.getParameter("starttime") == null || request.getParameter("findtime") == null
            || request.getParameter("starttime") == "" || request.getParameter("findtime") == "") {
         starttime = "1900-01-01 00:00:00";
         starttime = getData(-30);//近30天的时间
         //starttime = "1900-01-01 00:00:00";
         findtime = sdFormat.format(new Date());
      } else {
         starttime = request.getParameter("starttime").replace("T", " ") + ":00";