package com.huimv.receive.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.huimv.receive.common.token.TokenSign; import com.huimv.receive.common.utils.Result; import com.huimv.receive.common.utils.ResultCode; import com.huimv.receive.entity.BaseVisiting; import com.huimv.receive.entity.BaseWashoutPoint; import com.huimv.receive.entity.dto.GetFlowListDto; import com.huimv.receive.entity.dto.GetWashoutPointDto; import com.huimv.receive.entity.dto.WashListDto; import com.huimv.receive.entity.vo.DestVo; import com.huimv.receive.mapper.BaseVisitingMapper; import com.huimv.receive.mapper.BaseWashoutPointMapper; import com.huimv.receive.service.IBaseWashoutPointService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; /** *

* 服务实现类 *

* * @author author * @since 2024-03-06 */ @Service public class BaseWashoutPointServiceImpl extends ServiceImpl implements IBaseWashoutPointService { @Autowired private BaseWashoutPointMapper washoutPointMapper; @Autowired private BaseVisitingMapper visitingMapper; @Override public Result list(HttpServletRequest httpServletRequest, Map paramsMap) { String farmId = paramsMap.get("farmId"); List visitings = visitingMapper.selectList(new QueryWrapper<>()); List washoutPointDtos = new ArrayList<>(); if (ObjectUtil.isEmpty(visitings)) { return new Result(ResultCode.SUCCESS, washoutPointDtos); } else { for (BaseVisiting visiting : visitings) { Integer type = visiting.getId(); List list = washoutPointMapper.selectList(new QueryWrapper() .like("farm_ids", farmId).eq("visiting_type", type)); List washListDtos = new ArrayList<>(); if (list.size() != 0) { for (BaseWashoutPoint point : list) { WashListDto washListDto = new WashListDto(); washListDto.setAddressId(point.getLocationId()); washListDto.setFlowLists(point.getFlowList()); washListDto.setNextName(point.getTailLocationName()); washListDto.setPcrTime(point.getPcrTime()); washListDtos.add(washListDto); } GetWashoutPointDto getWashoutPointDto = new GetWashoutPointDto(); getWashoutPointDto.setFarmIds(farmId); getWashoutPointDto.setNumber(list.size()); getWashoutPointDto.setVisitingType(type); getWashoutPointDto.setWashListDtos(washListDtos); washoutPointDtos.add(getWashoutPointDto); } } } return new Result(ResultCode.SUCCESS, washoutPointDtos); } @Override public Result add(HttpServletRequest httpServletRequest, List washoutPointDtos) { String farmIds = TokenSign.getFarmIds(httpServletRequest); //访问类型集合 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("farm_ids",farmIds); washoutPointMapper.delete(queryWrapper); for (GetWashoutPointDto washoutPointDto : washoutPointDtos) { //流程集合 List washListDtos = washoutPointDto.getWashListDtos(); int i = 1; for (WashListDto washListDto : washListDtos) { BaseWashoutPoint washoutPoint = new BaseWashoutPoint(); washoutPoint.setCreateTime(new Date()); washoutPoint.setCreateUser(TokenSign.getMemberIdByJwtToken(httpServletRequest)); washoutPoint.setFlowList(washListDto.getFlowLists()); washoutPoint.setLocationId(washListDto.getAddressId()); washoutPoint.setPcrTime(washListDto.getPcrTime()); washoutPoint.setVisitingType(washoutPointDto.getVisitingType()); washoutPoint.setTailLocationName(washListDto.getNextName()); washoutPoint.setFarmIds(farmIds); washoutPoint.setPointLevel(i); washoutPointMapper.insert(washoutPoint); i++; } } return new Result(10000, "添加成功!", true); } @Override public Result delete(HttpServletRequest httpServletRequest, Map paramsMap) { String farmId = paramsMap.get("farmId"); String type = paramsMap.get("type");//访问类型 String level = paramsMap.get("level");//洗消站等级 washoutPointMapper.delete(new QueryWrapper().like("farm_ids", farmId) .eq("visiting_type", type).eq("point_level", level)); return new Result(10000, "删除成功!", true); } @Override public Result listDest(Map paramsMap) { String farmId = paramsMap.get("farmId"); String vistitType = paramsMap.get("vistitType"); List baseWashoutPointList = washoutPointMapper.listDest(farmId,vistitType); List destVoList = new ArrayList<>(); for (BaseWashoutPoint baseWashoutPoint : baseWashoutPointList) { DestVo destVo = new DestVo(); destVo.setId(baseWashoutPoint.getLocationId()); destVo.setLocationName(baseWashoutPoint.getLocationName()); destVoList.add(destVo); DestVo destVo2 = new DestVo(); destVo2.setId(baseWashoutPoint.getLocationId()); destVo2.setLocationName(baseWashoutPoint.getTailLocationName()); destVoList.add(destVo2); } return new Result(ResultCode.SUCCESS,destVoList); } }