Explorar el Código

三车间看板调整

ztl hace 2 años
padre
commit
e1d595c8be

+ 11 - 1
wwwroot/main/DashBoard/api/GetDashBoard.ashx

@@ -20,7 +20,15 @@ public class GetDashBoard : IHttpHandler,IRequiresSessionState
 
 
         //正式看板
         //正式看板
         //array.Add(new JObject(new JProperty("name", "【视频】宣传片"),new JProperty("url", "/main/DashBoard/video/index.html")));
         //array.Add(new JObject(new JProperty("name", "【视频】宣传片"),new JProperty("url", "/main/DashBoard/video/index.html")));
-
+        array.Add(new JObject(new JProperty("name", "高压成型车间看板"),new JProperty("url", "/main/Procedure/test6/demo.html?navbar=1")));
+        array.Add(new JObject(new JProperty("name", "半检一检车间看板"),new JProperty("url", "/main/Procedure/test7/demo.html?navbar=1")));
+        array.Add(new JObject(new JProperty("name", "半检二检车间看板"),new JProperty("url", "/main/Procedure/test12/demo.html?navbar=1")));
+        array.Add(new JObject(new JProperty("name", "成检外观检验看板"),new JProperty("url", "/main/Procedure/test8/demo.html?navbar=1")));
+        array.Add(new JObject(new JProperty("name", "成检试水三检看板"),new JProperty("url", "/main/Procedure/test9/demo.html?navbar=1")));
+        array.Add(new JObject(new JProperty("name", "成检次品区看板"),new JProperty("url", "/main/Procedure/test13/demo.html?navbar=1")));
+        array.Add(new JObject(new JProperty("name", "烧成车间看板"),new JProperty("url", "/main/Procedure/test10/index.html?navbar=1")));
+        array.Add(new JObject(new JProperty("name", "成检包装看板"),new JProperty("url", "/main/Procedure/test11/warehouse_chart.html?navbar=1")));
+        array.Add(new JObject(new JProperty("name", "施釉车间看板"),new JProperty("url", "/main/Procedure/test14/demo.html?navbar=1")));
         array.Add(new JObject(new JProperty("name", "01成型"),new JProperty("url", "/main/DashBoard/rpt301/index.html?navbar=0")));
         array.Add(new JObject(new JProperty("name", "01成型"),new JProperty("url", "/main/DashBoard/rpt301/index.html?navbar=0")));
         array.Add(new JObject(new JProperty("name", "02半检一检"),new JProperty("url", "/main/DashBoard/rpt302/index.html?navbar=0")));
         array.Add(new JObject(new JProperty("name", "02半检一检"),new JProperty("url", "/main/DashBoard/rpt302/index.html?navbar=0")));
         array.Add(new JObject(new JProperty("name", "03改洗"),new JProperty("url", "/main/DashBoard/rpt303/index.html?navbar=0")));
         array.Add(new JObject(new JProperty("name", "03改洗"),new JProperty("url", "/main/DashBoard/rpt303/index.html?navbar=0")));
@@ -55,6 +63,8 @@ public class GetDashBoard : IHttpHandler,IRequiresSessionState
         //试用看板
         //试用看板
         array.Add(new JObject(new JProperty("name", "TK2烧成示意图"),new JProperty("url", "/main/DashBoard/rpt002/index.html?navbar=0")));
         array.Add(new JObject(new JProperty("name", "TK2烧成示意图"),new JProperty("url", "/main/DashBoard/rpt002/index.html?navbar=0")));
         array.Add(new JObject(new JProperty("name", "TK3烧成示意图"),new JProperty("url", "/main/DashBoard/rpt003/index.html?navbar=0")));
         array.Add(new JObject(new JProperty("name", "TK3烧成示意图"),new JProperty("url", "/main/DashBoard/rpt003/index.html?navbar=0")));
+        array.Add(new JObject(new JProperty("name", "TK3烧成示意图新"),new JProperty("url", "/main/Procedure/test15/index2.html?navbar=0")));
+        array.Add(new JObject(new JProperty("name", "数字孪生"),new JProperty("url","http://172.18.44.2:3000/frame/%E6%81%92%E6%B4%81%E9%99%B6%E7%93%B7%E5%8E%823D%E6%95%B0%E5%AD%97%E5%AD%AA%E7%94%9F?orgId=1&language=zh_cn&theme=gray&refresh=1m")));
         //array.Add(new JObject(new JProperty("name", "【试用】TK2烧成示意图"),new JProperty("url", "/main/DashBoard/rpt002/index.html?navbar=0")));
         //array.Add(new JObject(new JProperty("name", "【试用】TK2烧成示意图"),new JProperty("url", "/main/DashBoard/rpt002/index.html?navbar=0")));
         //array.Add(new JObject(new JProperty("name", "【试用】TK3烧成示意图"),new JProperty("url", "/main/DashBoard/rpt003/index.html?navbar=0")));
         //array.Add(new JObject(new JProperty("name", "【试用】TK3烧成示意图"),new JProperty("url", "/main/DashBoard/rpt003/index.html?navbar=0")));
         //array.Add(new JObject(new JProperty("name", "【试用】烧成每日效率实时看板"),new JProperty("url", "/main/DashBoard/rpt005/index.html?navbar=0")));
         //array.Add(new JObject(new JProperty("name", "【试用】烧成每日效率实时看板"),new JProperty("url", "/main/DashBoard/rpt005/index.html?navbar=0")));

+ 1 - 0
wwwroot/main/DashBoard/api/GetDashBoardThreeworkshops.ashx

@@ -19,6 +19,7 @@ public class GetDashBoardSplitScreen : IHttpHandler,IRequiresSessionState
         JArray array = new JArray();
         JArray array = new JArray();
 
 
         array.Add(new JObject(new JProperty("name", "高压成型车间看板"),new JProperty("url", "/main/Procedure/test6/demo.html?navbar=1")));
         array.Add(new JObject(new JProperty("name", "高压成型车间看板"),new JProperty("url", "/main/Procedure/test6/demo.html?navbar=1")));
