def dispatch(request): util = Utility(post=request.POST, get=request.GET) c = util.nvlGet('c'); par = util.nvlGet('q', '') if c is not None: if 'formledger' == c: return HttpResponse(json.dumps({'html': render_to_string('inventory/form_ledger.html')})) if 'taccount_bdi_form' == c: barang_id = util.nvlGet('barang_id', 0) inventory_id = util.nvlGet('inventory_id', 1) tgl = util.nvlDate('tanggal', None) if(tgl is None): return HttpResponseServerError('Request Parameter Invalid') bj = barangJurnal() debet = bj.getMonthlyJurnal(barang_id, inventory_id, tgl, 'D') kredit = bj.getMonthlyJurnal(barang_id, inventory_id, tgl, 'K') saldoawal = bj.getMonthlyStartSaldo(barang_id, inventory_id, tgl) saldoakhir = bj.getMonthlyEndSaldo(barang_id, inventory_id, tgl) saldototal = bj.getMonthlyTotalTransaction(barang_id, inventory_id, tgl) range = calendar.monthrange(tgl.year, tgl.month) tglsaldoawal = date(tgl.year, tgl.month, 1) tglsaldoakhir = date(tgl.year, tgl.month, range[1]) print 'range %s ' % (range[0]) if tglsaldoakhir > date.today(): tglsaldoakhir = date.today() data = {'debet': debet, 'kredit': kredit, 'saldoawal': saldoawal, 'saldoakhir': saldoakhir, 'saldototal': saldototal , 'tglsaldoawal': tglsaldoawal, 'tglsaldoakhir': tglsaldoakhir} return HttpResponse( json.dumps({'html': render_to_string('inventory/t_account_barang_inventory.html', data)})) return HttpResponse('tes respons')
def simpanItemMutasi(reqData): requtil = Utility(reqData=reqData); id = requtil.nvlGet('id', 0) idBrg = requtil.nvlGet('barang_id', 0) pbl = None if id == 0: pbl = initMutasi(reqData) else: pbls = models.Mutasi.objects.filter(id__exact=id) if len(pbls): pbl = pbls[0] #prepare barang brg = None brgs = models.Barang.objects.filter(id__exact=idBrg) if len(brgs): brg = brgs[0] else: raise StandardError('Barang ini tidak ditemukan') ipbl = models.ItemMutasi() ipbl.barang = brg ipbl.mutasi = pbl ipbl.harga = brg.harga ipbl.jumlah = requtil.nvlGet('barang_qty', 0) ipbl.save() return ipbl
def simpanItemOpname(reqData): requtil = Utility(reqData=reqData); id = requtil.nvlGet('id', 0) idBrg = requtil.nvlGet('barang_id', 0) pbl = None if id == 0: pbl = initOpname(reqData) else: pbls = models.Opname.objects.filter(id__exact=id) if len(pbls): pbl = pbls[0] #prepare barang brg = None brgs = models.Barang.objects.filter(id__exact=idBrg) if len(brgs): brg = brgs[0] else: raise StandardError('Barang ini tidak ditemukan') iops = models.ItemOpname.objects.filter(barang__id=idBrg) itemopname = models.ItemOpname() if iops is not None: for iop in iops: itemopname = iop break itemopname.barang = brg itemopname.opname = pbl itemopname.saldo = requtil.nvlGet('saldo') itemopname.inspeksi = requtil.nvlGet('opname') itemopname.keterangan = requtil.nvlGet('keterangan') itemopname.harga = brg.harga itemopname.save() return itemopname
def saveUpdateBarangDiInventory(reqData): requtil = Utility(reqData=reqData) if requtil.nvlGet('id', None) is None: #barang baru di inventory #init barang di inventory object bdi = models.BarangDiInventory() #init barang object brg = models.Barang() brg = requtil.bindRequestModel(brg) brg.save() #safe harga hrg = models.Harga(); hrg = requtil.bindRequestModel(hrg) hrg.awal = date.today(); hrg.barang = brg; hrg.keterangan = 'initial value' hrg.save() #set default inventory to main ware house in case it doesn't exists; inventory_id = requtil.nvlGet('inventory_id', settings.MAIN_WAREHOUSE) #check the inventory entry inv = models.Inventory.objects.filter(id__exact=inventory_id) #the inventory will be defined by reference later if inv is not None and len(inv) > 0: bdi.inventory = inv[0] bdi.barang = brg bdi.saldo = 0 bdi.save() return requtil.modelToDicts([inv, hrg, brg, bdi])
def simpanItemPemasukanPabean(reqData): requtil = Utility(reqData=reqData); id = requtil.nvlGet('id', 0) idBrg = requtil.nvlGet('barang_id', 0) print 'observer barang id' print idBrg pbl = None if id == 0: pbl = initPengeluaranPabean(reqData) else: pbls = models.DokumenPabean.objects.filter(id__exact=id) if len(pbls): pbl = pbls[0] #prepare barang brg = None brgs = models.Barang.objects.filter(id__exact=idBrg) if len(brgs): brg = brgs[0] else: raise StandardError('Barang ini tidak ditemukan') docpb = models.ItemDokumenPabean() #reset the id docpb = requtil.bindRequestModel(docpb) docpb.id = None#reset the id docpb.barang = brg docpb.dokumen = pbl docpb.harga = requtil.nvlGet('barang_harga', 0) docpb.jumlah = requtil.nvlGet('barang_qty', 0) docpb.save() return docpb
def initMutasi(reqData): requtil = Utility(reqData=reqData); _apu = appUtil() #prepare inventory pbl = models.Mutasi() pbl.nomor = ('00000000000000%s' % (_apu.getIncrement(4)))[-6:] pbl.asal = getInvById(requtil.nvlGet('inventory_asal_id')) pbl.tujuan = getInvById(requtil.nvlGet('inventory_tujuan_id')) pbl.save() return pbl
def prepareFormInventory(reqData): requtil = Utility(reqData=reqData) jresp = dict({'html': render_to_string('inventory/form_inventory.html', {})}) data = {} if 'id' in reqData: id = requtil.nvlGet('id') if id > 0: pas = models.Inventory.objects.get(id__exact=requtil.nvlGet('id')) data = requtil.modelToDict(pas) jresp.update({'data': data}) return jresp
def prepareFormRencanaPembelian(reqData): requtil = Utility(reqData=reqData) jresp = dict({'html': render_to_string('inventory/form_rencana_pembelian.html', {})}) data = {} if 'id' in reqData: id = requtil.nvlGet('id') if id > 0: cust = models.Customer.objects.get(id__exact=requtil.nvlGet('id')) data = requtil.modelToDicts([cust]) jresp.update({'data': data}); return jresp
def prepareFormBarang(reqData): requtil = Utility(reqData=reqData) jresp = dict({'html': render_to_string('inventory/form_mutasi.html', {})}) data = {} if 'id' in reqData: id = requtil.nvlGet('id') if id > 0: brg = models.Barang.objects.get(id__exact=requtil.nvlGet('id')) data = requtil.modelToDicts([brg]) jresp.update({'data': data}); return jresp
def prepareFormSupplier(reqData): requtil = Utility(reqData=reqData) jresp = dict({'html': render_to_string('inventory/form_supplier.html', {})}) data = {} if 'id' in reqData: id = requtil.nvlGet('id') if id > 0: sup = models.Supplier.objects.get(id__exact=requtil.nvlGet('id')) data = requtil.modelToDicts([sup]) jresp.update({'data': data}); return jresp
def dispatch(request): util = Utility(post=request.POST, get=request.GET) c = util.nvlGet('c'); par = util.nvlGet('q', '') if c is not None: if 'referensi' == c: grup = util.nvlGet('grup', 0) field = util.nvlGet('field') refs = models.Referensi.objects.filter(grup__exact=grup) jrefs = [] for ref in refs: jrefs.append(util.modelToDict(ref)) return HttpResponse(json.dumps({'data': jrefs}))
def prepareListSupplierByKataKunci((reqData)): requtil = Utility(reqData=reqData) kunci = requtil.nvlGet('kunci', None) jsups = [] if kunci is not None: sups = models.Supplier.objects.filter( Q(nama__icontains=kunci) | Q(alamat__icontains=kunci))[ :requtil.nvlGet('a', 8)] else: sups = models.Supplier.objects.all()[:requtil.nvlGet('a', 8)] for sup in sups: jsup = requtil.modelToDict(sup) jsups.append(jsup) return jsups;
def prepareListPartnerByKataKunci((reqData)): requtil = Utility(reqData=reqData) kunci = requtil.nvlGet('kunci', None) if kunci is not None: custs = models.Partner.objects.filter( Q(nama__icontains=kunci) | Q(alamat__icontains=kunci))[ :requtil.nvlGet('a', 8)] else: custs = models.Partner.objects.all()[:requtil.nvlGet('a', 8)] jcusts = []; for cust in custs: jcust = requtil.modelToDict(cust) jcusts.append(jcust) return jcusts;
def dispatch(request): util = Utility(post=request.POST, get=request.GET) c = util.nvlGet('c'); par = util.nvlGet('q', '') if c is not None: if 'formpartner' == c: return HttpResponse(json.dumps(prepareFormPartner(util.data))) if 'formpencarianpartner' == c: return render_to_response('inventory/form_partner_browse.html') if 'pencarianpartner' == c: return HttpResponse(json.dumps({'data': pencarianPartner(util.data)})) if 'partnersider' == c: return HttpResponse(json.dumps({'html': getPartnerSider(util.data)})) if 'caripartner' == c: return render_to_response('inventory/cari_kata_kunci.html') if 'lookuppartner' == c: return HttpResponse(json.dumps( lookupPartner(util.nvlGet('katakunci', None), util.nvlGet('id', None), util.nvlGet('max', None)))); if 'formlistpartner' == c: return HttpResponse(json.dumps(dict( {'html': render_to_string('inventory/list_partner.html'), 'data': prepareListPartnerByKataKunci(util.data)}))) if 'partnerbyname' == c: par = util.nvlGet('q', '') namas = [] #g=500/0 nama = 'noname' if len(par) > 2: pas = models.Partner.objects.filter(nama__icontains=par)[:util.nvlGet('a', 8)] for p in pas: nama = util.modelToDicts([p]) namas.append(nama) #return HttpResponseServerError('error dari server lhoo') data = dict({'eventid': util.nvlGet('eventid'), 'data': namas}) return HttpResponse(json.dumps(data)) if 'partnerbyid' == c: cuss = models.Partner.objects.filter(id__exact=par) for cus in cuss: return HttpResponse(json.dumps(util.modelToDict(cus))) return HttpResponse({'message': 'no partner'}) if 'partner_bynamalamat' == c: jresp = dict({'data': prepareListPartnerByKataKunci(util.data), 'eventid': util.nvlGet('eventid')}) return HttpResponse(json.dumps(jresp)) if 'hapuspartner' == c: custs = models.Supplier.objects.filter(id__exact=util.nvlGet('id', 0)); dp = {} if custs: #hapus semua barang di inventory dp = util.modelToDict(custs[0]) custs[0].delete() return HttpResponse(json.dumps(dp)) if 'updatesupplier' == c: #hanya untuk mengupdate data barang, bukan barang di inventory return HttpResponse(json.dumps(saveUpdatePartner(util.data))) if 'simpanpartner' == c: #simpanPasien(request.POST) return HttpResponse(json.dumps(saveUpdatePartner(util.data))) return HttpResponseServerError('can''t find param')
def prepareListBarangByKataKunci((reqData)): requtil = Utility(reqData=reqData) kunci = requtil.nvlGet('kunci', None) barangs = [] if kunci is not None: barangs = models.Barang.objects.filter( Q(nama__icontains=kunci) | Q(merk__icontains=kunci) | Q(tag__icontains=kunci))[ :requtil.nvlGet('a', 8)] else: barangs = models.Barang.objects.all()[:requtil.nvlGet('a', 8)] jbarangs = []; for barang in barangs: jbarang = requtil.modelToDict(barang) jbarangs.append(jbarang) return jbarangs;
def dispatch(request): util = Utility(post=request.POST, get=request.GET) c = util.nvlGet('c'); par = util.nvlGet('q', '') if c is not None: if 'formkonversi' == c: return HttpResponse(json.dumps(prepareFormKonversi(util.data))) if 'simpanitemkonversi' == c: ipbl = simpanItemKonversi(util.data) return HttpResponse(json.dumps( util.modelToDicts([ipbl.barang, ipbl.konversi, ipbl], prefiks=['barang_', 'konversi_']))) if 'hapusitemkonversi' == c: iks = models.ItemKonversi.objects.filter(id__exact=util.nvlGet('itemId')) for ik in iks: jik = util.modelToDicts([ik]) ik.delete() return HttpResponse(json.dumps(jik)) if 'getitemkonversi' == c: ipbls = getItemKonversi(util.nvlGet('id', 0), util.nvlGet('kredebit'), util.nvlGet('jenisProduk', 1), util.nvlGet('a', 20)) jitemkonversis = [] for ipbl in ipbls: jitem = util.modelToDicts([ipbl.barang, ipbl], replaces=['id:barang_id']) jitemkonversis.append(jitem) return HttpResponse(json.dumps(jitemkonversis)) if 'gethdrkonversi' == c: pbls = models.Konversi.objects.filter(id__exact=util.nvlGet('id', 0)) for pbl in pbls: jpbl = util.modelToDicts([pbl]) return HttpResponse(json.dumps({'data': jpbl})) return HttpResponse('No data with this id ') if 'gettotalitemkonversi' == c: y = 'nanti di garap' if 'formbrowsekonversi' == c: return render_to_response('inventory/form_konversi_browse.html') if 'browsekonversi' == c: return HttpResponse(json.dumps({'data': browseKonversi(util.data)})) if 'simpankonversi' == c: bb = barangBisnis() konversi_id = util.nvlGet('id', 0) html = ''' <div class="formrow" style:font 12px verdana>Data rencana konversi telah berhasil disimpang</div> <input type="button" value="Lanjut Perekaman" id="btnMore"/> ''' if konversi_id != 0: bb.konversiProduksi(konversi_id) return HttpResponse( json.dumps({'sukses': True, 'message': 'Berhasil melakukan konversi', 'html': html})) else: return HttpResponse(json.dumps({'sukses': False, 'message': 'Rencana konversi tidak disimpan'})) if 'konversisider' == c: return HttpResponse(json.dumps({'html': getKonversiSider(util.data)})) return HttpResponseServerError('can''t find param')
def index(request): util = Utility(post=request.POST, get=request.GET) c = util.nvlGet('c'); if c is not None: if 'formtutorial' == c: return render_to_response('inventory/form_tutorial.html') if 'local' == c: t = loader.get_template('portal_ivtamd.html') djProd = '''http://ajax.googleapis.com/ajax/libs/dojo/1.7.2/''' djProdExt = '''.js''' djDev = '''/static/dojolib/''' djDevExt = '''.js''' d = {"dj": djDev, 'djExt': djProdExt} return HttpResponse(t.render(Context(d))) if 'home' == c: return render_to_response('inventory/web.html') if 'pabean' == c: return render_to_response('inventory/dokumen_css.html') else: #t = loader.get_template('portal_ivt.html') t = loader.get_template('portal_ivtamd.html') # t = loader.get_template('portal_inventory.html') // the old system #djProd = '''http://ajax.googleapis.com/ajax/libs/dojo/1.6/''' djProd = '''http://ajax.googleapis.com/ajax/libs/dojo/1.7.2/''' djProdExt = '''.js''' djDev = '''/static/dojolib/''' djDevExt = '''.js''' d = {"dj": djProd, 'djExt': djProdExt} return HttpResponse(t.render(Context(d)))
def saveUpdateInventory(reqData): requtil = Utility(reqData=reqData) inventory = models.Inventory() inventory = requtil.bindRequestModel(inventory) if requtil.hasKey('jnsInventory'): refJns = models.Referensi.objects.filter(id__exact=requtil.nvlGet('jnsInventory')) print refJns[0].nama inventory.jenis = refJns[0] if requtil.hasKey('jnsMetode'): refMet = models.Referensi.objects.filter(id__exact=requtil.nvlGet('jnsMetode')) inventory.metode = refMet[0] if requtil.nvlGet('id', None) is None: inventory.save() else: inventory.save() return requtil.modelToDict(inventory)
def getSupplierSider(reqData): requtil = Utility(reqData=reqData) pas = models.Supplier.objects.filter(id__exact=requtil.nvlGet('id')) if pas[0] is not None: id = pas[0].id jpas = requtil.modelToDicts([pas[0]]) html = render_to_string('inventory/form_supplier_sider.html', jpas) return html
def initKonversi(reqData): requtil = Utility(reqData=reqData); _apu = appUtil() #prepare inventory pbl = models.Konversi() pbl.nomor = ('00000000000000%s' % (_apu.getIncrement(5)))[-6:] pbl.inventory = getInvById(requtil.nvlGet('inventory_id')) pbl.save() return pbl
def getBarangSider(reqData): requtil = Utility(reqData=reqData) pas = models.Barang.objects.filter(id__exact=requtil.nvlGet('id')) if pas[0] is not None: id = pas[0].id jpas = requtil.modelToDicts([pas[0]]) urlss = "000000%s.jpg" % (id) jpas['url'] = urlss[-10:] html = render_to_string('inventory/form_barang_sider.html', jpas) return html
def initPengeluaranPabean(reqData): requtil = Utility(reqData=reqData); _apu = appUtil() #prepare inventory pbl = models.DokumenPabean() pbl = requtil.bindRequestModel(pbl) pbl.nomor = ('00000000000000%s' % (_apu.getIncrement(7)))[-6:] pbl.inventory = models.Inventory.objects.get(id__exact=requtil.nvlGet('inventory_id')) pbl.save() return pbl
def browseMutasi(reqData): requtil = Utility(reqData=reqData) farg = {}; if requtil.nvlGet('par_nomor') is not None: farg['nomor__icontains'] = requtil.nvlGet('par_nomor') if requtil.nvlDate('par_tanggal_awal', None) is not None: farg['tanggal__gte'] = requtil.nvlDate('par_tanggal_awal') if requtil.nvlDate('par_tanggal_akhir', None) is not None: farg['tanggal__lte'] = requtil.nvlDate('par_tanggal_akhir') if requtil.nvlGet('init') is not None: pas = models.Mutasi.objects.all( ).order_by( 'tanggal')[0:requtil.nvlGet('n', 40)] else: pas = models.Mutasi.objects.filter(**farg).order_by( 'waktu')[0:requtil.nvlGet('n', 40)] jdatas = []; for pa in pas: jdata = (Utility()).modelToDicts([pa]) jdatas.append(jdata); return jdatas;
def saveUpdateSupplier(reqData): requtil = Utility(reqData=reqData) sup = models.Supplier() sup = requtil.bindRequestModel(sup) if requtil.nvlGet('id', None) is None: #barang baru di inventory #init barang di inventory object #init barang object sup.save() else: sup.save() return requtil.modelToDicts([sup])
def saveUpdatePartner(reqData): requtil = Utility(reqData=reqData) cust = models.Partner() #init barang object cust = requtil.bindRequestModel(cust) if requtil.nvlGet('id', None) is None: #barang baru di inventory #init barang di inventory object cust.save() else: cust.save() return requtil.modelToDicts([cust])
def pencarianBarang(reqData): requtil = Utility(reqData=reqData) farg = {}; if requtil.nvlGet('par_nama') is not None: print(requtil.nvlGet('par_nama')) farg['barang__nama__icontains'] = requtil.nvlGet('par_nama') if requtil.nvlGet('par_merk') is not None: farg['barang__merk__icontains'] = requtil.nvlGet('par_merk') if requtil.nvlGet('par_kode') is not None: farg['barang__kode__icontains'] = requtil.nvlGet('par_kode') farg['inventory__id__exact'] = settings.MAIN_WAREHOUSE if requtil.nvlGet('init') is not None: pas = models.BarangDiInventory.objects.filter( inventory__id__exact=settings.MAIN_WAREHOUSE).order_by( 'barang__nama')[0:requtil.nvlGet('n', 40)] else: pas = models.BarangDiInventory.objects.filter(**farg).order_by( 'barang__nama')[0:requtil.nvlGet('n', 40)] jdatas = []; for pa in pas: jdata = (Utility()).modelToDicts([pa.barang]) jdatas.append(jdata); return jdatas;
def prepareSideSaldo(reqData): requtil = Utility(reqData=reqData) barang_id = requtil.nvlGet('barang_id', 0) bdis = models.BarangDiInventory.objects.filter(barang__id__exact=barang_id) html = 'tes' if len(bdis): barang = bdis[0].barang barang_nama = barang.nama daftar_saldo = bdis bb = barangBisnis() saldo = bb.getSaldoBarang(barang.id) html = render_to_string('inventory/side_saldo_barang.html', {'barang_nama': barang_nama, 'total': saldo, 'daftar_saldo': daftar_saldo}) return html
def initPembelian(reqData): requtil = Utility(reqData=reqData); _apu = appUtil() #prepare inventory sups = models.Supplier.objects.filter(id__exact=requtil.nvlGet('supplier_id', 0)) sup = None if len(sups): sup = sups[0]; else: raise StandardError('Supplier ini tidak ditemukan') pbl = models.Pembelian() pbl.supplier = sup pbl.nomor = ('00000000000000%s' % (_apu.getIncrement(1)))[-6:] pbl.save() return pbl
def dispatch(request): util = Utility(post=request.POST, get=request.GET) c = util.nvlGet('c'); par = util.nvlGet('q', '') if c is not None: if 'formrencanapenjualan' == c: return HttpResponse(json.dumps(prepareFormRencanaPenjualan(util.data))) if 'simpanitempenjualan' == c: ipbl = simpanItemPenjualan(util.data) return HttpResponse(json.dumps( util.modelToDicts([ipbl.barang, ipbl.penjualan, ipbl.penjualan.customer, ipbl], replaces=['id:barang_id', 'id:id', 'id:customer_id', 'id:id', 'id:itempenjualan_id', 'tanggal:tgl_rencana_penjualan', 'nomor:no_rencana_penjualan']))) if 'getitempenjualan' == c: ipbls = getItemPenjualan(util.nvlGet('id', 0), util.nvlGet('a', 20)) jitempenjualans = [] for ipbl in ipbls: jitem = util.modelToDicts([ipbl.barang, ipbl], replaces=['id:barang_id']) jitempenjualans.append(jitem) return HttpResponse(json.dumps(jitempenjualans)) if 'gettotalitempenjualan' == c: y = 'nanti di garap' if 'simpanrencanapenjualan' == c: bb = barangBisnis() penjualan_id = util.nvlGet('id', 0) html = ''' <div class="formrow" style:font 12px verdana>Data rencana penjualan telah berhasil disimpang</div> <input type="button" value="Lanjut Perekaman" id="btnMore"/> ''' if penjualan_id != 0: bb.kreditPenjualan(penjualan_id) return HttpResponse( json.dumps({'sukses': True, 'message': 'Berhasil melakukan penjualan', 'html': html})) else: return HttpResponse(json.dumps({'sukses': False, 'message': 'Rencana penjualan tidak disimpan'})) return HttpResponseServerError('can''t find param')
def getMutasiSider(reqData): requtil = Utility(reqData=reqData) pas = models.Mutasi.objects.filter(id__exact=requtil.nvlGet('id')) if pas[0] is not None: jpas = requtil.modelToDicts([pas[0].supplier, pas[0]]) items = models.ItemMutasi.objects.filter(mutasi__id__exact=pas[0].id) jitems = [] jitem = {}; if items[0] is not None: for item in items: jitem = requtil.modelToDicts([item.barang, item]) jitems.append(jitem) jpas.update({'items': jitems}) html = render_to_string('inventory/form_mutasi_sider.html', jpas) return html