fix: work order finish button not showing (#43875)

This commit is contained in:
rohitwaghchaure
2024-10-28 17:21:06 +05:30
committed by GitHub
parent c74bc51b41
commit 0a70be5b99
2 changed files with 49 additions and 13 deletions

View File

@@ -210,6 +210,48 @@ frappe.ui.form.on("Job Card", {
}
},
complete_job_card(frm) {
let fields = [
{
fieldtype: "Float",
label: __("Completed Quantity"),
fieldname: "qty",
reqd: 1,
default: frm.doc.for_quantity - frm.doc.manufactured_qty,
},
{
fieldtype: "Datetime",
label: __("End Time"),
fieldname: "end_time",
default: frappe.datetime.now_datetime(),
},
];
frappe.prompt(
fields,
(data) => {
if (data.qty <= 0) {
frappe.throw(__("Quantity should be greater than 0"));
}
frm.call({
method: "complete_job_card",
doc: frm.doc,
args: {
qty: data.qty,
end_time: data.end_time,
},
callback: function (r) {
frm.reload_doc();
},
});
},
__("Enter Value"),
__("Update"),
__("Set Finished Good Quantity")
);
},
make_subcontracting_po(frm) {
if (frm.doc.docstatus === 1 && frm.doc.for_quantity > frm.doc.manufactured_qty) {
frm.add_custom_button(__("Make Subcontracting PO"), () => {

View File

@@ -991,22 +991,16 @@ class JobCard(Document):
qty = 0.0
if doc.transfer_material_against == "Job Card" and not doc.skip_transfer:
completed = True
min_qty = []
for d in doc.operations:
if d.status != "Completed":
completed = False
if d.completed_qty:
min_qty.append(d.completed_qty)
else:
min_qty = []
break
if completed:
job_cards = frappe.get_all(
"Job Card",
filters={"work_order": self.work_order, "docstatus": ("!=", 2)},
fields="sum(transferred_qty) as qty",
group_by="operation_id",
)
if job_cards:
qty = min(d.qty for d in job_cards)
if min_qty:
qty = min(min_qty)
doc.db_set("material_transferred_for_manufacturing", qty)