姜永辉 5 місяців тому
батько
коміт
1f5fc772ac

+ 8 - 0
wwwroot/mes/mst/holiday/holiday_add.html

@@ -59,6 +59,7 @@
         });
 
         function submitForm() {
+            var year = $("#dateMaster").datebox("getValue");
             if ($("#holidayProductDate").textbox("getText") == null || $("#holidayProductDate").textbox("getText") == "") {
                 $.messager.alert('提示', '请选择节假日日期', 'warning');
                 return;
@@ -67,6 +68,13 @@
                 $.messager.alert('提示', '请选择串休日期', 'warning');
                 return;
             }
+
+            var txtVal = $("#holidayProductDate").textbox("getText");
+            var txtspVal = $("#scheduleProductDate").textbox("getText");
+            if (!txtVal.toString().includes(year) || !txtspVal.toString().includes(year)) {
+                $.messager.alert('提示', '请选择该年份的节假日日期', 'warning');
+                return;
+            }
             $.messager.progress();
             $.get('holiday.ashx?m=i&r=' + Math.random(),
                 {

+ 70 - 9
wwwroot/mes/rpt/rpt008/rpt.ashx

@@ -182,7 +182,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                               ,TP.GROUTINGDAILYDETAILID 
                                           FROM TP_PM_PRODUCTIONDATA TP
                                         
-                                         WHERE   TP.PROCEDUREID IN (13, 35)
+                                         WHERE   TP.PROCEDUREID IN (13, 35)   AND tp.valueflag = 1
                                            AND TP.createtime >= date'" + Convert.ToDateTime(context.Request["datebeginMaster"]).ToString("yyyy-MM-dd") + @"'
                                            AND TP.createtime <= date'" + Convert.ToDateTime(context.Request["dateendMaster"]).AddSeconds(1).ToString("yyyy-MM-dd") + @"'
                                        {strFactoryInspection}
@@ -231,6 +231,67 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                          ELSE
                                           0
                                        END END_R
+                                      ,0 END_H
+                                      ,0 END_RH
+                                      ,1 END_ALL
+                                      ,0 hgp
+                                      ,0 bzgp
+                                   from 
+                                            (SELECT tp.productiondataid
+                                                          ,tp.groutingdailydetailid
+                                                          ,MAX(pmax.productiondataid) AS maxproductiondataid
+                                                      FROM tp_pm_productiondata tp
+                                                      LEFT JOIN tp_pm_productiondata pmax
+                                                        ON pmax.groutingdailydetailid = tp.groutingdailydetailid
+                                                       AND pmax.productiondataid < tp.productiondataid
+                                                       and pmax.goodsleveltypeid IN (4, 5)
+                                                       AND pmax.procedureid IN (13, 35)
+                                                     WHERE  tp.procedureid = 15 AND tp.valueflag = '1'
+                                                       AND TP.checktime >= date'" + Convert.ToDateTime(context.Request["datebeginMaster"]).ToString("yyyy-MM-dd") + @"'
+                                           AND TP.checktime <=  date'" + Convert.ToDateTime(context.Request["dateendMaster"]).AddSeconds(1).ToString("yyyy-MM-dd") + @"' 
+                                            {strFactoryInspectionCheckTime}
+                                                     GROUP BY tp.productiondataid
+                                                             ,tp.groutingdailydetailid) maxp                                          
+                                             --当前包装入库
+                                             INNER JOIN tp_pm_productiondata pppr
+                                                ON pppr.productiondataid = maxp.productiondataid
+                                            --当前包装入库的质量登记
+                                             INNER JOIN tp_pm_productiondata tp
+                                                ON tp.productiondataid = maxp.maxproductiondataid
+                                            
+                                        LEFT JOIN TP_PM_PRODUCTIONDATA RPD
+                                    ON RPD.BARCODE = tp.BARCODE
+                                    AND rpd.valueflag = '1'
+                                    and rpd.kilncarbatchno = tp.kilncarbatchno
+                                   AND RPD.Procedureid IN (20, 22, 23, 37, 41) 
+                            
+                                   -- 20250925 当前包装入库之后的时间段  是否有复检的条码  ,如果没有复检包装入库的条码、或 有复检包装入库的条码且合格
+                                  LEFT JOIN tp_pm_productiondata_semicheck semi
+                                    ON semi.barcode = tp.barcode
+                                  LEFT JOIN tp_pm_productiondata rpdsemi
+                                    ON rpdsemi.productiondataid = semi.productiondataid
+                                   AND rpdsemi.valueflag = '1'
+                                      -- 当前包装入库之后的时间段
+                                   AND rpdsemi.createtime > tp.createtime
+			                where 
+                            pppr.ProcedureID = 15  AND pppr.valueflag = '1'
+                            and pppr.checktime>= date'" + Convert.ToDateTime(context.Request["datebeginMaster"]).ToString("yyyy-MM-dd") + @"'  
+                            and pppr.checktime<= date'" + Convert.ToDateTime(context.Request["dateendMaster"]).AddSeconds(1).ToString("yyyy-MM-dd") + @"' 
+                            GROUP BY tp.groutingdailydetailid
+
+ UNION ALL
+                                SELECT 3 FLAG
+                                      ,tp.groutingdailydetailid,null  mpdid
+                                      ,0 OUT_K_B
+                                      ,0 OUT_K_R
+                                      ,0 OUT_K_ALL
+                                      ,0 OK_B
+                                      ,0 OK_R
+                                      ,0 OK_H
+                                      ,0 OK_RH
+                                      ,0 OK_ALL
+                                      ,0 END_B
+                                      ,0 END_R
                                       ,CASE
                                          WHEN COUNT(DISTINCT  CASE
                                                      WHEN TP.PROCEDUREID = 13 and RPD.groutingdailydetailid is not null THEN
@@ -243,11 +304,11 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                           0
                                        END END_H
                                       ,CASE
-                                         WHEN SUM(CASE
+                                         WHEN  COUNT(DISTINCT  CASE
                                                      WHEN TP.PROCEDUREID = 35 and RPD.groutingdailydetailid is not null THEN
-                                                     1
-                                                    ELSE
-                                                     0
+                                                     tp.barcode
+                                          ELSE
+                                           NULL
                                                   END) > 0 THEN
                                           1
                                          ELSE
@@ -267,8 +328,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                                        and pmax.goodsleveltypeid IN (4, 5)
                                                        AND pmax.procedureid IN (13, 35)
                                                      WHERE  tp.procedureid = 15 AND tp.valueflag = '1'
-                                                       AND TP.checktime >= date'" + Convert.ToDateTime(context.Request["datebeginMaster"]).ToString("yyyy-MM-dd") + @"'
-                                           AND TP.checktime <=  date'" + Convert.ToDateTime(context.Request["dateendMaster"]).AddSeconds(1).ToString("yyyy-MM-dd") + @"' 
+                                                       AND TP.createtime >= date'" + Convert.ToDateTime(context.Request["datebeginMaster"]).ToString("yyyy-MM-dd") + @"'
+                                           AND TP.createtime <=  date'" + Convert.ToDateTime(context.Request["dateendMaster"]).AddSeconds(1).ToString("yyyy-MM-dd") + @"' 
                                             {strFactoryInspection}
                                                      GROUP BY tp.productiondataid
                                                              ,tp.groutingdailydetailid) maxp                                          
@@ -295,8 +356,8 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                                    AND rpdsemi.createtime > tp.createtime
 			                where 
                             pppr.ProcedureID = 15  AND pppr.valueflag = '1'
-                            and pppr.checktime>= date'" + Convert.ToDateTime(context.Request["datebeginMaster"]).ToString("yyyy-MM-dd") + @"'  
-                            and pppr.checktime<= date'" + Convert.ToDateTime(context.Request["dateendMaster"]).AddSeconds(1).ToString("yyyy-MM-dd") + @"' 
+                            and pppr.createtime>= date'" + Convert.ToDateTime(context.Request["datebeginMaster"]).ToString("yyyy-MM-dd") + @"'  
+                            and pppr.createtime<= date'" + Convert.ToDateTime(context.Request["dateendMaster"]).AddSeconds(1).ToString("yyyy-MM-dd") + @"' 
                             GROUP BY tp.groutingdailydetailid
 
                          UNION ALL

+ 44 - 13
wwwroot/mes/rpt/rpt008/rpt_index_detail.html

@@ -15,7 +15,7 @@
 
         .sidebar {
             flex: 1;
-            height:100%;
+            height: 100%;
             background-color: #f4f4f4;
             padding: 20px;
         }
@@ -26,34 +26,46 @@
             background-color: red;
             padding: 20px;
         }
+
         .panel-tool a {
-            display:none !important;
+            display: none !important;
         }
     </style>
 </head>
 <body class="easyui-layout">
 
     <div data-options="region:'west',plain:true,border:false,split:true,title:'详细条码'" style="width:100%">
+        <!--工具条-->
+        <div id="tb" class="i-toolbar"> 
+            <a href="javascript:void(0)" id="btnExport" title="导出" class="easyui-linkbutton" iconcls="icon-excel" plain="true" onclick="tbExport()">导出</a>        
+        </div>
+        <!-- HTML 遮罩层 -->
+        <div id="loading-mask" style="display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.5); z-index:9999;">
+            <div style="position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); color:white; font-size:16px;">
+                正在处理,请稍等。。。
+            </div>
+        </div>
         <!--表格-->
         <table id="DataGridMasterGrid"
                data-options="toolbar: '#tb',method:'get',border:false,singleSelect:true,fit:true,fitColumns:false,rownumbers:true,onDblClickCell:dgDblclickcellleftdetail">
             <thead>
-                <tr> 
-                    <th data-options="field:'产品编码',title:'产品编码',width:250,align:'center',sortable:false"></th> 
+                <tr>
+                    <th data-options="field:'产品编码',title:'产品编码',width:250,align:'center',sortable:false"></th>
                     <th data-options="field:'产品条码',title:'产品条码',width:250,align:'center',sortable:false"></th>
                 </tr>
             </thead>
         </table>
-    </div>    
+
+    </div>
 
     <script type="text/javascript">
 
         // 点击某行某列
-        function dgDblclickcellleftdetail(index, fields, value) {         
-            if (fields == "产品条码") { 
+        function dgDblclickcellleftdetail(index, fields, value) {
+            if (fields == "产品条码") {
                 window.location.href = '../rpt042/rpt_index.html?barcode=' + value;
             }
-        } 
+        }
 
         function cancelForm() {
             $.dialog.close();
@@ -71,11 +83,12 @@
 
         let params = getQueryParams();
         console.log(params); // {param1: "value1", param2: "value2"}
-
+        
         $(document).ready(function () {
-            let params = getQueryParams(); 
+            let params = getQueryParams();
+            $('#loading-mask').show();
             //传入的参数
-            let queryParams = JSON.parse(localStorage.getItem("SearchSubmit")); 
+            let queryParams = JSON.parse(localStorage.getItem("SearchSubmit"));
             $('#DataGridMasterGrid').datagridLoadRpt({
                 title: '',
                 idField: 'SID',
@@ -85,11 +98,29 @@
                 fixWidth: 140,
                 mergeWidth: 80,
                 pagination: false,
-                splitChar: '_'
+                splitChar: '_',
+                onLoadSuccess: function (data) {  
+                    $('#loading-mask').hide();
+                }
             });
-           
+
         });
 
+        //导出
+        function tbExport() {
+            var fields = $('#DataGridMasterGrid').datagrid('getColumnFields');
+            var headers = [];
+            for (var i = 0; i < fields.length; i++) { 
+                headers.push(fields[i]);
+            }
+            $('#DataGridMasterGrid').datagridExport({
+                headers: headers,
+                fileName: '导出条码数据(产品合格数统计表-结转).xls',
+                workSheet: '导出条码数据(产品合格数统计表-结转)'
+            });
+            
+        }
+
     </script>
 </body>
 </html>

+ 12 - 12
wwwroot/mes/rpt/rpt008/rptnew_detail.ashx

@@ -139,7 +139,7 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
                                 FROM (SELECT MAX(tp.productiondataid) productiondataid
                                               ,TP.GROUTINGDAILYDETAILID 
                                           FROM TP_PM_PRODUCTIONDATA TP                                        
-                                         WHERE   TP.PROCEDUREID IN (35)
+                                         WHERE   TP.PROCEDUREID IN (35) 
                                                 AND TP.checktime >= @DATEBEGIN@
                                                 AND TP.checktime < @DATEEND@                                       
                                          GROUP BY TP.GROUTINGDAILYDETAILID 
@@ -177,7 +177,7 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
                                 FROM (SELECT MAX(tp.productiondataid) productiondataid
                                               ,TP.GROUTINGDAILYDETAILID 
                                           FROM TP_PM_PRODUCTIONDATA TP                                        
-                                         WHERE   TP.PROCEDUREID IN (35)   
+                                         WHERE   TP.PROCEDUREID IN (35)    AND tp.valueflag = 1
                                                 AND TP.createtime >= @DATEBEGIN@
                                                 AND TP.createtime < @DATEEND@ 
                                          GROUP BY TP.GROUTINGDAILYDETAILID 
@@ -215,7 +215,7 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
                                 FROM (SELECT MAX(tp.productiondataid) productiondataid
                                               ,TP.GROUTINGDAILYDETAILID 
                                           FROM TP_PM_PRODUCTIONDATA TP                                        
-                                         WHERE   TP.PROCEDUREID IN (13)
+                                         WHERE   TP.PROCEDUREID IN (13)  AND tp.valueflag = 1
                                                 AND TP.createtime >= @DATEBEGIN@
                                                 AND TP.createtime < @DATEEND@                                        
                                          GROUP BY TP.GROUTINGDAILYDETAILID 
@@ -421,7 +421,7 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
 							AND (G.LOGOID = @LOGOID@ OR @LOGOID@ IS NULL)
 							AND (G.GLAZETYPEID = @GLAZETYPEID@ OR @GLAZETYPEID@ IS NULL)
 							AND (M.GOODSMODEL = @GOODSMODEL@ OR @GOODSMODEL@ IS NULL)
-							AND (M.GOODSNAME = @GOODSNAME@ OR @GOODSNAME@ IS NULL)  order by TP_PM_ProductionData.Barcode "; 
+							AND (M.GOODSNAME = @GOODSNAME@ OR @GOODSNAME@ IS NULL)  order by tp.Barcode "; 
                         break;
                     }
                 case "包装数_重烧回收":
@@ -437,8 +437,8 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
            and pmax.goodsleveltypeid IN (4, 5)
            AND pmax.procedureid IN (13, 35)
          WHERE  tp.procedureid = 15  AND tp.valueflag = '1'
-           AND tp.checktime >=  @DATEBEGIN@
-           AND tp.checktime < @DATEEND@    
+           AND tp.createtime >=  @DATEBEGIN@
+           AND tp.createtime < @DATEEND@    
          GROUP BY tp.productiondataid
                  ,tp.groutingdailydetailid) maxp
 --当前包装入库
@@ -471,8 +471,8 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
 								  LEFT JOIN TP_MST_GOODS M
 									ON G.GOODSID = M.GOODSID
 			                where  pppr.ProcedureID = 15 AND pppr.valueflag = '1'
-                            AND pppr.checktime >= @DATEBEGIN@
-                            AND pppr.checktime < @DATEEND@                                       
+                            AND pppr.createtime >= @DATEBEGIN@
+                            AND pppr.createtime < @DATEEND@                                       
 							AND tp.GOODSCODE IN( '" + gs + @"' ) 
                             and TP.PROCEDUREID = 35 and RPD.groutingdailydetailid is not null   
 							AND  L.BUILDINGNO {BUILDINGNO}
@@ -495,8 +495,8 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
            and pmax.goodsleveltypeid IN (4, 5)
            AND pmax.procedureid IN (13, 35)
          WHERE  tp.procedureid = 15  AND tp.valueflag = '1'
-           AND tp.checktime >=  @DATEBEGIN@
-           AND tp.checktime < @DATEEND@    
+           AND tp.createtime >=  @DATEBEGIN@
+           AND tp.createtime < @DATEEND@    
          GROUP BY tp.productiondataid
                  ,tp.groutingdailydetailid) maxp
 --当前包装入库
@@ -529,8 +529,8 @@ public class rptnew_detail : IHttpHandler, IReadOnlySessionState
 								  LEFT JOIN TP_MST_GOODS M
 									ON G.GOODSID = M.GOODSID
 			                where   pppr.ProcedureID = 15 AND pppr.valueflag = '1'
-                            AND pppr.checktime >= @DATEBEGIN@
-                            AND pppr.checktime < @DATEEND@                                          
+                            AND pppr.createtime >= @DATEBEGIN@
+                            AND pppr.createtime < @DATEEND@                                          
 							AND tp.GOODSCODE IN( '" + gs + @"' ) 
                             and TP.PROCEDUREID = 13 and RPD.groutingdailydetailid is not null   
 							AND  L.BUILDINGNO {BUILDINGNO}

+ 40 - 11
wwwroot/mes/rpt/rpt014/rpt_index_detail.html

@@ -32,21 +32,30 @@
     </style>
 </head>
 <body class="easyui-layout">
-
+    <!--工具条-->
+    <div id="tb" class="i-toolbar">
+        <a href="javascript:void(0)" id="btnExport" title="导出" class="easyui-linkbutton" iconcls="icon-excel" plain="true" onclick="tbExport()">导出</a>
+    </div>
+    <!-- HTML 遮罩层 -->
+    <div id="loading-mask" style="display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.5); z-index:9999;">
+        <div style="position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); color:white; font-size:16px;">
+            正在处理,请稍等。。。
+        </div>
+    </div>
     <div data-options="region:'west',plain:true,border:false,split:true,title:'详细条码'" style="width:50%">
         <!--表格-->
         <table id="DataGridMasterGrid"
                data-options="toolbar: '#tb',method:'get',border:false,singleSelect:true,fit:true,fitColumns:false,rownumbers:true,onDblClickCell:dgDblclickcellleftdetail">
             <thead>
-                <tr> 
-                    <th data-options="field:'产品编码',title:'产品编码',width:250,align:'center',sortable:false"></th> 
+                <tr>
+                    <th data-options="field:'产品编码',title:'产品编码',width:250,align:'center',sortable:false"></th>
                     <th data-options="field:'产品条码',title:'产品条码',width:250,align:'center',sortable:false"></th>
                 </tr>
             </thead>
         </table>
 
     </div>
-    <div data-options="region:'east',plain:true,border:false,split:true,title:'改判条码'"style="width:50%">
+    <div data-options="region:'east',plain:true,border:false,split:true,title:'改判条码'" style="width:50%">
         <!--表格-->
         <table id="DataGridMasterGridChange"
                data-options="toolbar: '#tb',method:'get',border:false,singleSelect:true,fit:true,fitColumns:false,rownumbers:true,onDblClickCell:dgDblclickcellrightdetail">
@@ -62,17 +71,33 @@
 
     <script type="text/javascript">
 
+        //导出
+        function tbExport() {
+            var fields = $('#DataGridMasterGrid').datagrid('getColumnFields');
+            var headers = [];
+            for (var i = 0; i < fields.length; i++) {
+                headers.push(fields[i]);
+            }
+            $('#DataGridMasterGrid').datagridExport({
+                headers: headers,
+                fileName: '导出条码数据(新每窑质量总缺陷统计表-结转).xls',
+                workSheet: '导出条码数据(新每窑质量总缺陷统计表-结转)'
+            });
+
+        }
+
+
         // 点击某行某列
-        function dgDblclickcellleftdetail(index, fields, value) {         
-            if (fields == "产品条码") { 
+        function dgDblclickcellleftdetail(index, fields, value) {
+            if (fields == "产品条码") {
                 window.location.href = '../rpt042/rpt_index.html?barcode=' + value;
             }
         }
 
         // 点击某行某列
-        function dgDblclickcellrightdetail(index, fields, value) {  
+        function dgDblclickcellrightdetail(index, fields, value) {
             if (fields == "产品条码") {
-                window.location.href = '../rpt042/rpt_index.html?barcode=' + value;                
+                window.location.href = '../rpt042/rpt_index.html?barcode=' + value;
             }
         }
 
@@ -96,10 +121,11 @@
 
 
         $(document).ready(function () {
-            let params = getQueryParams(); 
+            let params = getQueryParams();
             //传入的参数
             let queryParams = JSON.parse(localStorage.getItem("SearchSubmit"));
-            console.log("$(document).ready",queryParams, params);
+            console.log("$(document).ready", queryParams, params);
+            $('#loading-mask').show();
             $('#DataGridMasterGrid').datagridLoadRpt({
                 title: '',
                 idField: 'SID',
@@ -108,7 +134,10 @@
                 fixWidth: 140,
                 mergeWidth: 80,
                 pagination: false,
-                splitChar: '_'
+                splitChar: '_',
+                onLoadSuccess: function (data) {
+                    $('#loading-mask').hide();
+                }
             });
             $('#DataGridMasterGridChange').datagridLoadRpt({
                 title: '',