Removed redundant form_types functions and the file /reporting/includes/form_types...
[fa-stable.git] / manufacturing / includes / db / work_order_issues_db.inc
1 <?php
2
3 //--------------------------------------------------------------------------------------
4
5 function add_work_order_issue($woid, $ref, $to_work_order, $items, $location, $workcentre,
6         $date_, $memo_)
7 {
8         begin_transaction();
9
10         $details = get_work_order($woid);
11
12     if (strlen($details[0]) == 0)
13     {
14         echo _("The order number sent is not valid.");
15         cancel_transaction();
16         exit;
17     }
18
19         if (work_order_is_closed($woid))
20         {
21                 display_error("UNEXPECTED : Issuing items for a closed Work Order");
22                 cancel_transaction();
23                 exit;
24         }
25
26         // insert the actual issue
27         $sql = "INSERT INTO ".TB_PREF."wo_issues (workorder_id, reference, issue_date, loc_code, workcentre_id)
28                 VALUES ($woid, '$ref', '" .
29                 date2sql($date_) . "', '$location', $workcentre)";
30         db_query($sql,"The work order issue could not be added");
31
32         $number = db_insert_id();
33
34         foreach ($items as $item)
35         {
36
37                 if ($to_work_order)
38                         $item->quantity = -$item->quantity;
39
40                 // insert a -ve stock move for each item
41                 add_stock_move(28, $item->stock_id, $number,
42                         $location, $date_, $memo_, -$item->quantity, 0);
43
44                 $sql = "INSERT INTO ".TB_PREF."wo_issue_items (issue_id, stock_id, qty_issued)
45                         VALUES ('$number', '$item->stock_id', $item->quantity)";
46                 db_query($sql,"A work order issue item could not be added");
47         }
48
49         if ($memo_)
50                 add_comments(28, $number, $date_, $memo_);
51
52         references::save_last($ref, 28);
53
54         commit_transaction();
55 }
56
57 //--------------------------------------------------------------------------------------
58
59 function get_work_order_issues($woid)
60 {
61         $sql = "SELECT * FROM ".TB_PREF."wo_issues WHERE workorder_id=$woid ORDER BY issue_no";
62     return db_query($sql, "The work order issues could not be retrieved");
63 }
64
65 //--------------------------------------------------------------------------------------
66
67 function get_work_order_issue($issue_no)
68 {
69         $sql = "SELECT DISTINCT ".TB_PREF."wo_issues.*, ".TB_PREF."workorders.stock_id,
70                 ".TB_PREF."stock_master.description, ".TB_PREF."locations.location_name, ".TB_PREF."workcentres.name AS WorkCentreName
71                 FROM ".TB_PREF."wo_issues, ".TB_PREF."workorders, ".TB_PREF."stock_master, ".TB_PREF."locations, ".TB_PREF."workcentres
72                 WHERE issue_no='$issue_no'
73                 AND ".TB_PREF."workorders.id = ".TB_PREF."wo_issues.workorder_id
74                 AND ".TB_PREF."locations.loc_code = ".TB_PREF."wo_issues.loc_code
75                 AND ".TB_PREF."workcentres.id = ".TB_PREF."wo_issues.workcentre_id
76                 AND ".TB_PREF."stock_master.stock_id = ".TB_PREF."workorders.stock_id";
77     $result = db_query($sql, "A work order issue could not be retrieved");
78
79     return db_fetch($result);
80 }
81
82 //--------------------------------------------------------------------------------------
83
84 function get_work_order_issue_details($issue_no)
85 {
86         $sql = "SELECT ".TB_PREF."wo_issue_items.*,".TB_PREF."stock_master.description, ".TB_PREF."stock_master.units
87                 FROM ".TB_PREF."wo_issue_items, ".TB_PREF."stock_master
88                 WHERE issue_id=$issue_no
89                 AND ".TB_PREF."stock_master.stock_id=".TB_PREF."wo_issue_items.stock_id
90                 ORDER BY ".TB_PREF."wo_issue_items.id";
91     return db_query($sql, "The work order issue items could not be retrieved");
92 }
93
94 //--------------------------------------------------------------------------------------
95
96 function exists_work_order_issue($issue_no)
97 {
98         $sql = "SELECT issue_no FROM ".TB_PREF."wo_issues WHERE issue_no=$issue_no";
99         $result = db_query($sql, "Cannot retreive a wo issue");
100
101     return (db_num_rows($result) > 0);
102 }
103
104 //--------------------------------------------------------------------------------------
105
106 function void_work_order_issue($type_no)
107 {
108         begin_transaction();
109
110         // void the actual issue items and their quantities
111         $sql = "UPDATE ".TB_PREF."wo_issue_items Set qty_issued = 0 WHERE issue_id=$type_no";
112         db_query($sql,"A work order issue item could not be voided");
113
114         // void all related stock moves
115         void_stock_move(28, $type_no);
116
117         // void any related gl trans
118         void_gl_trans(28, $type_no, true);
119
120         commit_transaction();
121 }
122
123
124 //--------------------------------------------------------------------------------------
125
126 ?>