Package com.vst.webapp.action

Source Code of com.vst.webapp.action.InsertObjectInspectionController

package com.vst.webapp.action;

import com.vst.model.*;
import com.vst.service.*;
import com.vst.util.FileHelper;
import com.vst.util.StringUtil;

import org.springframework.validation.BindException;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;

/**
* Created by IntelliJ IDEA.
* User: And Lilia
* Date: 28.04.2009
* Time: 16:39:03
* To change this template use File | Settings | File Templates.
*/
public class InsertObjectInspectionController extends BaseFormController {
    QuestionManager questionManager;
    InspectionAnswerManager inspectionAnswerManager;


    RegionManager regionManager;
    ObjectInspectionManager objectInspectionManager;
    ExpertManager expertManager;
    ObjectAnswerManager objectAnswerManager;
    ObjectExpertTypeManager objectExpertTypeManager;
    PipelineSubtypeManager pipelineSubtypeManager;
    PhotoManager photoManager;


    public void setQuestionManager(QuestionManager questionManager) {
        this.questionManager = questionManager;
    }

    public void setInspectionAnswerManager(InspectionAnswerManager inspectionAnswerManager) {
        this.inspectionAnswerManager = inspectionAnswerManager;
    }

    public void setPhotoManager(PhotoManager photoManager) {
        this.photoManager = photoManager;
    }

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

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

    public void setObjectAnswerManager(ObjectAnswerManager objectAnswerManager) {
        this.objectAnswerManager = objectAnswerManager;
    }

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

    public void setObjectInspectionManager(ObjectInspectionManager objectInspectionManager) {
        this.objectInspectionManager = objectInspectionManager;
    }

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

    public InsertObjectInspectionController() {

        setCommandName("inspection");
        setCommandClass(ObjectInspection.class);
    }

    protected Object formBackingObject(HttpServletRequest request) throws Exception {

        request.setAttribute("pipelineSubtypeSelect", pipelineSubtypeManager.getPipelineSubtype());
        request.setAttribute("objectExpertTypeListSelect", objectExpertTypeManager.getObjectExpertTypeList());
        request.setAttribute("expertTrueListSelect", expertManager.getTrueExpert());
        request.setAttribute("expertFalseListSelect", expertManager.getFalseExpert());
        request.setAttribute("customerRegionList", regionManager.getRegions(null));

        if (!isFormSubmission(request)) {
            if (request.getParameter("objectId") != null) {
                int id = Integer.parseInt(request.getParameter("objectId"));
                return objectInspectionManager.getObjectInspectionBy((Integer) id);
            } else {
                return new ObjectInspection();
            }
        }

        return super.formBackingObject(request);
    }

