Bläddra i källkod

综合优等率报表 修改后台取数逻辑 使出窑数正品数与wcf端一致

忠帅 张 2 år sedan
förälder
incheckning
02a2ff0d17
2 ändrade filer med 40 tillägg och 82 borttagningar
  1. 30 67
      wwwroot/mes/rpt/rpt135/rpt.ashx
  2. 10 15
      wwwroot/mes/rpt/rpt135/rpt_index.html

+ 30 - 67
wwwroot/mes/rpt/rpt135/rpt.ashx

@@ -172,37 +172,41 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                    "		AND (@BUILDINGNO@ IS NULL OR instr(gl.BUILDINGNO , @BUILDINGNO@) > 0) " +
                    "		AND (@HIGHPRESSUREFLAG@ IS NULL OR instr(gl.HIGHPRESSUREFLAG , @HIGHPRESSUREFLAG@) > 0)" +
                    "		AND (@goodstypecode@ IS NULL OR instr(gt.goodstypecode,@goodstypecode@) = 1)";
-
                     // 产品编码条件修正 fenglinyong modify 2022-05-10
                     if (!string.IsNullOrWhiteSpace(context.Request["goodscode"] + ""))
                     {
                         sqlStr += " and instr(p.goodscode,@GOODSCODE@) > 0 \n";
                         sqlPara.Add(new CDAParameter("GOODSCODE", context.Request["goodscode"]));
                     }
