package cn.com.goldenwater.dcproj.service.impl.tac; import cn.com.goldenwater.core.service.AbstractCrudService; import cn.com.goldenwater.dcproj.dao.TacEvalationConfigDao; import cn.com.goldenwater.dcproj.dao.TacEvalationNormDao; import cn.com.goldenwater.dcproj.dto.TacEvalationConfigDto; import cn.com.goldenwater.dcproj.model.TacEvalationConfig; import cn.com.goldenwater.dcproj.model.TacEvalationNorm; import cn.com.goldenwater.dcproj.param.TacEvalationConfigParam; import cn.com.goldenwater.dcproj.param.TacEvalationNormParam; import cn.com.goldenwater.dcproj.service.TacEvalationConfigService; import cn.com.goldenwater.dcproj.vo.TEConfigVo; import cn.com.goldenwater.dcproj.vo.TENormVo; import cn.com.goldenwater.dcproj.vo.TacEvalationConfigVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @author lune * @date 2019-9-11 */ @Service @Transactional public class TacEvalationConfigServiceImpl extends AbstractCrudService implements TacEvalationConfigService { @Autowired private TacEvalationConfigDao tacEvalationConfigDao; @Autowired private TacEvalationNormDao tacEvalationNormDao; public TacEvalationConfigServiceImpl(TacEvalationConfigDao tacEvalationConfigDao) { super(tacEvalationConfigDao); this.tacEvalationConfigDao = tacEvalationConfigDao; } @Override public TacEvalationConfigVo getConfigsByYear(TacEvalationConfigParam tacEvalationConfigParam) { TacEvalationConfigDto dto = new TacEvalationConfigDto(); List configs = tacEvalationConfigDao.findList(tacEvalationConfigParam); if (configs.size() > 0) { dto.setConfigs(configs); } TacEvalationNormParam normParam = new TacEvalationNormParam(); normParam.setYear(tacEvalationConfigParam.getYear()); List norms = tacEvalationNormDao.findList(normParam); if (norms.size() > 0) { dto.setNorms(norms); } return tacEvalationConfigDtoToVo(dto); } @Override public int insertConfigByYear(TacEvalationConfigVo vo) { TacEvalationConfigDto dto = tacEvalationConfigVoToDto(vo); Date date = new Date(); if (dto.getConfigs().size() > 0) { //add configs dto.getConfigs().forEach(config -> { TacEvalationConfig tacEvalationConfig = tacEvalationConfigDao.get(config.getId()); if (tacEvalationConfig != null) { config.setUpTm(date); tacEvalationConfigDao.update(config); } else { config.setPersId(dto.getPersId()); config.setInTm(date); config.setUpTm(date); config.setYear(dto.getYear()); tacEvalationConfigDao.insert(config); } }); } if (dto.getNorms().size() > 0) { //add norms dto.getNorms().forEach(norm -> { TacEvalationNorm tacEvalationNorm = tacEvalationNormDao.get(norm.getId()); if (tacEvalationNorm != null) { norm.setUpTm(date); tacEvalationNormDao.update(norm); } else { norm.setPersId(dto.getPersId()); norm.setInTm(date); norm.setUpTm(date); norm.setYear(dto.getYear()); tacEvalationNormDao.insert(norm); } }); } return 1; } // 数据转换 将Dto, 转成前端需要的值Vo private TacEvalationConfigVo tacEvalationConfigDtoToVo(TacEvalationConfigDto dto) { TacEvalationConfigVo vo = new TacEvalationConfigVo(); vo.setConfigs(new ArrayList<>()); vo.setNorms(new ArrayList<>()); vo.setYear(dto.getYear()); vo.setPersId(dto.getPersId()); if (dto.getConfigs() != null && dto.getConfigs().size() > 0) { dto.getConfigs().forEach(c -> { TEConfigVo config = new TEConfigVo(); config.setId(c.getId().substring(0, c.getId().length()-4)); config.setName(c.getClassName()); config.setClassify(c.getClass2()); config.setWeight(c.getWeight2()); config.setLevel(c.getLev()); config.setScore(c.getScore()); config.setAllScoreWeight(c.getWeight()); config.setClasses(c.getClasses()); config.setSn(c.getSn()); config.setPersId(c.getPersId()); config.setInTm(c.getInTm()); config.setUpTm(c.getUpTm()); vo.getConfigs().add(config); }); } if (dto.getNorms() != null && dto.getNorms().size() > 0) { dto.getNorms().forEach(c -> { TENormVo norm = new TENormVo(); norm.setId(c.getId().substring(0, c.getId().length()-4)); norm.setClassify(c.getClassName()); norm.setLevel(c.getLev()); norm.setClasses(c.getClasses()); norm.setScore(c.getScore()); norm.setSn(c.getSn()); norm.setPersId(c.getPersId()); norm.setInTm(c.getInTm()); norm.setUpTm(c.getUpTm()); vo.getNorms().add(norm); }); } return vo; } // 数据转换 将前端穿的值Vo, 转成Dto private TacEvalationConfigDto tacEvalationConfigVoToDto(TacEvalationConfigVo vo) { TacEvalationConfigDto dto = new TacEvalationConfigDto(); dto.setConfigs(new ArrayList<>()); dto.setNorms(new ArrayList<>()); dto.setYear(vo.getYear()); dto.setPersId(vo.getPersId()); if (vo.getConfigs() != null && vo.getConfigs().size() > 0) { vo.getConfigs().forEach(c -> { TacEvalationConfig config = new TacEvalationConfig(); config.setYear(vo.getYear()); config.setId(c.getId() + vo.getYear()); config.setClassName(c.getName()); config.setClass2(c.getClassify()); config.setWeight2(c.getWeight()); config.setLev(c.getLevel()); config.setScore(c.getScore()); config.setWeight(c.getAllScoreWeight()); config.setClasses(c.getClasses()); config.setSn(c.getSn()); config.setPersId(c.getPersId()); config.setInTm(c.getInTm()); config.setUpTm(c.getUpTm()); dto.getConfigs().add(config); }); } if (vo.getNorms() != null && vo.getNorms().size() > 0) { vo.getNorms().forEach(c -> { TacEvalationNorm norm = new TacEvalationNorm(); norm.setYear(vo.getYear()); norm.setId(c.getId() + vo.getYear()); norm.setClassName(c.getClassify()); norm.setLev(c.getLevel()); norm.setClasses(c.getClasses()); norm.setScore(c.getScore()); norm.setSn(c.getSn()); norm.setPersId(c.getPersId()); norm.setInTm(c.getInTm()); norm.setUpTm(c.getUpTm()); dto.getNorms().add(norm); }); } return dto; } }