Sfoglia il codice sorgente

检验数量统计表

忠帅 张 2 anni fa
parent
commit
f67da32a44
2 ha cambiato i file con 191 aggiunte e 0 eliminazioni
  1. 89 0
      wwwroot/mes/rpt/rpt420/rpt.ashx
  2. 102 0
      wwwroot/mes/rpt/rpt420/rpt_index.html

+ 89 - 0
wwwroot/mes/rpt/rpt420/rpt.ashx

@@ -0,0 +1,89 @@
+<%@ WebHandler Language="C#" Class="rpt" %>
+
+using System;
+using System.Web;
+using System.Web.SessionState;
+using System.Data;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using Curtain.DataAccess;
+using DK.XuWei.WebMes;
+
+public class rpt : IHttpHandler, IReadOnlySessionState
+{
+    public void ProcessRequest(HttpContext context)
+    {
+        context.Response.ContentType = "text/plain";
+        using (IDataAccess conn = DataAccess.Create())
+        {
+            string barcodesql = @"SELECT DISTINCT  BARCODE from TP_PM_FQCITEMSDATA WHERE VALUEFLAG =1 and ACCOUNTID=1
+                                        AND (BARCODE = @BARCODE@ OR @BARCODE@  IS NULL  OR @BARCODE@='' )";
+            List<CDAParameter> barcodePara = new List<CDAParameter>();
+            barcodePara.Add(new CDAParameter("BARCODE", context.Request["BARCODE"].ToString(), DataType.NVarChar));
+            DataTable dt2 = conn.ExecuteDatatable(barcodesql, barcodePara.ToArray());
+            string barocdes = "";
+            for (int i = 0; i < dt2.Rows.Count; i++) {
+                if (i == 0)
+                {
+                    barocdes ="'"+ dt2.Rows[i]["BARCODE"].ToString()+"'";
+                }
+                else { 
+                  barocdes +=",'"+dt2.Rows[i]["BARCODE"].ToString()+"'";                
+                }
+            }
+            //主表
+            if (context.Request["m"].ToString() == "master")
+            {
+                DateTime dateBegin = Convert.ToDateTime(context.Request["datebeginMasterStar"]);
+                DateTime dateEnd = Convert.ToDateTime(context.Request["datebeginMasterEnd"]).AddDays(1);
+                //读取报表数据
+                string sqlStr = @" SELECT * 
+                                            FROM (select 
+			                                       INSPECTITEM,
+                                                   BARCODE,
+                                                   INSPECTVALUE 
+                                            from TP_PM_FQCITEMSDATA
+                                            WHERE VALUEFLAG =1 AND ACCOUNTID=1 
+                                            AND CREATETIME>=@datebeginMasterStar@
+                                            AND CREATETIME<=@datebeginMasterEnd@
+                                            AND (ITEMSID = @ITEMSID@ OR @ITEMSID@  IS NULL  OR @ITEMSID@='')
+                                            )
+                                            PIVOT 
+                                            (listagg ('['||INSPECTVALUE||']', ',') WITHIN GROUP (ORDER BY INSPECTVALUE) FOR BARCODE IN ({BARCODE})) ".Replace("{BARCODE}", barocdes);
+                //获取查询条件
+                List<CDAParameter> sqlPara = new List<CDAParameter>();
+                sqlPara.Add(new CDAParameter("datebeginMasterStar", dateBegin, DataType.DateTime));
+                sqlPara.Add(new CDAParameter("datebeginMasterEnd", dateEnd, DataType.DateTime));
+                 sqlPara.Add(new CDAParameter("ITEMSID", context.Request["INSPECTITEM"].ToString(), DataType.NVarChar));
+                //直接获取不分页数据
+                DataTable dt = conn.ExecuteDatatable(sqlStr, sqlPara.ToArray());
+                 for (int i = 0; i < dt2.Rows.Count; i++) {
+                    dt.Columns["'"+dt2.Rows[i]["BARCODE"].ToString()+"'"].ColumnName = dt2.Rows[i]["BARCODE"].ToString();
+            }
+                string jsonStr = new JsonResult(dt) { total = dt.Rows.Count }.ToJson();
+                context.Response.Write(jsonStr);
+            }
+
+            //子表
+            if (context.Request["m"].ToString() == "detail")
+            {
+
+            }
+
+
+        }
+
+    }
+
+    public bool IsReusable
+    {
+        get
+        {
+            return false;
+        }
+    }
+
+}

+ 102 - 0
wwwroot/mes/rpt/rpt420/rpt_index.html

