Last active
December 13, 2015 20:18
-
-
Save widoyo/4968810 to your computer and use it in GitHub Desktop.
Script bantu data Sparelog
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
>>> # untuk import Lead Time yang berupa Matriks | |
>>> | |
>>> rdr = csv.reader(lines, delimiter='\t') | |
>>> h = rdr.next()[1:] | |
>>> for d in rdr: | |
... if d[0] != 'TANJUNG PANDAN': | |
... p1 = dpool[d[0]] | |
... i = 1 | |
... for np in h: | |
... if np != 'TANJUNG PANDAN': | |
... p2 = dpool[np] | |
... if p1 != p2: | |
... lt = LeadTime.objects.create(pool1=p1, pool2=p2, lead_time=int(d[i]), cu_id=1, mu_id=1) | |
... i += 1 | |
... | |
>>> reader = csv.reader(lines, delimiter='\t') | |
>>> for d in reader: | |
... (pn,sn,desc,qty) = d | |
... mr, dumm = ModuleRef.objects.get_or_create(partnum=pn, defaults={'desc': desc, 'vendor': '1', 'cu_id': 1, 'mu_id': 1, 'uom': 'PCS'}) | |
... sp = Sparepart.objects.create(partnum=mr, sn=sn, pool_id=1, cu_id=1, mu_id=1, owner='9', faulty=False, jumlah=int(qty)) | |
... m = Moving.objects.create(sparepart=sp, tanggal=t19, dari='DHK IDJKT', ke='INTI IDJKT', user='admin', tipe='1') | |
>>> i = 0 | |
>>> lines = open('/home/widoyo/Desktop/ho/ho_050213.csv').readlines() | |
>>> reader = csv.reader(lines, delimiter='\t') | |
>>> for d in reader: | |
... (p, pn, desc, uom, qt, sn) = d | |
... mr, dumm = ModuleRef.objects.get_or_create(partnum=pn, defaults={'desc': desc, 'vendor': '5', 'cu_id': 1, 'mu_id': 1, 'uom': uom}) | |
... if sn: | |
... try: | |
... sp = Sparepart.objects.get(sn=sn) | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
''' | |
Mengimport data handover | |
Asal: file Comma Separated Value | |
Tujuan: | |
class ModuleRef | |
class Sparepart | |
class Moving | |
Data lain dibutuhkan: | |
class Pool | |
VENDOR_CHOICE | |
Referensi: hsm/models.py | |
format file '/tmp/gsk_hcpt_nsn_gu.csv' diterjemahkan: pool IDGSK sparepart milik 'HCPT NSN', Good Unit (gu) | |
Format kolomnya: (\t = TAB) | |
partnum\tserialnum\tjumlah | |
''' | |
import csv # module standard python | |
from hsm.models import Pool, Sparepart, ModuleRef | |
lines = open('/tmp/gsk_hcpt_nsn_gu.csv').readlines() | |
reader = csv.reader(lines, delimiter='\t') | |
# siapkan data referensi | |
pool = Pool.objects.get(code='IDGSK') | |
owner = '8' # lihat ke https://bitbucket.org/widoyo/sparelog-hsm/src/d99720e2907c25083ac5ecb74e4dadccbdcc6eff/hsm/models.py?at=default#cl-8 | |
vendor = '1' # '1' = NSN partnum > 8 digit, '5' = Huawei partnum = 8 digit | |
for d in reader: | |
(pn, sn, qty) = d | |
mr, dummy = ModuleRef.objects.get_or_create(partnum=pn, defaults={'desc': 'no desc', 'vendor': vendor, 'cu_id': 1, 'mu_id': 1, 'uom': 'PCS'}) | |
if sn: | |
# jika sparepart ber-SN | |
sp, dummy = Sparepart.objects.get_or_create(sn=sn, defaults={'partnum': mr, 'jumlah': qty, 'owner': owner, 'faulty': False, 'pool': pool, 'cu_id': 1, 'mu_id': 1}) | |
else: | |
# jika partnumber ini telah ada pada Pool | |
sp, created = Sparepart.objects.get_or_create(partnum=mr, pool=pool, defaults={'owner': owner, 'faulty': False, 'cu_id': 1, 'mu_id': 1, 'jumlah': int(qty)}) | |
if not created: | |
# sparepart telah terdaftar pada pool ini, jadi jumlah ditambahkan | |
sp.jumlah = sp.jumlah + qty | |
# sp = Sparepart.objects.create(partnum=mr, sn=sn, jumlah=int(qt), cu_id=1, mu_id=1, pool=tng, faulty=False, owner='8') |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import csv | |
from hsm.models import Engineer | |
read = csv.reader(open('/home/widoyo/Desktop/order.csv').readlines(), delimiter='\t') | |
i = 0 | |
read.next() # baris pertama HEADER | |
for d in read: | |
try: | |
e = Engineer.objects.get(name=d[3]) # kolom index 3 = Applicant | |
except Engineer.DoesNotExist: | |
i += 1 | |
print i, d[3] # nama applicant yang tidak ada pada table Engineer |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
''' | |
Mencari Serial Number yang doble | |
Tergantung kepada http://bitbucket.org/widoyo/sparelog-hsm dan data sparepart | |
''' | |
from hsm.models import Sparepart | |
i = 0 | |
ts = '' | |
sn_out = [] | |
for s in Sparepart.objects.exclude(sn='-').order_by('sn'): | |
if ts != s.sn: | |
ts = s.sn | |
else: | |
i += 1 | |
print i, s.sn | |
sn_out.append(s.sn) | |
# Hapus yang doble (kedua) | |
for s in sn_out: | |
a = 0 | |
for sp in Sparepart.objects.filter(sn=s): | |
a += 1 | |
print a, s, sp.id | |
if a == 2: | |
print 'del', s, sp.id |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment