tum 1 anno fa
parent
commit
63d2194a5d
2 ha cambiato i file con 30 aggiunte e 31 eliminazioni
  1. 0 2
      app/report/templates/report/coi.html
  2. 30 29
      app/report/views.py

+ 0 - 2
app/report/templates/report/coi.html

@@ -8,7 +8,6 @@
8 8
 <div class="container mx-auto px-4 py-8" x-data="COIReport">
9 9
 
10 10
   <h1 class="text-2xl font-bold text-gray-800">Export Center</h1>
11
-  {{ lot_no }}
12 11
   <form method='post'>
13 12
     {% csrf_token %}
14 13
     <div class="flex items-center gap-2 mb-4">
@@ -78,7 +77,6 @@
78 77
             </a>
79 78
           </div>
80 79
         </div>
81
-  {{ result }}
82 80
   
83 81
   <div class="bg-white shadow-md rounded-md p-4">
84 82
 

+ 30 - 29
app/report/views.py

@@ -1,7 +1,7 @@
1 1
 from django.shortcuts import render, redirect, get_object_or_404
2 2
 from django.core.paginator import Paginator
3 3
 from django.contrib import messages
4
-from core.models import Report
4
+from core.models import Report, AllProductDimensionForInsProcess
5 5
 from core.forms import ReportForm
6 6
 from core.utils import ConfigurableCRUDView, queryFromMaster
7 7
 from .filters import ReportFilter
@@ -111,7 +111,7 @@ def clear_values(n, m):
111 111
             placeholders[f'v{i}_{j}'] = " "
112 112
     return placeholders
113 113
 
114
-def generate_hardness_out_values(lot_no):
114
+def generate_hardness_out_values(lot_no, code):
115 115
     """
116 116
     Generate a dictionary of placeholder values for a given lot_no.
117 117
 
@@ -139,7 +139,7 @@ def generate_hardness_out_values(lot_no):
139 139
 
140 140
     return placeholders
141 141
 
142
-def generate_hardness_out_in_values(lot_no):
142
+def generate_hardness_out_in_values(lot_no, code):
143 143
     # Fetch records from the Data model
144 144
     # records = Data.objects.filter(lot_no=lot_no).order_by('row_no')
145 145
     data_h1 = list(Data.objects.filter(lot_no=lot_no).order_by('row_no'))
@@ -183,7 +183,7 @@ def generate_hardness_out_in_values(lot_no):
183 183
     
184 184
     return placeholders
185 185
 
186
-def generate_hardness_both_size_values(lot_no, ms):
186
+def generate_hardness_both_size_values(lot_no, ms,code):
187 187
     # Fetch records from the Data model
188 188
     # records = Data.objects.filter(lot_no=lot_no).order_by('row_no')
189 189
     data_h1 = list(Data.objects.filter(lot_no=lot_no).order_by('row_no', 'sub_order'))
@@ -211,7 +211,7 @@ def generate_hardness_both_size_values(lot_no, ms):
211 211
 # # Example usage:
212 212
 # placeholders_dict = clear_values(6, 3)
213 213
 # print(placeholders_dict)
214
-def generate_dimension_values(lot_no):
214
+def generate_dimension_values(lot_no, code):
215 215
     """
216 216
     Fetch dimension records from manualSize and DataMs models
217 217
     and generate placeholder values for Standard, Actual, and Judgement.
@@ -219,6 +219,7 @@ def generate_dimension_values(lot_no):
219 219
     """
220 220
     # Fetch standard values from manualSize (limit to 2 rows)
221 221
     manual_size_records = Manualsize.objects.filter(lotno=lot_no)
222
+    dimens = AllProductDimensionForInsProcess.objects.filter(ProductCode=code)
222 223
 
223 224
     # Fetch actual and judgement values from DataMs ordered by row_no (limit to 2 rows)
224 225
     data_ms_records = DataMs.objects.filter(lot_no=lot_no).order_by('row_no')
@@ -233,13 +234,13 @@ def generate_dimension_values(lot_no):
233 234
     
234 235
     pprint(placeholders)
235 236
     pprint(manual_size_records) 
236
-    for m in manual_size_records:
237
-        if m.size_name == "D":
238
-            placeholders['v1_1'] = placeholders['v4_1'] = f'{m.std} +{m.tolup} {m.tolun}'
239
-        if m.size_name == "T":
240
-            placeholders['v2_1'] = placeholders['v5_1'] = f'{m.std} +{m.tolup} {m.tolun}'
241
-        if m.size_name == "H":
242
-            placeholders['v3_1'] = placeholders['v6_1'] = f'{m.std} +{m.tolup} {m.tolun}'
237
+    for m in dimens:
238
+        if m.Size_Name == "D":
239
+            placeholders['v1_1'] = placeholders['v4_1'] = f'D{m.Std} +{m.TolUp} {m.TolUn}'
240
+        if m.Size_Name == "T":
241
+            placeholders['v2_1'] = placeholders['v5_1'] = f'T{m.Std} +{m.TolUp} {m.TolUn}'
242
+        if m.Size_Name == "H":
243
+            placeholders['v3_1'] = placeholders['v6_1'] = f'H{m.Std} +{m.TolUp} {m.TolUn}'
243 244
 
244 245
 
245 246
 
@@ -278,7 +279,7 @@ def is_ok(instance):
278 279
                 return False
279 280
     return True
280 281
 
281
-def generate_dimension_app_values(lot_no):
282
+def generate_dimension_app_values(lot_no, code):
282 283
     """
