瀏覽代碼

report no

tum 8 月之前
父節點
當前提交
3a2b8750a5
共有 4 個文件被更改,包括 53 次插入22 次删除
  1. 13 13
      app/core/utils.py
  2. 二進制
      app/report/coi_templates.xlsx
  3. 0 1
      app/report/templates/report/coi.html
  4. 40 8
      app/report/views.py

+ 13 - 13
app/core/utils.py

203
         class DeleteViewClass(DeleteView):
203
         class DeleteViewClass(DeleteView):
204
             model = self.model
204
             model = self.model
205
             template_name = self.confirm_delete_template_name
205
             template_name = self.confirm_delete_template_name
206
-            success_url = reverse_lazy(self.delete_url_name)
206
+            success_url = reverse_lazy(self.list_url_name)
207
 
207
 
208
             def get_context_data(inner_self, **kwargs):
208
             def get_context_data(inner_self, **kwargs):
209
                 context = super().get_context_data(**kwargs)
209
                 context = super().get_context_data(**kwargs)
228
     return results
228
     return results
229
 
229
 
230
 SHEET_NAMES = {
230
 SHEET_NAMES = {
231
-    'hardness_out': 'Hardness Out',
232
-    'hardness_out_in': 'Hardness Out/In', 
233
-    'hardness_both_size': 'Hardness Both Size',
234
-    'dimension': 'Dimension',
235
-    'dimension_weight_warp': 'Dimension/Weight/Warp',
236
-    'dimension_app': 'Dimension Appearance',
237
-    'dimension_app_drawing': 'Dimension Appearance + Drawing',
238
-    'dimension_bal_weight': 'Dimension Balance/Weight',
239
-    'dim_bal_app_hard': 'Dimension Balance/Appearance/Hardness',
240
-    'dim_bal_app_rot_hard': 'Dimension Balance/Appearance/Rotation/Hardness',
241
-    'thickness_8_point': 'Thickness 8 Points',
242
-    'centering': 'Centering',
231
+    'hardness_out': '1. Hardness Out',
232
+    'hardness_out_in': '2. Hardness Out/In', 
233
+    'hardness_both_size': '3. Hardness Both Size',
234
+    'dimension': '4.1 Dimension',
235
+    'dimension_weight_warp': '4.2 Dimension/Weight/Warp',
236
+    'dimension_app': '5.1 Dimension Appearance',
237
+    'dimension_app_drawing': '5.2 Dimension Appearance + Drawing',
238
+    'dimension_bal_weight': '6. Dimension Balance/Weight',
239
+    'dim_bal_app_hard': '7. Dimension Balance/Appearance/Hardness',
240
+    'dim_bal_app_rot_hard': '8. Dimension Balance/Appearance/Rotation/Hardness',
241
+    'thickness_8_point': '9. Thickness 8 Points',
242
+    'centering': '10. Centering',
243
 }
243
 }

二進制
app/report/coi_templates.xlsx


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

7
 {% block content %}
7
 {% block content %}
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
   <h1 class="text-2xl font-bold text-gray-800">Export Center</h1>
9
   <h1 class="text-2xl font-bold text-gray-800">Export Center</h1>
10
-  {{ lot_no }}
11
   <form method='post'>
10
   <form method='post'>
12
     {% csrf_token %}
11
     {% csrf_token %}
13
     <div class="flex items-center gap-2 mb-4">
12
     <div class="flex items-center gap-2 mb-4">

+ 40 - 8
app/report/views.py

665
     data_ho = list(chain(data_h1, data_h2))
665
     data_ho = list(chain(data_h1, data_h2))
666
 
666
 
667
     if first_result:
667
     if first_result:
668
-        out_limit = f"Out 外  ({first_result.MI18} - {first_result.MI19})"
669
-        in_limit = f"In 内 ({first_result.MI22} - {first_result.MI23})"
668
+        # out_limit = f"Out 外  ({first_result.MI18} - {first_result.MI19})"
669
+        # in_limit = f"In 内 ({first_result.MI22} - {first_result.MI23})"
670
+        try:
671
+            out_limit = f"Out 外 ({float(first_result.MI18):.2f} - {float(first_result.MI19):.2f})"
672
+        except (TypeError, ValueError):
673
+            out_limit = "Out 外"
674
+
675
+        try:
676
+            in_limit = f"In 内 ({float(first_result.MI22):.2f} - {float(first_result.MI23):.2f})"
677
+        except (TypeError, ValueError):
678
+            in_limit = "In 内"
679
+
670
         mid_limit = f"Middle   中  -"
680
         mid_limit = f"Middle   中  -"
671
     else:
681
     else:
672
         out_limit = f"Out 外"
682
         out_limit = f"Out 外"
790
     rotates = RotateData.objects.filter(lot_no=lot_no).order_by('row_no')
800
     rotates = RotateData.objects.filter(lot_no=lot_no).order_by('row_no')
791
 
801
 
792
     if first_result:
802
     if first_result:
793
-        out_limit = f"Out 外  ({first_result.MI18} - {first_result.MI19})"
794
-        in_limit = f"In 内 ({first_result.MI22} - {first_result.MI23})"
803
+        # out_limit = f"Out 外  ({first_result.MI18} - {first_result.MI19})"
804
+        # in_limit = f"In 内 ({first_result.MI22} - {first_result.MI23})"
805
+
806
+        try:
807
+            out_limit = f"Out 外 ({float(first_result.MI18):.2f} - {float(first_result.MI19):.2f})"
808
+        except (TypeError, ValueError):
809
+            out_limit = "Out 外"
810
+
811
+        try:
812
+            in_limit = f"In 内 ({float(first_result.MI22):.2f} - {float(first_result.MI23):.2f})"
813
+        except (TypeError, ValueError):
814
+            in_limit = "In 内"
815
+
795
         mid_limit = f"Middle   中  -"
816
         mid_limit = f"Middle   中  -"
796
     else:
817
     else:
797
         out_limit = f"Out 外"
818
         out_limit = f"Out 外"
1054
         pcs = int(first_result.PRO5) - int(first_result.PRO27)
1075
         pcs = int(first_result.PRO5) - int(first_result.PRO27)
1055
     except:
1076
     except:
1056
         pcs = 0
1077
         pcs = 0
1078
+    
1079
+    first_result.PRO10 = 12321.1232
1080
+    first_result.PRO11 = 1.5
1081
+    first_result.PRO12 = 3.5
1082
+
1057
     if first_result:
1083
     if first_result:
1058
-        size_str = f"{first_result.PRO10}x{first_result.PRO11}x{first_result.PRO12}";
1084
+        # size_str = f"{first_result.PRO10}x{first_result.PRO11}x{first_result.PRO12}";
1085
+        try:
1086
+            size_str = f"{float(first_result.PRO10):.2f}x{float(first_result.PRO11):.2f}x{float(first_result.PRO12):.2f}"
1087
+        except (ValueError, TypeError):
1088
+            size_str = "-"
1089
+        
1059
         spec = f"{first_result.PRO13} {first_result.PRO14} {first_result.PRO15} {first_result.PRO16} {first_result.PRO17} {first_result.PRO18}"
1090
         spec = f"{first_result.PRO13} {first_result.PRO14} {first_result.PRO15} {first_result.PRO16} {first_result.PRO17} {first_result.PRO18}"
1060
     else:
1091
     else:
1061
         size_str = ""
1092
         size_str = ""
1067
         code = f"{mks_map.mks_code}(MKSコード)  {mgt_code}(参照)"
1098
         code = f"{mks_map.mks_code}(MKSコード)  {mgt_code}(参照)"
1068
     else:
1099
     else:
1069
         code = f"{mgt_code}(参照)" or "-"
1100
         code = f"{mgt_code}(参照)" or "-"
1070
-
1101
+    # first_result.PRO_TOOL = None
1071
     data = {
1102
     data = {
1072
         # "code": first_result.PRO1 if first_result else "-",
1103
         # "code": first_result.PRO1 if first_result else "-",
1073
         "code": code,
1104
         "code": code,
1081
         # "hardness_out.spe_acc": False,  # Hide rows 24 to 28 if the prefix is "0"
1112
         # "hardness_out.spe_acc": False,  # Hide rows 24 to 28 if the prefix is "0"
1082
         "acc": accept,  # Hide rows 24 to 28 if the prefix is "0"
1113
         "acc": accept,  # Hide rows 24 to 28 if the prefix is "0"
1083
         "spe_acc": specialAccept,  # Hide rows 24 to 28 if the prefix is "0"
1114
         "spe_acc": specialAccept,  # Hide rows 24 to 28 if the prefix is "0"
1084
-        "tool": first_result.PRO_TOOL if first_result else "-",
1115
+        "tool": first_result.PRO_TOOL if first_result and first_result.PRO_TOOL else "-",
1085
         # "hardness_out.qa1": f"{qa1.first_name} {qa1.last_name}",
1116
         # "hardness_out.qa1": f"{qa1.first_name} {qa1.last_name}",
1086
         # "hardness_out.qa2": f"{qa2.first_name} {qa2.last_name}",
1117
         # "hardness_out.qa2": f"{qa2.first_name} {qa2.last_name}",
1087
         "qa1": f"{qa1.first_name} {qa1.last_name}",
1118
         "qa1": f"{qa1.first_name} {qa1.last_name}",
1208
                     spec = f"{first_result.PRO13} {first_result.PRO14} {first_result.PRO15} {first_result.PRO16} {first_result.PRO17} {first_result.PRO18}"
1239
                     spec = f"{first_result.PRO13} {first_result.PRO14} {first_result.PRO15} {first_result.PRO16} {first_result.PRO17} {first_result.PRO18}"
1209
                     #first_result.PRO1C = "TUM"
1240
                     #first_result.PRO1C = "TUM"
1210
                     #selected_templates  = CustomerTemplateMapping.objects.filter(customer_name=first_result.PRO1C).first().template_names
1241
                     #selected_templates  = CustomerTemplateMapping.objects.filter(customer_name=first_result.PRO1C).first().template_names
1211
-                    mapping = CustomerTemplateMapping.objects.filter(customer_name=first_result.PRO1C).first()
1242
+                    # first_result.PRO1C = 'OSAKA SEIMITSU'
1243
+                    mapping = CustomerTemplateMapping.objects.filter(customer_name__icontains=first_result.PRO1C).first()
1212
                     selected_templates = mapping.template_names if mapping else []
1244
                     selected_templates = mapping.template_names if mapping else []
1213
 
1245
 
1214
                     mgt_code = first_result.PRO1 if first_result else "-"
1246
                     mgt_code = first_result.PRO1 if first_result else "-"