Package com.vst.service.impl

Source Code of com.vst.service.impl.AjaxSampleSvcImpl

package com.vst.service.impl;

import com.vst.dao.*;
import com.vst.dto.BuildingObjectTypeDTO;
import com.vst.model.*;
import com.vst.service.*;
import com.vst.util.MapConverter;

import java.io.IOException;
import java.sql.SQLException;
import java.util.ArrayList;

import java.util.List;
import java.util.Map;

import uk.ltd.getahead.dwr.WebContextFactory;
import com.vst.model.BuildingObject;
import com.vst.model.ObjectConstruction;

/**
* Created by IntelliJ IDEA. User: ALEXEI Date: 12.02.2008 Time: 11:35:01 To
* change this template use File | Settings | File Templates.
*/
public class AjaxSampleSvcImpl extends BaseManager implements AjaxSampleSvc {
  private ConstructionTypeDao constructionTypeDao = null;
  private DefectTypeDao defectTypeDao = null;
  private DangerCategoryDao dangerCategoryDao = null;
  private ReasonDao reasonDao = null;
  private MaterialDao materialDao = null;
  private MeasureDao measureDao = null;
  private ParameterDao parameterDao = null;
  private DefectVarityDao defectVarityDao = null;
  private DefectZoneDao defectZoneDao = null;
  private ObjectTypeDao objectTypeDao = null;
  private AuthentificationElementDao authentificationElementDao = null;
  private DefectCategoryDao defectCategoryDao = null;
  private DefectCategoryNameDao defectCategoryNameDao = null;
  private ReasonNameDao reasonNameDao = null;
  private DefectVarityManager defectVarityManager = null;
  private ReasonManager reasonManager = null;
  private ParameterManager parameterManager = null;
  private GostManager gostManager = null;
  private RegionManager regionManager = null;
  private DiameterManager diameterManager = null;
  private ThicknessManager thicknessManager = null;
  private DetailManager detailManager;
  private ExpertManager expertManager = null;
  private PipelineSubtypeManager pipelineSubtypeManager = null;
  private ObjectExpertTypeManager objectExpertTypeManager = null;
  private BuildingObjectManager buildingObjectManager = null;
  private ConstructionExampleManager constructionExampleManager = null;

  public void setConstructionExampleManager(
      ConstructionExampleManager constructionExampleManager) {
    this.constructionExampleManager = constructionExampleManager;
  }

  public void setBuildingObjectManager(
      BuildingObjectManager buildingObjectManager) {
    this.buildingObjectManager = buildingObjectManager;
  }

  public PipelineSubtypeManager getPipelineSubtypeManager() {
    return pipelineSubtypeManager;
  }

  public void setPipelineSubtypeManager(
      PipelineSubtypeManager pipelineSubtypeManager) {
    this.pipelineSubtypeManager = pipelineSubtypeManager;
  }

  public ObjectExpertTypeManager getObjectExpertTypeManager() {
    return objectExpertTypeManager;
  }

  public void setObjectExpertTypeManager(
      ObjectExpertTypeManager objectExpertTypeManager) {
    this.objectExpertTypeManager = objectExpertTypeManager;
  }

  public ExpertManager getExpertManager() {
    return expertManager;
  }

  public void setExpertManager(ExpertManager expertManager) {
    this.expertManager = expertManager;
  }

  public void setDetailManager(DetailManager detailManager) {
    this.detailManager = detailManager;
  }

  public void setThicknessManager(ThicknessManager thicknessManager) {
    this.thicknessManager = thicknessManager;
  }

  public void setDiameterManager(DiameterManager diameterManager) {
    this.diameterManager = diameterManager;
  }

  public void setRegionManager(RegionManager regionManager) {
    this.regionManager = regionManager;
  }

  public void setGostManager(GostManager gostManager) {
    this.gostManager = gostManager;
  }

  // private ConstructionExampleManager constructionExampleManager=null;

  // public void setConstructionExampleManager(ConstructionExampleManager
  // constructionExampleManager) {
  // this.constructionExampleManager = constructionExampleManager;
  // }

  public void setParameterManager(ParameterManager parameterManager) {
    this.parameterManager = parameterManager;
  }

  public void setReasonManager(ReasonManager reasonManager) {
    this.reasonManager = reasonManager;
  }

  public void setDefectVarityManager(DefectVarityManager defectVarityManager) {
    this.defectVarityManager = defectVarityManager;
  }

  public void setDefectCategoryNameDao(
      DefectCategoryNameDao defectCategoryNameDao) {
    this.defectCategoryNameDao = defectCategoryNameDao;
  }

  public void setReasonNameDao(ReasonNameDao reasonNameDao) {
    this.reasonNameDao = reasonNameDao;
  }

  public void setDefectCategoryDao(DefectCategoryDao defectCategoryDao) {
    this.defectCategoryDao = defectCategoryDao;
  }

  public void setDangerCategoryDao(DangerCategoryDao dangerCategoryDao) {
    this.dangerCategoryDao = dangerCategoryDao;
  }