@@ -0,0 +1,102 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8" />
+    <meta name="keywords" content="dongke,mes,ibossmes">
+    <meta name="description" content="制造企业生产过程执行管理系统">
+    <meta name="author" content="xuwei">
+    <title>东科软件</title>
+    <script src="/plugins/xeasyui/xeasyui.min.js"></script>
+    <link href="/plugins/xeasyui/toolbar.min.css" rel="stylesheet" />
+</head>
+<body class="easyui-layout">
+
+    <!--中部主体-->
+    <div data-options="border:false,region:'center',title:'',iconCls:'icon-grid'">
+        <!--工具条-->
+        <div id="tb" class="i-toolbar">
+            <a href="javascript:void(0)" id="btnSearch" title="搜索" class="easyui-linkbutton" iconcls="icon-search" plain="true" toggle="true" onclick="tbSearch()">搜索</a>
+            <a href="javascript:void(0)" id="btnExport" title="导出" class="easyui-linkbutton" iconcls="icon-excel" plain="true" onclick="tbExport()">导出</a>
+            <a href="javascript:void(0)" id="btnReload" title="刷新" class="easyui-linkbutton" iconcls="icon-reload" plain="true" onclick="tbReload()">刷新</a>
+            <div id="tbSearchDiv" style="display:block;padding:10px;">
+                <form id="ffMaster">
+                    <div>
+                        检验时间:
+                        <input class="easyui-datetimebox" id="datebeginMasterStar" name="datebeginMasterStar" data-options="required:true,prompt:'',tipPosition:'top'" style="width:165px; height:32px;">
+                        - <input class="easyui-datetimebox" id="datebeginMasterEnd" name="datebeginMasterEnd" data-options="required:true,prompt:'',tipPosition:'top'" style="width:165px; height:32px;">
+                        检验标准名称:<input class="easyui-combobox" id="INSPECTITEM" name="INSPECTITEM" data-options="required:false,prompt:'',tipPosition:'top',url:'../rpt.ashx?m=getFQCITEMS',method:'get',valueField:'ITEMSID',textField:'INSPECTNAME',panelHeight:'300px',editable:'true',multiple:false" style="width:215px;height:32px;">
+                        产品条码:
+                        <input class="easyui-textbox" id="barcode" name="barcode" data-options="required:false,prompt:'',tipPosition:'top'" style="width: 120px; height: 32px;">
+                        <a href="javascript:void(0)" id="btnSearchSubmit" title="清空" class="easyui-linkbutton" plain="false" onclick="$('#ffMaster').form('clear')">清空</a>
+                        <a href="javascript:void(0)" id="btnSearchSubmit" title="搜索" class="easyui-linkbutton" plain="false" onclick="tbSearchSubmit()">搜索</a>
+                    </div>
+                </form>
+            </div>
+        </div>
+        <!--表格-->
+        <table class="easyui-datagrid"
+               id="DataGridMaster"
+               data-options="toolbar: '#tb',method:'get',border:false,singleSelect:true,fit:true,fitColumns:true">
+            <thead>
+            </thead>
+        </table>
+    </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() + " 23:59:59";
+			$("#datebeginMasterStar").datetimebox("setValue", beginDate);
+			$("#datebeginMasterEnd").datetimebox("setValue", endDate);
+        });
+
+        //搜索提交
+        function tbSearchSubmit() {
+            if ($('#ffMaster').form("validate")) {
+                $('#DataGridMaster').datagridLoadRpt({
+					title: '',//检验信息表
+                    idField: 'SID',
+                    queryParams: $('#ffMaster').serializeJson(),
+                    url: 'rpt.ashx?m=master&id=' + request('id'),
+                    fixWidth: 260,
+                    mergeWidth: 100,
+                    columnMoving: true
+                });
+            }
+        }
+
+        //导出
+        function tbExport() {
+            //加载表头
+            var fields = $('#DataGridMaster').datagrid('getColumnFields');
+            var headers = [];
+            for (var i = 0; i < fields.length; i++) {
+                //headers.push($('#DataGridMaster').datagrid('getColumnOption', fields[i])['title']);
+                headers.push(fields[i]);
+            }
+
+            $('#DataGridMaster').datagridExport({
+                headers: headers,
+				fileName: '导出数据(检验数量统计表).xls',
+				workSheet: '导出数据(检验数量统计表)'
+            });
+        }
+
+        //搜索按钮
+        function tbSearch() {
+            $('#tbSearchDiv').toggle();
+            $('#DataGridMaster').datagrid('resize');
+        }
+
+        //刷新
+        function tbReload() {
+            tbSearchSubmit();
+        }
+
+    </script>
+</body>
+</html>