Преглед изворни кода

工序产量分析表改动

konghe пре 1 година
родитељ
комит
74fffb13ba
2 измењених фајлова са 218 додато и 197 уклоњено
  1. 42 15
      wwwroot/mes/rpt/rpt423/rpt.ashx
  2. 176 182
      wwwroot/mes/rpt/rpt423/rpt_index.html

+ 42 - 15
wwwroot/mes/rpt/rpt423/rpt.ashx

@@ -32,7 +32,7 @@ public class rpt : IHttpHandler, IReadOnlySessionState
             if (context.Request["m"].ToString() == "0")
             {
                 dateBegin = Convert.ToDateTime(context.Request["datebeginMaster"]);
-                dateEnd = Convert.ToDateTime(context.Request["dateendMaster"]);
+                dateEnd = dateBegin.AddDays(1);
 
                 string sqlwhere = "";
                 if (!string.IsNullOrEmpty(goodstypeCode) && goodstypeCode != "0")
@@ -44,32 +44,53 @@ public class rpt : IHttpHandler, IReadOnlySessionState
                     sqlwhere += " and g.GOODSID in(" + goodsidMaster + ")";
                 }
                 var timespan = dateEnd - dateBegin;
-                if (timespan.TotalHours > 48 || timespan.TotalHours <= 0 || procedureId == "0")
-                {
-                    //context.Response.Write(new JsonResult(JsonStatus.loginError) { message = "必须选择数据来源和生产工序!" }.ToJson());
-                    return;
-                }
+                //if (timespan.TotalHours > 48 || timespan.TotalHours <= 0 || procedureId == "0")
+                //{
+                //    //context.Response.Write(new JsonResult(JsonStatus.loginError) { message = "必须选择数据来源和生产工序!" }.ToJson());
+                //    return;
+                //}
                 string lie = "";
                 string sum = "";
                 string casestr = "";
+                string heji = "";
+                string sumheji = "";
                 for (int i = 1; i <= timespan.TotalHours; i++)
                 {
+                    int begin = ((i + dateBegin.Hour > 24 ? (i + dateBegin.Hour - 24) : (i + dateBegin.Hour)) - 1);
                     lie += i + ",";
-                    sum += "sum(点" + i + ") \"" + ((i + dateBegin.Hour > 24 ? (i + dateBegin.Hour - 24) : (i + dateBegin.Hour)) - 1) + "点至" + (i + dateBegin.Hour > 24 ? (i + dateBegin.Hour - 24) : (i + dateBegin.Hour)) + "点\",";
+                    sum += "sum(点" + i + ") \"" + begin + "点至" + (begin + 1) + "点\",";
                     casestr += "case when createtime<@DATEBEGIN@+ INTERVAL '" + i + "' HOUR and createtime>@DATEBEGIN@ + INTERVAL '" + (i - 1) + "' HOUR then 1 else 0 end as 点" + i + ",";
+                    heji += "\"" + begin + "点至" + (begin + 1) + "点\",";
+                    sumheji += "sum(\"" + begin + "点至" + (begin + 1) + "点\") as \"" + begin + "点至" + (begin + 1) + "点\",";
                 }
                 lie = lie.Trim(',');
                 sum = sum.Trim(',');
                 casestr = casestr.Trim(',');
+                heji = heji.Trim(',');
+                sumheji = sumheji.Trim(',');
 
                 //读取报表数据
                 string sqlStr = @"
