tum 1 год назад
Родитель
Сommit
63d2194a5d
2 измененных файлов с 30 добавлено и 31 удалено
  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
 <div class="container mx-auto px-4 py-8" x-data="COIReport">
8
 <div class="container mx-auto px-4 py-8" x-data="COIReport">
9
 
9
 
10
   <h1 class="text-2xl font-bold text-gray-800">Export Center</h1>
10
   <h1 class="text-2xl font-bold text-gray-800">Export Center</h1>
11
-  {{ lot_no }}
12
   <form method='post'>
11
   <form method='post'>
13
     {% csrf_token %}
12
     {% csrf_token %}
14
     <div class="flex items-center gap-2 mb-4">
13
     <div class="flex items-center gap-2 mb-4">
78
             </a>
77
             </a>
79
           </div>
78
           </div>
80
         </div>
79
         </div>
81
-  {{ result }}
82
   
80
   
83
   <div class="bg-white shadow-md rounded-md p-4">
81
   <div class="bg-white shadow-md rounded-md p-4">
84
 
82
 

+ 30 - 29
app/report/views.py

1
 from django.shortcuts import render, redirect, get_object_or_404
1
 from django.shortcuts import render, redirect, get_object_or_404
2
 from django.core.paginator import Paginator
2
 from django.core.paginator import Paginator
3
 from django.contrib import messages
3
 from django.contrib import messages
4
-from core.models import Report
4
+from core.models import Report, AllProductDimensionForInsProcess
5
 from core.forms import ReportForm
5
 from core.forms import ReportForm
6
 from core.utils import ConfigurableCRUDView, queryFromMaster
6
 from core.utils import ConfigurableCRUDView, queryFromMaster
7
 from .filters import ReportFilter
7
 from .filters import ReportFilter
111
             placeholders[f'v{i}_{j}'] = " "
111
             placeholders[f'v{i}_{j}'] = " "
112
     return placeholders
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
     Generate a dictionary of placeholder values for a given lot_no.
116
     Generate a dictionary of placeholder values for a given lot_no.
117
 
117
 
139
 
139
 
140
     return placeholders
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
     # Fetch records from the Data model
143
     # Fetch records from the Data model
144
     # records = Data.objects.filter(lot_no=lot_no).order_by('row_no')
144
     # records = Data.objects.filter(lot_no=lot_no).order_by('row_no')
145
     data_h1 = list(Data.objects.filter(lot_no=lot_no).order_by('row_no'))
145
     data_h1 = list(Data.objects.filter(lot_no=lot_no).order_by('row_no'))
183
     
183
     
184
     return placeholders
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
     # Fetch records from the Data model
187
     # Fetch records from the Data model
188
     # records = Data.objects.filter(lot_no=lot_no).order_by('row_no')
188
     # records = Data.objects.filter(lot_no=lot_no).order_by('row_no')
189
     data_h1 = list(Data.objects.filter(lot_no=lot_no).order_by('row_no', 'sub_order'))
189
     data_h1 = list(Data.objects.filter(lot_no=lot_no).order_by('row_no', 'sub_order'))
211
 # # Example usage:
211
 # # Example usage:
212
 # placeholders_dict = clear_values(6, 3)
212
 # placeholders_dict = clear_values(6, 3)
213
 # print(placeholders_dict)
213
 # print(placeholders_dict)
214
-def generate_dimension_values(lot_no):
214
+def generate_dimension_values(lot_no, code):
215
     """
215
     """
216
     Fetch dimension records from manualSize and DataMs models
216
     Fetch dimension records from manualSize and DataMs models
217
     and generate placeholder values for Standard, Actual, and Judgement.
217
     and generate placeholder values for Standard, Actual, and Judgement.
219
     """
219
     """
220
     # Fetch standard values from manualSize (limit to 2 rows)
220
     # Fetch standard values from manualSize (limit to 2 rows)
221
     manual_size_records = Manualsize.objects.filter(lotno=lot_no)
221
     manual_size_records = Manualsize.objects.filter(lotno=lot_no)
222
+    dimens = AllProductDimensionForInsProcess.objects.filter(ProductCode=code)
222
 
223
 
