| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- package cn.com.goldenwater.dcproj.service.impl.tac;
- import cn.com.goldenwater.dcproj.dao.TacExprRcmmDao;
- import cn.com.goldenwater.dcproj.dao.TacExprRcmmRcrdDao;
- import cn.com.goldenwater.dcproj.dto.TacCountDto;
- import cn.com.goldenwater.dcproj.dto.TacExprRcmmRcrdCountDto;
- import cn.com.goldenwater.dcproj.dto.TacExprRcmmRcrdDto;
- import cn.com.goldenwater.dcproj.model.TacExprRcmm;
- import cn.com.goldenwater.dcproj.model.TacExprRcmmRcrd;
- import cn.com.goldenwater.dcproj.param.TacExprRcmmParam;
- import cn.com.goldenwater.dcproj.param.TacExprRcmmRcrdParam;
- import cn.com.goldenwater.dcproj.service.TacExprRcmmRcrdService;
- import cn.com.goldenwater.core.service.AbstractCrudService;
- import cn.com.goldenwater.dcproj.utils.FormatFieldUtil;
- import cn.com.goldenwater.id.util.UuidUtil;
- import com.github.pagehelper.PageHelper;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.*;
- /**
- * @author lune
- * @date 2019-11-13
- */
- @Service
- @Transactional
- public class TacExprRcmmRcrdServiceImpl extends AbstractCrudService<TacExprRcmmRcrd, TacExprRcmmRcrdParam> implements TacExprRcmmRcrdService {
- @Autowired
- private TacExprRcmmRcrdDao tacExprRcmmRcrdDao;
- @Autowired
- private TacExprRcmmDao rcmmDao;
- public TacExprRcmmRcrdServiceImpl(TacExprRcmmRcrdDao tacExprRcmmRcrdDao) {
- super(tacExprRcmmRcrdDao);
- this.tacExprRcmmRcrdDao = tacExprRcmmRcrdDao;
- }
- @Override
- public List<TacExprRcmmRcrdDto> getRcrdDtoList(TacExprRcmmRcrdParam tacExprRcmmRcrdParam) {
- List<TacExprRcmmRcrdDto> list = tacExprRcmmRcrdDao.getRcrdDtoList(tacExprRcmmRcrdParam);
- return list;
- }
- @Override
- public int cleanRcrdByExprTime(TacExprRcmmRcrdDto dto) {
- int a = tacExprRcmmRcrdDao.cleanRcrdByExprTime(dto);
- return 0;
- }
- @Override
- public boolean saveRcrdDto(TacExprRcmmRcrdDto dto) throws ParseException {
- if (dto == null) {
- return false;
- }
- if (dto.getRcmmList() == null || dto.getRcmmList().size() == 0) {
- return true;
- }
- Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(dto.getExprTm());
- TacExprRcmmParam rcmmParam = new TacExprRcmmParam();
- rcmmParam.setExprTm(dto.getExprTm());
- List<TacExprRcmm> list = rcmmDao.getRcmmListByTime(rcmmParam);
- dto.getRcmmList().forEach(rcmm -> {
- int index = -1;
- if ((index = isContains(list,rcmm)) > -1) {
- list.remove(index);
- } else {
- TacExprRcmmRcrd rcmmRcrd = new TacExprRcmmRcrd();
- rcmmRcrd.setId(UuidUtil.uuid());
- rcmmRcrd.setIntm(date);
- rcmmRcrd.setUptm(date);
- rcmmRcrd.setState("1");
- rcmmRcrd.setExprRcmmId(rcmm.getId());
- rcmmRcrd.setPersId(dto.getPersId());
- rcmmRcrd.setDataStat("0");
- tacExprRcmmRcrdDao.insert(rcmmRcrd);
- }
- });
- if (list.size() > 0) {
- list.forEach(rcmm -> {
- TacExprRcmmRcrdParam rcmmRcrdParam = new TacExprRcmmRcrdParam();
- rcmmRcrdParam.setIntm(date);
- rcmmRcrdParam.setExprRcmmId(rcmm.getId());
- tacExprRcmmRcrdDao.deleteBy(rcmmRcrdParam);
- });
- }
- return true;
- }
- private int isContains(List<TacExprRcmm> list, TacExprRcmm rcmm) {
- if (list == null || list.isEmpty()) {
- return -1;
- }
- for (TacExprRcmm tacExprRcmm : list) {
- if (tacExprRcmm.getId().equals(rcmm.getId())) {
- return list.indexOf(tacExprRcmm);
- }
- }
- return -1;
- }
- @Override
- public int updateRcmmListByExprTime(TacExprRcmmRcrdDto dto) {
- if (dto == null || StringUtils.isBlank(dto.getExprTm())) {
- return 0;
- }
- int result = rcmmDao.updateByExprTime(dto);
- return 0;
- }
- @Override
- public List<TacExprRcmmRcrdCountDto> countRcrdByAdCode(TacExprRcmmRcrdParam tacExprRcmmRcrdParam) {
- List<TacCountDto> list = tacExprRcmmRcrdDao.countRcrdByAdCode(tacExprRcmmRcrdParam);
- Map<String, TacExprRcmmRcrdCountDto> map = new HashMap<>();
- if (list.size() > 0) {
- list.forEach(tacCountDto -> {
- if (!map.containsKey(tacCountDto.getCode())) {
- TacExprRcmmRcrdCountDto dto = new TacExprRcmmRcrdCountDto();
- dto.setAdCode(tacCountDto.getCode());
- dto.setAdName(tacCountDto.getName());
- setTacExprRcmmCountValue(dto,tacCountDto);
- map.put(tacCountDto.getCode(), dto);
- } else {
- setTacExprRcmmCountValue(map.get(tacCountDto.getCode()), tacCountDto);
- }
- });
- }
- List<TacExprRcmmRcrdCountDto> result = new ArrayList<TacExprRcmmRcrdCountDto>(map.values());
- result.forEach(tacExprRcmmRcrdCountDto -> {
- if (tacExprRcmmRcrdCountDto.getCount() != null && tacExprRcmmRcrdCountDto.getCount() > 0) {
- tacExprRcmmRcrdCountDto.setRcmm("1");
- }
- formatField(tacExprRcmmRcrdCountDto);
- });
- return result;
- }
- private void formatField(TacExprRcmmRcrdCountDto tacExprRcmmRcrdCountDto) {
- if (StringUtils.isBlank(tacExprRcmmRcrdCountDto.getRcmm())) {
- tacExprRcmmRcrdCountDto.setRcmm("2");
- }
- tacExprRcmmRcrdCountDto.setRcmm(FormatFieldUtil.commonFormat(tacExprRcmmRcrdCountDto.getRcmm()));
- }
- private void setTacExprRcmmCountValue(TacExprRcmmRcrdCountDto tacExprRcmmRcrdCountDto, TacCountDto tacCountDto) {
- if (tacExprRcmmRcrdCountDto == null || tacCountDto == null) {
- return;
- }
- Long allCount = tacExprRcmmRcrdCountDto.getCount() == null ? new Long(0) : tacExprRcmmRcrdCountDto.getCount();
- Long count = Long.valueOf(tacCountDto.getCount()) == null ? new Long(0) : Long.valueOf(tacCountDto.getCount());
- switch (tacCountDto.getRoleType() == null ? "" : tacCountDto.getRoleType()) {
- case "20":
- tacExprRcmmRcrdCountDto.setSpeCount(count);
- break;
- case "19":
- tacExprRcmmRcrdCountDto.setAssCount(count);
- break;
- case "11":
- tacExprRcmmRcrdCountDto.setEarCount(count);
- break;
- case "12":
- tacExprRcmmRcrdCountDto.setDevCount(count);
- break;
- case "13":
- tacExprRcmmRcrdCountDto.setPlanCount(count);
- break;
- case "14":
- tacExprRcmmRcrdCountDto.setFincount(count);
- break;
- case "15":
- tacExprRcmmRcrdCountDto.setPlanCount(count);
- break;
- case "16":
- tacExprRcmmRcrdCountDto.setSafeCount(count);
- break;
- }
- tacExprRcmmRcrdCountDto.setCount(allCount + count);
- }
- @Override
- public List<TacExprRcmmRcrd> getRcmmRcrdList(TacExprRcmmRcrdParam tacExprRcmmRcrdParam) {
- List<TacExprRcmmRcrd> list = tacExprRcmmRcrdDao.getRcmmRcrdList(tacExprRcmmRcrdParam);
- return list;
- }
- }
|