You are on page 1of 7

package com.itc.pspd.

woodPro;

import android.content.Intent;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;

public class IssueSTO extends AppCompatActivity {


Button btnCreate ;
String[] arraySpinner;
Spinner spinnerVendor;
Spinner spinnerDoc;
Spinner spinnerItem;

SAPRecord sel = new SAPRecord();


double openPOQ;

String POID="" ;
String idPO="";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_issue_sto);

ActionBar actionBar = getSupportActionBar();


actionBar.setLogo(R.drawable.itc_42) ;
actionBar.setDisplayUseLogoEnabled(true);
actionBar.setDisplayShowHomeEnabled(true);

btnCreate = (Button)findViewById(R.id.btnCreateR);
// Spinners
spinnerVendor = (Spinner) findViewById(R.id.spinnerVendor);
spinnerDoc = (Spinner) findViewById(R.id.spinnerDoc);
spinnerItem = (Spinner) findViewById(R.id.spinnerItem);

Session selectedSTOclear = new Session(getApplicationContext());


selectedSTOclear.setPOid("");

btnCreate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Session selectedSTOchk = new Session(getApplicationContext());
String chk = selectedSTOchk.getPOid();

getOpenPOQ();

if(spinnerVendor.getSelectedItemPosition()==-1||
spinnerDoc.getSelectedItemPosition()==-1||spinnerItem.getSelectedItemPosition()==-
1)
{
Toast.makeText(IssueSTO.this, "Data Not Available.\nPlease
download data.", Toast.LENGTH_SHORT).show();
}
else if(chk.isEmpty()){
Toast.makeText(IssueSTO.this, "STO combination not available!",
Toast.LENGTH_SHORT).show();
}
else {
Intent i = new Intent(getApplicationContext(),IssueTare.class);
startActivity(i);

}
}
});

populateVendor();

spinnerVendor.setOnItemSelectedListener(new
AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int
position, long id) {
String selectedVendor =
parent.getItemAtPosition(position).toString();
populateDoc(selectedVendor);
}

@Override
public void onNothingSelected(AdapterView<?> parent) {

}
});
spinnerDoc.setOnItemSelectedListener(new
AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int
position, long id) {
populateItem(spinnerVendor.getSelectedItem().toString(),
parent.getItemAtPosition(position).toString());
}

@Override
public void onNothingSelected(AdapterView<?> parent) {

}
});
spinnerItem.setOnItemSelectedListener(new
AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int
position, long id) {

//*************Set selected PO in Session

try {
if
(parent.getItemAtPosition(position).toString().contains("-")) {
String[] arrayItem =
parent.getItemAtPosition(position).toString().split("-");
DBHelper db = new DBHelper(getApplicationContext());
POID =
db.getPOID(spinnerVendor.getSelectedItem().toString(),
spinnerDoc.getSelectedItem().toString(), arrayItem[arrayItem.length -
1].toString(), "I");
db.close();
}

if (!POID.isEmpty()) {
Session selectedPO = new Session(getApplicationContext());
selectedPO.clearPOid();
selectedPO.setPOid(POID);

Session idPOS = new Session(getApplicationContext());


idPO = idPOS.getPOid();

DBHelper db1 = new DBHelper(getApplicationContext());


sel = db1.getPObyID(idPO);
db1.close();
}
}
catch (Exception ex)
{
commonUtil.appendLog("Issue STO spinner Item
Exception :"+ex.getMessage());
}

//Toast.makeText(IssueSTO.this, "PO ID="+idPO,


Toast.LENGTH_SHORT).show();

@Override
public void onNothingSelected(AdapterView<?> parent) {

}
});

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_oth, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.action_home:
Intent i = new Intent(getApplicationContext(), Home.class);
startActivity(i);
finish();
return true;

case R.id.action_back:
super.onBackPressed();
return true;

default:
return super.onOptionsItemSelected(item);
}

