Untitled

 avatar
unknown
php
4 years ago
18 kB
30
Indexable
<link rel="stylesheet" href="<?= getAssetURL() ?>adminLTE/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css">
<link rel="stylesheet" href="<?= getAssetURL() ?>adminLTE/bower_components/jquery-ui/themes/base/jquery-ui.css">
<style>
    .example-modal .modal {
        position: relative;
        top: auto;
        bottom: auto;
        right: auto;
        left: auto;
        display: block;
        z-index: 1;
    }

    .example-modal .modal {
        background: transparent !important;
    }

    .fa-eye::before {
        font-size: 25px;
    }

    .grey-header {
        background-color: #d4d9dd;
    }

    .right-position {
        /*text-align: right;*/
        float: right;
    }

    .left-position {
        /*text-align: left;*/
        float: left;
    }

    /*    .cellRed {
        background-color: red;
        color: white;
    }
    
    .cellLightGray {
        background-color: lightgray;
        color: black;
    }
    .cellOrange {
        background-color: darkorange;
        color: white;
    }
    .cellGreen {
        background-color: darkgreen;
        color: white;
    }*/

    .cellRed {
        color: darkred;
        font-weight: bold;
    }

    .cellLightGray {
        font-weight: bold;
        color: darkgray;
    }

    .cellOrange {
        font-weight: bold;
        color: darkorange;
    }

    .cellGreen {
        font-weight: bold;
        color: darkgreen;
    }

    .radio-toolbar {
        margin: auto;
        margin-top: 10px;
        margin-left: 40%;
    }

    .radio-toolbar input[type="radio"] {
        opacity: 0;
        position: fixed;
        width: 0;
    }

    .radio-toolbar label {
        display: inline-block;
        background-color: #ddd;
        padding: 10px 20px;
        font-family: sans-serif, Arial;
        font-size: 16px;
        border: 2px solid #444;
        border-radius: 4px;
    }

    .radio-toolbar label:hover {
        background-color: #dfd;
    }

    .radio-toolbar input[type="radio"]:focus + label {
        border: 2px dashed #444;
    }

    .radio-toolbar input[type="radio"]:checked + label {
        background-color: #bfb;
        border-color: #4c4;
    }
</style>

<script src="<?= getAssetURL() ?>adminLTE/bower_components/datatables.net/js/jquery.dataTables.min.js"></script>
<script src="<?= getAssetURL() ?>adminLTE/bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js"></script>

<!--<script src="https://code.jquery.com/jquery-migrate-3.0.1.js"></script>-->
<script src="<?= getAssetURL() ?>adminLTE/bower_components/jquery-ui/jquery-ui.min.js"></script>

<script>
    var table;
    $(function() {
        var BASE_URL = '<?= BASE_URL ?>';

        $('#insertNewUr').on('click', function() {
            alert('insertNewUr');
        });

        $('#createPR').on('click', function() {
            var value = $(this).val();
            //            alert(value);
        });

        filldatatables();
    });

    function filldatatables(){ 
        table = $('#urList').DataTable({
                    'paging': false,
                    'pageLength': 50,
                    'lengthChange': false,
                    'searching': false,
                    'order': [],
                    'info': true,
                    'autoWidth': true,
                    'alengthMenu': [
                        [-1, 25, 50, 100],
                        ['All', 25, 50, 100]
                    ],
                    'sScrollX': '100%',
                    'sScrollXInner': '100%',
                    "columnDefs": [
                        {
                            "targets": [ 8 ],
                            "visible": false
                        },
                        {
                            "targets": [ 9 ],
                            "visible": false
                        },
                        {
                            "targets": [ 10 ],
                            "visible": false
                        },
                        {
                            "targets": [ 11 ],
                            "visible": false
                        }
                    ]
        });
    }
</script>