  public void setReasonDao(ReasonDao reasonDao) {
    this.reasonDao = reasonDao;
  }

  public void setAuthentificationElementDao(
      AuthentificationElementDao authentificationElementDao) {
    this.authentificationElementDao = authentificationElementDao;
  }

  public void setObjectTypeDao(ObjectTypeDao objectTypeDao) {
    this.objectTypeDao = objectTypeDao;
  }

  public void setDefectZoneDao(DefectZoneDao defectZoneDao) {
    this.defectZoneDao = defectZoneDao;
  }

  public void setDefectVarityDao(DefectVarityDao defectVarityDao) {
    this.defectVarityDao = defectVarityDao;
  }

  public void setParameterDao(ParameterDao parameterDao) {
    this.parameterDao = parameterDao;
  }

  public void setMeasureDao(MeasureDao measureDao) {
    this.measureDao = measureDao;
  }

  public void setMaterialDao(MaterialDao materialDao) {
    this.materialDao = materialDao;
  }

  public void setDefectTypeDao(DefectTypeDao defectTypeDao) {
    this.defectTypeDao = defectTypeDao;
  }

  public void setConstructionTypeDao(ConstructionTypeDao constructionTypeDao) {
    this.constructionTypeDao = constructionTypeDao;
  }

  public Integer getDangerCategoryByParameters(Integer constructionTypeId,
      Integer defectZoneId, Integer defectTypeId, Integer defectVarityId,
      List valueList, List idList) {
    List parameterList = new ArrayList();
    for (int i = 0; i < idList.size(); i++) {
      Integer id;
      Float parameterValue;
      try {
        id = (Integer) Integer.parseInt((String) idList.get(i));
        parameterValue = Float.parseFloat((String) valueList.get(i));
      } catch (Exception e) {
        return new Integer(-1);
      }

      DefectParameter defectParameter = new DefectParameter();
      defectParameter.setParameterValue(parameterValue);
      Parameter parameter = new Parameter();
      parameter.setParameterId(id);
      defectParameter.setParameter(parameter);
      defectParameter.setParameterValue(parameterValue);
      parameterList.add(defectParameter);
    }
    return defectCategoryDao.getDangerCategoryByParameters(
        constructionTypeId, defectZoneId, defectTypeId, defectVarityId,
        parameterList);
  }

  public Integer getDangerCategoryByParametersZone(
      Integer constructionTypeId, Integer defectZoneId,
      Integer defectTypeId, Integer defectVarityId, List valueList,
      List valueListSecond, List idList) {
    List parameterList = new ArrayList();
    for (int i = 0; i < idList.size(); i++) {
      Integer id;
      Float parameterValue;
      Float parameterValueSecond;
      try {
        id = (Integer) Integer.parseInt((String) idList.get(i));
        parameterValue = Float.parseFloat((String) valueList.get(i));
        parameterValueSecond = Float
            .parseFloat((String) valueListSecond.get(i));
      } catch (Exception e) {
        return new Integer(-1);
      }

      DefectParameterZone defectParameter = new DefectParameterZone();
      defectParameter.setParameterValue(parameterValue);
      defectParameter.setParameterValueSecond(parameterValueSecond);
      Parameter parameter = new Parameter();
      parameter.setParameterId(id);
      defectParameter.setParameter(parameter);
      defectParameter.setParameterValue(parameterValue);
      defectParameter.setParameterValueSecond(parameterValueSecond);
      parameterList.add(defectParameter);
    }
    return defectCategoryDao.getDangerCategoryByParameters(
        constructionTypeId, defectZoneId, defectTypeId, defectVarityId,
        parameterList);
  }

  public Map getConstructionTypes() {
    List curList = constructionTypeDao.getConstructionTypes(null);
    return MapConverter.getConstructionTypeMap(curList);
  }

  public Map getDefectTypes() {
    List curList = defectTypeDao.getDefectTypes(null);
    return MapConverter.getDefectTypeMap(curList);
  }

  public Map getMaterials() {
    List curList = materialDao.getMaterials(null);
    return MapConverter.getMaterialMap(curList);
  }

  public Map getMeasures() {
    List curList = measureDao.getMeasures(null);
    return MapConverter.getMeasureMap(curList);
  }

  public Map getParameters() {
    List curList = parameterDao.getParameters(null);
    return MapConverter.getParameterMap(curList);
  }

  public Map getDefectVarities() {
    List curList = defectVarityDao.getDefectVaritys(null);
    return MapConverter.getDefectVarityMap(curList);
  }

  public Map getDefectVaritiesByType(String defectTypeId) {
    System.out.println("$$$$$$$$$$$$$$$$");
    System.out.println("$$$$$$$ " + defectTypeId + " $$$$$$$");
    if ("-1".equals(defectTypeId))
      return MapConverter.getEmptyMap("defectVarity.choose");

    List curList = defectVarityManager
        .getDefectVaritiesByType(defectTypeId);
    return MapConverter.getDefectVarityMap(curList);
  }

