/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package clips.administrator.register.writer;
import beans.report.register.RegisterData;
import cli_fmw.delegate.directory.complex.DirectoryLocator;
import cli_fmw.main.ClipsException;
import cli_fmw.main.DirectoryItemNotFoundException;
import clips.delegate.directory.simple.insurer.DirectoryInsurer;
import clips.delegate.directory.simple.insurer.DirectoryInsurerItem;
/**
*
* @author vip
*/
public class WriterByCode extends WriterAbstract{
private int code;
private String codes;
public WriterByCode(int code) {
this.code = code;
this.codes = String.valueOf(code);
}
@Override
String getDirName() {
return codes;
}
@Override
boolean needWrite(RegisterData data) {
try {
DirectoryInsurerItem insurer = dirInsurer.getItemFromID(data.id_ins_org);
return insurer.getExtKey().equals(codes);
} catch (DirectoryItemNotFoundException ex) {
return false;
}
}
@Override
int getIdsmo() {
return code;
}
@Override
public String getSmoName() throws ClipsException {
dirInsurer = DirectoryLocator.getDirectory(DirectoryInsurer.class);
DirectoryInsurerItem item = dirInsurer.getItemFromExtKey(codes);
if (item != null) {
return item.getTitle();
} else {
throw new ClipsException("Неизвестная страховая компания: code = " + code);
}
}
@Override
public String getTitle() {
try {
return getSmoName();
} catch (ClipsException ex) {
return ex.getMessage();
}
}
}