-				select   productionlineid 生产线,
-       goodstypename 产品类别,
-       goodscode 产品编码,
-       goodsspecification 产品介绍,
-       GOODSMODEL 产品型号,
-       GLAZETYPE 产品规格,
+                    select  										
+										decode(pdg.gid, 3, '合计', 0, pdg.productionlineid, '--') 生产线,       
+										decode(pdg.gid, 0, pdg.goodstypename, '--') ""产品类别"",
+				decode(pdg.gid, 0, pdg.goodscode, '--') ""产品编码"",
+       decode(pdg.gid, 0, pdg.goodsspecification, '--') ""产品规格"",
+       decode(pdg.gid, 0, pdg.GLAZETYPE, '--') ""釉料类别"",
+ 合计,{heji}
+ from
+ (select   grouping_id(productionlineid,goodscode) gid,       
+  productionlineid,       
+ goodstypename,       
+ goodscode,       
+ goodsspecification,       
+ GLAZETYPE,
+ sum(合计) as 合计,{sumheji} from
+ (select   productionlineid,
+       goodstypename ,
+       goodscode ,
+       goodsspecification ,
+       GLAZETYPE ,
 			 sum(合计) 合计,
             {sum}
 			 from (
@@ -105,17 +126,23 @@ from ( select
     AND exists (Select 1  from TP_MST_UserPurview up where up.PurviewType= 7 and up.UserID = 1828 and (up.PurviewID = -1 or up.PurviewID= pd.ProductionLineId))) b 
 		left join (
 select  {lie}  from dual) numlie on 1=1 ) detail
- group by 
+ GROUP BY 
        productionlineid,
        goodstypename,
        goodstypename,
        goodscode,
        goodsspecification,
        GOODSMODEL,
-       GLAZETYPE
+       GLAZETYPE) group by grouping sets ( (productionlineid,
+       goodstypename,
+       goodscode,
+       goodsspecification,
+       GLAZETYPE),()) ) pdg
                 ".Replace("{lie}", lie)
                 .Replace("{sum}", sum)
                 .Replace("{sqlwhere}", sqlwhere)
+                .Replace("{heji}", heji)
+                .Replace("{sumheji}", sumheji)
                 .Replace("{procedureId}", procedureId)
                 .Replace("{casestr}", casestr);
 

+ 176 - 182
wwwroot/mes/rpt/rpt423/rpt_index.html

@@ -23,18 +23,16 @@
             <div id="tbSearchDiv" style="display:block;padding:10px;">
                 <form id="ffMaster">
                     <div>
-                        开始日期:
-                        <input class="easyui-datetimebox" id="datebeginMaster" name="datebeginMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width:165px; height:32px;">
-                        截止日期:
-                        <input class="easyui-datetimebox" id="dateendMaster" name="dateendMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width:165px; height:32px;">
-                        生产工序
+                        查询日期:
+                        <input class="easyui-datebox" id="datebeginMaster" name="datebeginMaster" data-options="required:true,prompt:'',tipPosition:'top'" style="width:165px; height:32px;">
+                        生产工序:
                         <input class="easyui-combobox" id="procedureidMaster" name="procedureidMaster" data-options="required:true,prompt:'',tipPosition:'top',url:'../../rpt/rpt.ashx?m=getProcedure&select=1',method:'get',valueField:'PROCEDUREID',textField:'PROCEDURENAME',panelHeight:'300px',editable:'true'" style="width:200px;height:32px;">
-                        产品类别
+                        产品类别:
                         <input class="easyui-combotree" id="goodstypecodeMaster" name="goodstypecodeMaster" data-options="required:false,prompt:'',tipPosition:'top',url:'../../rpt/rpt.ashx?m=getGoodsType',method:'get',panelHeight:'200px',editable:true" style="width:180px;height:32px;">
-                        产品编码
+                        产品编码
                         <input class="easyui-combobox" id="goodsidMaster" name="goodsidMaster" data-options="required:false,prompt:'',tipPosition:'top',url:'../../rpt/rpt.ashx?m=getGoods&select=1',method:'get',valueField:'GOODSID',textField:'GOODSCODE',panelHeight:'300px',editable:'true',multiple:true" style="width:200px;height:32px;">
-                        
-                        <a href="javascript:void(0)" id="btnSearchSubmit" title="清空" class="easyui-linkbutton" plain="false" onclick="toClear()">清空</a>
+
+                        <!--<a href="javascript:void(0)" id="btnSearchSubmit" title="清空" class="easyui-linkbutton" plain="false" onclick="toClear()">清空</a>-->
                         <a href="javascript:void(0)" id="btnSearchSubmit" title="搜索" class="easyui-linkbutton" plain="false" onclick="tbSearchSubmit()">搜索</a>
                     </div>
                 </form>
@@ -43,178 +41,174 @@
     </div>
 
     <!--中部-->
