Subversion Repositories SmartDukaan

Rev

Rev 33253 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
33247 ranu 1
<style>
2
    .tdInput .bootstrap-tagsinput {
3
        width: 100%;
4
    }
5
</style>
6
<div class="well" style="padding: 10px;">
7
    <p><b>#<span id="selectedTransactionId"></span> - Order List</b></p>
8
    <input type="hidden" id="selectedWarehouseId">
9
    <h4>In Stock </h4>
10
    <table id="wareHouseTransactionTable" class="table table-striped table-advance table-hover" style="width:100%">
11
        <thead>
12
        <tr>
13
            <th>Id</th>
14
            <th>Product Desc</th>
15
            <th>Scanned Qty</th>
16
            <th>U.Price</th>
17
            <th>Imeis/Quantity to Bill</th>
18
        </tr>
19
        </thead>
20
        <tbody>
21
            #if(!$inStockOrdersSerialized.isEmpty())
22
                #foreach($order in $inStockOrdersSerialized)
23
                <tr class="main-tr">
24
                    <td class="orderId">$order.getId()</td>
25
                    <td>$order.getLineItem().getItemDescription()</td>
26
                    <td><span class="remainQty">0</span> / <span class="qty">$order.getLineItem().getQuantity()</span>
27
                    </td>
28
                    <td>$order.getLineItem().getUnitPrice()</td>
29
                    #if($order.getLineItem().getItem().getType()=="SERIALIZED")
30
                        <td style="width: 35%;" class="tdInput"><input type="text" class="imeis-to-grn form-control"
31
                                                                       placeholder=""></td>
32
                    #end
33
                </tr>
34
                    #foreach($agingModelEntry in $allOrderSerialNumberMap.entrySet())
35
                        #if($agingModelEntry.getKey() == $order.getId())
36
                            #set($agingModelMap = $agingModelEntry.getValue())
37
                            #foreach($agingModel in $agingModelMap.entrySet())
38
                                #set($agingModelValueMap = $agingModel.getValue())
39
                                #foreach ($aging in $agingModelValueMap.entrySet())
40
                                    #if($agingModelValueMap)
41
                                    <tr>
42
                                        <td colspan="5">
43
                                            <table class="table table-responsive table-bordered"
44
                                                   style="margin-bottom: 0;">
45
                                                <tbody>
46
 
47
                                                <tr>
48
                                                    <td style="width: 20%;"><span><b>Age : </b></span>$aging.getKey()
49
                                                        Days Old
50
                                                    </td>
51
                                                    <td>
52
 
53
                                                        #foreach ($value in $aging.getValue())
54
                                                            <input type="hidden" class="agingserialNumber"
55
                                                                   value="$value.getSerialNumber()">
56
                                                            <span>$value.getMofSerialNumber(),</span>
57
                                                        #end
58
                                                    </td>
59
                                                </tr>
60
 
61
                                                </tbody>
62
 
63
                                            </table>
64
                                        </td>
65
                                    </tr>
66
                                    #end
67
 
68
                                #end
69
 
70
                            #end
71
                        #end
72
                    #end
73
                #end
74
            #end
75
            #if(!$inStockOrdersNonSerialized.isEmpty())
76
                #foreach($order in $inStockOrdersNonSerialized)
77
                <tr class="main-tr">
78
                    <td class="orderId">$order.getId()</td>
79
                    <td>$order.getLineItem().getItemDescription()</td>
80
                    <td><span class="remainQty">0</span> / <span class="qty">$order.getLineItem().getQuantity()</span>
81
                    </td>
82
                    <td>$order.getLineItem().getUnitPrice()</td>
83
                    <td><input type="text" class="form-control filledQty" placeholder="Fill Qty"></td>
84
                </tr>
85
                <tr>
86
                    <td colspan="5">Available Quantity :
87
                        - $orderIdStockAvailabilityMap.getOrDefault($order.getId(),0)</td>
88
                </tr>
89
                #end
90
            #end
91
            #if($inStockOrdersSerialized.isEmpty() && $inStockOrdersNonSerialized.isEmpty())
92
            <tr>
93
                <td colspan="5"> No Order Found</td>
94
            </tr>
