qinqi 2 лет назад
Родитель
Сommit
e955f545a6
2 измененных файлов с 219 добавлено и 0 удалено
  1. 94 0
      wwwroot/mes/rpt/rpt369/rpt.ashx
  2. 125 0
      wwwroot/mes/rpt/rpt369/rpt_index.html

+ 94 - 0
wwwroot/mes/rpt/rpt369/rpt.ashx

@@ -0,0 +1,94 @@
+<%@ 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";
+        context.Response.ContentType = "text/plain";
+        using (IDataAccess conn = DataAccess.Create())
+        {
+            //主表
+            if (context.Request["m"].ToString() == "master")
+            {
+                DateTime dateBegin = Convert.ToDateTime(context.Request["datebeginMasterStar"]);
+                DateTime dateEnd = Convert.ToDateTime(context.Request["datebeginMasterEnd"]).AddDays(1).AddSeconds(-1);
+
+                List<CDAParameter> sqlPara = new List<CDAParameter>();
+                string sqlStr = @"
+                    SELECT DISTINCT PGI.BARCODE as 产品条码,
+                    GD.GOODSCODE AS 产品编码,
+                    GD.GROUTINGLINECODE AS 成型线号,
+                    PGI.WORKSTATION AS 巡检类别,
+                    U.USERCODE as 巡检操作人,
+                    PGI.CREATETIME as 巡检时间, 
+                    PGI.INSPECTIONLEVEL as 巡检等级,
+                    PGI.PACKINGDEFECT as 包装缺陷,
+                    PGI.INSPECTIONGOODSLEVEL as 巡检产品等级,
+                    L.GOODSLEVELNAME as 最终质量状态,
+                        (SELECT LISTAGG(to_char(D.defectcode) || '#' || to_char(d.defectname) || '#' ||
+                                                to_char(d.defectusercode), ',') within GROUP(ORDER BY d.productiondefectid)
+                                FROM tp_pm_defect d
+                                WHERE D.PRODUCTIONDATAID = PDD.PRODUCTIONDATAID
+                                AND D.VALUEFLAG = '1')   AS 最终缺陷记录, 
+                    PGI.VALUEFLAG
+                    FROM TP_PM_PinGuanInspection PGI
+                    LEFT JOIN TP_MST_USER U ON PGI.CREATEUSERID = U.USERID 
+                    LEFT JOIN TP_PM_GROUTINGDAILYDETAIL GD ON GD.BARCODE = PGI.BARCODE
+                    LEFT JOIN TP_MST_GOODSLEVEL L ON L.GOODSLEVELTYPEID = GD.GOODSLEVELTYPEID
+                    LEFT JOIN (SELECT  PD2.BARCODE,
+                        PD2.PRODUCTIONDATAID FROM (
+                        SELECT PD1.BARCODE,
+                        PD1.PRODUCTIONDATAID,
+                        ROW_NUMBER() OVER(PARTITION BY PD1.BARCODE ORDER BY PD1.PRODUCTIONDATAID DESC) AS DATAID
+                        FROM TP_PM_PRODUCTIONDATA PD1 
+                        WHERE PD1.VALUEFLAG = '1'
+                        AND PD1.CHECKBATCHNO = '1'  
+                        ORDER BY PD1.CREATETIME DESC
+                        ) PD2 WHERE PD2.DATAID = 1) PDD ON PDD.BARCODE = PGI.BARCODE 
+                    WHERE  PGI.CREATETIME >= @datebeginMasterStar@ 
+                    AND PGI.CREATETIME <= @datebeginMasterEnd@ ";
+
+                sqlPara.Add(new CDAParameter("datebeginMasterStar", dateBegin, DataType.DateTime));
+                sqlPara.Add(new CDAParameter("datebeginMasterEnd", dateEnd, DataType.DateTime));
+
+                if (context.Request["barcode"] != "" && context.Request["barcode"] != null)
+                {
+                    string barcode = context.Request["barcode"].ToString();
+                    sqlStr += "  AND PGI.BARCODE = @BARCODE@  ";
+                    sqlPara.Add(new CDAParameter("BARCODE", barcode));
+                }
+                sqlStr += "  order by PGI.CREATETIME,PGI.BARCODE  ";
+                
+                //获取数据
+                DataTable dt = conn.ExecuteDatatable(sqlStr, sqlPara.ToArray());
+                string jsonStr = new JsonResult(dt) { total = 0 }.ToJson();
+                context.Response.Write(jsonStr);
+            }
+        }
+    }
+
+    public bool IsReusable
+    {
+        get
+        {
+            return false;
+        }
+    }
+
+
+
+}

+ 125 - 0
wwwroot/mes/rpt/rpt369/rpt_index.html

@@ -0,0 +1,125 @@
+<!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>
+                        <span class="labelspan" style="width:200px;">产品条码<input class="easyui-textbox" id="barcode" name="barcode" data-options="required:false,prompt:'',tipPosition:'top'" style="width: 120px; height: 32px;"></span>
+                        创建时间:
+                        <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;">
+
+                        <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>
+                <tr>
+                    <th data-options="field:'产品条码',title:'产品条码',align:'left',sortable:false"></th>
+                    <th data-options="field:'产品编码',title:'产品编码',align:'left',sortable:false"></th>
+                    <th data-options="field:'成型线号',title:'成型线号',align:'left',sortable:false"></th>
+                    <th data-options="field:'巡检类别',title:'巡检类别',align:'left',sortable:false"></th>
+                    <th data-options="field:'巡检操作人',title:'巡检操作人',align:'left',sortable:false"></th>
+                    <th data-options="field:'巡检时间',title:'巡检时间',align:'left',sortable:false"></th>
+                    <th data-options="field:'巡检等级',title:'巡检等级',align:'left',sortable:false"></th>
+                    <th data-options="field:'包装缺陷',title:'包装缺陷',align:'left',sortable:false"></th>
+                    <th data-options="field:'巡检产品等级',title:'巡检产品等级',align:'left',sortable:false"></th>
+                    <th data-options="field:'最终质量状态',title:'最终质量状态',align:'left',sortable:false"></th>
+                    <th data-options="field:'最终缺陷记录',title:'最终缺陷记录',align:'left',sortable:false"></th>
+
+
+                </tr>
+
+            </thead>
+        </table>
+    </div>
+
+    <script type="text/javascript">
+
+        $(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').datagridLoad({
+                    title: ' 品管数据记录明细表',
+                    idField: 'SID',
+                    queryParams: $('#ffMaster').serializeJson(),
+                    url: 'rpt.ashx?m=master&id=' + request('id'),
+                    fixWidth: 160,
+                    mergeWidth: 100,
+                    splitChar: '_',
+                    columnMenu: '#btnColumnMenu',
+                    columnMoving: true,
+                    pagination: false,
+                    onSelect: LoadDataGridDetail
+                });
+            }
+        }
+        //加载子表数据
+        function LoadDataGridDetail(index, row) {
+            
+        }
+        //导出
+        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: '品管数据记录明细表.xlsx',
+                workSheet: '导出数据(品管数据记录明细表)'
+            });
+
+
+        }
+
+        //搜索按钮
+        function tbSearch() {
+            $('#tbSearchDiv').toggle();
+            $('#DataGridMaster').datagrid('resize');
+        }
+
+        //刷新
+        function tbReload() {
+            tbSearchSubmit();
+        }
+
+    </script>
+</body>
+</html>