-    <div id="tableLayout" data-options="border:false,region:'center',split:true,title:'',iconCls:'icon-grid'" title="East" style="width:700px;">
-        <div id="tableTabs" class="easyui-tabs" data-options="border:false" style="width: 100%; height: 100%">
-            <!--表格-->
-                <table class="easyui-datagrid"
-                       id="DataGrid0"
-                       data-options="method:'get',border:false,singleSelect:true,fit:true,fitColumns:true,onDblClickRow: dgDblclickrow">
-                    <thead data-options="frozen:true">
-                        <tr>
-                        </tr>
-                    </thead>
-                </table>
-        </div>
-    </div>
-
-    <script type="text/javascript">
-
-        function formatterUA(value, row, index) {
-            return Math.round(value*10000) / 100 + '%';
-        }
-
-        $(document).ready(function () {
-            var ctime = new Date();
-            var beginDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + ctime.getDate() + " 00:00:00";
-            var endDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + (ctime.getDate() + 1) + " 00:00:00";
-            $("#datebeginMaster").datetimebox("setValue", beginDate);
-            $("#dateendMaster").datetimebox("setValue", endDate);
-
-            //tbSearchSubmit();
-
-        });
-
-        //主表双击事件
-        function dgDblclickrow(index, row) {
-            $("#tableTabs").tabs("select", 1);
-            LoadDataGridDetail(index, row);
-        }
-
-        // 清空恢复默认值 陈强
-        function toClear() {
-            var ctime = new Date();
-            var beginDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + ctime.getDate() + " 00:00:00";
-            var endDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + (ctime.getDate() + 1) + " 00:00:00";
-            $("#datebeginMaster").datetimebox("setValue", beginDate);
-            $("#dateendMaster").datetimebox("setValue", endDate);
-        }
-
-        //加载子表数据
-        function LoadDataGridDetail(index, row) {
-            //加载子表1
-            //var id = $('#DataGridMaster').datagrid('getSelections')[0]['SID'];
-            var id = row['工序编号'];
-            $('#DataGrid1').datagridLoad({
-                idField: '工序编号',
-                url: 'rpt.ashx?m=1&id=' + id + '&goodstypecodeMaster=' + $('#goodstypecodeMaster').combotree('getValue') + '&goodsidMaster=' + $("#goodsidMaster").combobox('getValues'),
-                pageSize: 10,
-                fixWidth: 160,
-                mergeWidth: 100,
-                splitChar: '_'
-            });
-        }
-
-        //搜索提交
-        function tbSearchSubmit() {
-            var index = $('#tableTabs').tabs('getTabIndex', $('#tableTabs').tabs('getSelected'));
-
-            if (index == 0) {
-                if ($('#ffMaster').form("validate")) {
-                    $('#DataGrid' + index).datagridLoadRpt({
-                        title: '',
-                        idField: 'SID',
-                        queryParams: $('#ffMaster').serializeJson(),
-                        url: 'rpt.ashx?m=' + 0 + '&id=' + request('id'),
-                        pageSize: 10,
-                        fixWidth: 100,
-                        mergeWidth: 120,
-                        splitChar: '$'
-                    });
-                }
-            }
-
-            if (index == 1) {
-                if ($('#ffMaster').form("validate")) {
-                    $('#DataGrid' + index).datagridLoadRpt({
-                        title: '',
-                        idField: 'SID',
-                        queryParams: $('#ffMaster').serializeJson(),
-                        url: 'rpt.ashx?m=' + index,
-                        pageSize: 10,
-                        fixWidth: 100,
-                        mergeWidth: 120,
-                        splitChar: '$'
-                    });
-                }
-            }
-
-        }
-
-        //导出
-        function tbExport() {
-            var index = $('#tableTabs').tabs('getTabIndex', $('#tableTabs').tabs('getSelected'));
-
-            if (index == 0) {
-                //加载表头
-                var fields1 = $('#DataGrid' + index).datagrid('getColumnFields');
-                var fields2 = $('#DataGrid' + index).datagrid('getColumnFields', true);
-                var fields = fields2.concat(fields1);
-                var headers = [];
-                for (var i = 0; i < fields.length; i++) {
-                    //headers.push($('#DataGridMaster').datagrid('getColumnOption', fields[i])['title']);
-                    headers.push(fields[i]);
-                }
-                $('#DataGrid' + index).datagridExport({
-                    headers: headers,
-                    fileName: '导出数据(在产产品汇总表).xls',
-                    workSheet: '导出数据(在产产品汇总表)'
-                });
-            }
-
-            if (index == 1) {
-                //加载表头
-                var fields1 = $('#DataGrid' + index).datagrid('getColumnFields');
-                var fields2 = $('#DataGrid' + index).datagrid('getColumnFields', true);
-                var fields = fields2.concat(fields1);
-                var headers = [];
-                for (var i = 0; i < fields.length; i++) {
-                    //headers.push($('#DataGridMaster').datagrid('getColumnOption', fields[i])['title']);
-                    headers.push(fields[i]);
-                }
-                $('#DataGrid' + index).datagridExport({
-                    headers: headers,
-                    fileName: '导出数据(在产产品明细表).xls',
-                    workSheet: '导出数据(在产产品明细表)'
-                });
-            }
-
-            //$('#DataGridMaster').datagridExport({
-            //    headers: headers,
-            //    fileName: '导出数据(表名).xls',
-            //    workSheet: '导出数据(表名)'
-            //});
-
-            //导出多sheet
-            //$.dataGridToExcel(
-            //    ['DataGridMaster', 'DataGridDetail1', 'DataGridDetail2'],
-            //    ['表名','表名明细表1', '表名明细表2'],
-            //    "导出数据(表名).xls"
-            //);
-        }
-
-        //搜索按钮
-        function tbSearch() {
-            $('#tbSearchDiv').toggle();
-            //$('#DataGridMaster').datagrid('resize');
-            $('#toolbarLayout').panel('resize', { height: 'auto' });
-            $('body').layout('resize');
-            $('#tableTabs').tabs('resize');
-        }
-
-        //刷新
-        function tbReload() {
-            tbSearchSubmit();
-        }
-
-        //帮助事件
-        function tbHelp() {
-            $('#DataGrid0').datagridDialog({
-                title: '帮助',
-                width: 640,
-                height: 480,
-                url: 'rpt_help.html'
-            });
-        }
-    </script>
+                        <div id="tableLayout" data-options="border:false,region:'center',split:true,title:'',iconCls:'icon-grid'" title="East" style="width:700px;">
+                            <div id="tableTabs" class="easyui-tabs" data-options="border:false" style="width: 100%; height: 100%">
+                                <!--表格-->
+                                <table class="easyui-datagrid"
+                                       id="DataGrid0"
+                                       data-options="method:'get',border:false,singleSelect:true,fit:true,fitColumns:true,onDblClickRow: dgDblclickrow">
+                                    <thead data-options="frozen:true">
+                                        <tr>
+                                        </tr>
+                                    </thead>
+                                </table>
+                            </div>
+                        </div>
+
+                        <script type="text/javascript">
+
+                            function formatterUA(value, row, index) {
+                                return Math.round(value * 10000) / 100 + '%';
+                            }
+
+                            $(document).ready(function () {
+                                var ctime = new Date();
+                                var beginDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + ctime.getDate()
+                                $("#datebeginMaster").datebox("setValue", beginDate);
+                                $(".tabs").hide()
+                                //tbSearchSubmit();
+
+                            });
+
+                            //主表双击事件
+                            function dgDblclickrow(index, row) {
+                                $("#tableTabs").tabs("select", 1);
+                                LoadDataGridDetail(index, row);
+                            }
+
+                            // 清空恢复默认值 陈强
+                            function toClear() {
+                                var ctime = new Date();
+                                var beginDate = ctime.getFullYear() + "-" + (ctime.getMonth() + 1) + "-" + ctime.getDate()
+                                $("#datebeginMaster").datebox("setValue", beginDate);
+                            }
+
+                            //加载子表数据
+                            function LoadDataGridDetail(index, row) {
+                                //加载子表1
+                                //var id = $('#DataGridMaster').datagrid('getSelections')[0]['SID'];
+                                var id = row['工序编号'];
+                                $('#DataGrid1').datagridLoad({
+                                    idField: '工序编号',
+                                    url: 'rpt.ashx?m=1&id=' + id + '&goodstypecodeMaster=' + $('#goodstypecodeMaster').combotree('getValue') + '&goodsidMaster=' + $("#goodsidMaster").combobox('getValues'),
+                                    pageSize: 10,
+                                    fixWidth: 160,
+                                    mergeWidth: 100,
+                                    splitChar: '_'
+                                });
+                            }
+
+                            //搜索提交
+                            function tbSearchSubmit() {
+                                var index = $('#tableTabs').tabs('getTabIndex', $('#tableTabs').tabs('getSelected'));
+
+                                if (index == 0) {
+                                    if ($('#ffMaster').form("validate")) {
+                                        $('#DataGrid' + index).datagridLoadRpt({
+                                            title: '',
+                                            idField: 'SID',
+                                            queryParams: $('#ffMaster').serializeJson(),
+                                            url: 'rpt.ashx?m=' + 0 + '&id=' + request('id'),
+                                            pageSize: 10,
+                                            fixWidth: 100,
+                                            mergeWidth: 120,
+                                            splitChar: '$'
+                                        });
+                                    }
+                                }
+
+                                if (index == 1) {
+                                    if ($('#ffMaster').form("validate")) {
+                                        $('#DataGrid' + index).datagridLoadRpt({
+                                            title: '',
+                                            idField: 'SID',
+                                            queryParams: $('#ffMaster').serializeJson(),
+                                            url: 'rpt.ashx?m=' + index,
+                                            pageSize: 10,
+                                            fixWidth: 100,
+                                            mergeWidth: 120,
+                                            splitChar: '$'
+                                        });
+                                    }
+                                }
+
+                            }
+
+                            //导出
+                            function tbExport() {
+                                var index = $('#tableTabs').tabs('getTabIndex', $('#tableTabs').tabs('getSelected'));
+
+                                if (index == 0) {
+                                    //加载表头
+                                    var fields1 = $('#DataGrid' + index).datagrid('getColumnFields');
+                                    var fields2 = $('#DataGrid' + index).datagrid('getColumnFields', true);
+                                    var fields = fields2.concat(fields1);
+                                    var headers = [];
+                                    for (var i = 0; i < fields.length; i++) {
+                                        //headers.push($('#DataGridMaster').datagrid('getColumnOption', fields[i])['title']);
+                                        headers.push(fields[i]);
+                                    }
+                                    $('#DataGrid' + index).datagridExport({
+                                        headers: headers,
+                                        fileName: '导出数据(在产产品汇总表).xls',
+                                        workSheet: '导出数据(在产产品汇总表)'
+                                    });
+                                }
+
+                                if (index == 1) {
+                                    //加载表头
+                                    var fields1 = $('#DataGrid' + index).datagrid('getColumnFields');
+                                    var fields2 = $('#DataGrid' + index).datagrid('getColumnFields', true);
+                                    var fields = fields2.concat(fields1);
+                                    var headers = [];
+                                    for (var i = 0; i < fields.length; i++) {
+                                        //headers.push($('#DataGridMaster').datagrid('getColumnOption', fields[i])['title']);
+                                        headers.push(fields[i]);
+                                    }
+                                    $('#DataGrid' + index).datagridExport({
+                                        headers: headers,
+                                        fileName: '导出数据(在产产品明细表).xls',
+                                        workSheet: '导出数据(在产产品明细表)'
+                                    });
+                                }
+
+                                //$('#DataGridMaster').datagridExport({
+                                //    headers: headers,
+                                //    fileName: '导出数据(表名).xls',
+                                //    workSheet: '导出数据(表名)'
+                                //});
+
+                                //导出多sheet
+                                //$.dataGridToExcel(
+                                //    ['DataGridMaster', 'DataGridDetail1', 'DataGridDetail2'],
+                                //    ['表名','表名明细表1', '表名明细表2'],
+                                //    "导出数据(表名).xls"
+                                //);
+                            }
+
+                            //搜索按钮
+                            function tbSearch() {
+                                $('#tbSearchDiv').toggle();
+                                //$('#DataGridMaster').datagrid('resize');
+                                $('#toolbarLayout').panel('resize', { height: 'auto' });
+                                $('body').layout('resize');
+                                $('#tableTabs').tabs('resize');
+                            }
+
+                            //刷新
+                            function tbReload() {
+                                tbSearchSubmit();
+                            }
+
+                            //帮助事件
+                            function tbHelp() {
+                                $('#DataGrid0').datagridDialog({
+                                    title: '帮助',
+                                    width: 640,
+                                    height: 480,
+                                    url: 'rpt_help.html'
+                                });
+                            }
+                        </script>
 </body>
 </html>