  public Map getDefectVaritiesByTypeInteger(Integer aInteger) {
    System.out
        .println("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
    if (-1 == aInteger.longValue())
      return MapConverter.getEmptyMap("defectVarity.choose");

    List curList = defectVarityManager.getDefectVaritiesByType(String
        .valueOf(aInteger));
    return MapConverter.getDefectVarityMap(curList);
  }

  public Map getDefectZones() {
    List curList = defectZoneDao.getDefectZones(null);
    return MapConverter.getDefectZoneMap(curList);
  }

  public Map getObjectTypes() {
    List curList = objectTypeDao.getObjectTypes(null);
    return MapConverter.getObjectTypeMap(curList);
  }

  public Map getAuthentificationElements() {
    List curList = authentificationElementDao
        .getAuthentificationElements(null);
    return MapConverter.getAuthentificationElementMap(curList);
  }

  public Map getDangerCategories() {
    List curList = dangerCategoryDao.getDangerCategorys(null);
    return MapConverter.getDangerCategoryMap(curList);
  }

  public Map getReasons() {
    List curList = reasonDao.getReasons(null);
    return MapConverter.getReasonMap(curList);
  }

  public List getDefectParametersByVarityId(Integer varityId) {
    // loading defect parameters

    System.out.println("Size = " + varityId);

    List parameterList = parameterManager.getParametersByVarity(varityId
        .toString());

    System.out.println("Size list = " + parameterList.size());

    List parameterDefectList = new ArrayList();
    for (int i = 0; i < parameterList.size(); i++) {
      com.vst.model.Parameter parameter = (Parameter) parameterList.get(i);
      DefectParameter defectParameter = new DefectParameter();
      defectParameter.setParameter(null);
      parameterDefectList.add(defectParameter);

    }
    return parameterDefectList;
  }

  public List getDefectParametersZoneByVarityId(Integer varityId) {
    System.out.println("// loading defect parameters");

    List parameterList = parameterManager.getParametersByVarity(varityId
        .toString());
    System.out.println("// loading defect parameters"+parameterList);
    List parameterDefectList = new ArrayList();
    for (Object o:parameterList) {
      com.vst.model.Parameter parameter = (com.vst.model.Parameter) o;

      System.out.println(parameter+"parameter");
     
      DefectParameterZone defectParameter = new DefectParameterZone();
      defectParameter.setParameter(parameter);
      parameterDefectList.add(defectParameter);

    }
    System.out.println("RESULT" + parameterDefectList);
    return parameterDefectList;
  }

  public Map getReasonsByType(String defectTypeId, String defectVarityId,
      String defectZoneId, String constructionType) {
    List curList = reasonManager.getReasonsByType(defectTypeId,
        defectVarityId, defectZoneId, constructionType);
    return MapConverter.getReasonMap(curList);
  }

  public Map getDefectCategories() {
    List curList = defectCategoryDao.getDefectCategorys(null);
    return MapConverter.getDefectCategoryMap(curList);
  }

  public Map getDefectCategoryNames() {
    List curList = defectCategoryNameDao.getDefectCategoryNames(null);
    return MapConverter.getDefectCategoryNameMap(curList);
  }

  public Map getReasonNames() {
    List curList = reasonNameDao.getReasonNames(null);
    return MapConverter.geReasonNameMap(curList);
  }

  public String getGostOptions() {

    List list = gostManager.getGostList();

    String s = "<select name=\"gost.gostId\" id=\"gost.gostId\">";

    for (int i = 0; i < list.size(); i++) {
      Gost gost = (Gost) list.get(i);
      s += "<option value=\"" + gost.getGostId() + "\">"
          + gost.getGostName() + "</option>";
    }

    s += "</select>";

    return s;
  }

  public String getMaterialOptions() {

    List list = materialDao.getMaterials(null);

    String s = "<select name=\"material.materialId\" id=\"material.materialId\">";

    for (int i = 0; i < list.size(); i++) {
      Material gost = (Material) list.get(i);
      s += "<option value=\"" + gost.getMaterialId() + "\">"
          + gost.getMaterialName() + "</option>";
    }

    System.out.println("MATERIALS ==== " + s);

    s += "</select>";

    return s;
  }

  public String getCustomerRegionList() {
    List list = regionManager.getRegions(null);
    /*
     * <select id="customerRegion.regionId" name="customerRegion.regionId">
     * <option value="1">Rfpfym</option> <option value="2">iiiii</option>
     * <option value="3">gg</option> </select>
     */
    String s = "<select name=\"customerRegion.regionId\" id=\"customerRegion.regionId\">";

    for (int i = 0; i < list.size(); i++) {
      Region r = (Region) list.get(i);
      System.out.println("MATERIALS ==== " + r.getRegionId() + " ==="
          + r.getRegionName());
      s += "<option value=\"" + r.getRegionId() + "\">"
          + r.getRegionName() + "</option>";
    }

    System.out.println("MATERIALS ==== " + s);

    s += "</select>";

    return s;
  }

  public String getDiameter(Integer gostId, Integer type, Integer detId,
      Integer detailType) {
    String s = "";
    Integer realId = null;

    if (!detId.equals(new Integer(-1)) && detId != null) {

      if (detailType.equals(new Integer(1))) {
        Pipe object = detailManager.getPipeById(detId);

        System.out.println("Pipe = " + object);
        gostId = object.getGost().getGostId();
        realId = object.getDiametr().getDiametrId();

      } else if (detailType.equals(new Integer(2))) {

        Tap object = detailManager.getTapById(detId);
        System.out.println("Tap = " + object);
        gostId = object.getGost().getGostId();
        realId = object.getDiametr().getDiametrId();

      } else if (detailType.equals(new Integer(3))) {
        Transition object = detailManager.getTransitionById(detId);
        gostId = object.getGost().getGostId();
        if (type.equals(new Integer(2))) {
          realId = object.getFirstDiametr().getDiametrId();
        } else if (type.equals(new Integer(3))) {
          realId = object.getSecondDiametr().getDiametrId();
        }

      } else if (detailType.equals(new Integer(4))) {
        Tee object = detailManager.getTeeById(detId);
        gostId = object.getGost().getGostId();
        if (type.equals(new Integer(2))) {
          realId = object.getFirstDiametr().getDiametrId();
        } else if (type.equals(new Integer(3))) {
          realId = object.getSecondDiametr().getDiametrId();
        }

      } else if (detailType.equals(new Integer(5))) {
        Zaglushka object = detailManager.getZaglushkaById(detId);
        gostId = object.getGost().getGostId();
        realId = object.getDiametr().getDiametrId();

      } else if (detailType.equals(new Integer(6))) {
        Flange object = detailManager.getFlangeById(detId);
        gostId = object.getGost().getGostId();
        realId = object.getDiametr().getDiametrId();

      } else if (detailType.equals(new Integer(7))) {
        Armature object = detailManager.getArmatureById(detId);
        gostId = object.getGost().getGostId();
        realId = object.getDiametr().getDiametrId();

      } else if (detailType.equals(new Integer(8))) {
        Oborudovanie object = detailManager.getOborudovanieById(detId);
        gostId = object.getGost().getGostId();
        realId = object.getDiametr().getDiametrId();
      }
    }

    if (!gostId.equals(new Integer(-1))) {

      if (type.equals(new Integer(1))) {
        s = "<select name=\"diametr.diametrId\" id=\"diametr.diametrId\"  onchange=\"getTh(document.getElementById('diametr.diametrId').value,1,-1,-1)\">";
      } else if (type.equals(new Integer(2))) {
        s = "<select name=\"firstDiametr.diametrId\" id=\"firstDiametr.diametrId\"  onchange=\"getTh(document.getElementById('firstDiametr.diametrId').value,2,-1,-1)\">";
      } else if (type.equals(new Integer(3))) {
        s = "<select name=\"secondDiametr.diametrId\" id=\"secondDiametr.diametrId\"  onchange=\"getTh(document.getElementById('secondDiametr.diametrId').value,3,-1,-1)\">";
      } else if (type.equals(new Integer(0))) {
        s = "<select name=\"diametr.diametrId\" id=\"diametr.diametrId\">";
      }
      List diameterList = diameterManager.getListByGostId(gostId);
      if (detId == null || detId.equals(new Integer(-1))) {
        s += "<option value=\"-1\">Выберите диаметр</option>";
      }

      for (int i = 0; i < diameterList.size(); i++) {
        Diameter d = (Diameter) diameterList.get(i);
        if (realId != null && realId.equals(d.getDiametrId())) {
          s += "<option value=\"" + d.getDiametrId()
              + "\"  selected=\"selected\">"
              + d.getDiametrCount() + "</option>";
        } else {
          s += "<option value=\"" + d.getDiametrId() + "\">"
              + d.getDiametrCount() + "</option>";
        }

      }
      s += "</select>";

    }

    return s;
  }

  public String getThickness(Integer diamId, Integer type, Integer realId,
      Integer detailType, String currentPath) throws SQLException,
      IOException {
    System.out.println("#####################################  "
        + currentPath);
    String s = "";

    if (diamId != null && diamId.intValue() >= 0) {

      if (type.equals(new Integer(1))) {
        s = "<select name=\"thickness.thicknessId\" id=\"thickness.thicknessId\">";
      } else if (type.equals(new Integer(2))) {
        s = "<select name=\"firstThickness.thicknessId\" id=\"firstThickness.thicknessId\">";
      } else if (type.equals(new Integer(3))) {
        s = "<select name=\"secondThickness.thicknessId\" id=\"secondThickness.thicknessId\">";
      }

      List thList = diameterManager.getThListByDiameter(diamId,
          currentPath);
      if (realId == null || realId.equals(new Integer(-1))) {
        s += "<option value=\"-1\">Выберите толщину</option>";
      }

      for (int i = 0; i < thList.size(); i++) {
        Thickness th = (Thickness) thList.get(i);
        if (realId != null && realId.equals(th.getThicknessId())) {
          s += "<option value=\"" + th.getThicknessId()
              + "\"  selected=\"selected\">"
              + th.getThicknessCount() + "</option>";
        } else {
          s += "<option value=\"" + th.getThicknessId() + "\">"
              + th.getThicknessCount() + "</option>";
        }

      }
      s += "</select>";

    }

    return s;
  }

  public Map getGost() {
    List l = gostManager.getGostList();
    for (int i = 0; i < l.size(); i++) {
      Gost gost = (Gost) l.get(i);
      System.out.print(gost.getGostId() + "; ");
    }
    return MapConverter.getGostMap(l);
  }

  public Map getThickness1() {
    List l = thicknessManager.getListThickness();
    return MapConverter.getThicknessMap(l);
  }

  public Map getTrueExpert() {
    List l = expertManager.getTrueExpert();
    return MapConverter.getExpertMap(l);
  }

  public Map getFalseExpert() {
    List l = expertManager.getFalseExpert();
    return MapConverter.getExpertMap(l);
  }

  public Map getObjectExpertType() {
    List l = objectExpertTypeManager.getObjectExpertTypeList();
    return MapConverter.getObjectExpertTypeMap(l);
  }

  public Map getPipelineSubtype() {
    List l = pipelineSubtypeManager.getPipelineSubtype();
    return MapConverter.getPipelineSubtypeMap(l);
  }

  public Map getRegion() {
    List l = regionManager.getRegions(null);
    return MapConverter.getRegionMap(l);
  }

  public Map getDetails(Integer detailId) {

    List l = new ArrayList();
    if (detailId.equals(new Integer(1))) {
      return MapConverter.getDetailMap(detailManager.getAllPipe());
    } else if (detailId.equals(new Integer(2))) {
      return MapConverter.getDetailMap(detailManager.getAllTap());
    } else if (detailId.equals(new Integer(3))) {
      return MapConverter.getDetailMap(detailManager.getAllTransition());
    } else if (detailId.equals(new Integer(4))) {
      return MapConverter.getDetailMap(detailManager.getAllTee());
    } else if (detailId.equals(new Integer(5))) {
      return MapConverter.getDetailMap(detailManager.getAllZaglushka());
    } else if (detailId.equals(new Integer(6))) {
      return MapConverter.getDetailMap(detailManager.getAllFlange());
    } else if (detailId.equals(new Integer(7))) {
      return MapConverter.getDetailMap(detailManager.getAllArmature());
    } else if (detailId.equals(new Integer(8))) {
      return MapConverter
          .getDetailMap(detailManager.getAllOborudovanie());
    }

    return null;

  }

  public boolean testBuildingObject(Integer buildingObjectId,
      String currentPath) throws IOException, SQLException {

    boolean ok = true;

    if (buildingObjectManager.haveNecessaryQuestionsWithOutAnswers(
        buildingObjectId, currentPath)) {

      ok = false;
    }

    if (!constructionExampleManager.isInspectionSpent(buildingObjectId,
        currentPath)) {

      ok = false;
    }

    return ok;
  }

 
  private List<?> groupByRegionNames(List<BuildingObject> buildingObjects){

      List buildingObjectTypes = new ArrayList();
        String currentRegion = "";
        BuildingObjectTypeDTO buildingObjectTypeDTO = new BuildingObjectTypeDTO();

        /////

        for (int i = 0; i < buildingObjects.size(); i++) {
            BuildingObject buildingObject = (BuildingObject) buildingObjects.get(i);
            if (i == 0 || (!currentRegion.equals(buildingObject.getRegion()) && !(currentRegion == null) && !currentRegion.trim().equals(""))) {
                if (i != 0) {
                    buildingObjectTypes.add(buildingObjectTypeDTO);
                }
                buildingObjectTypeDTO = new BuildingObjectTypeDTO();
                currentRegion = buildingObject.getRegion();
                buildingObjectTypeDTO.setObjectType(currentRegion);

            }
            buildingObjectTypeDTO.getBuildingObjects().add(buildingObject);
        }
        buildingObjectTypeDTO.setObjectType(currentRegion);
        buildingObjectTypes.add(buildingObjectTypeDTO);

        return buildingObjectTypes;
    }
 
 
   private void prepareForView(List<BuildingObject> buildingObjects){
        for (int i = 0; i < buildingObjects.size(); i++) {
              BuildingObject buildingObject = (BuildingObject) buildingObjects.get(i);
              List<?> objectConstructionList =  buildingObject.getConstructionTypes();
                // OLD buildingObjectManager.getConstructionTypesForTree(buildingObject);
              for (int j = 0; j < objectConstructionList.size(); j++) {
                  ObjectConstruction objectConstruction = (ObjectConstruction) objectConstructionList.get(j);
                  objectConstruction.setBriefDescription(reduceDescription(objectConstruction.getDescription()));
//                  objectConstruction.setConstructionExamples(
//                          constructionExampleManager.getConstructionExamplesLite(
//                                  objectConstruction.getTypeId().toString(), "tree"));
              }
//              buildingObject.setConstructionTypes(objectConstructionList);
          }
      }
   private String reduceDescription(String description){
        if (description == null){
             return null;
        } else {
           return description.length() > 10 ? description.substring(0, 9) + "..." : description;
        }
      }
  @SuppressWarnings("unchecked")
  public String[] expandTreeItem(String itemType, Integer itemId) {
    /*
        <ul class="header-main-links">
           
            <li class="add3"><a target="mainFrame"
              href="/vst/editConstructionExample.html?typeId=3479"> </a></li>
            <li class="add4"><a target="mainFrame"
              href="/vst/constructionDefectZoneForm.html?objectConstructionId=3481"></a>
            </li>
            <li class="add5"><a target="mainFrame"
              href="/vst/editStrength.html?exampleId=357&docLocation=strengths.html?exampleId=701"></a>
            </li>
            <li class="add6"><a target="mainFrame"
              href="/vst/report.html?objectId=4321"></a></li>
          </ul>
          <a href="#" class="question"></a> <a href="#" class="no-question"
          style="display: none;"></a>
    */
    // change expandable value
    System.out.println("Start AJAX:"+itemType+itemId+"IS NEW");
    String outputHtml = "<div class='navigation' >";
    String mainMenu   = "<ul  class='header-main-links'> " +
                     ""+
                  "<li class='add2'><a target='mainFrame'"+
              "href=\"/vst/editBuildingObject.html?edited=1&docLocation=buildingObjects.html\""+
              "></a></li>";
      // outPutHtml +="<ul class='number-list'>";

   
 
  
   //if(isNew){ 
    if(itemType.equals("") || itemType.equals("list")){
       itemType="list"
       outputHtml += "</div><ul class='number-list'>";
    }
    if(itemId == null){
         itemId=new Integer("-1")
      }
     List buildingObjects = buildingObjectManager.getBuildingObjectsForTree();

          prepareForView(buildingObjects);
     List buildingObjectTypes = groupByRegionNames(buildingObjects);
   //       httpServletRequest.getSession().setAttribute("buildingObjectTypes", buildingObjectTypes);
   //       }else{ 
     //      List buildingObjectTypes = (List) WebContextFactory.get()
     //        .getHttpServletRequest().getSession()
     //        .getAttribute("buildingObjectTypes");
     //        } 
    BuildingObjectTypeDTO bo = null;
    List<BuildingObject> bolist = null;

    // Second level selected
   
    if (itemType.equals("buildingObject") || itemType.equals("list")) {
      for (Object o : buildingObjectTypes) {

        bo = (BuildingObjectTypeDTO) o;
        bolist = bo.getBuildingObjects();

        for (BuildingObject b : bolist) {

          if (b.getObjectId().intValue() == (itemId.intValue())) {
            String name = b.getName().trim().toUpperCase();
            int k = name.length() / 15;
            int l = 0;
            if (k <= 1) {
              l = name.length();
            } else {
              l = 14;
            }
            if (name.trim().equals(""))
              outputHtml += "N/A";
            else
              outputHtml += "<a target='mainFrame' href='buildingObjects.html?type=one&objectId="+b.getObjectId().intValue()+"' >"+name.substring(0, l)
                     "</a><br/><span class='next-step' onclick=\"location.href='index.html'\" ></span></div><ul class='number-list'>";         
               mainMenu += "<li class='add3'><a target='mainFrame'"+
                      "href='/vst/objectConstructions.html?form=new&objectId="+b.getObjectId()+"'> </a></li>";       
            List bol = b.getConstructionTypes();
            if (bol.size() > 0) {
              for (Object o2 : bol) {
                ObjectConstruction ct = (ObjectConstruction) o2;
                name = ct.getConstructionType().getName();
                k = name.length() / 15;
                l = 0;
                if (k <= 1) {
                  l = name.length();
                } else {
                  l = 14;
                }
                if (name.trim().equals(""))
                  name = "N/A";
                else
                  name = name.substring(0, l);
                outputHtml += "<li onclick=\"ajaxSampleSvc.expandTreeItem('constructionType',";
                outputHtml += ct.getTypeId().intValue();
                outputHtml += ", processItemChange);\" >";
                outputHtml += "<a target='mainFrame' href='objectConstructions.html?objectId=";
                outputHtml += ct.getObjectId() + "&typeId="  + ct.getTypeId();
                outputHtml += "'>";
                outputHtml += name;
                outputHtml += "<span>"+ct.getNumberInObject()+"</span>";
                outputHtml += "</a>";
                // reverse expandable value
                // b.setExpandable(!b.isExpandable());
                // break;
                outputHtml += "</li>";
              }
            } else {
              outputHtml += "<li><a>No items present</a></li><br>";
            }
          }else if(itemType.equals("list")){
            String name = b.getName().trim().toUpperCase();
            int k = name.length() / 15;
            int l = 0;
            if (k <= 1) {
              l = name.length();
            } else {
              l = 14;
            }
            if (name.trim().equals(""))
              outputHtml += "N/A";
            else           
            outputHtml += "<li onclick=\"ajaxSampleSvc.expandTreeItem('buildingObject',"+b.getObjectId()+", processItemChange);\">";
            outputHtml += "<a target='mainFrame' href='buildingObjects.html?type=one&objectId="+b.getObjectId()+"' >"+name.substring(0, l);
                outputHtml     +=  "</a></li>";
          } /*
           * else { String name = b.getName().trim(); int k =
           * name.length() / 15; int l = 0; if (k <= 1) { l =
           * name.length(); } else { l = 14; } outputHtml +=
           * "<span onclick=\"ajaxSampleSvc.expandTreeItem('buildingObject',"
           * ; outputHtml += b.getObjectId().intValue(); outputHtml +=
           * ", processItemChange);\" >"; outputHtml +=
           * b.getName().trim().substring(0, l); outputHtml +=
           * "</span>"; outputHtml +=
           * "<br><span class='next-step'></span>";
           *
           * }
           */
        }
      }
      // Set changed item.
      WebContextFactory.get().getHttpServletRequest().getSession()
          .setAttribute("buildingObject", buildingObjectTypes);
    } else if (itemType.equals("constructionType")) {
      for (Object o : buildingObjectTypes) {
        bo = (BuildingObjectTypeDTO) o;
        bolist = bo.getBuildingObjects();
        for (BuildingObject b : bolist) {
          List ctl = b.getConstructionTypes();
          if (ctl.size() > 0) {
            for (Object o2 : ctl) {
              ObjectConstruction ct = (ObjectConstruction) o2;
              if (isConstructionTypeSelected(ct, itemId)) {
                String name = b.getName().trim().toUpperCase();
                int k = name.length() / 15;
                int l = 0;
                if (k <= 1) {
                  l = name.length();
                } else {
                  l = 14;
                }             
                outputHtml += "<a target='mainFrame' href='buildingObjects.html?type=one&objectId="+b.getObjectId().intValue()+"' >"+name.substring(0, l)
                       "</a><br/><span class='next-step' onclick=\"location.href='index.html'\" ></span>";                               
                //outputHtml  += "<a href='index.html'>"+name.substring(0, l);
                //outputHtml  += "</a><br/><span class='next-step'></span>";                               
                outputHtml  += "<a href=\"objectConstructions.html?objectId=";
                outputHtml  += ct.getObjectId().intValue()+ "&typeId=";
                outputHtml  += ct.getTypeId().intValue();
                outputHtml  += "\" target='mainFrame' > ";
                outputHtml  += ct.getConstructionType().getName() +"</a><br/>";                               
                //outputHtml  += "<a href='buildingObjects.html?type=one&objectId=";
                //outputHtml  += ct.getObjectId();
                //outputHtml  += "' target='mainFrame' >";
                //outputHtml  += ct.getConstructionType().getName();               
                outputHtml  += "<span onclick=\"ajaxSampleSvc.expandTreeItem('buildingObject',";
                outputHtml  += ct.getObjectId().intValue();
                outputHtml  += ", processItemChange);\"  class='next-step'></span></div><ul class='number-list'>";
                mainMenu    += "<li class='add3'><a target='mainFrame'"+
                               "href='/vst/objectConstructions.html?form=new&objectId="+b.getObjectId()+"'> </a></li>";
                List eol = ct.getConstructionExamples();
                if(eol.size() > 0){
                for (Object ob : eol) {
                  ConstructionExample ce = (ConstructionExample) ob;
                  name = ce.getExampleName();
                  k = name.length() / 15;
                  l = 0;
                  if (k <= 1) {
                    l = name.length();
                  } else {
                    l = 14;
                  }
                  if (name.trim().equals(""))
                    name = "N/A";
                  else
                    name = name.substring(0, l);
                  outputHtml += "<li onclick=\"ajaxSampleSvc.expandTreeItem('constructionExample',";
                  outputHtml += ce.getExampleId().intValue() ;
                  outputHtml += ", processItemChange);\" >"  ;
                  outputHtml += "<a target='mainFrame' href='constructionExamples.html?exampleId=";
                  outputHtml += ce.getExampleId();
                  outputHtml += "&typeId=";
                  outputHtml += ce.getObjectConstructionId();
                  outputHtml += "&objectId="+ct.getObjectId()+"'";
                  outputHtml += ce.getObjectId();
                  outputHtml += "'>";
                  outputHtml += name;
                  outputHtml += "</a>";
                }

              }//else{
              //  outputHtml += "<li><a>No items present</a></li><br>";
              //}
              }
            }
          }
        }
      }
    } else if (itemType.equals("constructionExample")
        || (itemType.equals("exampleEdit"))) {
      for (Object o : buildingObjectTypes) {
        bo = (BuildingObjectTypeDTO) o;
        bolist = bo.getBuildingObjects();
        for (BuildingObject b : bolist) {
          List ctl = b.getConstructionTypes();
          if (ctl.size() > 0) {
            for (Object o2 : ctl) {
              ObjectConstruction ct = (ObjectConstruction) o2;
              // if (isConstructionTypeSelected(ct, itemId)) {
              List eol = ct.getConstructionExamples();
              for (Object ob : eol) {
                ConstructionExample ce = (ConstructionExample) ob;
                // System.out.print("EID:"+ce.getExampleId());
                if (isConstructionExampleSelected(ce, itemId)) {
                  // Bread Crump
                  String name = b.getName().trim()
                      .toUpperCase();
                  int k = name.length() / 15;
                  int l = 0;
                  if (k <= 1) {
                    l = name.length();
                  } else {
                    l = 14;
                  }         
                  //           + "<br><span class='next-step'></span>";                 
                  /*outputHtml   + = "<a target='mainFrame' href='objectConstructions.html?objectId=";
                    outputHtml   + = ct.getObjectId() + "&typeId="
                                +   ct.getTypeId();
                    outputHtml   += "'>";*/               
                  outputHtml  += "<a target='mainFrame' href='buildingObjects.html?type=one&objectId="+b.getObjectId().intValue()+"' >"+name.substring(0, l)
                           "</a><br/><span class='next-step' onclick=\"location.href='buildingObjects.html'\" ></span>";
                 
                  outputHtml  += "<a href=\"objectConstructions.html?objectId=";
                  outputHtml  += ct.getObjectId().intValue()+ "&typeId=";
                  outputHtml  += ct.getTypeId().intValue();
                  outputHtml  += "\" target='mainFrame' > ";
                  outputHtml  += ct.getConstructionType().getName() +"</a><br/><span onclick=\"ajaxSampleSvc.expandTreeItem('constructionType',";
                  outputHtml  += ct.getTypeId().intValue();
                  outputHtml  += ", processItemChange);\"  class='next-step'></span></div><ul class='number-list'>";
                  mainMenu    += "<li class='add3'><a target='mainFrame'"+
                                 "href='/vst/objectConstructions.html?form=new&objectId="+b.getObjectId()+"'> </a></li>";
               
                  mainMenu    += "<li class='add4'><a target='mainFrame'"+
                               "href='" +
                               "/vst/constructionDefectZoneForm.html?objectConstructionId=" +ct.getTypeId()+"&objectId="+b.getObjectId()+"&exampleId=" + ce.getExampleId() + "&docLocation=constructionDefects.html?exampleId=" + ce.getExampleId() + "'></a></li>";
               
                        name = ce.getExampleName();
                  k = name.length() / 15;
                  l = 0;
                  if (k <= 1) {
                    l = name.length();
                  } else {
                    l = 14;
                  }
                  /*if (name.trim().equals(""))
                    name = "N/A";
                  else
                    name = name.substring(0, l);

                  outputHtml += name;
                  outputHtml += "<br><span class='next-step'></span>";
                  */
                  // name = ce.getExampleName();
                  // / Item
                   if (name.trim().equals(""))
                    name = "N/A";
                   else
                    name = name.substring(0, l);

                  outputHtml += "<li class='current' onclick=\"ajaxSampleSvc.expandTreeItem('exampleEdit',";
                  outputHtml += ce.getExampleId().intValue();
                  outputHtml += ", processItemChange);\" >";
                  outputHtml += "<a target='mainFrame' href=\"editConstructionExample.html?exampleId=";
                  outputHtml += ce.getExampleId() + "&typeId=";
                  outputHtml += ce.getObjectConstructionId() + "\"";
                  outputHtml += ">";
                  outputHtml += name;
                  outputHtml += "</a>";
                }

              }
            }
          }//else{
          //  outputHtml += "<li><a>No items present</a></li><br>";
          //}
        }
      }

    }
    outputHtml +=  "</ul>";
    mainMenu   +=  "</ul>";
    String a[]={"No Items","No Items"};
    a[0]=outputHtml;
    a[1]=  mainMenu;
    //System.out.println("AJAX:"+outputHtml);
    return a;
  }

  boolean isConstructionTypeSelected(ObjectConstruction ct, Integer itemId) {
    // check selected ID
    if (ct.getTypeId().intValue() == (itemId.intValue())) {
      return true;
    }
    return false;
  }

  boolean isConstructionExampleSelected(ConstructionExample ce, Integer itemId) {
    // check selected ID
    if (ce.getExampleId().intValue() == (itemId.intValue())) {
      // System.out.println("true ");
      return true;
    }
    return false;
  }
}
TOP

Related Classes of com.vst.service.impl.AjaxSampleSvcImpl

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.