feat: provision to have limited parameters for in-process quality inspection

This commit is contained in:
Diksha Jadhav
2021-11-03 14:07:45 +05:30
parent 281a9cc749
commit 6c45f8b2c4
6 changed files with 42 additions and 4 deletions

View File

@@ -70,6 +70,23 @@ frappe.ui.form.on('Job Card', {
&& (frm.doc.items || !frm.doc.items.length || frm.doc.for_quantity == frm.doc.transferred_qty)) {
frm.trigger("prepare_timer_buttons");
}
frm.trigger("setup_quality_inspection");
},
setup_quality_inspection: function(frm) {
let quality_inspection_field = frm.get_docfield("quality_inspection");
quality_inspection_field.get_route_options_for_new_doc = function(frm) {
return {
"inspection_type": "In Process",
"reference_type": "Job Card",
"reference_name": frm.doc.name,
"item_code": frm.doc.production_item,
"item_name": frm.doc.item_name,
"item_serial_no": frm.doc.serial_no,
"batch_no": frm.doc.batch_no,
"quality_inspection_template": frm.doc.quality_inspection_template,
};
};
},
setup_corrective_job_card: function(frm) {

View File

@@ -19,6 +19,7 @@
"serial_no",
"column_break_12",
"wip_warehouse",
"quality_inspection_template",
"quality_inspection",
"project",
"batch_no",
@@ -407,11 +408,17 @@
"no_copy": 1,
"options": "Job Card Scrap Item",
"print_hide": 1
},
{
"fieldname": "quality_inspection_template",
"fieldtype": "Link",
"label": "Quality Inspection Template",
"options": "Quality Inspection Template"
}
],
"is_submittable": 1,
"links": [],
"modified": "2021-09-14 00:38:46.873105",
"modified": "2021-11-03 13:46:06.557348",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Job Card",

View File

@@ -45,6 +45,7 @@ class JobCard(Document):
self.validate_sequence_id()
self.set_sub_operations()
self.update_sub_operation_status()
self.set_quality_inspection_template()
def set_sub_operations(self):
if self.operation:
@@ -292,6 +293,10 @@ class JobCard(Document):
row.completed_time = 0.0
row.completed_qty = 0.0
def set_quality_inspection_template(self):
qi_template = frappe.db.get_value('Operation', self.operation, 'quality_inspection_template')
self.quality_inspection_template = qi_template
def update_time_logs(self, row):
self.append("time_logs", {
"from_time": row.planned_start_time,

View File

@@ -9,11 +9,11 @@
"engine": "InnoDB",
"field_order": [
"workstation",
"quality_inspection_template",
"data_2",
"is_corrective_operation",
"job_card_section",
"create_job_card_based_on_batch_size",
"quality_inspection_template",
"column_break_6",
"batch_size",
"sub_operations_section",
@@ -104,7 +104,7 @@
"icon": "fa fa-wrench",
"index_web_pages_for_search": 1,
"links": [],
"modified": "2021-11-01 15:13:35.911144",
"modified": "2021-11-03 13:49:39.114976",
"modified_by": "Administrator",
"module": "Manufacturing",
"name": "Operation",

View File

@@ -59,7 +59,7 @@ frappe.ui.form.on("Quality Inspection", {
},
item_code: function(frm) {
if (frm.doc.item_code) {
if (frm.doc.item_code && !frm.doc.quality_inspection_template) {
return frm.call({
method: "get_quality_inspection_template",
doc: frm.doc,

View File

@@ -19,6 +19,15 @@ class QualityInspection(Document):
if not self.readings and self.item_code:
self.get_item_specification_details()
if self.inspection_type=="In Process" and self.reference_type=="Job Card":
item_qi_template = frappe.db.get_value("Item", self.item_code, 'quality_inspection_template')
parameters = get_template_details(item_qi_template)
for reading in self.readings:
for d in parameters:
if reading.specification == d.specification:
reading.update(d)
reading.status = "Accepted"
if self.readings:
self.inspect_and_set_status()