yangle
2024-10-27 8678b5bd27af74197aa795953e3f17d77443bd25
优化spc
1个文件已修改
131 ■■■■■ 已修改文件
WebTM/views/质量管理/质量报表/QC_InspectionFormReport.html 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/ÖÊÁ¿¹ÜÀí/ÖÊÁ¿±¨±í/QC_InspectionFormReport.html
@@ -185,16 +185,32 @@
                                </div>
                            </div>
                        </div>
                        <div>
                        <div class="layui-tab layui-tab-card">
                            <table class="" id="mainTable" lay-filter="mainTable"></table>
                            <div id="histogram_Avg" style="width:99.5%;height:calc(100vh);margin-top:5px;">
                            <ul class="layui-tab-title">
                                <li class="layui-this">x̄管制图</li>
                                <li>R管制图</li>
                                <li>检测值</li>
                            </ul>
                            <div class="layui-tab-content">
                                <div class="layui-tab-item layui-show">
                                    <!--x̄管制图-->
                                    <div id="histogram_Avg" style="width: 99.5%; height: calc(100vh);">
                            </div>
                            <div id="histogram_Diff" style="width:99.5%;height:calc(100vh);margin-top:15px;">
                                    </div>
                                </div>
                                <div class="layui-tab-item layui-show">
                                    <!--R管制图-->
                                    <div id="histogram_Diff" style="width: 99.5%; height: calc(100vh);">
                            </div>
                            <div id="histogram_SJZ" style="width:99.5%;height:calc(100vh);margin-top:15px;">
                                    </div>
                                </div>
                                <div class="layui-tab-item layui-show">
                                    <!--检测值-->
                                    <div id="histogram_SJZ" style="width: 99.5%; height: calc(100vh);">
                                    </div>
                                </div>
                            </div>
                        </div>
                        <script type="text/html" id="toolbarDemo">
@@ -446,6 +462,7 @@
                var x_AVG = 0;
                var x_SUM = 0;
                var x_PPK = 0;
                var x_CPK = 0;
                var numCount = 0
                var c4 = [0.7979, 0.8862, 0.9213, 0.9400, 0.9515, 0.9594, 0.9650, 0.9693, 0.9727, 0.9754, 0.9776, 0.9794, 0.9810, 0.9823, 0.9835, 0.9845, 0.9854, 0.9862, 0.9869, 0.9876, 0.9882, 0.9887, 0.9892, 0.9896];