<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper" id="purchaseListBody">
    <!-- Content Header (Page header) -->
    <section class="content-header">
        <h1>
            Picking Slip
            <small>Stock Analysis</small>
        </h1>
        <ol class="breadcrumb">
            <li><a href="#"><i class="fa fa-dashboard"></i> Home</a></li>
            <li class="active">PS - Stock Analysis</li>
        </ol>
        <hr />
    </section>


    <section class="content">
        <div class="row">
            <div class="col-xs-12">
                <div class="box box-primary">
                    <form method="post" action="<?= BASE_URL ?>pickingSlip/createFromPS">
                        <div class="radio-toolbar">
                            <input type="radio" id="radioPR" name="radioStockAnalysis" value="PR">
                            <label for="radioPR">Purchase Request</label>

                            <input type="radio" id="radioGI" name="radioStockAnalysis" value="GI">
                            <label for="radioGI">Good Issue</label>
                        </div>
                        <div class="box-header ">
                            <h3 class="box-title"></h3>
                            <div class="left-position">
                                <!--                        <btn class="btn btn-success" id="insertNewUr" >Insert New UR</btn>-->
                                PS Number : <?= $psNo ?>
                            </div>
                            <div class="right-position">
                                <button type="submit" class="btn btn-success rowPR" style="display:none" id="createFromPS" name="action" value="createPR">Create Purchase Request</button> <!-- style="visibility:hidden" -->
                                <button type="submit" class="btn btn-warning rowGI" style="display:none" id="createGI" name="action" value="createGI">Create Goods Issued</button>
                                <input type="hidden" name="psNumber" value="<?= $psNo ?>">
                            </div>
                        </div>
                        <div class="box-header">
                            <table id="urList" class="table table-bordered table-striped">
                                <thead>
                                    <tr>
                                        <th>Material Code<br />Part Code</th>
                                        <th>Description</th>
                                        <th>Brand</th>
                                        <th>Request</th>
                                        <th>SOH</th>
                                        <th>Available</th>
                                        <th>GIT</th>
                                        <th>UOM</th>
                                        <th>History PR</th>
                                        <th>Purchase Req</th>
                                        <th>History GI</th>
                                        <th>Goods Issued</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    <?php
									//$count = 0;
                                    //    if($resultApi['code'] == 200) {
                                    if ($code == 200) {
                                        //        $dataDecode = json_decode($data,true);
                                        $count = 0;
                                        foreach ($data as $i => $ra) {
                                            //            $docDate = date('j F Y',strtotime($ra['doc_date']));
                                            $partCode = $ra['part_code'];
                                            if (count(explode(' ', $partCode)) > 1) {
                                                $partCodeArray = explode(' ', $partCode);
                                                $partCode = implode('|-----|', $partCodeArray);
                                            }
                                            $partCode = str_replace(".", "|", $partCode);
                                            $partCode = str_replace(",", "|COMMASIGN|", $partCode);
											// $partCode = str_replace('"', '|QUOTESIGN|', $partCode);
											// $partCode = str_replace('(', '|KURUNGBUKASIGN|', $partCode);
											// $partCode = str_replace(')', '|KURUNGTUTUPSIGN|', $partCode);
											// $partCode = str_replace('@', '|ATSIGN|', $partCode);
                                            $qtyReq = $ra['part_qty'];
                                            $qtyPR = $ra['QtyPR'];
                                            $qtyGI = $ra['Qtygs'];
                                            $disable = '';
                                            if ($qtyReq == ($qtyPR + $qtyGI) || $qtyReq < ($qtyPR + $qtyGI)) {
                                                $disable = 'disabled';
                                            } else {
                                                $count = $count + 1;
                                            }
                                            $param = $ra['qtysoh'] . "--" . "detail[GI][" . $partCode . "]";
                                            ?>
                                    <tr>
                                        <td><?= $ra['part_code'] ?></td>
                                        <td><?= $ra['part_desc'] ?></td>
                                        <td><?= $ra['brand_name'] ?></td>
                                        <td><?= number_format($ra['part_qty'],2) ?></td>
                                        <td id="detail[GI][<?= $ra['qtysoh'] ?>]"><?= number_format($ra['qtysoh'],2) ?></td>
                                        <td id="detail[GI][<?= $ra['qty_doc_avai'] ?>]"><?= number_format($ra['qty_doc_avai'],2) ?></td>
                                        <td><?= number_format($ra['qtygit'],0) ?></td>
                                        <td><?= $ra['part_unit'] ?></td>
                                        <td><?= number_format($ra['QtyPR'],2) ?></td>
                                        <td><input type="number" name="detail[PR][<?= $partCode ?>]" class="inpt_pr" id="detail[PR][<?= $partCode ?>]" min="0" onkeypress="return hanyaAngka(event)" onchange="checkQtyPR(<?= $ra['qtysoh'] . ",'" . $partCode . "','" . $ra['Qtygs'] . "','" . $ra['part_qty'] . "','" . $ra['QtyPR'] . "'" ?>)" <?php echo $disable; ?>></td>
                                        <td><?= number_format($ra['Qtygs'],2) ?></td>
                                        <td><input type="number" name="detail[GI][<?= $partCode ?>]" class="inpt_gi" id="detail[GI][<?= $partCode ?>]" min="0" onkeypress="return hanyaAngka(event)" onchange="checkQtyGI( <?= $ra['qtysoh'] . ",'" . $partCode . "','" . $ra['Qtygs'] . "','" . $ra['part_qty'] . "','" . $ra['QtyPR'] . "'" ?>)" <?php echo $disable; ?>></td>
                                    </tr>

                                    <?php }
                                    }

                                    if ($count <= 0) {
                                        ?>
                                    <script>
                                        document.getElementById('createFromPS').disabled = true;
                                        document.getElementById('createGI').disabled = true;
                                    </script>

                                    <?php
                                    }         ?>
                                </tbody>
                            </table>

                            <div class="col-md-3 col-xs-12">&nbsp;</div>
                            <div class="col-md-3 col-xs-12">&nbsp;</div>
                        </div>
                        <!-- /.box-header -->
                        <div class="box-body" id="fullTable">
                        </div>
                        <!-- /.box-body -->
                    </form>
                </div>
                <!-- /.box -->
            </div>
        </div>


    </section>

