Package clips.main

Source Code of clips.main.AppMainWindow

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package clips.main;

import cli_fmw.delegate.directory.complex.DirectoryLocator;
import cli_fmw.main.ClipsException;
import cli_fmw.main.MainWindow;
import cli_fmw.main.PageGeneric;
import cli_fmw.main.PageException;
import cli_fmw.main.audit.AuditManager;
import cli_fmw.utils.MessageBox;
import cli_fmw.utils.Selector;
import clips.Main;
import clips.delegate.directory.complex.DirectoryCollaboratorFunctions;
import clips.delegate.directory.complex.DirectoryCollaboratorFunctionsItem;
import clips.delegate.directory.ro.DirectoryCollaboratorItem;
import clips.login.UserInfo;
import clips.userseach.PanelUserSearch;
import java.awt.Image;
import java.util.ArrayList;
import java.util.Date;
import javax.smartcardio.CardException;
import org.infotechservice.smartcard.service.SmartCard;
import org.infotechservice.smartcard.smartcard.NewSocialCardListener;
import org.infotechservice.smartcard.smartcard.NewSocialCardService;

/**
*
* @author axe
*/
public class AppMainWindow extends MainWindow {

    private static final long serialVersionUID = 1l;
    private Main main;

    private CardInfo cardInfo = null;

    /*private CardListenerClientID  cardClientID = new CardListenerClientID() {
    @Override
    public void acceptID(final int id) {
    EventQueue.invokeLater(new Runnable() {
    @Override
    public void run() {
    try {
    ClientLocal    client = new ClientLocal(id);
    client.getDetails();
    addNewPage(new PanelClientEdit(mainWindow, client), null);
    }
    catch (ClipsException ex) {
    MessageBox.showException(ex);
    return;
    }
    }
    });
    }
    };*/
    private NewSocialCardListener socialCard = new NewSocialCardListener() {

        private AuditManager am = new AuditManager();

        @Override
        public void onCardInsert(SmartCard smartcard){
            try {
                NewSocialCardService service = new NewSocialCardService(smartcard);
                service.getSerial();
                final String id = service.getSerial();
                String fio = service.getFIO();
                Date birthDay = service.getBirthDay();
                String inn = service.getInn();
                String sex = service.getSex();
                String snils = service.getSnils();
                cardInfo = new CardInfo(service.getSerial(), fio, inn, snils, birthDay, sex);

                try {
                    PanelUserSearch addNewPage = (PanelUserSearch) mainWindow.addNewPage(new PanelUserSearch(mainWindow), null);
                    addNewPage.setFIO(fio);
                } catch (ClipsException ex) {
                    MessageBox.showException(ex);
                }
            } catch (CardException ex) {
                ex.printStackTrace();
            }
        }

        @Override
        public void onCardRemove(SmartCard smartcard) {
            cardInfo = null;
        }

    };

    public CardInfo getCardInfo() {
        return cardInfo;
    }

        public AppMainWindow(Main main) {
            super(main);
            this.main = main;
            ArrayList<Image> icons = new ArrayList<Image>();
            icons.add(UserPanelsEnum.iconIC12.getImage());
            icons.add(UserPanelsEnum.iconIC16.getImage());
            icons.add(UserPanelsEnum.iconIC24.getImage());
            icons.add(UserPanelsEnum.iconIC32.getImage());
            setIconImages(icons);
            main.getSmartCardService().addCardListener(socialCard);
//            EventQueue.invokeLater(new Runnable() {
//
//                @Override
//                public void run() {
//                    //AppMainWindow.this.main.getSmartCardService().addCardListener(CardListenerClientID.CARD_FIND, cardClientID);
//                    //AppMainWindow.this.main.getSmartCardService().addCardListener(NewSocialCardListener.CARD_FIND, socialCard);
//                    //TODO
//                }
//            });
        }

        @Override
        public void dispose() {
            //this.main.getSmartCardService().removeCardListener(cardClientID);
            this.main.getSmartCardService().removeCardListener(socialCard);
            super.dispose();
        }

        @Override
        public PageGeneric addNewPage(PageGeneric pageToAdd, PageGeneric afterPage) throws PageException {
            if (pageToAdd instanceof PanelUserSearch) {
                //Панель исключение - игнорируем делегат, панель единственная
                for (int i = 0; i < getPageCount(); i++) {
                    PageGeneric page = getPage(i);
                    if (page.getClass() == pageToAdd.getClass()) {
                        activatePage(page);
                        return page;
                    }
                }
            }
            return super.addNewPage(pageToAdd, afterPage);
        }

        @Override
        protected String makeTitle() throws ClipsException {
            UserInfo user = UserInfo.get();
            String spec = "";
            DirectoryCollaboratorItem collaborator = user.getCollaborator();
            DirectoryCollaboratorFunctions dcf = DirectoryLocator.getDirectory(DirectoryCollaboratorFunctions.class);
            Selector<DirectoryCollaboratorFunctionsItem> s = dcf.getFilteredItems(collaborator);
            if (s.size() == 0) {
                spec = "";
            } else {
                int i = 0;
                spec += s.get(i).getSpeciality();
                for (i = 1; i < s.size(); i++) {
                    String title = s.get(i).getSpeciality().getTitle();
                    if (spec.indexOf(title) < 0) {
                        spec += ", " + title;
                    }
                }
            }
            return user.getCollaborator().getLpu().getTitle() + ", " + user.getUserName() + (user.isSuperUser() ? " [СУПЕР-ПОЛЬЗОВАТЕЛЬ] " : " [" + spec + "]");
        }

        @Override
        public Main getApplication() {
            return (Main) super.getApplication();
        }

        public static AppMainWindow getMainWindow() {
            return (AppMainWindow) MainWindow.getMainWindow();
        }
    }
TOP

Related Classes of clips.main.AppMainWindow

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.