data.services.CarCompletionOptionService.java Source code

Java tutorial

Introduction

Here is the source code for data.services.CarCompletionOptionService.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package data.services;

import data.dao.CarCompletionOptionDao;
import data.dao.CarOptionValueDao;
import data.entity.CarCompletionOption;
import data.entity.CarOptionValue;
import data.services.parent.PrimService;
import java.io.File;
import java.io.FileInputStream;
import java.util.Iterator;
import java.util.List;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.context.annotation.ScopedProxyMode;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import support.StringAdapter;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;

/**
 *
 * @author bezdatiuzer
 */
@Service
@Transactional
@Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class CarCompletionOptionService extends PrimService {

    @Autowired
    private CarCompletionOptionDao carCompletionOptionDao;
    @Autowired
    private CarOptionValueDao carOptionValueDao;
    @Autowired
    private BaseParamService baseParamService;

    public List<CarCompletionOption> getOptions() {
        return carCompletionOptionDao.getAllAsc("CCG");
    }

    public void createParam(CarCompletionOption cco) throws Exception {
        CarCompletionOption supcco = new CarCompletionOption();
        supcco.setOldId(cco.getOldId());
        if (carCompletionOptionDao.find(supcco).isEmpty()) {
            if (validate(cco)) {
                carCompletionOptionDao.save(cco);
            }
        } else {
            addError(" ?    quto  ??");
        }
    }

    public void update(Long CCOId, String uid, String paramValue, Long percentValue, String radical, Integer a,
            Integer v, Integer k) {
        ;
        if (baseParamService.checkUid(uid)) {
            CarCompletionOption cco = carCompletionOptionDao.find(CCOId);
            if (cco != null) {
                cco.setUid(uid);
                cco.setParamValue(StringAdapter.toDouble(paramValue));
                cco.setPercentValue(percentValue);
                cco.setRadical(radical);
                cco.setAudial(a);
                cco.setVisual(v);
                cco.setKinestet(k);
                if (validate(cco)) {
                    carCompletionOptionDao.update(cco);
                }
            } else {
                addError("? ?     " + CCOId);
            }
        } else {
            addError("     ? " + uid);

        }

    }

    public void delete(CarCompletionOption cco) throws Exception {
        for (CarOptionValue cov : cco.getCovs()) {
            carOptionValueDao.delete(cov);
        }
        carCompletionOptionDao.delete(cco);
    }

    public CarCompletionOption findByOldId(Long oldId) {
        CarCompletionOption supcco = new CarCompletionOption();
        supcco.setOldId(oldId);
        List<CarCompletionOption> list = carCompletionOptionDao.find(supcco);
        if (!list.isEmpty()) {
            if (list.size() == 1) {
                return list.get(0);
            } else {
                addError("       quto");
            }
        } else {
            addError("?  ");
        }
        return null;
    }

    public HSSFWorkbook getXls() {
        Logger log = Logger.getLogger(this.getClass());
        try {
            HSSFWorkbook workbook = new HSSFWorkbook();
            List<CarCompletionOption> oblist = carCompletionOptionDao.getAllAsc();
            HSSFSheet sheet = workbook.createSheet("FirsSheet");
            HSSFRow rowhead = sheet.createRow((short) 0);
            rowhead.createCell(0).setCellValue("ID");
            rowhead.createCell(1).setCellValue("TITLE");
            rowhead.createCell(2).setCellValue(" ");
            rowhead.createCell(3).setCellValue("UID");
            rowhead.createCell(4).setCellValue("");
            rowhead.createCell(5).setCellValue("");
            rowhead.createCell(6).setCellValue("");
            rowhead.createCell(7).setCellValue("?");
            rowhead.createCell(8).setCellValue("");
            rowhead.createCell(9).setCellValue("?");
            int n = 1;
            if (!oblist.isEmpty()) {
                for (CarCompletionOption ob : oblist) {
                    HSSFRow rowbody = sheet.createRow((short) n);
                    rowbody.createCell(0).setCellValue(StringAdapter.getString(ob.getCcoId()));
                    rowbody.createCell(1).setCellValue(StringAdapter.getString(ob.getTitle()));
                    rowbody.createCell(2).setCellValue(StringAdapter.getString(ob.getTitleFull()));
                    rowbody.createCell(3).setCellValue(StringAdapter.getString(ob.getUid()));
                    rowbody.createCell(4)
                            .setCellValue(StringAdapter.getString(ob.getParamValue()).replace(".", ","));
                    rowbody.createCell(5).setCellValue(StringAdapter.getString(ob.getPercentValue()));
                    rowbody.createCell(6).setCellValue(StringAdapter.getString(ob.getRadical()));
                    rowbody.createCell(7).setCellValue(StringAdapter.getString(ob.getAudial()));
                    rowbody.createCell(8).setCellValue(StringAdapter.getString(ob.getVisual()));
                    rowbody.createCell(9).setCellValue(StringAdapter.getString(ob.getKinestet()));
                    n++;
                }
            }
            return workbook;
        } catch (Exception e) {
            log.warn("HSSFWorkbook.getXls()", e);
        }
        return null;
    }

    public void updateFromXml(File fl) {
        try {
            FileInputStream fi = new FileInputStream(fl);
            try {
                HSSFWorkbook workbook = new HSSFWorkbook(fi);
                HSSFSheet sheet = workbook.getSheetAt(0);
                Iterator<Row> it = sheet.iterator();
                while (it.hasNext()) {
                    Row row = it.next();

                    Cell idCell = row.getCell(0);
                    if (idCell != null) {
                        Long id = StringAdapter.toLong(StringAdapter.HSSFSellValue(idCell));

                        Cell uidc = row.getCell(3);
                        String uid = "";
                        if (uidc != null) {
                            uid = StringAdapter.HSSFSellValue(uidc);
                            if (uid.contains(".")) {
                                int point = uid.indexOf(".");
                                uid = uid.substring(0, point);
                            }
                        }

                        Cell valc = row.getCell(4);
                        Double val = (double) 0;
                        if (valc != null) {
                            String valstr = StringAdapter.HSSFSellValue(valc).replace(",", ".").trim();
                            val = StringAdapter.toDouble(valstr);
                        }

                        Cell percc = row.getCell(5);
                        Long perc = (long) 0;
                        if (percc != null) {
                            String percstr = StringAdapter.HSSFSellValue(percc);
                            if (percstr.contains(".")) {
                                int point = percstr.indexOf(".");
                                percstr = percstr.substring(0, point);
                            }
                            if (!percstr.equals("")) {
                                perc = StringAdapter.toLong(percstr);
                            }
                        }

                        Cell radc = row.getCell(6);
                        String rad = "";
                        if (radc != null) {
                            rad = StringAdapter.HSSFSellValue(radc).trim();
                            if (rad.contains(".")) {
                                int point = rad.indexOf(".");
                                rad = rad.substring(0, point);
                            }
                            if (rad.trim().equals("0")) {
                                rad = "";
                            } else {
                                rad = rad.replace(" ", "");
                            }
                        }

                        Cell ac = row.getCell(7);
                        String a = "0";
                        if (ac != null) {
                            a = StringAdapter.HSSFSellValue(ac);
                            if (a.contains(".")) {
                                int point = a.indexOf(".");
                                a = a.substring(0, point);
                            }
                            if (a.equals("")) {
                                a = "0";
                            }
                        }
                        Cell vc = row.getCell(8);
                        String v = "0";
                        if (vc != null) {
                            v = StringAdapter.HSSFSellValue(vc);
                            if (v.contains(".")) {
                                int point = v.indexOf(".");
                                v = v.substring(0, point);
                            }
                            if (v.equals("")) {
                                v = "0";
                            }
                        }
                        Cell kc = row.getCell(9);
                        String k = "0";
                        if (kc != null) {
                            k = StringAdapter.HSSFSellValue(ac);
                            if (k.contains(".")) {
                                int point = k.indexOf(".");
                                k = k.substring(0, point);
                            }
                            if (k.equals("")) {
                                k = "0";
                            }
                        }

                        CarCompletionOption cl = carCompletionOptionDao.find(id);
                        if (cl != null) {
                            cl.setUid(uid);
                            cl.setParamValue(val);
                            cl.setPercentValue(perc);
                            cl.setRadical(rad);
                            cl.setAudial(Integer.valueOf(a));
                            cl.setVisual(Integer.valueOf(v));
                            cl.setKinestet(Integer.valueOf(k));
                            if (validate(cl)) {
                                carCompletionOptionDao.update(cl);
                            }
                        }
                    }
                }
                workbook.close();
            } catch (Exception e) {
                addError(StringAdapter.getStackTraceException(e));
            }
            fi.close();
        } catch (Exception e) {
            addError("  xml");
            addError(StringAdapter.getStackTraceException(e));
        }
    }
}