@@ -467,7 +484,7 @@
                }
                x_PPK = Math.sqrt(calc(x_SUM, (numCount - 1), "/"));
                x_CPK = Math.sqrt(calc(x_SUM, numCount, "/"));
                var limit = $("#limit").val();
                if (parseInt(limit) >= 9) {
                    $("#HCenterline_S").val(x_PPK.toFixed(4));
@@ -477,21 +494,53 @@
                if (limit == 1) {
                    $("#HControlUpperLimit_X").val(calc(x_AVG, calc(x_PPK, 3, "*"), "+"))
                    $("#HControlLowerLimit_X").val(calc(x_AVG, calc(x_PPK, 3, "*"), "-"))
                }
                //上限
                if ($("#HUpLimit").val() != "" && $("#HDownLimit").val() == "") {
                    var HUpLimit = calc(calc(calc(parseFloat($("#HUpLimit").val()), parseFloat($("#HTargetVal").val()), "+"), x_AVG, "-"), calc(calc(3, x_PPK, "*"), c4[option.data.length - 4], "/"), "/");
                    $("#HPPK").val(HUpLimit.toFixed(4));
                }
                //下限
                else if ($("#HDownLimit").val() != "" && $("#HUpLimit").val() == "") {
                    var HDownLimit = calc(calc(x_AVG, calc(parseFloat($("#HDownLimit").val()), parseFloat($("#HTargetVal").val()), "+"), "-"), calc(calc(3, x_PPK, "*"), c4[option.data.length - 4], "/"), "/");
                    $("#HPPK").val(HDownLimit.toFixed(4));
                    //计算样本量为1 çš„ ppk
                    var min = calc(calc(x_AVG, calc(parseFloat($("#HDownLimit").val()), parseFloat($("#HTargetVal").val()), "+"), "-"), calc(3, x_PPK, "*"), "/");
                    var max = calc(calc(calc(parseFloat($("#HUpLimit").val()), parseFloat($("#HTargetVal").val()), "+"), x_AVG, "-"), calc(3, x_PPK, "*"), "/");
                    var DataHCPK = min > max ? max : min;
                    $("#HPPK").val(DataHCPK);
                    //计算样本量为1 çš„ cpk
                    var cpkSum = 0;
                    var CPK_U = 0;
                    var CPK_N = 0;
                    for (var i = 1; i < option.cols[0].length; i++) {
                        for (var j = 0; j < option.data.length - 3; j++) {
                            if (i == 1) {
                                CPK_U = option.data[j][option.cols[0][i].field];
                            } else {
                                CPK_N = option.data[j][option.cols[0][i].field];
                                var data_un = CPK_U > CPK_N ? calc(CPK_U, CPK_N, "-") : calc(CPK_N, CPK_U, "-");
                                cpkSum = calc(cpkSum, data_un, "+");
                                CPK_U = CPK_N;
                            }
                        }
                    }
                    cpkSum = calc(cpkSum, option.cols[0].length - 2, "/");
                    var HAVG_CPK = calc(cpkSum, 1.128, "/");
                    min = calc(calc(x_AVG, calc(parseFloat($("#HDownLimit").val()), parseFloat($("#HTargetVal").val()), "+"), "-"), calc(3, HAVG_CPK, "*"), "/");
                    max = calc(calc(calc(parseFloat($("#HUpLimit").val()), parseFloat($("#HTargetVal").val()), "+"), x_AVG, "-"), calc(3, HAVG_CPK, "*"), "/");
                    DataHCPK = min > max ? max : min;
                    $("#HCPK").val(DataHCPK);
                } else {
                    var HUpLimit = calc(calc(calc(parseFloat($("#HUpLimit").val()), parseFloat($("#HTargetVal").val()), "+"), x_AVG, "-"), calc(calc(3, x_PPK, "*"), c4[option.data.length - 4], "/"), "/");
                    var HDownLimit = (x_AVG - calc(parseFloat($("#HDownLimit").val()), parseFloat($("#HTargetVal").val()), "+")) / ((3 * x_PPK) / c4[option.data.length - 4]);
                    $("#HPPK").val(HUpLimit > HDownLimit ? HDownLimit.toFixed(4) : HUpLimit.toFixed(4));
                    //上限
                    if ($("#HUpLimit").val() != "" && $("#HDownLimit").val() == "") {
                        var HUpLimit = calc(calc(calc(parseFloat($("#HUpLimit").val()), parseFloat($("#HTargetVal").val()), "+"), x_AVG, "-"), calc(calc(3, x_PPK, "*"), c4[option.data.length - 4], "/"), "/");
                        $("#HPPK").val(HUpLimit.toFixed(4));
                    }
                    //下限
                    else if ($("#HDownLimit").val() != "" && $("#HUpLimit").val() == "") {
                        var HDownLimit = calc(calc(x_AVG, calc(parseFloat($("#HDownLimit").val()), parseFloat($("#HTargetVal").val()), "+"), "-"), calc(calc(3, x_PPK, "*"), c4[option.data.length - 4], "/"), "/");
                        $("#HPPK").val(HDownLimit.toFixed(4));
                    } else {
                        var HUpLimit = calc(calc(calc(parseFloat($("#HUpLimit").val()), parseFloat($("#HTargetVal").val()), "+"), x_AVG, "-"), calc(calc(3, x_PPK, "*"), c4[option.data.length - 4], "/"), "/");
                        var HDownLimit = (x_AVG - calc(parseFloat($("#HDownLimit").val()), parseFloat($("#HTargetVal").val()), "+")) / ((3 * x_PPK) / c4[option.data.length - 4]);
                        $("#HPPK").val(HUpLimit > HDownLimit ? HDownLimit.toFixed(4) : HUpLimit.toFixed(4));
                    }
                }
            }