283 284
     Fetch dimension records from manualSize and DataMs models
284 285
     and generate placeholder values for Standard, Actual, and Judgement.
@@ -349,7 +350,7 @@ def generate_dimension_app_values(lot_no):
349 350
     hide_con(placeholders, "v5_1", "26:32")
350 351
     return placeholders
351 352
 
352
-def generate_dimension_bal_weight_values(lot_no, ms):
353
+def generate_dimension_bal_weight_values(lot_no, ms, code):
353 354
     """
354 355
     Fetch dimension records from manualSize and DataMs models
355 356
     and generate placeholder values for Standard, Actual, and Judgement.
@@ -442,7 +443,7 @@ def generate_dimension_bal_weight_values(lot_no, ms):
442 443
     # hide_con(placeholders, "v5_1", "26:32")
443 444
     return placeholders
444 445
 
445
-def generate_dim_bal_app_hard_values(lot_no, first_result):
446
+def generate_dim_bal_app_hard_values(lot_no, first_result, code):
446 447
     """
447 448
     Fetch dimension records from manualSize and DataMs models
448 449
     and generate placeholder values for Standard, Actual, and Judgement.
@@ -559,7 +560,7 @@ def generate_dim_bal_app_hard_values(lot_no, first_result):
559 560
     # hide_con(placeholders, "v5_1", "26:32")
560 561
     return placeholders
561 562
 
562
-def generate_dim_bal_app_rot_hard_values(lot_no, first_result):
563
+def generate_dim_bal_app_rot_hard_values(lot_no, first_result, code):
563 564
     """
564 565
     Fetch dimension records from manualSize and DataMs models
565 566
     and generate placeholder values for Standard, Actual, and Judgement.
@@ -689,7 +690,7 @@ def generate_dim_bal_app_rot_hard_values(lot_no, first_result):
689 690
     # hide_con(placeholders, "v5_1", "26:32")
690 691
     return placeholders
691 692
 
692
-def generate_centering_values(lot_no):
693
+def generate_centering_values(lot_no, code):
693 694
     """
694 695
     Fetch dimension records from manualSize and DataMs models
695 696
     and generate placeholder values for Standard, Actual, and Judgement.
@@ -720,7 +721,7 @@ def generate_centering_values(lot_no):
720 721
 
721 722
     return placeholders
722 723
 
723
-def generate_t8_values(lot_no):
724
+def generate_t8_values(lot_no, code):
724 725
     """
725 726
     Fetch dimension records from manualSize and DataMs models
726 727
     and generate placeholder values for Standard, Actual, and Judgement.
@@ -788,29 +789,29 @@ def create_coi_file(lot_no, sheets, user, md):
788 789
     
789 790
     results = queryFromMaster(lot_no)
790 791
     first_result = results[0] if results else None
791
-    
792
+    code  = first_result.PRO1 if first_result else None 
792 793
     sheet_data = {}
793 794
     for sheet_name in sheets:
794 795
         if sheet_name == 'hardness_out':
795
-            sheet_data[sheet_name] = generate_hardness_out_values(lot_no)
796
+            sheet_data[sheet_name] = generate_hardness_out_values(lot_no, code)
796 797
         elif sheet_name == 'hardness_out_in':
797
-            sheet_data[sheet_name] = generate_hardness_out_in_values(lot_no)
798
+            sheet_data[sheet_name] = generate_hardness_out_in_values(lot_no, code)
798 799
         elif sheet_name == 'hardness_both_size':
799
-            sheet_data[sheet_name] = generate_hardness_both_size_values(lot_no, first_result)
800
+            sheet_data[sheet_name] = generate_hardness_both_size_values(lot_no, first_result, code)
800 801
         elif sheet_name == 'dimension':
801
-            sheet_data[sheet_name] = generate_dimension_values(lot_no)
802
+            sheet_data[sheet_name] = generate_dimension_values(lot_no, code)
802 803
         elif sheet_name == 'dimension_app':
803
-            sheet_data[sheet_name] = generate_dimension_app_values(lot_no)
804
+            sheet_data[sheet_name] = generate_dimension_app_values(lot_no, code)
804 805
         elif sheet_name == 'dimension_bal_weight':
805
-            sheet_data[sheet_name] = generate_dimension_bal_weight_values(lot_no, first_result)
806
+            sheet_data[sheet_name] = generate_dimension_bal_weight_values(lot_no, first_result, code)
806 807
         elif sheet_name == 'centering':
807
-            sheet_data[sheet_name] = generate_centering_values(lot_no)
808
+            sheet_data[sheet_name] = generate_centering_values(lot_no, code)
808 809
         elif sheet_name == 'thickness_8_point':
809
-            sheet_data[sheet_name] = generate_t8_values(lot_no)
810
+            sheet_data[sheet_name] = generate_t8_values(lot_no, code)
810 811
         elif sheet_name == 'dim_bal_app_hard':
811
-            sheet_data[sheet_name] = generate_dim_bal_app_hard_values(lot_no, first_result)
812
+            sheet_data[sheet_name] = generate_dim_bal_app_hard_values(lot_no, first_result, code)
812 813
         elif sheet_name == 'dim_bal_app_rot_hard':
813
-            sheet_data[sheet_name] = generate_dim_bal_app_rot_hard_values(lot_no, first_result)
814
+            sheet_data[sheet_name] = generate_dim_bal_app_rot_hard_values(lot_no, first_result, code)
814 815
     
815 816
     converted_data = convert_sheet_data(sheet_data)
816 817