package manufacturing;

import java.util.ArrayList;

import sygr.pots.extensions.Attachment;
import sygr.pots.extensions.Attr;
import sygr.pots.extensions.Creator;
import sygr.pots.extensions.ExtAlert;
import sygr.pots.extensions.ExtConstants;
import sygr.pots.extensions.PluginData;
import sygr.pots.extensions.PluginInterface;
import sygr.pots.extensions.PluginUtilInterface;

public class ErpReceiveDocument  implements PluginInterface{

	@Override
	public void execute(PluginData data, PluginUtilInterface util) {
			
		if(data.messageIn.getTransfer() == null || data.messageIn.getTransfer().size() == 0) {
			util.log("ErpReceiveDocument ERROR: no data in msgin.Transfer");
			return;
		}
		
		byte[] pdf = ( byte[] ) data.messageIn.getTransfer().get(0);
		if(pdf.length == 0) {
			util.log("ErpReceiveDocument ERROR: file length 0, stop.");
			return;
		}
		
		String storetype = util.getStoreTypeOfPotType(Constants.ENTPROTOPO);
		util.log("ErpReceiveDocument: store type = " + storetype);
		
		Attachment atta = new Attachment();
		atta.setContent(pdf);
		
		String attaguid = util.createAttachment(storetype, atta);
		util.log("ErpReceiveDocument: attachment GUID = " + attaguid);
		
		Attr attr = new Attr();
		util.setNodeValue(attr, attaguid, Constants.ATTAGUID);
		
		Creator creator = new Creator();
		creator.setType(Constants.ENTPROTOPO);
		creator.setMatchkey0(Constants.PONUMBER);
		creator.setMatchval0(Util.getNextDocNumber(util));
		creator.setInitplugin(Constants.INITPLUGINPO);
		creator.setAttr(attr);
		data.messageOut.addCreator(creator);
				
		util.log("ErpReceiveDocument: finished");
		
	}

	@Override
	public void reloadConfig(ArrayList<String> changes, PluginUtilInterface util) {
		
	}

}