</div>

<script type="text/javascript">
	$(document).ready(function() {
        $(window).keydown(function(event){
            if(event.keyCode == 13) {
            event.preventDefault();
            return false;
            }
        });
    });

    function checkQtyPR(a, b, c, d, e) {
        var idQty = b;
        var qtyReq = d;
        var qtyPRReq = e;
        var strPRInput = 'detail[PR][' + idQty + ']';

        var qtyPRInput = document.getElementById(strPRInput).value; // Input PR
      

        var qtyHistori = Number(qtyPRReq); // Histori PR 

        var totalQty =  Number(qtyPRInput) + Number(qtyPRReq); 
        var maxQty = Number(qtyReq) - Number(qtyPRReq);

        if (totalQty <= qtyReq) {
            document.getElementById('createFromPS').disabled = false;
            document.getElementById('createGI').disabled = false;
        } else {
            alert("Anda sudah melakukan transaksi histori sebanyak " + qtyHistori + ". Maksimal adalah " + maxQty);
            document.getElementById(strPRInput).value = "";
            document.getElementById('createFromPS').disabled = true;
            return false;
        }
    }

    function checkQtyGI(a, b, c, d, e) {
        var qtyAvailable = a;
        var idQty = b;
        var qtyHisGI = c;
        var strInput = 'detail[GI][' + idQty + ']';
       
        var qtyInput = document.getElementById(strInput).value; //Input GI


        var qtyHistori = Number(qtyHisGI); // Histori GI

        var totalQty =  Number(qtyInput) + Number(qtyHisGI) ; 

        if (qtyInput > qtyAvailable) {
            alert("Anda memasukan angka melebihi nilai Stock on Hand");
            document.getElementById(strInput).value = "";
            document.getElementById('createGI').disabled = true;
            return false;
        } else {
            document.getElementById('createGI').disabled = false;
        }
    }

    // function checkQty(a, b, c, d, e) {
    //     var qtyAvailable = a;
    //     var idQty = b;
    //     var qtyHisGI = c;
    //     var qtyReq = d;
    //     var qtyPRReq = e;
    //     var strInput = 'detail[GI][' + idQty + ']';
    //     var strPRInput = 'detail[PR][' + idQty + ']';

    //     var qtyPRInput = document.getElementById(strPRInput).value; // Input PR
    //     var qtyInput = document.getElementById(strInput).value; //


    //     var qtyHistori = Number(qtyPRReq) + Number(qtyHisGI); // Histori PR + Histori GI

    //     var totalQty =  Number(qtyInput) + Number(qtyHisGI) + Number(qtyPRInput) + Number(qtyPRReq); // Number(qtyInput) +
    //     var maxQty = Number(qtyReq) - Number(qtyHisGI) - Number(qtyPRReq);

    //     if (totalQty <= qtyReq) {
    //         document.getElementById('createFromPS').disabled = false;
    //         document.getElementById('createGI').disabled = false;
    //         if (qtyInput > qtyAvailable) {
    //             alert("Anda memasukan angka melebihi nilai Stock on Hand");
    //             document.getElementById(strInput).value = "";
    //             // document.getElementById('createFromPS').disabled = true;
    //             document.getElementById('createGI').disabled = true;
    //             return false;
    //         } else {
    //             // document.getElementById('createFromPS').disabled = false;
    //             document.getElementById('createGI').disabled = false;
    //         }
    //     } else {
    //         alert("Anda sudah melakukan transaksi histori sebanyak " + qtyHistori + ". Maksimal adalah " + maxQty);
    //         // document.getElementById(strInput).value = "";
    //         document.getElementById('createFromPS').disabled = true;
    //         document.getElementById('createGI').disabled = true;
    //         return false;
    //     }

    // }
	
    function hanyaAngka(evt) {

        var charCode = (evt.which) ? evt.which : event.keyCode

        if (charCode > 31 && (charCode != 46 && charCode < 48 || charCode > 57))
        return false;
        return true;
    }

    $("#radioPR").click(function()
    { 
        var x = document.getElementsByClassName("inpt_gi"); 
        for(var n = 0; n < x.length; n++) { 
            x[n].value = "";
        }
        
        var divsToHide = document.getElementsByClassName("rowPR"); //divsToHide is an array
        for(var i = 0; i < divsToHide.length; i++){
            divsToHide[i].style.display = "block"; 
        }
        var divsToHide = document.getElementsByClassName("rowGI"); //divsToHide is an array
        for(var i = 0; i < divsToHide.length; i++){
            divsToHide[i].style.display = "none"; 
        }

        table.columns( [8,9] ).visible( true );
        table.columns( [10,11] ).visible( false );
    });

    $("#radioGI").click(function(){
        var x = document.getElementsByClassName("inpt_pr");
        for(var n = 0; n < x.length; n++) { 
            x[n].value = "";
        }

        var divsToHide = document.getElementsByClassName("rowPR"); //divsToHide is an array
        for(var i = 0; i < divsToHide.length; i++){
            divsToHide[i].style.display = "none"; 
        }
        var divsToHide = document.getElementsByClassName("rowGI"); //divsToHide is an array
        for(var i = 0; i < divsToHide.length; i++){
            divsToHide[i].style.display = "block"; 
        }

        table.columns( [8,9] ).visible( false );
        table.columns( [10,11] ).visible( true );
    });
</script>
<!-- /.row -->

<!-- ."---detail[GI][".$partCode."]" -->
Editor is loading...