+        array.Add(new JObject(new JProperty("name", "数字孪生"),new JProperty("url","http://172.18.44.2:3000/frame/%E6%81%92%E6%B4%81%E9%99%B6%E7%93%B7%E5%8E%823D%E6%95%B0%E5%AD%97%E5%AD%AA%E7%94%9F?orgId=1&language=zh_cn&theme=gray&refresh=1m")));
         array.Add(new JObject(new JProperty("name", "半检一检车间看板"),new JProperty("url", "/main/Procedure/test7/demo.html?navbar=1")));
         array.Add(new JObject(new JProperty("name", "半检一检车间看板"),new JProperty("url", "/main/Procedure/test7/demo.html?navbar=1")));
         array.Add(new JObject(new JProperty("name", "半检二检车间看板"),new JProperty("url", "/main/Procedure/test12/demo.html?navbar=1")));
         array.Add(new JObject(new JProperty("name", "半检二检车间看板"),new JProperty("url", "/main/Procedure/test12/demo.html?navbar=1")));
         array.Add(new JObject(new JProperty("name", "成检外观检验看板"),new JProperty("url", "/main/Procedure/test8/demo.html?navbar=1")));
         array.Add(new JObject(new JProperty("name", "成检外观检验看板"),new JProperty("url", "/main/Procedure/test8/demo.html?navbar=1")));

+ 2 - 2
wwwroot/main/Procedure/test12/demo.ashx

@@ -16,7 +16,7 @@ public class demo : IHttpHandler {
         context.Response.ContentType = "text/plain";
         context.Response.ContentType = "text/plain";
         using (IDataAccess conn = DataAccess.Create())
         using (IDataAccess conn = DataAccess.Create())
         {
         {
-				//坯库库存
+				//坯库库存
 				if (context.Request["m"].ToString() == "kc")
 				if (context.Request["m"].ToString() == "kc")
             {
             {
                 string sqlStr = @"SELECT
                 string sqlStr = @"SELECT
@@ -32,7 +32,7 @@ public class demo : IHttpHandler {
 										TP_PM_INPRODUCTION TPI
 										TP_PM_INPRODUCTION TPI
 										LEFT JOIN TP_MST_GOODS TMG ON TPI.GOODSCODE = TMG.GOODSCODE 
 										LEFT JOIN TP_MST_GOODS TMG ON TPI.GOODSCODE = TMG.GOODSCODE 
 									WHERE
 									WHERE
-										TPI.PROCEDUREID = 91 
+										TPI.PROCEDUREID = 97 
 									GROUP BY
 									GROUP BY
 										TMG.GOODSTYPEID) T";
 										TMG.GOODSTYPEID) T";
                 //直接获取不分页数据
                 //直接获取不分页数据

+ 2 - 2
wwwroot/main/Procedure/test12/demo.html

@@ -92,7 +92,7 @@
                     <canvas id="canvasDefectB" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
                     <canvas id="canvasDefectB" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
                 </div>
                 </div>
                 <div style="width: 25%; height: 230px; ">
                 <div style="width: 25%; height: 230px; ">
-                    <div style="color:white;font-size:20px;font-weight:600; text-align:center;">坯库库存</div>
+                    <div style="color:white;font-size:20px;font-weight:600; text-align:center;">坯库库存</div>
                     <canvas id="canvasDefectKC" style="margin-top:15px; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
                     <canvas id="canvasDefectKC" style="margin-top:15px; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
                 </div>
                 </div>
             </div>
             </div>
@@ -219,7 +219,7 @@
             });
             });
         }
         }
 
 