public boolean validate(int position) {


// On selecting a spinner item
if ( position == 0 )
{ Toast.makeText(this, "Please Select Valid Value ",
Toast.LENGTH_LONG).show();
}

return true;
// Intent i = new Intent(getApplicationContext(), Home.class);
// startActivity(i);
}

public void populateVendor() {

int POcount = 0;
int iterator = 0;

ArrayList<SAPRecord> arraySAP = new ArrayList<SAPRecord>();

DBHelper db = new DBHelper(getApplicationContext());


POcount = db.POSToCountbyType("I");
arraySAP = db.getPObyVendor("","","","I");
db.close();
String[] ddVendor = new String[POcount];

if(POcount>0) {

for (SAPRecord sp :arraySAP) {


ddVendor[iterator]=sp.getVendorName();
iterator+=1;
}

String[] ddVendorUnique = new


HashSet<String>(Arrays.asList(ddVendor)).toArray(new String[0]);
this.arraySpinner=ddVendorUnique;
//this.arraySpinner = new String[]{
// "Select",
// "Vendor1",
// "Vendor Two"
//};
ArrayAdapter<String> adapter = new ArrayAdapter<>(
this,
R.layout.spinner_row,
R.id.scalename,
arraySpinner);

spinnerVendor.setAdapter(adapter);
//
}
}
public void populateDoc(String VendorName) {
int Doccount = 0;
int iteratorDoc = 0;

ArrayList<SAPRecord> arraySAP = new ArrayList<SAPRecord>();

DBHelper db = new DBHelper(getApplicationContext());


arraySAP = db.getPObyVendor(VendorName,"","","I");
db.close();
Doccount = arraySAP.size();
String[] ddDoc = new String[Doccount];

if(Doccount>0) {

for (SAPRecord sp : arraySAP) {


ddDoc[iteratorDoc] = sp.getPurchasingDocumentNO();
iteratorDoc += 1;
}

this.arraySpinner = ddDoc;

// this.arraySpinner = new String[]{


// "Select",
// "Document 1",
// "Document Two"
// };
ArrayAdapter<String> adapterDoc = new ArrayAdapter<>(
this,
R.layout.spinner_row,
R.id.scalename,
arraySpinner);

spinnerDoc.setAdapter(adapterDoc);
}
//
}
public void populateItem(String Vendor,String Doc) {

int Itemcount = 0;
int iteratorItem = 0;
ArrayList<SAPRecord> arraySAP = new ArrayList<SAPRecord>();

DBHelper db = new DBHelper(getApplicationContext());


arraySAP = db.getPObyVendor(Vendor,Doc,"","I");
db.close();
Itemcount = arraySAP.size();
String[] ddDoc = new String[Itemcount];

if(Itemcount>0) {

for (SAPRecord sp : arraySAP) {


ddDoc[iteratorItem] = sp.getMaterialDescription() + "-" +
sp.getItemNumberPurchasingDocument();
iteratorItem += 1;
}
this.arraySpinner = ddDoc;

// this.arraySpinner = new String[]{


// "Select",
// "Mahogany Log-2052",
// "Subabul-5026"
// };
ArrayAdapter<String> adapterItem = new ArrayAdapter<>(
this,
R.layout.spinner_row,
R.id.scalename,
arraySpinner);

spinnerItem.setAdapter(adapterItem);

public boolean getOpenPOQ()


{
DBHelper db2 = new DBHelper(getApplicationContext());

try {
openPOQ = Double.parseDouble(sel.getOpenPOQuantity().trim() == null ?
sel.getQuantity().trim() == null ? "0" : sel.getQuantity().trim() :
sel.getOpenPOQuantity().trim()) - db2.getOpenQI(sel.getPurchasingDocumentNO(),
sel.getItemNumberPurchasingDocument());
db2.close();

if (openPOQ > 0)
return true;
else
return false;
}catch (Exception ex)
{
commonUtil.appendLog("Issue STO getOpenPOQ
Exception :"+ex.getMessage());
return false;
}
}

You might also like