Package clips.delegate.client

Source Code of clips.delegate.client.CollaboratorLocal$FunctionsInfo

/*
* CollaboratorLocal.java
*
* Created on 17 Декабрь 2007 г., 11:28
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package clips.delegate.client;

import beans.user.collaborator.CollaboratorBean;
import cli_fmw.delegate.DEC.DECClientAbstract;
import beans.user.collaborator.CollaboratorBeanRemote;
import cli_fmw.delegate.cache.ExtraDataManager;
import cli_fmw.delegate.collaborator.CollaboratorLocalAbstract;
import cli_fmw.delegate.directory.DirectoryItemRO;
import cli_fmw.delegate.lists.DataChunkList;
import cli_fmw.main.ClipsException;
import cli_fmw.utils.SelectorEditable;
import clips.delegate.DEC.DECClient;
import beans.user.collaborator.entities.CollaboratorDetails;
import beans.user.collaborator.entities.CollaboratorFunctionsDetails;
import cli_fmw.delegate.AuditListener;
import cli_fmw.delegate.directory.complex.DirectoryLocator;
import clips.delegate.directory.ro.DirectoryLpu;
import clips.delegate.directory.ro.DirectoryLpuItem;
import framework.beans.ModificationInfo;
import java.util.HashMap;
import java.util.Iterator;



/**
* Делегат, представляющий доступ к 1 записи в таблице collaborator - сотрудник.
* @author Администратор
*/
public class CollaboratorLocal extends
        CollaboratorLocalAbstract<CollaboratorBeanRemote, CollaboratorDetails, ClientLocal> {

    private class FunctionsInfo extends DataChunkList<CollaboratorFunctionsChunk>{

        public FunctionsInfo(ExtraDataManager contaner) {
            super(contaner);
        }


        @Override
        protected void deleteDB(CollaboratorFunctionsChunk data) throws Exception {
            ModificationInfo mi = getBean().removeFunctions(data.getDetails());
            auditDetailsList.addAll(mi.getAudit());
            fireAuditEvent();
        }

        @Override
        protected int saveDB(CollaboratorFunctionsChunk data) throws Exception {
            ModificationInfo mi = getBean().addFunctions(data.getDetails());
            auditDetailsList.addAll(mi.getAudit());
            fireAuditEvent();
            return mi.getId();
        }

        @Override
        protected void loadDB() throws Exception {
            if (!isNewlyCreated()){
                Iterator<CollaboratorFunctionsDetails> it = getBean().getFunctions().iterator();
                while (it.hasNext()) {
                    CollaboratorFunctionsDetails details = it.next();
                    CollaboratorFunctionsChunk chunk = new CollaboratorFunctionsChunk(CollaboratorLocal.this, details);
                    initByDetails(chunk);
                }
            }
        }

    }

    private FunctionsInfo functionsList = new FunctionsInfo(getEDM());


    public CollaboratorLocal(ClientLocal c) throws ClipsException {
        super(c);
    }

    public CollaboratorLocal(int id, AuditListener al) throws ClipsException {
        super(id, al);
    }

    public CollaboratorLocal(CollaboratorDetails details, AuditListener al) throws ClipsException {
        super(details, al);
    }

    @Override
    protected DECClientAbstract<ClientLocal> initClientCache() throws ClipsException {
        return new DECClient(this, "личные данные сотрудника", getAuditListener());
    }


    @Override
    protected CollaboratorDetails getNewDetails() {
        return new CollaboratorDetails();
    }

     /**
     *
     * @return
     * @throws ClipsException
     */
    public SelectorEditable<CollaboratorFunctionsChunk> getFunctions() throws ClipsException {
        return functionsList.selector();
    }

    public HashMap<String, Object> getFieldsForPrint() throws ClipsException {
        HashMap<String, Object> extraFields = new HashMap<String, Object>();
        ClientLocal clientLocal = getClient();
        extraFields.put("collabFIO", clientLocal.toString());
        extraFields.put("collabSex", clientLocal.getSex().getTitle());
        extraFields.put("collabBornDate", clientLocal.BornToString());
        extraFields.put("collabSNILS", clientLocal.getSnils());

        extraFields.put("collabAddress", clientLocal.getAddress().toString());
        extraFields.put("collabRemark", clientLocal.getRemarks());
        extraFields.put("collabEmail", clientLocal.getEmail());
        extraFields.put("collabPhone", clientLocal.getTelephones());
        return extraFields;
    }

    @Override
    protected String getBeanName() {
        return CollaboratorBean.class.getSimpleName();
    }

    public void setSheduled(boolean sheduled) throws ClipsException {
        getDetails().sheduled = sheduled;
        fireContentStateEvent();
    }

    public boolean isSheduled() throws ClipsException {
        return getDetails().sheduled;
    }

    public DirectoryLpuItem getLpu() throws ClipsException {
        return getDetails().lpuID == 0 ? null : DirectoryLocator.getDirectory(DirectoryLpu.class).getItemFromID(getDetails().lpuID);
    }

    public void setLpu(DirectoryLpuItem lpu) throws ClipsException {
        getDetails().lpuID = lpu.getID();
        fireContentStateEvent();
    }


    /**
     * имеет ли сотрудник право на выписку лбготных рецептов
     * @return
     * @throws ClipsException
     */
    public boolean isDlo() throws ClipsException {
        return getDetails().dlo;
    }

    /**
     * назначает сотруднику право на выписку льготных рецептов
     * @param dlo
     * @throws ClipsException
     */
    public void setDlo(boolean dlo) throws ClipsException {
        getDetails().dlo = dlo;
    }

    /**
     * возвращает идентификационный номер (код) сотрудника
     * @return
     * @throws ClipsException
     */
    public String getCode() throws ClipsException {
        return getDetails().code;
    }

    /**
     * назначает идентификационный номер (код) сотруднику
     * @param code
     * @throws ClipsException
     */
    public void setCode(String code) throws ClipsException {
        getDetails().code = code;
        fireContentStateEvent();
    }

    @Override
    public boolean isDirty() {
        return super.isDirty();
    }

    @Override
    protected void load() throws ClipsException {
        super.load();
    }



//    private getPrivateKey(){
//        //STUB
//        certificateManager.
//        //END STUB
//    }

}
TOP

Related Classes of clips.delegate.client.CollaboratorLocal$FunctionsInfo

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.