@@ -535,30 +584,32 @@
                    $("#HControlUpperLimit_X").val(calc(x_AVG, calc(A2[$("#limit").val() - 1], s_AVG, "*"), "+"))
                    $("#HControlLowerLimit_X").val(calc(x_AVG, calc(A2[$("#limit").val() - 1], s_AVG, "*"), "-"))
                }
                //差值 æŽ§åˆ¶ä¸Šé™ æŽ§åˆ¶ä¸‹é™
                $("#HControlUpperLimit_S").val(calc(D4[$("#limit").val() - 1], s_AVG, "*"));
                $("#HControlLowerLimit_S").val(calc(D3[$("#limit").val() - 1], s_AVG, "*"))
                $("#HControlLowerLimit_S").val(calc(D3[$("#limit").val() - 1], s_AVG, "*"));
                var limit = $("#limit").val();
                //上限
                if ($("#HUpLimit").val() != "" && $("#HDownLimit").val() == "") {
                    var HUpLimit = calc(calc(calc(parseFloat($("#HUpLimit").val()), parseFloat($("#HTargetVal").val()), "+"), x_AVG, "-"), (3 * s_CPK), "/");
                    $("#HCPK").val(HUpLimit.toFixed(4));
                }
                //下限
                else if ($("#HDownLimit").val() != "" && $("#HUpLimit").val() == "") {
                    var HDownLimit = calc(calc(x_AVG, calc(parseFloat($("#HDownLimit").val()), parseFloat($("#HTargetVal").val()), "+"), "-"), (3 * s_CPK), "/");
                    $("#HCPK").val(HDownLimit.toFixed(4));
                }  else {
                    var HUpLimit = calc(calc(calc(parseFloat($("#HUpLimit").val()), parseFloat($("#HTargetVal").val()), "+"), x_AVG, "-"), (3 * s_CPK), "/");
                    var HDownLimit = calc(calc(x_AVG, calc(parseFloat($("#HDownLimit").val()), parseFloat($("#HTargetVal").val()), "+"), "-"), (3 * s_CPK), "/");
                    if (s_CPK == 0) {
                        $("#HCPK").val(0);
                    } else {
                        $("#HCPK").val(HUpLimit > HDownLimit ? HDownLimit.toFixed(4) : HUpLimit.toFixed(4));
                if (limit > 1) {
                    //上限
                    if ($("#HUpLimit").val() != "" && $("#HDownLimit").val() == "") {
                        var HUpLimit = calc(calc(calc(parseFloat($("#HUpLimit").val()), parseFloat($("#HTargetVal").val()), "+"), x_AVG, "-"), (3 * s_CPK), "/");
                        $("#HCPK").val(HUpLimit.toFixed(4));
                    }
                    //下限
                    else if ($("#HDownLimit").val() != "" && $("#HUpLimit").val() == "") {
                        var HDownLimit = calc(calc(x_AVG, calc(parseFloat($("#HDownLimit").val()), parseFloat($("#HTargetVal").val()), "+"), "-"), (3 * s_CPK), "/");
                        $("#HCPK").val(HDownLimit.toFixed(4));
                    } else {
                        var HUpLimit = calc(calc(calc(parseFloat($("#HUpLimit").val()), parseFloat($("#HTargetVal").val()), "+"), x_AVG, "-"), (3 * s_CPK), "/");
                        var HDownLimit = calc(calc(x_AVG, calc(parseFloat($("#HDownLimit").val()), parseFloat($("#HTargetVal").val()), "+"), "-"), (3 * s_CPK), "/");
                        if (s_CPK == 0) {
                            $("#HCPK").val(0);
                        } else {
                            $("#HCPK").val(HUpLimit > HDownLimit ? HDownLimit.toFixed(4) : HUpLimit.toFixed(4));
                        }
                    }
                }
            }
@@ -971,7 +1022,7 @@
                //Type 2 æ ¹æ®é€‰ä¸­çš„物料去查询数据
                var sWheres = "";
                if (Type == 1) {
                    sWheres = " and æ£€éªŒé¡¹ç›®ä»£ç ='" + $("#HQCCheckItemNumber").val() + "'";
                    sWheres = " and æ£€éªŒé¡¹ç›®ä»£ç ='" + $("#HQCCheckItemNumber").val() + "' and ç‰©æ–™ä»£ç ='" + $("#HMaterNumber").val() + "'";
                }
                if (Type == 2) {
                    sWheres = " and ç‰©æ–™ä»£ç ='" + $("#HMaterNumber").val() + "'";