Skip to content

Instantly share code, notes, and snippets.

View JoshZastrow's full-sized avatar

Josh Zastrow JoshZastrow

View GitHub Profile
@JoshZastrow
JoshZastrow / Linked List #1
Last active January 29, 2017 09:06
LinkedList
class Node(object):
def __init__(self, initdata=None, next=None):
self.data = initdata
self.next = next
def getData(self):
return self.data
def getNext(self):
return self.next
@JoshZastrow
JoshZastrow / Binary Search Tree #3
Last active January 29, 2017 09:06
Binary Search Tree
class TreeNode:
def __init__(self, key, value, left=None, right=None, parent=None):
self.key = key
self.value = value
self.left = left
self.right = right
self.parent = parent
def hasLeft(self):
@JoshZastrow
JoshZastrow / Quick Sort #1
Last active January 29, 2017 13:24
Quick Sort
def qsort(arr):
low = 0
high = len(arr) - 1
_sort(arr, low, high)
return arr
def _sort(arr, low, high):
if low < high:
@JoshZastrow
JoshZastrow / Fast-ai-Lesson1
Last active January 30, 2017 08:50
Fast-ai
%matplotlib inline
# Import Libraries
from __future__ import division, print_function
import os
import json
from glob import glob
import numpy as np
from matplotlib import pyplot as plt
import utils
@JoshZastrow
JoshZastrow / Total_due_this_year
Created March 21, 2017 12:41
ERP Production Parts, Year's orders less than a bars quantity of parts
SELECT
OrderRel.PartNum,
Sum(OrderRel.OurReqQty) AS 'Required for 2017'
FROM ERP10PROD.Erp.OrderRel OrderRel
WHERE (OrderRel.ReqDate<'20171231')
GROUP BY OrderRel.PartNum
@JoshZastrow
JoshZastrow / Bar_yield
Created March 21, 2017 12:51
Bar Quantity Yields per Part Number
SELECT PartMtl.PartNum, PartMtl.MtlPartNum, PartMtl.QtyPer, ROUND(12/PartMtl.QtyPer,0) AS 'Bar Yield'
FROM ERP10PROD.Erp.PartMtl PartMtl
WHERE (PartMtl.UOMCode='FT')
@JoshZastrow
JoshZastrow / TotalDue_BarYield
Last active March 21, 2017 19:51
EPICOR Parts: total due this year against bar yield qty
SELECT
O.PartNum,
SUM(O.OurReqQty) AS [2017 Total Due],
ROUND(12/ PartMtl.QtyPer,0) [Bar Yield Qty]
FROM ERP10PROD.Erp.OrderRel O
LEFT JOIN ERP10PROD.Erp.PartMtl PartMtl ON
O.Company = PartMtl.Company AND
O.PartNum = PartMtl.PartNum AND
@JoshZastrow
JoshZastrow / PartsOnHand
Created March 21, 2017 15:23
EPICOR total parts on hand
SELECT
PartBin.PartNum,
Sum(PartBin.OnhandQty) AS 'ON Hand'
FROM ERP10PROD.Erp.PartBin PartBin
WHERE (PartBin.WarehouseCode='FGI')
GROUP BY PartBin.PartNum
@JoshZastrow
JoshZastrow / Yesterdays_LaborDtl.sql
Last active April 2, 2018 20:46
SQL: Previous Day Labor Report
--Query of yesterday's labor notes in Epicor ERP system. If Today is monday (assuming no labor on sunday) pulls from Friday
IF EXISTS ((SELECT * FROM ERP.LaborDtl WHERE Labordtl.ClockinDate = dateADD(day, -1, Convert(DAte, getdate()))))
BEGIN
SELECT
DATENAME(weekday, L.CLOCKINDATE),
j.PartNum,
l.JobNum,
L.OprSeq,
@JoshZastrow
JoshZastrow / BurdenHoursPerDay
Created April 13, 2017 16:12
Daily Burden Hours: Actual vs Calculated
--Sums up burden hours on each machine as recorded in MES, calculates what the hours should be based on qty made and Production Rate.
SELECT L.PayrollDate, Sum(L.BurdenHrs) AS [Total Burden Hours], COUNT(L.LaborDtlSeq) AS [#Activities], COUNT(DISTINCT L.ResourceID) AS [Total Active Machines],
Sum(L.LaborQty / (J.ProdStandard + .0001)) AS [Total Calculated Burden Hours], UPPER(L.ResourceID)
FROM ERP10PROD.Erp.LaborDtl L
LEFT JOIN ERP10PROD.Erp.JobOper J ON
L.Company = J.Company AND
L.AssemblySeq = J.AssemblySeq AND
L.JobNum = J.JobNum AND
L.Oprseq = J.OprSeq