function delete_workorder($woinfo) { global $username; $loc = rmabs(__FILE__ . ".delete_workorder"); $wid = $woinfo["WID"]; $sql = "DELETE FROM Assignments WHERE WID=" . intval($wid); SqlQuery($loc, $sql); $sql = "DELETE FROM AppendedData WHERE WID=" . intval($wid); SqlQuery($loc, $sql); $sql = "DELETE FROM WorkOrders WHERE WID=" . intval($wid); SqlQuery($loc, $sql); $widstr = WIDStr($wid, $woinfo["Revision"], $woinfo["IsApproved"]); $msg = "Work Order " . $widstr . " deleted by " . $username . "."; log_msg($loc, $msg); return $msg; }
function merge_workorders($wo1, $wo2) { $loc = rmabs(__FILE__ . ".merge_workorders"); $wid1 = $wo1["WID"]; $wid2 = $wo2["WID"]; $wo1["Description"] .= "\n\n" . $wo2["Description"]; UpdateWorkOrder($wid1, $wo1); $data = GetAppendedData($wid2); $nd = 0; foreach ($data as $d) { if ($d["UserID"] == 0) { continue; } // Skip sys generated msg. if ($d["Removed"]) { continue; } // Skip deleted data. AppendWorkOrderData($wid1, $d["UserID"], $d["TextInfo"], $d["PicID"], false); $nd++; } $workers = GetAssignedWorkers($wid2); $nw = 0; foreach ($workers as $w) { MakeAssignment($wid1, $w["UserID"]); RemoveAssignment($wid2, $w["UserID"]); $nw++; } $userid = GetUserID(); $userinfo = GetUserInfo($userid); $username = MakeFullName($userinfo); if (!$wo2["Closed"]) { ChangeWOStatus($wid2, $username, "Closed", true); } $newwostr = WIDStr($wid1, $wo1["Revision"], $wo1["IsApproved"]); AttachSystemNote($wid2, "This WO Merged into " . $newwostr . " by " . $username . '.'); $oldwostr = WIDStr($wid2, $wo2["Revision"], $wo2["IsApproved"]); AttachSystemNote($wid1, "Data from " . $oldwostr . " merged into this one by " . $username . '.'); $msg = 'Workorder ' . $oldwostr . ' merged into ' . $newwostr . '. '; $msg .= 'Number Items Copied=' . $nd . '. '; $msg .= 'Number of Workers Reassigned=' . $nw . '. '; log_msg($loc, array($msg, "By " . $username)); return $msg; }
function GetWO($wid, $override = false) { $loc = rmabs(__FILE__ . '.GetWO'); $sql = "SELECT * From WorkOrders WHERE WID=" . intval($wid); if (!$override) { $sql .= ' AND Active=1'; } $result = SqlQuery($loc, $sql); if ($result->num_rows != 1) { return false; } $data = $result->fetch_assoc(); $data["IsApproved"] = $data["Approved"] || $data["ApprovedByCap"]; $data["WIDStr"] = WIDStr($wid, $data["Revision"], $data["IsApproved"]); if (empty($data["AuthorID"])) { $data["AuthorInfo"] = array(); $data["AuthorName"] = "System"; } else { $data["AuthorInfo"] = GetUserInfo($data["AuthorID"]); $data["AuthorName"] = ""; if (!empty($data["AuthorInfo"])) { $ai = $data["AuthorInfo"]; $data["AuthorName"] = MakeAbbrivatedName($ai); } } return $data; }
DieWithMsg($loc, "Unknown searchtype given."); } } } } } } $tableheader = array("WO", "Title", "Pri", "Need BY", "Asgnd", "Aprv", "Fin", "Clsd"); $sql .= ' Limit ' . $nlimit; $result = SqlQuery($loc, $sql); $tabledata = array(); $ncount = 0; while ($row = $result->fetch_assoc()) { $isapproved = $row["Approved"] || $row["ApprovedByCap"]; $wid = $row["WID"]; $widstr = WIDStr($wid, $row["Revision"], $isapproved); $r = array(); $r[] = '<a href="wo_display.php?wid=' . $wid . '">' . $widstr . '</a>'; $r[] = LimitSize($row["Title"], 24); $r[] = $row["Priority"]; $r[] = $row["DateNeedBy"]; $r[] = YesNoStr($row["Assigned"]); $r[] = YesNoStr($isapproved); $r[] = YesNoStr($row["Finished"]); $r[] = YesNoStr($row["Closed"]); $tabledata[] = $r; $ncount++; } if ($ncount >= $nlimit) { $limittext = "Note: Output limited to " . $nlimit . " records."; }