-
-                    sqlStr += "         group by p.goodsid\n" +
-                    "      UNION ALL\n" +
-                    "      select p.goodsid\n" +
-                    "        ,0 AS OUTflag\n" +
-                    "        ,0 b_out_num\n" +
-                    "        ,nvl(sum(case when p.goodsleveltypeid in(6,7) and p.isrefire='0' then 1 else 0 end), 0) b_bad_num -- 本烧不合格数\n" +
-                    "        ,0 c_out_num\n" +
-                    "        ,nvl(sum(case when p.goodsleveltypeid in(6,7)and p.isrefire='6' then 1 else 0 end), 0) c_bad_num -- 重烧不合格数\n" +
-                    "      from tp_pm_productiondata p\n" +
-                    "       INNER JOIN tp_mst_goods g ON p.goodsid = g.goodsid\n" +
-                    "       LEFT JOIN TP_MST_GOODSTYPE GT ON g.GOODSTYPEID=GT.GOODSTYPEID\n" +
-                    "       LEFT JOIN TP_PC_GROUTINGLINE gl on gl.GROUTINGLINEID=p.GROUTINGLINEID\n" +
-                    "      where p.accountid = @accountid@\n" +
-                    "         AND P.VALUEFLAG = 1\n" +
-                    "         and p.modeltype IN (-1, -4, -5)\n" +
-                    "         and p.CHECKBATCHNO = 1\n" +
-                    "         and length(p.kilncarbatchno) > 0\n" +
-                    "         and p.createtime >= @datebegin@\n" +
-                    "         and p.createtime <  @dateend@\n"+
-                    "		AND (@BUILDINGNO@ IS NULL OR instr(gl.BUILDINGNO , @BUILDINGNO@) > 0) " +
-                   "    	AND (@HIGHPRESSUREFLAG@ IS NULL OR instr(gl.HIGHPRESSUREFLAG , @HIGHPRESSUREFLAG@) > 0)" +
-                   "		AND (@goodstypecode@ IS NULL OR instr(gt.goodstypecode,@goodstypecode@) = 1)";
-
+                    sqlStr += @"  GROUP BY 	p.goodsid  
+                                    UNION ALL
+                                    select 	p.goodsid
+                                        ,0 AS OUTflag
+                                        ,0 b_out_num
+                                        ,nvl(sum(case when p.goodsleveltypeid in(6,7) and p.isrefire='0' then 1 else 0 end), 0) b_bad_num -- 本烧不合格数
+                                        ,0 c_out_num
+                                        ,nvl(sum(case when p.goodsleveltypeid in(6,7)and p.isrefire='6' then 1 else 0 end), 0) c_bad_num -- 重烧不合格数
+                                      from (
+			                                select distinct 				p.goodsleveltypeid
+                                                               ,p.barcode
+                                                               ,p.goodsid
+															                                 ,p.ISREFIRE
+                                                  from tp_pm_productiondata p
+                                                 inner join tp_pm_groutingdailydetail gdd on gdd.groutingdailydetailid = p.groutingdailydetailid
+								                                LEFT JOIN TP_PC_GROUTINGLINE gl on gl.GROUTINGLINEID=p.GROUTINGLINEID
+                                                INNER JOIN TP_PM_DEFECT dfc on dfc.productiondataid=p.productiondataid
+								                                INNER JOIN tp_mst_goods g ON p.goodsid = g.goodsid
+								                                LEFT JOIN TP_MST_GOODSTYPE GT ON g.GOODSTYPEID=GT.GOODSTYPEID
+		                                 where p.accountid = @accountid@
+                                         AND P.VALUEFLAG = 1
+                                         and p.modeltype IN (-1, -4, -5)
+                                         and p.CHECKBATCHNO = 1
+                                         and length(p.kilncarbatchno) > 0
+                                         and p.createtime >= @datebegin@
+                                         and p.createtime <  @dateend@
+				                                AND (@BUILDINGNO@ IS NULL OR instr(gl.BUILDINGNO , @BUILDINGNO@) > 0)   
+				                                AND (@HIGHPRESSUREFLAG@ IS NULL OR instr(gl.HIGHPRESSUREFLAG , @HIGHPRESSUREFLAG@) > 0)		
+				                                AND (@goodstypecode@ IS NULL OR instr(gt.goodstypecode,@goodstypecode@) = 1) ";
                     // 产品编码条件修正 fenglinyong modify 2022-05-10
                     if (!string.IsNullOrWhiteSpace(context.Request["goodscode"] + ""))
                     {
@@ -210,51 +214,10 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                         sqlPara.Add(new CDAParameter("GOODSCODE", context.Request["goodscode"]));
                     }
 
-                    sqlStr +=  "              group by p.goodsid ) pp group by pp.goodsid) ppp\n" +
+                    sqlStr +=  " )P GROUP BY 	p.goodsid ) pp group by pp.goodsid) ppp\n" +
                     "     inner join tp_mst_goods g\n" +
                     "        on g.goodsid = ppp.goodsid\n" +
                     "     order by g.goodscode";
-
-                    //读取报表数据
-                    //              string sqlStr = @"
-                    //SELECT
-                    //	g.goodscode 产品编码,
-                    //	pp.b_out_num 本烧出窑数,
-                    //	( pp.b_out_num - pp.b_bad_num ) 本烧合格数,
-                    //	( pp.c_out_num - pp.c_bad_num ) 重烧合格数,
-                    //	decode(pp.b_out_num,0,to_number( 0 ),round( ( pp.b_out_num - pp.b_bad_num + pp.c_out_num - pp.c_bad_num ) / pp.b_out_num, 4 ) )  *100 ||'%' 综合合格率 
-                    //FROM
-                    //	(
-                    //	SELECT
-                    //		p.goodsid,
-                    //		nvl(sum( CASE WHEN p.procedureid IN ( 11, 104 ) AND p.isrefire = '0' THEN 1 ELSE 0 END ),0 ) b_out_num,
-                    //		nvl(sum( CASE WHEN p.procedureid IN ( 12, 105 ) AND p.isrefire = '0' THEN 1 ELSE 0 END ),0 ) b_bad_num,
-                    //		nvl(sum( CASE WHEN p.procedureid IN ( 58, 104 ) AND p.isrefire = '6' THEN 1 ELSE 0 END ),0 ) c_out_num,
-                    //		nvl(sum( CASE WHEN p.procedureid IN ( 59, 105 ) AND p.isrefire = '6' THEN 1 ELSE 0 END ),0 ) c_bad_num
-                    //	FROM
-                    //		tp_pm_productiondata p 
-                    //		INNER JOIN tp_mst_goods g ON p.goodsid = g.goodsid
-                    //		LEFT JOIN TP_MST_GOODSTYPE GT ON g.GOODSTYPEID=GT.GOODSTYPEID
-                    //		LEFT JOIN TP_PC_GROUTINGLINE gl on gl.GROUTINGLINEID=p.GROUTINGLINEID
-                    //	WHERE
-                    //		p.valueflag = '1' 
-                    //		AND p.accountid = @accountid@
-                    //		AND (p.procedureid IN ( 11, 58, 104 ) OR ( p.procedureid IN ( 12, 59, 105 ) AND p.goodsleveltypeid IN ( 6, 7 ) ) ) 
-                    //	AND p.createtime >= @datebegin@  AND p.createtime < @dateend@
-                    //	AND (@BUILDINGNO@ IS NULL OR instr(gl.BUILDINGNO , @BUILDINGNO@) > 0)
-                    //	AND (@HIGHPRESSUREFLAG@ IS NULL OR instr(gl.HIGHPRESSUREFLAG , @HIGHPRESSUREFLAG@) > 0)
-                    //	AND (@goodstypecode@ IS NULL OR instr(gt.goodstypecode,@goodstypecode@) = 1)
-                    //             ";
-
-                    //              if (!string.IsNullOrWhiteSpace(context.Request["goodscode"] + ""))
-                    //              {
-                    //                  sqlStr += " and instr(p.goodscode,@GOODSCODE@) > 0 \n";
-                    //                  sqlPara.Add(new CDAParameter("GOODSCODE", context.Request["goodscode"]));
-                    //              }
-                    //              sqlStr += "         group by p.goodsid) pp\n" +
-                    //                                      " inner join tp_mst_goods g\n" +
-                    //                                      "    on g.goodsid = pp.goodsid\n" +
-                    //                                      " order by g.goodscode";
                     sqlPara.Add(new CDAParameter("BUILDINGNO", context.Request["workshopcodeMaster"].ToString()));
                     sqlPara.Add(new CDAParameter("HIGHPRESSUREFLAG",context.Request["HIGHPRESSUREFLAG"]));
                     sqlPara.Add(new CDAParameter("goodstypecode", context.Request["goodstypecode"].ToString()));

+ 10 - 15
wwwroot/mes/rpt/rpt135/rpt_index.html

@@ -20,7 +20,6 @@
             <div id="tbSearchDiv" style="display: block; padding: 10px;">
                 <form id="ffMaster">
                     <div>
-
                         日期 &nbsp;&nbsp;
                         <input class="easyui-datebox" id="datebeginMaster" name="datebeginMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width: 120px; height: 32px;">&nbsp;&nbsp;
                         -&nbsp;&nbsp;
@@ -28,12 +27,16 @@
                         产品编码<input class="easyui-textbox" id="goodscode" name="goodscode" data-options="required:false,prompt:'',tipPosition:'top'" style="width: 120px; height: 32px;">&nbsp;&nbsp;&nbsp;&nbsp;
                         车间号
                         <input class="easyui-combobox" id="workshopcodeMaster" name="workshopcodeMaster" data-options="required:false,prompt:'',tipPosition:'top',
-                        data:[{'value':'','text':'全部'},{'value':'A','text':'A'},{'value':'B','text':'B'},{'value':'C','text':'C'},{'value':'D','text':'D'},{'value':'X','text':'X'},{'value':'12','text':'12'}],
+                        data:[{'value':'','text':'全部'},{'value':'A','text':'一车间'},{'value':'B','text':'二车间'},{'value':'C','text':'三车间'},{'value':'D','text':'四车间'}],
                                method:'get',valueField:'value',textField:'text',panelHeight:'300px',editable:'true'" style="width:120px;height:32px;"> &nbsp;
                         产品类别<input class="easyui-combotree" id="goodstypecode" name="goodstypecode" data-options="required:false,prompt:'',tipPosition:'top',url:'../rpt.ashx?m=getGoodsType',method:'get',panelHeight:'200px',editable:true" style="width:165px;height:32px;">
                         高压标识
                         <input class="easyui-combobox" id="HIGHPRESSUREFLAG" name="HIGHPRESSUREFLAG" data-options="required:false,prompt:'',tipPosition:'top',
                         data:[{'value':'','text':'全部'},{'value':'1','text':'高压'},{'value':'0','text':'普通'}],method:'get',valueField:'value',textField:'text',panelHeight:'300px',editable:'true'" style="width:120px;height:32px;"> &nbsp;
+                        <br/>成型线号:
+                        <input class="easyui-combobox" id="groutinglineMaster" name="groutinglineMaster" data-options="required:false,prompt:'',tipPosition:'top',url:'../../rpt/rpt.ashx?m=getLine&select=1',method:'get',valueField:'GROUTINGLINEID',textField:'GROUTINGLINECODE',panelHeight:'300px',editable:true" style="width: 322px; height: 32px;">
+                        成型工号:
+                        <input class="easyui-combobox" id="usercodeMaster" name="usercodeMaster" data-options="required:false,prompt:'',tipPosition:'top',url:'../rpt.ashx?m=getUser&select=1',method:'get',valueField:'USERCODE',textField:'USERCODE',panelHeight:'300px',editable:'true'" style="width:120px;height:32px;">
                         <a href="javascript:void(0)" id="btnSearchSubmit" title="清空" class="easyui-linkbutton" plain="false" onclick="$('#ffMaster').form('clear')">清空</a>&nbsp;&nbsp;&nbsp;&nbsp;
                         <a href="javascript:void(0)" id="btnSearchSubmit" title="搜索" class="easyui-linkbutton" plain="false" onclick="tbSearchSubmit()">搜索</a>
                     </div>
@@ -51,7 +54,7 @@
                        data-options="toolbar: '#tb',method:'get',border:false,singleSelect:true,fit:true,fitColumns:false">
                     <thead>
                         <tr>
-                            <th data-options="field:'产品编码',title:'产品编码',width:100,align:'left',sortable:false"></th>
+                            <th data-options="field:'产品编码',title:'产品编码',width:100,align:'left',sortable:true"></th>
                             <th data-options="field:'交坯数',title:'交坯数',width:100,align:'left',sortable:false"></th>
                             <th data-options="field:'干补数',title:'干补数',width:100,align:'left',sortable:false"></th>
                             <th data-options="field:'半检不合格数',title:'半检不合格数',width:100,align:'left',sortable:false"></th>
@@ -69,7 +72,7 @@
                        data-options="method:'get',border:false,singleSelect:true,fit:true,fitColumns:false">
                     <thead>
                         <tr>
-                            <th data-options="field:'产品编码',title:'产品编码',width:100,align:'left',sortable:false"></th>
+                            <th data-options="field:'产品编码',title:'产品编码',width:100,align:'left',sortable:true"></th>
                             <th data-options="field:'本烧出窑数',title:'本烧出窑数',width:100,align:'left',sortable:false"></th>
                             <th data-options="field:'本烧合格数',title:'本烧合格数',width:100,align:'left',sortable:false"></th>
                             <th data-options="field:'重烧合格数',title:'重烧合格数',width:100,align:'left',sortable:false"></th>
@@ -80,15 +83,6 @@
             </div>
         </div>
     </div>
-
-    <!--中部右侧-->
-    <!--<div data-options="border:false,region:'east',split:true,title:'子报表',iconCls:'icon-grid'" title="East" style="width:700px;">
-        <table class="easyui-datagrid"
-               id="DataGridDetail"
-               data-options="method:'get',border:false,singleSelect:true,fit:true,fitColumns:true">
-        </table>
-    </div>-->
-
     <script type="text/javascript">
 
         function formatterUA(value, row, index) {
@@ -179,8 +173,9 @@
         //搜索按钮
         function tbSearch() {
             $('#tbSearchDiv').toggle();
-            $('#DataGridMaster').datagrid('resize');
-            $('#DataGridMaster1').datagrid('resize');
+            $('#toolbarLayout').panel('resize', { height: 'auto' });
+			$('body').layout('resize');
+			$('#tableTabs').datagrid('resize');
         }
 
         //刷新