package com.zteits.park.dao.impl; import com.clouds.common.utils.ListCopyUtil; import com.zteits.clouds.api.apibase.constants.BasicEnum; import com.zteits.clouds.api.dto.park.dto.ChannelInfoDTO; import com.zteits.clouds.api.dto.park.dto.ParkingLotDTO; import com.zteits.clouds.api.dto.park.dto.TideChannelInfoDTO; import com.zteits.clouds.api.dto.park.param.QueryParkLotInfoByPkNosRequest; import com.zteits.clouds.api.dto.park.param.closecarpark.*; import com.zteits.clouds.api.service.park.ParkingChannelListQueryService; import com.zteits.clouds.api.service.park.ParkingLotQueryService; import com.zteits.park.dao.EnclosedTideChannelConfigDao; import com.zteits.park.domain.EnclosedTideChannelConfig; import com.zteits.park.domain.EnclosedTideChannelConfigExample; import com.zteits.park.mapper.EnclosedTideChannelConfigMapper; import com.zteits.park.mapper.smapper.EnclosedTideChannelConfigSMapper; import com.zteits.park.mapper.smapper.ParkingLotChannelSMapper; import com.zteits.park.util.DateUtils; import org.apache.commons.lang3.StringUtils; import org.jfree.util.Log; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.text.ParseException; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @Component public class EnclosedTideChannelConfigDaoImpl implements EnclosedTideChannelConfigDao { @Autowired private EnclosedTideChannelConfigMapper enclosedTideChannelConfigMapper; @Autowired private EnclosedTideChannelConfigSMapper enclosedTideChannelConfigSMapper; @Autowired private ParkingLotChannelSMapper parkingLotChannelSMapper; @Autowired private ParkingLotQueryService parkingLotQueryService; @Resource private ParkingChannelListQueryService parkingChannelListQueryService; @Override public int insertEnclosedTideChannelConfig(EnclosedTideChannelConfig enclosedTideChannelConfig) { if (enclosedTideChannelConfig == null) { return 0; } return enclosedTideChannelConfigMapper.insertSelective(enclosedTideChannelConfig); } @Override public int deleteTideChannelByNum(DeleteEnclosedTideChannelRequest request) { if (request == null) { return 0; } EnclosedTideChannelConfigExample example = new EnclosedTideChannelConfigExample(); EnclosedTideChannelConfigExample.Criteria sql = example.createCriteria(); if(!StringUtils.isEmpty(request.getPlNo())){ sql.andPlNoEqualTo(request.getPlNo()); } if(!StringUtils.isEmpty(request.getChannelNumber())){ sql.andChannelNumberEqualTo(request.getChannelNumber()); } if(!StringUtils.isEmpty(request.getConfigNo())){ sql.andConfigNoEqualTo(request.getConfigNo()); } return enclosedTideChannelConfigMapper.deleteByExample(example); } @Override public List queryTideChannel(QueryEnclosedTideChannelRequest request) { List dtoList = new ArrayList<>(); EnclosedTideChannelConfigExample example = new EnclosedTideChannelConfigExample(); EnclosedTideChannelConfigExample.Criteria sql = example.createCriteria(); if(!StringUtils.isEmpty(request.getPlNo())){ sql.andPlNoEqualTo(request.getPlNo()); } if(!StringUtils.isEmpty(request.getChannelNumber())){ sql.andChannelNumberEqualTo(request.getChannelNumber()); } example.setOrderByClause("pl_no desc"); List list = enclosedTideChannelConfigMapper.selectByExample(example); //********************************************************** boolean outFlag = false; String startTime = null; String endTime = null; String time = ""; for (int i = 0;i 1){ timeSecionStr = time.substring(0,time.length()-1); } str = "本通道(通道号:"+request.getPlNo()+"),在当前时段内禁止通行,请选择其他通道通行。禁止通行时段:" + timeSecionStr + "。其他时段正常通行。"; // billQueryRes.setChannelEnable(outFlag); // billQueryRes.setAlertMessage(str); } Log.info(str); //********************************************************** ListCopyUtil.listCopyProperties(list,dtoList,TideChannelInfoDTO.class); //获取停车场名称、通道名称 //停车场编码查询对应名称 List plNos = dtoList.stream().map(item -> item.getPlNo()).collect(Collectors.toList()); QueryParkLotInfoByPkNosRequest parkRequest = new QueryParkLotInfoByPkNosRequest(); parkRequest.setPlNos(plNos); parkRequest.setSysCode(BasicEnum.SYS_CODE.getValue()); if(plNos.size()>0){ List parks = parkingLotQueryService.QueryParkingLotByPkNos(parkRequest).getData(); dtoList.forEach(relDTO -> { parks.forEach(p -> { if (null != relDTO && StringUtils.isNotEmpty(relDTO.getPlNo()) && null != p && StringUtils.isNotEmpty(p.getPlNo())) { if (relDTO.getPlNo().equals(p.getPlNo())) { relDTO.setPlName(p.getPlName()); } } }); }); } //查询通道名称 List channelNums = dtoList.stream().map(item -> item.getChannelNumber()).collect(Collectors.toList()); QueryChannelNameByChannelNumsRequest channelNumsRequest = new QueryChannelNameByChannelNumsRequest(); channelNumsRequest.setChannelNums(channelNums); channelNumsRequest.setSysCode(BasicEnum.SYS_CODE.getValue()); if(channelNums.size()>0){ List channels = parkingChannelListQueryService.queryChannelNameByChannelNums(channelNumsRequest).getData(); dtoList.forEach(relDTO -> { channels.forEach(p -> { if (null != relDTO && StringUtils.isNotEmpty(relDTO.getChannelNumber()) && null != p && StringUtils.isNotEmpty(p.getChannelNumber())) { if (relDTO.getChannelNumber().equals(p.getChannelNumber()) && relDTO.getPlNo().equals(p.getPlNo())) { relDTO.setChannelName(p.getChannelName()); } } }); }); } return dtoList; } @Override public List viewTideChannel(ViewEnclosedTideChannelRequest request) { List dtoList = new ArrayList<>(); EnclosedTideChannelConfigExample example = new EnclosedTideChannelConfigExample(); EnclosedTideChannelConfigExample.Criteria sql = example.createCriteria(); if(!StringUtils.isEmpty(request.getConfigNo())){ sql.andConfigNoEqualTo(request.getConfigNo()); } List list = enclosedTideChannelConfigMapper.selectByExample(example); ListCopyUtil.listCopyProperties(list,dtoList,TideChannelInfoDTO.class); //获取停车场名称、通道名称 //停车场编码查询对应名称 List plNos = dtoList.stream().map(item -> item.getPlNo()).collect(Collectors.toList()); QueryParkLotInfoByPkNosRequest parkRequest = new QueryParkLotInfoByPkNosRequest(); parkRequest.setPlNos(plNos); parkRequest.setSysCode(BasicEnum.SYS_CODE.getValue()); if(plNos.size()>0){ List parks = parkingLotQueryService.QueryParkingLotByPkNos(parkRequest).getData(); dtoList.forEach(relDTO -> { parks.forEach(p -> { if (null != relDTO && StringUtils.isNotEmpty(relDTO.getPlNo()) && null != p && StringUtils.isNotEmpty(p.getPlNo())) { if (relDTO.getPlNo().equals(p.getPlNo())) { relDTO.setPlName(p.getPlName()); } } }); }); } return dtoList; } @Override public int updateTideChannel(EnclosedTideChannelConfig tideChannelConfig) { EnclosedTideChannelConfigExample example = new EnclosedTideChannelConfigExample(); example.createCriteria().andIdEqualTo(tideChannelConfig.getId()); int flag = enclosedTideChannelConfigMapper.insertSelective(tideChannelConfig); return flag; } @Override public int deleteTideChannel(UpdateTideChannelRequest request) { EnclosedTideChannelConfigExample example = new EnclosedTideChannelConfigExample(); EnclosedTideChannelConfigExample.Criteria sql = example.createCriteria(); if(request.getChannelInfoDTOList() != null){ if(!StringUtils.isEmpty(request.getChannelInfoDTOList().get(0).getConfigNo())){ sql.andConfigNoEqualTo(request.getChannelInfoDTOList().get(0).getConfigNo()); } } int flag = enclosedTideChannelConfigMapper.deleteByExample(example); return flag; } @Override public List queryOpposeTideChannel(QueryOpposeEnclosedTideChannelRequest request) { List list = enclosedTideChannelConfigSMapper.queryOpposeTideChannel(request); return list; } }