95
            #end
96
        </tbody>
97
    </table>
98
    <div class="row">
99
        <div class="col-md-12">
100
            <button type="button" class="btn btn-info pull-right order_accepted">Generate Bill</button>
101
        </div>
102
    </div>
103
</div>
104
<div class="clearfix"></div><br>
105
<div class="well" style="padding: 10px;">
106
    <h4>Out of Stock </h4>
107
    <table id="wareHouseTransactionTable" class="table table-striped table-advance table-hover" style="width:100%">
108
        <thead>
109
        <tr>
110
            <th>Id</th>
111
            <th>Product Desc</th>
112
            <th>Scanned Qty</th>
113
            <th>U.Price</th>
114
        </tr>
115
        </thead>
116
        <tbody>
117
            #if(!$oOSOrdersSerialized.isEmpty())
118
                #foreach($order in $oOSOrdersSerialized)
119
                <tr class="main-tr">
120
                    <td class="orderId">$order.getId()</td>
121
                    <td>$order.getLineItem().getItemDescription()</td>
122
                    <td><span class="remainQty">0</span> / <span class="qty">$order.getLineItem().getQuantity()</span>
123
                    </td>
124
                    <td>$order.getLineItem().getUnitPrice()</td>
125
                </tr>
126
                #end
127
            #end
128
            #if(!$outOfStockOrdersNonSerialized.isEmpty())
129
                #foreach($order in $outOfStockOrdersNonSerialized)
130
                <tr class="main-tr">
131
                    <td class="orderId">$order.getId()</td>
132
                    <td>$order.getLineItem().getItemDescription()</td>
133
                    <td><span class="remainQty">0</span> / <span class="qty">$order.getLineItem().getQuantity()</span>
134
                    </td>
135
                    <td>$order.getLineItem().getUnitPrice()</td>
136
                </tr>
137
                #end
138
            #end
139
            #if($outOfStockOrders.isEmpty() && $outOfStockOrdersNonSerialized.isEmpty())
140
            <tr>
141
                <td colspan="4"> No Order Found</td>
142
            </tr>
143
            #end
144
        </tbody>
145
    </table>
146
</div>
147
<script>
148
    $(document).ready(function () {
149
        $("#wareHouseTransactionTable > tbody > tr").each(function () {
150
            var qtyElem = $(this).find(".qty");
151
            var remainQtyElem = $(this).find(".remainQty");
152
            var qty = parseInt(qtyElem.text()); // Get initial quantity
153
            var imeiInputElem = $(this).find(".imeis-to-grn");
154
 
155
            imeiInputElem.on('itemAdded itemRemoved', function () {
156
                remainQtyElem.text(imeiInputElem.tagsinput('items').length); // Update displayed quantity
157
            });
158
 
159
            imeiInputElem.tagsinput({
160
                maxTags: qty,
161
                trimValue: true,
162
                allowDuplicates: false,
163
                confirmKeys: [13, 44, 188, 32],
164
                delimiterRegex: /[,\s]/,
165
                tagClass: function (item) {
166
                    if (item.valid == null) return 'label label-primary';
167
                    if (item.valid) {
168
                        return 'label label-success';
169
                    } else {
170
                        return 'label label-danger';
171
                    }
172
                },
173
            });
174
 
175
            imeiInputElem.on('itemAdded', function (event) {
176
                var enteredValue = event.item;
177
                var serialNumbers = []; // Array to store all aging serial numbers within this row
178
 
179
                // Collect all aging serial numbers within this row
180
                imeiInputElem.closest("tr").nextUntil('.main-tr').find(".agingserialNumber").each(function () {
181
                    // $(".agingserialNumber").each(function() {
182
                    serialNumbers.push($(this).val());
183
                });
184
                console.log("serial number {}", serialNumbers);
185
 
186
                // Check if entered value exists in any aging serial number within this row
187
                if (!serialNumbers.includes(enteredValue)) {
188
                    $('.bootstrap-tagsinput').find('.tag').last().removeClass('label-primary');
189
                    $('.bootstrap-tagsinput').find('.tag').last().addClass('label-danger');
190
                }
191
            });
192
 
193
 
194
        });
195
    });
196
</script>