223
     # Fetch actual and judgement values from DataMs ordered by row_no (limit to 2 rows)
224
     # Fetch actual and judgement values from DataMs ordered by row_no (limit to 2 rows)
224
     data_ms_records = DataMs.objects.filter(lot_no=lot_no).order_by('row_no')
225
     data_ms_records = DataMs.objects.filter(lot_no=lot_no).order_by('row_no')
233
     
234
     
234
     pprint(placeholders)
235
     pprint(placeholders)
235
     pprint(manual_size_records) 
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
                 return False
279
                 return False
279
     return True
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
     Fetch dimension records from manualSize and DataMs models
284
     Fetch dimension records from manualSize and DataMs models
284
     and generate placeholder values for Standard, Actual, and Judgement.
285
     and generate placeholder values for Standard, Actual, and Judgement.
349
     hide_con(placeholders, "v5_1", "26:32")
350
     hide_con(placeholders, "v5_1", "26:32")
350
     return placeholders
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
     Fetch dimension records from manualSize and DataMs models
355
     Fetch dimension records from manualSize and DataMs models
355
     and generate placeholder values for Standard, Actual, and Judgement.
356
     and generate placeholder values for Standard, Actual, and Judgement.
442
     # hide_con(placeholders, "v5_1", "26:32")
443
     # hide_con(placeholders, "v5_1", "26:32")
443
     return placeholders
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
     Fetch dimension records from manualSize and DataMs models
448
     Fetch dimension records from manualSize and DataMs models
448
     and generate placeholder values for Standard, Actual, and Judgement.
449
     and generate placeholder values for Standard, Actual, and Judgement.
559
     # hide_con(placeholders, "v5_1", "26:32")
560
     # hide_con(placeholders, "v5_1", "26:32")
560
     return placeholders
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
     Fetch dimension records from manualSize and DataMs models
565
     Fetch dimension records from manualSize and DataMs models
565
     and generate placeholder values for Standard, Actual, and Judgement.
566
     and generate placeholder values for Standard, Actual, and Judgement.
689
     # hide_con(placeholders, "v5_1", "26:32")
690
     # hide_con(placeholders, "v5_1", "26:32")
690
     return placeholders
691
     return placeholders
691
 
692
 
692
-def generate_centering_values(lot_no):
693
+def generate_centering_values(lot_no, code):
693
     """
694
     """
694
     Fetch dimension records from manualSize and DataMs models
695
     Fetch dimension records from manualSize and DataMs models
695
     and generate placeholder values for Standard, Actual, and Judgement.
696
     and generate placeholder values for Standard, Actual, and Judgement.
720
 
721
 
721
     return placeholders
722
     return placeholders
722
 
723
 
723
-def generate_t8_values(lot_no):
724
+def generate_t8_values(lot_no, code):
724
     """
725
     """
725
     Fetch dimension records from manualSize and DataMs models
726
     Fetch dimension records from manualSize and DataMs models
726
     and generate placeholder values for Standard, Actual, and Judgement.
727
     and generate placeholder values for Standard, Actual, and Judgement.
788
     
789
     
789
     results = queryFromMaster(lot_no)
790
     results = queryFromMaster(lot_no)
790
     first_result = results[0] if results else None
791
     first_result = results[0] if results else None
791
-    
792
+    code  = first_result.PRO1 if first_result else None 
792
     sheet_data = {}
793
     sheet_data = {}
793
     for sheet_name in sheets:
794
     for sheet_name in sheets:
794
         if sheet_name == 'hardness_out':
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
         elif sheet_name == 'hardness_out_in':
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
         elif sheet_name == 'hardness_both_size':
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
         elif sheet_name == 'dimension':
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
         elif sheet_name == 'dimension_app':
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
         elif sheet_name == 'dimension_bal_weight':
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
         elif sheet_name == 'centering':
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
         elif sheet_name == 'thickness_8_point':
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
         elif sheet_name == 'dim_bal_app_hard':
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
         elif sheet_name == 'dim_bal_app_rot_hard':
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
     converted_data = convert_sheet_data(sheet_data)
816
     converted_data = convert_sheet_data(sheet_data)
816
 
817