-        //坯库库存
+        //坯库库存
         function DataKC() {
         function DataKC() {
             $.get("demo.ashx?m=kc", function (data) {
             $.get("demo.ashx?m=kc", function (data) {
                 var json = JSON.parse(data);
                 var json = JSON.parse(data);

+ 2 - 2
wwwroot/main/Procedure/test13/demo2.html

@@ -24,7 +24,7 @@
             <!--近30天次品折线图-->
             <!--近30天次品折线图-->
             <div style="width:1840px;height:300px;display:flex;flex-direction:row;">
             <div style="width:1840px;height:300px;display:flex;flex-direction:row;">
                 <div style="width: 100%; height: 300px;">
                 <div style="width: 100%; height: 300px;">
-                    <div style="color:white;font-size:20px;font-weight:600; text-align:center">日次品产量趋势图</div>
+                    <div style="color:white;font-size:20px;font-weight:600; text-align:center">三十日次品产量趋势图</div>
                     <canvas id="canvasDayZL" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 270px; width: 100%"></canvas>
                     <canvas id="canvasDayZL" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 270px; width: 100%"></canvas>
                 </div>
                 </div>
             </div>
             </div>
@@ -318,7 +318,7 @@
                     labels: ["01", "02", "03", "04", "05", "06", "07"],
                     labels: ["01", "02", "03", "04", "05", "06", "07"],
                     datasets: [{
                     datasets: [{
                         type: 'line',
                         type: 'line',
-                        label: "合格率",
+                        label: "次品率",
                         yAxesGroup: 'A',
                         yAxesGroup: 'A',
                         yAxisID: 'A',
                         yAxisID: 'A',
                         backgroundColor: color(window.chartColors.red).alpha(0.5).rgbString(),
                         backgroundColor: color(window.chartColors.red).alpha(0.5).rgbString(),

+ 15 - 20
wwwroot/main/Procedure/test14/demo.ashx

@@ -368,26 +368,21 @@ CASE
                 if (context.Request["m"].ToString() == "defectb")
                 if (context.Request["m"].ToString() == "defectb")
             {
             {
                 string sqlStr = @"SELECT
                 string sqlStr = @"SELECT
-	                                    T.S_NAME AS 缺陷名称,
-	                                    T.数量 
-                                    FROM
-	                                    (
-	                                    SELECT
-		                                    TMD.S_NAME,
-		                                    count( * ) AS 数量 
-	                                    FROM
-		                                    TP_PM_DEFECT TPD
-		                                    LEFT JOIN TP_MST_DEFECT TMD ON TPD.DEFECTID = TMD.DEFECTID 
-	                                    WHERE
-		                                    TPD.CREATETIME >= TRUNC( SYSDATE )
-		                                    AND TMD.DEFECTTYPEID IN ( 15,16,18,4 ) 
-	                                    GROUP BY
-		                                    TMD.S_NAME
-	                                    ORDER BY
-		                                    count( * ) DESC 
-	                                    ) T 
-                                    WHERE
-	                                    ROWNUM < 4";
+									CASE WHEN T.GOODSTYPEID = 3 THEN '连体'
+									 WHEN T.GOODSTYPEID = 18 THEN '智能'
+										ELSE '其他' END AS 产品类别,
+									T.count 数量
+									FROM (
+									SELECT
+										GOODSTYPEID,
+										COUNT( * ) count
+									FROM
+										TP_PM_INPRODUCTION TPI
+										LEFT JOIN TP_MST_GOODS TMG ON TPI.GOODSCODE = TMG.GOODSCODE 
+									WHERE
+										TPI.PROCEDUREID = 99 
+									GROUP BY
+										TMG.GOODSTYPEID) T";
                 //直接获取不分页数据
                 //直接获取不分页数据
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
                 string jsonStr = new JsonResult(dt).ToJson();
                 string jsonStr = new JsonResult(dt).ToJson();

+ 14 - 16
wwwroot/main/Procedure/test14/demo.html

@@ -27,19 +27,19 @@
                 <div style="width: 48%; height: 680px;">
                 <div style="width: 48%; height: 680px;">
                     <table cellspacing="0" cellpadding="0" border="0" style="width: 99.8%;">
                     <table cellspacing="0" cellpadding="0" border="0" style="width: 99.8%;">
                         <tr class="tr_title_warning">
                         <tr class="tr_title_warning">
-                            <td colspan="10" style="color: white;">半成品一检检验统计</td>
+                            <td colspan="10" style="color: white;">施釉设备重要数据</td>
                         </tr>
                         </tr>
                         <tr class="tr_title_warning" style="height: 50px;">
                         <tr class="tr_title_warning" style="height: 50px;">
                             <td style="width: 12%; font-size: 10px; padding: 0px 0px 0px 0px;">产品条码</td>
                             <td style="width: 12%; font-size: 10px; padding: 0px 0px 0px 0px;">产品条码</td>
                             <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">产品型号</td>
                             <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">产品型号</td>
                             <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">施釉产线</td>
                             <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">施釉产线</td>
                             <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">施釉前重</td>
                             <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">施釉前重</td>
-                            <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px; ">施釉后重</td>
+                            <<!--td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px; ">施釉后重</td>-->
                             <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">施釉房号</td>
                             <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">施釉房号</td>
                             <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">施釉流量</td>
                             <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">施釉流量</td>
                             <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">施釉喷幅</td>
                             <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">施釉喷幅</td>
                             <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px; ">釉浆温度</td>
                             <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px; ">釉浆温度</td>
-                            <td style="width: 8%; font-size: 10px; padding: 0px 0px 0px 0px; ">施釉压力</td>
+                            <!--<td style="width: 8%; font-size: 10px; padding: 0px 0px 0px 0px; ">施釉压力</td>-->
                         </tr>
                         </tr>
                     </table>
                     </table>
                     <div style=" height: 522px; overflow: hidden; width: 100%;">
                     <div style=" height: 522px; overflow: hidden; width: 100%;">
@@ -50,12 +50,12 @@
                                     <td style="width: 10%; font-size: 10px;">{产品型号}</td>
                                     <td style="width: 10%; font-size: 10px;">{产品型号}</td>
                                     <td style="width: 10%; font-size: 10px; ">{施釉产线}</td>
                                     <td style="width: 10%; font-size: 10px; ">{施釉产线}</td>
                                     <td style="width: 10%; font-size: 10px; ">{施釉前重}</td>
                                     <td style="width: 10%; font-size: 10px; ">{施釉前重}</td>
-                                    <td style="width: 10%; font-size: 10px; ">{施釉后重}</td>
+                                    <!--<td style="width: 10%; font-size: 10px; ">{施釉后重}</td>-->
                                     <td style="width: 10%; font-size: 10px; ">{施釉房号}</td>
                                     <td style="width: 10%; font-size: 10px; ">{施釉房号}</td>
                                     <td style="width: 10%; font-size: 10px; ">{施釉流量}</td>
                                     <td style="width: 10%; font-size: 10px; ">{施釉流量}</td>
                                     <td style="width: 10%; font-size: 10px; ">{施釉喷幅}</td>
                                     <td style="width: 10%; font-size: 10px; ">{施釉喷幅}</td>
                                     <td style="width: 10%; font-size: 10px; ">{釉浆温度}</td>
                                     <td style="width: 10%; font-size: 10px; ">{釉浆温度}</td>
-                                    <td style="width: 8%; font-size: 10px;">{施釉压力}</td>
+                                    <!--<td style="width: 8%; font-size: 10px;">{施釉压力}</td>-->
                                 </tr>
                                 </tr>
                             </table>
                             </table>
                         </div>
                         </div>
@@ -93,7 +93,7 @@
                     <canvas id="canvasDefectA" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
                     <canvas id="canvasDefectA" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
                 </div> 
                 </div> 
                 <div style="width: 25%; height: 230px;">
                 <div style="width: 25%; height: 230px;">
-                    <div style="color:white;font-size:20px;font-weight:600; text-align:center">施釉车间设备运行状态</div>
+                    <div style="color:white;font-size:20px;font-weight:600; text-align:center">釉坯库库存</div>
                     <canvas id="canvasDefectB" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
                     <canvas id="canvasDefectB" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
                 </div>
                 </div>
                 <div style="width: 25%; height: 230px;">
                 <div style="width: 25%; height: 230px;">
@@ -126,12 +126,12 @@
                         temp = temp.replace('{产品型号}', json["rows"][i]['产品型号']);
                         temp = temp.replace('{产品型号}', json["rows"][i]['产品型号']);
                         temp = temp.replace('{施釉产线}', json["rows"][i]['施釉产线']);
                         temp = temp.replace('{施釉产线}', json["rows"][i]['施釉产线']);
                         temp = temp.replace('{施釉前重}', json["rows"][i]['施釉前重']); 
                         temp = temp.replace('{施釉前重}', json["rows"][i]['施釉前重']); 
-                        temp = temp.replace('{施釉后重}', json["rows"][i]['施釉后重']);
+                        /*temp = temp.replace('{施釉后重}', json["rows"][i]['施釉后重']);*/
                         temp = temp.replace('{施釉房号}', json["rows"][i]['施釉房号']);
                         temp = temp.replace('{施釉房号}', json["rows"][i]['施釉房号']);
                         temp = temp.replace('{施釉流量}', json["rows"][i]['施釉流量']);
                         temp = temp.replace('{施釉流量}', json["rows"][i]['施釉流量']);
                         temp = temp.replace('{施釉喷幅}', json["rows"][i]['施釉喷幅']);
                         temp = temp.replace('{施釉喷幅}', json["rows"][i]['施釉喷幅']);
                         temp = temp.replace('{釉浆温度}', json["rows"][i]['釉浆温度']);
                         temp = temp.replace('{釉浆温度}', json["rows"][i]['釉浆温度']);
-                        temp = temp.replace('{施釉压力}', json["rows"][i]['施釉压力']);
+                        /*temp = temp.replace('{施釉压力}', json["rows"][i]['施釉压力']);*/
                         $("#dayTable").append(temp);
                         $("#dayTable").append(temp);
                     }
                     }
                     mainRowCount = json["rows"].length;
                     mainRowCount = json["rows"].length;
@@ -382,14 +382,12 @@
             $.get("demo.ashx?m=defectb", function (data) {
             $.get("demo.ashx?m=defectb", function (data) {
                 var json = JSON.parse(data);
                 var json = JSON.parse(data);
                 if (json["success"] == true) {
                 if (json["success"] == true) {
-                    var defect1 = parseFloat(json["rows"][0]["数量"]);
-                    var defect2 = parseFloat(json["rows"][1]["数量"]);
-                    var defect3 = parseFloat(json["rows"][2]["数量"]);
-                    var defectname1 = json["rows"][0]["缺陷名称"];
-                    var defectname2 = json["rows"][1]["缺陷名称"];
-                    var defectname3 = json["rows"][2]["缺陷名称"];
-                    window.DefectB.data.datasets[0].data = [defect1, defect2, defect3];
-                    window.DefectB.data.labels = [defectname1, defectname2, defectname3]
+                    var count1 = parseFloat(json["rows"][0]["数量"]);
+                    var count2 = parseFloat(json["rows"][1]["数量"]);
+                    var goodtype1 = json["rows"][0]["产品类别"];
+                    var goodtype2 = json["rows"][1]["产品类别"];
+                    window.DefectB.data.datasets[0].data = [count1, count2];
+                    window.DefectB.data.labels = [goodtype1, goodtype2]
                     window.DefectB.update();
                     window.DefectB.update();
                 }
                 }
             });
             });

+ 50 - 0
wwwroot/main/Procedure/test15/index2.html

@@ -0,0 +1,50 @@
+<!doctype html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <link rel="shortcut icon" href="/img/logo.png" />
+    <link rel="bookmark" href="/img/logo.png" />
+    <link rel="stylesheet" href="../DashBoard.css?v3" />
+    <script src="/Plugins/jquery-3.4.1/jquery-3.4.1.min.js"></script>
+    <script src="/Plugins/xrequest/xrequest.min.js"></script>
+    <title>东科软件</title>
+</head>
+<body style="background-color:black;">
+
+    <div class="box_1920_1080">
+        <div class="m4_title">
+            <!--<span style="color:darkorange"><<<</span>&nbsp;&nbsp;<span>恒洁卫浴数字化大屏</span>&nbsp;&nbsp;<span style="color:darkorange">>>></span>-->
+            <!--<span>恒洁数字化管理系统</span>-->
+        </div>
+        <iframe id='myIframe' name='myIframe' src='http://172.18.44.2:3000/frame/%E6%81%92%E6%B4%81%E9%99%B6%E7%93%B7%E5%8E%823D%E6%95%B0%E5%AD%97%E5%AD%AA%E7%94%9F?orgId=1&language=zh_cn&theme=gray&refresh=1m' frameborder="0" width='1920' height='1080' scrolling='no'>
+        </iframe>
+        <!--<div>-->
+            <!--<a href="http://172.18.32.32:9200/main/Procedure/test10/index.html" target='myIframe' id="sheet"></a>-->
+            <!--<a href="http://172.18.44.2:3000/frame/%E6%81%92%E6%B4%81%E9%99%B6%E7%93%B7%E5%8E%823D%E6%95%B0%E5%AD%97%E5%AD%AA%E7%94%9F?orgId=1&language=zh_cn&theme=gray&refresh=1m" target='myIframe' id="test"></a>
+        </div>-->
+    </div>
+
+    <script>
+        //$(document).ready(function () {
+        //    setInterval(function () { loadMainTable(); }, 30000);
+        //});
+        var time = 1;
+        function loadMainTable() {
+            if (time == 2)
+            {
+                time = 1;
+                document.getElementById("sheet").click();
+            } else{
+                time = 2;
+                document.getElementById("test").click();
+            }
+        }
+    </script>
+
+    <script src="/Plugins/chartjs-2.8.0/chart-2.8.min.js"></script>
+    <script src="/Plugins/chartjs-2.8.0/chartjs-plugin-datalabels.js"></script>
+    <script src="/Plugins/chartjs-2.8.0/utils.js"></script>
+    <script src="/Plugins/circleChart/circleChart.min.js"></script>
+</body>
+</html>

+ 1 - 1
wwwroot/main/Procedure/test7/demo.ashx

@@ -768,7 +768,7 @@ ORDER BY
 										) B 
 										) B 
 										) Z
 										) Z
 										GROUP BY GROUPING SETS((Z.产品型号),(Z.产品型号,Z.成型产线, Z.检验数量,Z.合格品数, Z.返工品数, Z.返工合格数,Z.综合合格数),())
 										GROUP BY GROUPING SETS((Z.产品型号),(Z.产品型号,Z.成型产线, Z.检验数量,Z.合格品数, Z.返工品数, Z.返工合格数,Z.综合合格数),())
-										)H) B
+										)H) B WHERE B.合格品数 >0
 											 ";
 											 ";
                 //直接获取不分页数据
                 //直接获取不分页数据
                 DataTable dt = conn.ExecuteDatatable(sqlStr);
                 DataTable dt = conn.ExecuteDatatable(sqlStr);

+ 53 - 52
wwwroot/main/Procedure/test7/demo.html

@@ -69,14 +69,11 @@
                         <canvas id="canvasHourCL" style="-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none; height:340px;width:100%"></canvas>
                         <canvas id="canvasHourCL" style="-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none; height:340px;width:100%"></canvas>
                     </div>
                     </div>
                 </div>
                 </div>
-                <div style="width: 24%; height: 340px; margin-top:365px;margin-left:35px;">
+                <div style="width: 48%; height: 340px; margin-top:365px;margin-left:35px;">
                     <div style="color:white;font-size:20px;font-weight:600; text-align:center">工号产量</div>
                     <div style="color:white;font-size:20px;font-weight:600; text-align:center">工号产量</div>
                     <canvas id="canvasDayCL" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 280px; width: 100%;margin-top:-38px;"></canvas>
                     <canvas id="canvasDayCL" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 280px; width: 100%;margin-top:-38px;"></canvas>
                 </div>
                 </div>
-                <div style="width: 24%; height: 340px; margin-top: 365px; margin-left: 35px;">
-                    <div style="color:white;font-size:20px;font-weight:600; text-align:center;">毛坯库库存</div>
-                    <canvas id="canvasDefectKC" style="margin-top:15px; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
-                </div>
+                
                 
                 
             </div>
             </div>
                 
                 
@@ -96,9 +93,13 @@
                     <div style="color:white;font-size:20px;font-weight:600; text-align:center">半检缺陷(今日TOP3)</div>
                     <div style="color:white;font-size:20px;font-weight:600; text-align:center">半检缺陷(今日TOP3)</div>
                     <canvas id="canvasDefectB" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
                     <canvas id="canvasDefectB" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
                 </div>
                 </div>
-                <div style="width: 25%; height: 230px;">
-                    <div style="color:white;font-size:20px;font-weight:600; text-align:center">成型车间设备状态</div>
-                    <canvas id="canvasMonthCL" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
+                <!--<div style="width: 25%; height: 230px;">
+                <div style="color:white;font-size:20px;font-weight:600; text-align:center">成型车间设备状态</div>
+                <canvas id="canvasMonthCL" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
+                </div>-->
+                <div style="width: 25%; height: 230px; ">
+                    <div style="color:white;font-size:20px;font-weight:600; text-align:center;">毛坯库库存</div>
+                    <canvas id="canvasDefectKC" style="margin-top:15px; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
                 </div>
                 </div>
             </div>
             </div>
         </div>
         </div>
@@ -610,50 +611,50 @@
             //===================================================
             //===================================================
 
 
             //甲班缺陷===========================================
             //甲班缺陷===========================================
-            window.configMonthCL = {
-                data: {
-                    labels: ['实际产量', '目标产量'],
-                    datasets: [{
-                        label: '工序',
-                        backgroundColor: [
-                            color(window.chartColors.red).alpha(0.35).rgbString(),
-                            color(window.chartColors.blue).alpha(0.35).rgbString(),
-                            color(window.chartColors.green).alpha(0.35).rgbString(),
-                            color(window.chartColors.orange).alpha(0.35).rgbString(),
-                            color(window.chartColors.purple).alpha(0.35).rgbString()
-                        ],
-                        fill: false,
-                        borderColor: [
-                            window.chartColors.red,
-                            window.chartColors.blue,
-                            window.chartColors.green,
-                            window.chartColors.orange,
-                            window.chartColors.purple
-                        ],
-                        borderWidth: 2,
-                        pointRadius: 30,
-                        data: [0, 0]
-                    }]
-                },
-                type: 'doughnut',
-                options: {
-                    legend: {
-                        display: true
-                    },
-                    title: {
-                        display: false,
-                        text: ""
-                    },
-                    tooltips: {
-                        mode: 'point',
-                        intersect: false
-                    },
-                    responsive: true
-
-                }
-            };
-            var ctxMonthCL = document.getElementById("canvasMonthCL").getContext("2d");
-            window.MonthCL = new Chart(ctxMonthCL, configMonthCL);
+            //window.configMonthCL = {
+            //    data: {
+            //        labels: ['实际产量', '目标产量'],
+            //        datasets: [{
+            //            label: '工序',
+            //            backgroundColor: [
+            //                color(window.chartColors.red).alpha(0.35).rgbString(),
+            //                color(window.chartColors.blue).alpha(0.35).rgbString(),
+            //                color(window.chartColors.green).alpha(0.35).rgbString(),
+            //                color(window.chartColors.orange).alpha(0.35).rgbString(),
+            //                color(window.chartColors.purple).alpha(0.35).rgbString()
+            //            ],
+            //            fill: false,
+            //            borderColor: [
+            //                window.chartColors.red,
+            //                window.chartColors.blue,
+            //                window.chartColors.green,
+            //                window.chartColors.orange,
+            //                window.chartColors.purple
+            //            ],
+            //            borderWidth: 2,
+            //            pointRadius: 30,
+            //            data: [0, 0]
+            //        }]
+            //    },
+            //    type: 'doughnut',
+            //    options: {
+            //        legend: {
+            //            display: true
+            //        },
+            //        title: {
+            //            display: false,
+            //            text: ""
+            //        },
+            //        tooltips: {
+            //            mode: 'point',
+            //            intersect: false
+            //        },
+            //        responsive: true
+
+            //    }
+            //};
+            //var ctxMonthCL = document.getElementById("canvasMonthCL").getContext("2d");
+            //window.MonthCL = new Chart(ctxMonthCL, configMonthCL);
             //===================================================
             //===================================================
 
 
             //侧漏气产量柱状图=====================================
             //侧漏气产量柱状图=====================================

+ 3 - 3
wwwroot/main/Split/Screen14/index.html

@@ -270,7 +270,7 @@
             //包装月度计划=======================================
             //包装月度计划=======================================
             window.configGoodsCL = {
             window.configGoodsCL = {
                 data: {
                 data: {
-                    labels: ['GOODS', 'GOODS', 'GOODS', 'GOODS', 'GOODS','GOODS'],
+                    labels: ['坐便器', '智能坐便器', '台下盆', '蹲便器', '小便器(挂)','柜盆'],
                     datasets: [{
                     datasets: [{
                         type: 'line',
                         type: 'line',
                         label: '计划产量',
                         label: '计划产量',
@@ -311,7 +311,7 @@
                             stacked: false,
                             stacked: false,
                             ticks: {
                             ticks: {
                                 min: 0,
                                 min: 0,
-                                stepSize: 10000,
+                                stepSize: 20000,
                                 max: 100000
                                 max: 100000
                             }
                             }
                         }]
                         }]
@@ -367,7 +367,7 @@
                             stacked: false,
                             stacked: false,
                             ticks: {
                             ticks: {
                                 min: 0,
                                 min: 0,
-                                stepSize: 10000,
+                                stepSize: 20000,
                                 max: 100000
                                 max: 100000
                             }
                             }
                         }]
                         }]

+ 272 - 2
wwwroot/main/Split/Screen14/rpt.ashx

@@ -44,7 +44,137 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 	            LEFT JOIN TP_MST_GOODSTYPE TMGP ON mg.GOODSTYPEID = TMGP.GOODSTYPEID 
 	            LEFT JOIN TP_MST_GOODSTYPE TMGP ON mg.GOODSTYPEID = TMGP.GOODSTYPEID 
             WHERE
             WHERE
 	            mdd.valueflag = 1
 	            mdd.valueflag = 1
-	            AND mg.GOODSTYPEID IN ( 12, 6, 18, 3, 7, 13 )
+	            AND mg.GOODSTYPEID IN (3)
+	            AND mdd.MAKE_QTY > 0
+	            AND mdd.plandate < TRUNC( SYSDATE )
+	            AND mdd.plandate >= TRUNC( SYSDATE -30 )
+	            )T GROUP BY T.GOODSTYPEID,T.GOODSTYPENAME UNION ALL
+							SELECT
+            CASE WHEN T.GOODSTYPEID = 18 THEN CAST('智能座便器' AS nvarchar2(20))
+		            WHEN T.GOODSTYPEID = 12 THEN CAST('小便器(挂)' AS nvarchar2(20))
+	            ELSE
+		            T.GOODSTYPENAME
+            END 产品类别,
+            SUM(T.plan_qty) 成型计划数,
+            sum(T.make_qty) 成型达成数,
+            to_char(round(sum(T.make_qty) / SUM(T.plan_qty),4)* 100, 'fm9999999990.00' ) 达成率
+            FROM(
+            SELECT
+	            mg.GOODSTYPEID,
+	            TMGP.GOODSTYPENAME,
+	            mdd.plan_qty,
+	            mdd.make_qty 
+            FROM
+	            tp_mould_dailyplandetail mdd
+	            LEFT JOIN tp_mst_goods mg ON mdd.goodsid = mg.goodsid
+	            LEFT JOIN TP_MST_GOODSTYPE TMGP ON mg.GOODSTYPEID = TMGP.GOODSTYPEID 
+            WHERE
+	            mdd.valueflag = 1
+	            AND mg.GOODSTYPEID IN (18)
+	            AND mdd.MAKE_QTY > 0
+	            AND mdd.plandate < TRUNC( SYSDATE )
+	            AND mdd.plandate >= TRUNC( SYSDATE -30 )
+	            )T GROUP BY T.GOODSTYPEID,T.GOODSTYPENAME UNION ALL
+							SELECT
+            CASE WHEN T.GOODSTYPEID = 18 THEN CAST('智能座便器' AS nvarchar2(20))
+		            WHEN T.GOODSTYPEID = 12 THEN CAST('小便器(挂)' AS nvarchar2(20))
+	            ELSE
+		            T.GOODSTYPENAME
+            END 产品类别,
+            SUM(T.plan_qty) 成型计划数,
+            sum(T.make_qty) 成型达成数,
+            to_char(round(sum(T.make_qty) / SUM(T.plan_qty),4)* 100, 'fm9999999990.00' ) 达成率
+            FROM(
+            SELECT
+	            mg.GOODSTYPEID,
+	            TMGP.GOODSTYPENAME,
+	            mdd.plan_qty,
+	            mdd.make_qty 
+            FROM
+	            tp_mould_dailyplandetail mdd
+	            LEFT JOIN tp_mst_goods mg ON mdd.goodsid = mg.goodsid
+	            LEFT JOIN TP_MST_GOODSTYPE TMGP ON mg.GOODSTYPEID = TMGP.GOODSTYPEID 
+            WHERE
+	            mdd.valueflag = 1
+	            AND mg.GOODSTYPEID IN (7)
+	            AND mdd.MAKE_QTY > 0
+	            AND mdd.plandate < TRUNC( SYSDATE )
+	            AND mdd.plandate >= TRUNC( SYSDATE -30 )
+	            )T GROUP BY T.GOODSTYPEID,T.GOODSTYPENAME UNION ALL
+							SELECT
+            CASE WHEN T.GOODSTYPEID = 18 THEN CAST('智能座便器' AS nvarchar2(20))
+		            WHEN T.GOODSTYPEID = 12 THEN CAST('小便器(挂)' AS nvarchar2(20))
+	            ELSE
+		            T.GOODSTYPENAME
+            END 产品类别,
+            SUM(T.plan_qty) 成型计划数,
+            sum(T.make_qty) 成型达成数,
+            to_char(round(sum(T.make_qty) / SUM(T.plan_qty),4)* 100, 'fm9999999990.00' ) 达成率
+            FROM(
+            SELECT
+	            mg.GOODSTYPEID,
+	            TMGP.GOODSTYPENAME,
+	            mdd.plan_qty,
+	            mdd.make_qty 
+            FROM
+	            tp_mould_dailyplandetail mdd
+	            LEFT JOIN tp_mst_goods mg ON mdd.goodsid = mg.goodsid
+	            LEFT JOIN TP_MST_GOODSTYPE TMGP ON mg.GOODSTYPEID = TMGP.GOODSTYPEID 
+            WHERE
+	            mdd.valueflag = 1
+	            AND mg.GOODSTYPEID IN (6)
+	            AND mdd.MAKE_QTY > 0
+	            AND mdd.plandate < TRUNC( SYSDATE )
+	            AND mdd.plandate >= TRUNC( SYSDATE -30 )
+	            )T GROUP BY T.GOODSTYPEID,T.GOODSTYPENAME UNION ALL
+							SELECT
+            CASE WHEN T.GOODSTYPEID = 18 THEN CAST('智能座便器' AS nvarchar2(20))
+		            WHEN T.GOODSTYPEID = 12 THEN CAST('小便器(挂)' AS nvarchar2(20))
+	            ELSE
+		            T.GOODSTYPENAME
+            END 产品类别,
+            SUM(T.plan_qty) 成型计划数,
+            sum(T.make_qty) 成型达成数,
+            to_char(round(sum(T.make_qty) / SUM(T.plan_qty),4)* 100, 'fm9999999990.00' ) 达成率
+            FROM(
+            SELECT
+	            mg.GOODSTYPEID,
+	            TMGP.GOODSTYPENAME,
+	            mdd.plan_qty,
+	            mdd.make_qty 
+            FROM
+	            tp_mould_dailyplandetail mdd
+	            LEFT JOIN tp_mst_goods mg ON mdd.goodsid = mg.goodsid
+	            LEFT JOIN TP_MST_GOODSTYPE TMGP ON mg.GOODSTYPEID = TMGP.GOODSTYPEID 
+            WHERE
+	            mdd.valueflag = 1
+	            AND mg.GOODSTYPEID IN (12)
+	            AND mdd.MAKE_QTY > 0
+	            AND mdd.plandate < TRUNC( SYSDATE )
+	            AND mdd.plandate >= TRUNC( SYSDATE -30 )
+	            )T GROUP BY T.GOODSTYPEID,T.GOODSTYPENAME UNION ALL
+							SELECT
+            CASE WHEN T.GOODSTYPEID = 18 THEN CAST('智能座便器' AS nvarchar2(20))
+		            WHEN T.GOODSTYPEID = 12 THEN CAST('小便器(挂)' AS nvarchar2(20))
+	            ELSE
+		            T.GOODSTYPENAME
+            END 产品类别,
+            SUM(T.plan_qty) 成型计划数,
+            sum(T.make_qty) 成型达成数,
+            to_char(round(sum(T.make_qty) / SUM(T.plan_qty),4)* 100, 'fm9999999990.00' ) 达成率
+            FROM(
+            SELECT
+	            mg.GOODSTYPEID,
+	            TMGP.GOODSTYPENAME,
+	            mdd.plan_qty,
+	            mdd.make_qty 
+            FROM
+	            tp_mould_dailyplandetail mdd
+	            LEFT JOIN tp_mst_goods mg ON mdd.goodsid = mg.goodsid
+	            LEFT JOIN TP_MST_GOODSTYPE TMGP ON mg.GOODSTYPEID = TMGP.GOODSTYPEID 
+            WHERE
+	            mdd.valueflag = 1
+	            AND mg.GOODSTYPEID IN (13)
 	            AND mdd.MAKE_QTY > 0
 	            AND mdd.MAKE_QTY > 0
 	            AND mdd.plandate < TRUNC( SYSDATE )
 	            AND mdd.plandate < TRUNC( SYSDATE )
 	            AND mdd.plandate >= TRUNC( SYSDATE -30 )
 	            AND mdd.plandate >= TRUNC( SYSDATE -30 )
@@ -79,7 +209,147 @@ public class rpt : IHttpHandler, IReadOnlySessionState
 	                LEFT JOIN TP_MST_GOODSTYPE TMGP ON mg.GOODSTYPEID = TMGP.GOODSTYPEID 
 	                LEFT JOIN TP_MST_GOODSTYPE TMGP ON mg.GOODSTYPEID = TMGP.GOODSTYPEID 
                 WHERE
                 WHERE
 	                dpd.bz_plan_qty > 0 
 	                dpd.bz_plan_qty > 0 
-	                AND mg.GOODSTYPEID IN ( 12, 6, 18, 3, 7, 13 ) 
+	                AND mg.GOODSTYPEID IN (3 ) 
+	                AND dpd.VALUEFLAG = 1
+	                AND dpd.accountid = 1 
+	                AND dpd.plandate < TRUNC( SYSDATE )
+	                AND dpd.plandate >= TRUNC( SYSDATE -30 )
+	                AND dpd.MAKE_QTY > 0 
+	                )T GROUP BY T.GOODSTYPEID,T.产品类别 UNION ALL
+									SELECT
+                CASE WHEN T.GOODSTYPEID = 18 THEN CAST('智能座便器' AS nvarchar2(20))
+		                 WHEN T.GOODSTYPEID = 12 THEN CAST('小便器(挂)' AS nvarchar2(20))
+                ELSE
+		                T.产品类别
+                END 产品类别,
+	                SUM(T.计划包装数) 包装计划数,
+	                SUM(T.实际生产数量) 包装达成数
+                FROM
+	                (
+                SELECT
+	                mg.GOODSTYPEID,
+	                TMGP.GOODSTYPENAME 产品类别,
+                CASE WHEN dpd.out_qty = 0 THEN NULL ELSE dpd.plan_qty END 计划包装数,
+	                dpd.MAKE_QTY 实际生产数量 
+                FROM
+	                tp_pack_dailyplandetail dpd
+	                LEFT JOIN tp_mst_goods mg ON dpd.goodsid = mg.goodsid
+	                LEFT JOIN TP_MST_GOODSTYPE TMGP ON mg.GOODSTYPEID = TMGP.GOODSTYPEID 
+                WHERE
+	                dpd.bz_plan_qty > 0 
+	                AND mg.GOODSTYPEID IN (18) 
+	                AND dpd.VALUEFLAG = 1
+	                AND dpd.accountid = 1 
+	                AND dpd.plandate < TRUNC( SYSDATE )
+	                AND dpd.plandate >= TRUNC( SYSDATE -30 )
+	                AND dpd.MAKE_QTY > 0 
+	                )T GROUP BY T.GOODSTYPEID,T.产品类别 UNION ALL
+									SELECT
+                CASE WHEN T.GOODSTYPEID = 18 THEN CAST('智能座便器' AS nvarchar2(20))
+		                 WHEN T.GOODSTYPEID = 12 THEN CAST('小便器(挂)' AS nvarchar2(20))
+                ELSE
+		                T.产品类别
+                END 产品类别,
+	                SUM(T.计划包装数) 包装计划数,
+	                SUM(T.实际生产数量) 包装达成数
+                FROM
+	                (
+                SELECT
+	                mg.GOODSTYPEID,
+	                TMGP.GOODSTYPENAME 产品类别,
+                CASE WHEN dpd.out_qty = 0 THEN NULL ELSE dpd.plan_qty END 计划包装数,
+	                dpd.MAKE_QTY 实际生产数量 
+                FROM
+	                tp_pack_dailyplandetail dpd
+	                LEFT JOIN tp_mst_goods mg ON dpd.goodsid = mg.goodsid
+	                LEFT JOIN TP_MST_GOODSTYPE TMGP ON mg.GOODSTYPEID = TMGP.GOODSTYPEID 
+                WHERE
+	                dpd.bz_plan_qty > 0 
+	                AND mg.GOODSTYPEID IN (7) 
+	                AND dpd.VALUEFLAG = 1
+	                AND dpd.accountid = 1 
+	                AND dpd.plandate < TRUNC( SYSDATE )
+	                AND dpd.plandate >= TRUNC( SYSDATE -30 )
+	                AND dpd.MAKE_QTY > 0 
+	                )T GROUP BY T.GOODSTYPEID,T.产品类别 UNION ALL
+									SELECT
+                CASE WHEN T.GOODSTYPEID = 18 THEN CAST('智能座便器' AS nvarchar2(20))
+		                 WHEN T.GOODSTYPEID = 12 THEN CAST('小便器(挂)' AS nvarchar2(20))
+                ELSE
+		                T.产品类别
+                END 产品类别,
+	                SUM(T.计划包装数) 包装计划数,
+	                SUM(T.实际生产数量) 包装达成数
+                FROM
+	                (
+                SELECT
+	                mg.GOODSTYPEID,
+	                TMGP.GOODSTYPENAME 产品类别,
+                CASE WHEN dpd.out_qty = 0 THEN NULL ELSE dpd.plan_qty END 计划包装数,
+	                dpd.MAKE_QTY 实际生产数量 
+                FROM
+	                tp_pack_dailyplandetail dpd
+	                LEFT JOIN tp_mst_goods mg ON dpd.goodsid = mg.goodsid
+	                LEFT JOIN TP_MST_GOODSTYPE TMGP ON mg.GOODSTYPEID = TMGP.GOODSTYPEID 
+                WHERE
+	                dpd.bz_plan_qty > 0 
+	                AND mg.GOODSTYPEID IN (6) 
+	                AND dpd.VALUEFLAG = 1
+	                AND dpd.accountid = 1 
+	                AND dpd.plandate < TRUNC( SYSDATE )
+	                AND dpd.plandate >= TRUNC( SYSDATE -30 )
+	                AND dpd.MAKE_QTY > 0 
+	                )T GROUP BY T.GOODSTYPEID,T.产品类别 UNION ALL
+									SELECT
+                CASE WHEN T.GOODSTYPEID = 18 THEN CAST('智能座便器' AS nvarchar2(20))
+		                 WHEN T.GOODSTYPEID = 12 THEN CAST('小便器(挂)' AS nvarchar2(20))
+                ELSE
+		                T.产品类别
+                END 产品类别,
+	                SUM(T.计划包装数) 包装计划数,
+	                SUM(T.实际生产数量) 包装达成数
+                FROM
+	                (
+                SELECT
+	                mg.GOODSTYPEID,
+	                TMGP.GOODSTYPENAME 产品类别,
+                CASE WHEN dpd.out_qty = 0 THEN NULL ELSE dpd.plan_qty END 计划包装数,
+	                dpd.MAKE_QTY 实际生产数量 
+                FROM
+	                tp_pack_dailyplandetail dpd
+	                LEFT JOIN tp_mst_goods mg ON dpd.goodsid = mg.goodsid
+	                LEFT JOIN TP_MST_GOODSTYPE TMGP ON mg.GOODSTYPEID = TMGP.GOODSTYPEID 
+                WHERE
+	                dpd.bz_plan_qty > 0 
+	                AND mg.GOODSTYPEID IN (12) 
+	                AND dpd.VALUEFLAG = 1
+	                AND dpd.accountid = 1 
+	                AND dpd.plandate < TRUNC( SYSDATE )
+	                AND dpd.plandate >= TRUNC( SYSDATE -30 )
+	                AND dpd.MAKE_QTY > 0 
+	                )T GROUP BY T.GOODSTYPEID,T.产品类别 UNION ALL
+									SELECT
+                CASE WHEN T.GOODSTYPEID = 18 THEN CAST('智能座便器' AS nvarchar2(20))
+		                 WHEN T.GOODSTYPEID = 12 THEN CAST('小便器(挂)' AS nvarchar2(20))
+                ELSE
+		                T.产品类别
+                END 产品类别,
+	                SUM(T.计划包装数) 包装计划数,
+	                SUM(T.实际生产数量) 包装达成数
+                FROM
+	                (
+                SELECT
+	                mg.GOODSTYPEID,
+	                TMGP.GOODSTYPENAME 产品类别,
+                CASE WHEN dpd.out_qty = 0 THEN NULL ELSE dpd.plan_qty END 计划包装数,
+	                dpd.MAKE_QTY 实际生产数量 
+                FROM
+	                tp_pack_dailyplandetail dpd
+	                LEFT JOIN tp_mst_goods mg ON dpd.goodsid = mg.goodsid
+	                LEFT JOIN TP_MST_GOODSTYPE TMGP ON mg.GOODSTYPEID = TMGP.GOODSTYPEID 
+                WHERE
+	                dpd.bz_plan_qty > 0 
+	                AND mg.GOODSTYPEID IN (13) 
 	                AND dpd.VALUEFLAG = 1
 	                AND dpd.VALUEFLAG = 1
 	                AND dpd.accountid = 1 
 	                AND dpd.accountid = 1 
 	                AND dpd.plandate < TRUNC( SYSDATE )
 	                AND dpd.plandate < TRUNC( SYSDATE )