    public ModelAndView onSubmit(HttpServletRequest request,
                                 HttpServletResponse response,
                                 Object command,
                                 BindException errors) throws Exception {

        ModelAndView mav = new ModelAndView(getSuccessView());



        if (request.getParameter("cansel") != null) {
            return new ModelAndView("redirect:/lookObjectInspection.html");
        }

        ObjectInspection objectInspection = (ObjectInspection) command;

        if (objectInspection.getObjectId() != null) {

            objectInspection = objectInspectionManager.getObjectInspectionBy(objectInspection.getObjectId());

            objectInspectionManager.evictObject(objectInspection);
        }


        objectInspection.setCustomerRegion(regionManager.getRegionById(objectInspection.getCustomerRegion().getRegionId()));
        List l1 = objectInspection.getTrueexpertList();
        if (l1 != null && !l1.isEmpty())
            for (int i = 0; i < l1.size(); i++) {
                Expert expert = (Expert) l1.get(i);
                expert = expertManager.getExpertById(expert.getExpertId());
                l1.set(i, expert);
            }
        objectInspection.setTrueexpertList(l1);

        l1 = objectInspection.getFalseexpertList();
        if (l1 != null && !l1.isEmpty())
            for (int i = 0; i < l1.size(); i++) {
                Expert expert = (Expert) l1.get(i);
                expert = expertManager.getExpertById(expert.getExpertId());
                l1.set(i, expert);
            }
        objectInspection.setFalseexpertList(l1);


        /*List questionsList=questionManager.getAllQuestions();

            List qList=new ArrayList();
            for (int i=0; i<questionsList.size(); i++){
                InspectionAnswer inspectionAnswer=new InspectionAnswer();
                inspectionAnswer.setQuestion((Question)questionsList.get(i));

                inspectionAnswerManager.insert(inspectionAnswer);
                qList.add(inspectionAnswer);
            }

         objectInspection.setDocumentationQuestions(qList);
*/
        List l2 = objectInspection.getObjectTypeList();
        if (l2 != null && !l2.isEmpty())
            for (int i = 0; i < l2.size(); i++) {
                PracticalObjectExpertType type = (PracticalObjectExpertType) l2.get(i);
                PipelineSubtype pipe = pipelineSubtypeManager.getPipelineSubtypeById(type.getPipelineSubtype().getPipelineId());
                ObjectExpertType exp = objectExpertTypeManager.getObjectExpertTypeById(type.getObjectExpertType().getExpertId());
                type.setObjectExpertType(exp);
                type.setPipelineSubtype(pipe);
                l2.set(i, type);
            }
        objectInspection.setObjectTypeList(l2);

        Date d = objectInspection.getContractDate();
        objectInspection.setDateForLook(StringUtil.formatDate(d));

        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;

        CommonsMultipartFile fileCertificate = (CommonsMultipartFile) multipartRequest.getFile("certificate.file");
        CommonsMultipartFile fileDemand = (CommonsMultipartFile) multipartRequest.getFile("demand.file");

        if (objectInspection.getObjectId() != null) {
            objectInspection = objectInspectionManager.getObjectInspectionBy(objectInspection.getObjectId());

            Photo photo = photoManager.update(photoManager.getByIdPhoto(objectInspection.getCertificate().getPhotoId()), fileCertificate, FileHelper.getCurrentPath(request));
            //objectInspection.setCertificate(photo);

            photo = photoManager.update(photoManager.getByIdPhoto(objectInspection.getDemand().getPhotoId()), fileDemand, FileHelper.getCurrentPath(request));
            //objectInspection.setDemand(photo);
            objectInspectionManager.updateObjectInspection(objectInspection);
            return new ModelAndView("redirect:/lookObjectInspection.html");

        } else {
            if (fileCertificate.getSize() > 0) {
                Photo photo = photoManager.insertPhoto(fileCertificate, FileHelper.getCurrentPath(request));
                objectInspection.setCertificate(photo);
            }
            if (fileDemand.getSize() > 0) {
                Photo photo = photoManager.insertPhoto(fileDemand, FileHelper.getCurrentPath(request));
                objectInspection.setDemand(photo);
            }



            objectInspectionManager.insertObjectInspection(objectInspection);
            mav.addObject("pipelineSubtypeSelect", pipelineSubtypeManager.getPipelineSubtype());
            mav.addObject("objectExpertTypeListSelect", objectExpertTypeManager.getObjectExpertTypeList());
            mav.addObject("expertTrueListSelect", expertManager.getTrueExpert());
            mav.addObject("expertFalseListSelect", expertManager.getFalseExpert());
            mav.addObject("customerRegionList", regionManager.getRegions(null));
            mav.addObject("inspection", new ObjectInspection());
            mav.addObject("result", new Integer(1));
            return mav;
        }

        /*mav.addObject("pipelineSubtypeSelect",pipelineSubtypeManager.getPipelineSubtype());
                   mav.addObject("objectExpertTypeListSelect",objectExpertTypeManager.getObjectExpertTypeList());
                   mav.addObject("expertListSelect", expertManager.getAllExpert());

       mav.addObject("inspection",new ObjectInspection());

       return mav;*/
    }

    public ModelAndView processFormSubmission(HttpServletRequest request,
                                              HttpServletResponse response,
                                              Object command,
                                              BindException errors)
            throws Exception {

        /*  super.setValidateOnBinding(true);
        setValidateOnBinding(true);*/

        ObjectInspection objectInspection = (ObjectInspection) command;
        ModelAndView mav = new ModelAndView("insertObjectInspection");



        if (request.getParameter("addTrueExpert") != null) {
            //  super.setValidateOnBinding(false);
            List list = objectInspection.getTrueexpertList();
            Expert exp = new Expert();
            exp.setExpert(true);
            list.add(exp);
            mav.addObject("inspection", objectInspection);

            return mav;
        }
        if (request.getParameter("deleteTrueExpert") != null) {
            //super.setValidateOnBinding(false);
            objectInspection.getTrueexpertList().remove(objectInspection.getTrueexpertList());
            mav.addObject("inspection", objectInspection);

            return mav;
        }


        if (request.getParameter("addFalseExpert") != null) {
            //  super.setValidateOnBinding(false);
            List list = objectInspection.getFalseexpertList();
            Expert exp = new Expert();
            exp.setExpert(false);
            list.add(exp);
            mav.addObject("inspection", objectInspection);


            return mav;
        }
        if (request.getParameter("deleteFalseExpert") != null) {
            //super.setValidateOnBinding(false);
            objectInspection.getFalseexpertList().remove(objectInspection.getFalseexpertList());
            mav.addObject("inspection", objectInspection);

            return mav;
        }


        if (request.getParameter("addObjectTypeList") != null) {
            // super.setValidateOnBinding(false);
            List list = objectInspection.getObjectTypeList();

            PracticalObjectExpertType exp = new PracticalObjectExpertType();
            exp.setPipelineSubtype(new PipelineSubtype());
            exp.setObjectExpertType(new ObjectExpertType());
            list.add(exp);
            mav.addObject("inspection", objectInspection);

            return mav;
        }

        if (request.getParameter("deleteObjectTypeList") != null) {
            // super.setValidateOnBinding(false);

            objectInspection.getObjectTypeList().remove(objectInspection.getObjectExpertTypeNumber());
            mav.addObject("inspection", objectInspection);

            return mav;
        }


        return super.processFormSubmission(request,
                response,
                command,
                errors);
    }


}
TOP

Related Classes of com.vst.webapp.action.InsertObjectInspectionController

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.