function feederMahasiswa()
{
/** COMMON STORES */
var ds_mahasiswa = new Ext.data.JsonStore({ //static data
fields: [
'already_in_feeder', 'id_reg_pd', 'id_pd', 'nm_pd', 'jk', 'nisn', 'nim', 'nik', 'kdprodi', 'id_jns_daftar',
'tgl_masuk_sp', 'mulai_smt', 'tmpt_lahir', 'tgl_lahir', 'id_agama', 'ds_kel', 'nm_ayah', 'nm_ibu_kandung',
'kode_pos', 'stat_pd', 'a_terima_kps', 'email', 'telepon_rumah', 'telepon_seluler', 'a_pernah_tk', 'a_pernah_paud'],
data: []
});
var uploadexcelform = new Ext.FormPanel({
fileUpload: true,
width: 800,
autoHeight: true,
layout: 'form',
bodyStyle: 'padding: 10px 10px 10px 10px;',
labelWidth: 60,
defaults: {
allowBlank: false,
msgTarget: 'side'
},
items:[
{
xtype:'compositefield',
items:[
{
xtype: 'fileuploadfield',
id: 'excelmahasiswa',
name: 'excelmahasiswa',
emptyText: 'Upload data mahasiswa (excel)',
width:300,
fieldLabel: 'File ',
buttonText: ' Browse ',
},{
xtype:'button',
text:'Upload',
iconCls: 'silk-accept',
margins:'0 0 0 15',
handler: function(){
if(uploadexcelform.getForm().isValid()){
ds_mahasiswa.clearData();
Ext.getCmp('btn_export_to_feeder').disable();
form_action=1;
uploadexcelform.getForm().submit({
url: BASE_URL + 'feeder/feedermahasiswa_controller/upload_excel',
waitMsg: 'Mengupload data ',
success: function(form,action){
//add data to grid
obj = Ext.util.JSON.decode(action.response.responseText);
if(obj.success){
var dt_mahasiswa = obj.data;
var mapMahasiswa = new Ext.data.Record.create([
{
name: 'already_in_feeder',
name: 'id_reg_pd',
name: 'id_pd',
name: 'nm_pd',
name: 'jk',
name: 'nisn',
name: 'nim',
name: 'nik',
name: 'kdprodi',
name: 'id_jns_daftar',
name: 'tgl_masuk_sp',
name: 'mulai_smt',
name: 'tmpt_lahir',
name: 'tgl_lahir',
name: 'id_agama',
name: 'ds_kel',
name: 'nm_ayah',
name: 'nm_ibu_kandung',
name: 'kode_pos',
name: 'stat_pd',
name: 'a_terima_kps',
name: 'email',
name: 'telepon_rumah',
name: 'telepon_seluler',
name: 'a_pernah_tk',
name: 'a_pernah_paud',
}
]);
//loop data mahasiswa
for (i = 0; i < dt_mahasiswa.length; i++) {
curr_mahasiswa = dt_mahasiswa[i];
ds_mahasiswa.add([
new mapMahasiswa({
'already_in_feeder' : curr_mahasiswa.already_in_feeder,
'id_reg_pd' : curr_mahasiswa.id_reg_pd,
'id_pd' : curr_mahasiswa.id_pd,
'nm_pd' : curr_mahasiswa.nm_pd,
'jk' : curr_mahasiswa.jk,
'nisn' : curr_mahasiswa.nisn,
'nim' : curr_mahasiswa.nim,
'nik' : curr_mahasiswa.nik,
'kdprodi' : curr_mahasiswa.kdprodi,
'id_jns_daftar' : curr_mahasiswa.id_jns_daftar,
'tgl_masuk_sp' : curr_mahasiswa.tgl_masuk_sp,
'mulai_smt' : curr_mahasiswa.mulai_smt,
'tmpt_lahir' : curr_mahasiswa.tmpt_lahir,
'tgl_lahir' : curr_mahasiswa.tgl_lahir,
'id_agama' : curr_mahasiswa.id_agama,
'ds_kel' : curr_mahasiswa.ds_kel,
'nm_ayah' : curr_mahasiswa.nm_ayah,
'nm_ibu_kandung' : curr_mahasiswa.nm_ibu_kandung,
'kode_pos' : curr_mahasiswa.kode_pos,
'stat_pd' : curr_mahasiswa.stat_pd,
'a_terima_kps' : curr_mahasiswa.a_terima_kps,
'email' : curr_mahasiswa.email,
'telepon_rumah' : curr_mahasiswa.telepon_rumah,
'telepon_seluler' : curr_mahasiswa.telepon_seluler,
'a_pernah_tk' : curr_mahasiswa.a_pernah_tk,
'a_pernah_paud' : curr_mahasiswa.a_pernah_paud,
})
]);
}
check = ds_mahasiswa.getCount();
if(check > 0){
Ext.getCmp('btn_export_to_feeder').enable();
}else{
Ext.getCmp('btn_export_to_feeder').disable();
}
}else{
if(obj.message){
Ext.MessageBox.alert('Informasi',obj.message);
}else{
Ext.MessageBox.alert('Informasi','Data gagal di export');
}
}
}
});
}
}
},{
xtype: 'button',
id: 'btn_export_to_feeder',
margins:'0 0 0 15',
iconCls: 'silk-save',
text: ' Export To Feeder',
disabled: true,
handler: function() {
export_to_feeder();
}
}]
}],
});
/** FUNCTION for GRID COLUMN EDITOR */
/** GRID COLUMN MODEL */
var cm_mahasiswa = new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer({width: 30}), //for rows numbering
{
header: headerGerid('Already in feeder'),
width: 100,
dataIndex: 'already_in_feeder',
sortable: true,
hidden: true,
},{
header: headerGerid('ID REG PD'),
width: 100,
dataIndex: 'id_reg_pd',
sortable: true,
hidden: true,
},{
header: headerGerid('ID PD'),
width: 100,
dataIndex: 'id_pd',
sortable: true,
hidden: true,
},{
header: headerGerid('Nama Mahasiswa'),
width: 220,
dataIndex: 'nm_pd',
sortable: true,
},{
header: headerGerid('JK'),
width: 60,
dataIndex: 'jk',
sortable: true,
},{
header: headerGerid('NISN'),
width: 100,
dataIndex: 'nisn',
sortable: true,
},{
header: headerGerid('NIM'),
width: 100,
dataIndex: 'nim',
sortable: true,
},{
header: headerGerid('NIK'),
width: 100,
dataIndex: 'nik',
sortable: true,
},{
header: headerGerid('Kode Prodi'),
width: 100,
dataIndex: 'kdprodi',
sortable: true,
},{
header: headerGerid('Jenis Pendaftar'),
width: 100,
dataIndex: 'id_jns_daftar',
sortable: true,
renderer: fnGenerateJPendaftar,
},{
header: headerGerid('Tanggal Masuk'),
width: 100,
dataIndex: 'tgl_masuk_sp',
sortable: true,
},{
header: headerGerid('Smt. Awal Sbg. Mahasiswa'),
width: 160,
dataIndex: 'mulai_smt',
sortable: true,
},{
header: headerGerid('Tempat Lahir'),
width: 150,
dataIndex: 'tmpt_lahir',
sortable: true,
},{
header: headerGerid('Tanggal Lahir'),
width: 110,
dataIndex: 'tgl_lahir',
sortable: true,
renderer: Ext.util.Format.dateRenderer('d/m/Y'),
},{
header: headerGerid('Agama'),
width: 100,
dataIndex: 'id_agama',
sortable: true,
renderer : fnGenerateAgama
},{
header: headerGerid('Kelurahan'),
width: 150,
dataIndex: 'ds_kel',
sortable: true,
},{
header: headerGerid('Nama Ibu Kandung'),
width: 180,
dataIndex: 'nm_ibu_kandung',
sortable: true,
},{
header: headerGerid('Nama Ayah'),
width: 180,
dataIndex: 'nm_ayah',
sortable: true,
},{
header: headerGerid('Kode Pos'),
width: 100,
dataIndex: 'kode_pos',
sortable: true,
},{
header: headerGerid('Status Mahasiswa'),
width: 120,
dataIndex: 'stat_pd',
sortable: true,
renderer : fnGenerateStatusMahasiswa
},{
header: headerGerid('Penerima KPS?'),
width: 150,
dataIndex: 'a_terima_kps',
sortable: true,
renderer : fnGenerateYaTidak
},{
header: headerGerid('Email'),
width: 150,
dataIndex: 'email',
sortable: true,
},{
header: headerGerid('Telepon Rumah'),
width: 150,
dataIndex: 'telepon_rumah',
sortable: true,
},{
header: headerGerid('Telepon Seluler'),
width: 150,
dataIndex: 'telepon_seluler',
sortable: true,
},{
header: headerGerid('Pernah TK'),
width: 100,
dataIndex: 'a_pernah_tk',
sortable: true,
renderer : fnGenerateYaTidak
},{
header: headerGerid('Pernah PAUD'),
width: 100,
dataIndex: 'a_pernah_paud',
sortable: true,
renderer : fnGenerateYaTidak
}]
);
var grid_mahasiswa = new Ext.grid.EditorGridPanel({
id: 'grid_mahasiswa',
store: ds_mahasiswa,
autoSizeColumns: true,
enableColumnResize: true,
view: new Ext.grid.GridView({emptyText: '< Belum ada Data >'}),
cm: cm_mahasiswa,
frame: true,
loadMask: true,
height: 400,
layout: 'anchor',
style: 'padding-bottom:5px',
});
var fp_mahasiswa = RH.GPContainer1_wHeaders({
title: 'Export Mahasiswa', iconCls:'silk-book',
gridPanel: grid_mahasiswa,
headerLabelWidth: 60,
headers: [{
xtype: 'container', layout: 'hbox',
items:[{
layout:'form', labelWidth:60, labelAlign:'right',
items: [
uploadexcelform,{
xtype: 'tbtext', style:'font-size:12px;padding:10px;', id: 'info',
text: 'Keterangan :
'+
'1. Data yang wajib diisi adalah Nama Mahasiswa, Jenis Kelamin, Kode Prodi, Jenis Pendaftar, Tanggal Masuk, Semester Awal Sbg. Mahasiswa, Tempat Lahir, Tanggal Lahir, Agama, Kelurahan, Nama Ibu Kandung, Status Mahasiswa, Penerima KPS.
'+
'2. Jenis kelamin diisi dengan format L/P.
'+
'3. Jenis Pendaftar diisi dengan 1/2/3/4/5/6/8 (1 : Peserta didik baru, 2 : Pindahan, 3 : Naik kelas, 4 : Akselerasi, 5 : Mengulang, 6 : Lanjutan semester, 8 : Pindahan Alih Bentuk).
'+
'4. Tanggal Masuk & Tanggal Lahir diisi dengan format yyyy-mm-dd contoh : 1993-12-29.
'+
'5. Semester Awal Sbg. Mahasiswa diisi dengan ID Semester. Lihat ID semester disini.
'+
'6. Agama diisi Angka 1/2/3/4/5/6/99 (1 : Islam, 2 : Kristen, 3 : Katholik, 4 : Hindu, 5 : Budha , 6 : Konghucu, 99: Lainnya)
'+
'7. Status Mahasiswa diisi huruf A/C/D/L/K (A : Aktif, C : Cuti, D : Drop Out, L : Lulus, K : Mengundurkan Diri)
'+
'8. Penerima KPS, Pernah TK & Pernah PAUD diisi dengan 0/1 (0: Tidak, 1: Ya)
'+
'Silahkan download format data mahasiswa disini '
}
]
}]
}],
}); SET_PAGE_CONTENT(fp_mahasiswa);
function export_to_feeder(){
var waitmsg = Ext.MessageBox.wait('Mengirim data ke aplikasi Feeder...', 'Info');
var dt_mahasiswa = [];
for(var zx = 0; zx < ds_mahasiswa.data.items.length; zx++){
var record = ds_mahasiswa.data.items[zx].data;
dt_mahasiswa[zx] = record;
}
Ext.Ajax.request({
url: BASE_URL + 'feeder/feedermahasiswa_controller/export_to_feeder',
params: {
json_mahasiswa : Ext.encode(dt_mahasiswa)
},
timeout: 1000000,
success: function(response){
waitmsg.hide();
obj = Ext.util.JSON.decode(response.responseText);
if(obj.success === true){
Ext.MessageBox.alert('Informasi','Berhasil mengekspor data mahasiswa ke aplikasi feeder.');
//ds_mahasiswa.clearData();
Ext.getCmp('btn_export_to_feeder').disable();
}else{
Ext.MessageBox.alert('Informasi',obj.message);
}
}
});
}
}
function headerGerid(text, align){
var hAlign = 'center';
if(align =='c') hAlign = 'center';
if(align =='l') hAlign = 'left';
if(align =='r') hAlign = 'right';
return "