| | |
| | | import com.zy.asrs.wms.apis.wcs.entity.domain.WaveTaskDetl; |
| | | import com.zy.asrs.wms.apis.wcs.entity.response.SowSeeds; |
| | | import com.zy.asrs.wms.apis.wcs.services.WaveManagentService; |
| | | import com.zy.asrs.wms.asrs.entity.CacheSite; |
| | | import com.zy.asrs.wms.asrs.entity.Order; |
| | | import com.zy.asrs.wms.asrs.entity.OrderDetl; |
| | | import com.zy.asrs.wms.asrs.entity.Task; |
| | | import com.zy.asrs.wms.apis.wcs.utils.HttpEssUtils; |
| | | import com.zy.asrs.wms.asrs.entity.*; |
| | | import com.zy.asrs.wms.asrs.entity.dto.LargeScreenTaskDto; |
| | | import com.zy.asrs.wms.asrs.entity.enums.OrderPickStatus; |
| | | import com.zy.asrs.wms.asrs.entity.enums.TaskStsType; |
| | | import com.zy.asrs.wms.asrs.entity.param.WaveSeedReviewParam; |
| | | import com.zy.asrs.wms.asrs.mapper.CacheSiteMapper; |
| | | import com.zy.asrs.wms.asrs.mapper.OrderDetlMapper; |
| | | import com.zy.asrs.wms.asrs.mapper.OrderMapper; |
| | | import com.zy.asrs.wms.asrs.mapper.TaskMapper; |
| | | import com.zy.asrs.wms.asrs.mapper.*; |
| | | import com.zy.asrs.wms.asrs.service.TaskService; |
| | | import com.zy.asrs.wms.asrs.service.WaveSeedService; |
| | | import org.aspectj.weaver.ast.Or; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static com.zy.asrs.wms.utils.HttpUtils.getClientIpAddress; |
| | | |
| | | @Slf4j |
| | | @Service |
| | | public class WaveManagentServiceImpl implements WaveManagentService { |
| | | @Autowired |
| | |
| | | private TaskService taskService; |
| | | @Autowired |
| | | private TaskMapper taskMapper; |
| | | |
| | | @Autowired |
| | | private TaskTypeMapper taskTypeMapper; |
| | | @Autowired |
| | | private OrderMapper orderMapper; |
| | | @Autowired |
| | |
| | | } |
| | | |
| | | @Override |
| | | public R getTask() { |
| | | List<LargeScreenTaskDto> taskDtos = taskMapper.getTaskIntegrateByTaskNo(new LambdaQueryWrapper<Task>().eq(Task::getTaskSts, TaskStsType.WAVE_SEED.id)); |
| | | return R.ok(taskDtos); |
| | | public R getTask(HttpServletRequest request) { |
| | | log.info("ip地址====>: {}", getClientIpAddress(request)); |
| | | String locIp = getClientIpAddress(request); |
| | | List<LargeScreenTaskDto> taskDtos; |
| | | if (locIp.equals(HttpEssUtils.S2_SITE_NO)) { |
| | | taskDtos = taskMapper.getTaskIntegrateByTaskNo(new LambdaQueryWrapper<Task>() |
| | | .eq(Task::getTaskSts, TaskStsType.WAVE_SEED.id) |
| | | .eq(Task::getTargetSite, "S2") |
| | | .orderByAsc(Task::getUpdateTime).last("limit 1")); |
| | | } else { |
| | | taskDtos = taskMapper.getTaskIntegrateByTaskNo(new LambdaQueryWrapper<Task>() |
| | | .eq(Task::getTaskSts, TaskStsType.WAVE_SEED.id) |
| | | .eq(Task::getTargetSite, "S1") |
| | | .orderByAsc(Task::getUpdateTime).last("limit 1")); |
| | | } |
| | | return R.ok(taskDtos); |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | |
| | | orders.forEach(order -> { |
| | | List<OrderDetl> detls = orderDetlMapper.selectList(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, order.getId())); |
| | | if (detls.isEmpty()) { |
| | | throw new CoolException("订单:" + order.getOrderNo() + " 没有明细,请联系管理员!!"); |
| | | } |
| | | List<OrderDetl> orderDetls = detls.stream().filter(orderDetl -> { |
| | | return orderDetl.getAnfme() == (orderDetl.getWorkQty() + orderDetl.getQty()); |
| | | }).collect(Collectors.toList()); |
| | | |
| | | if (!orderDetls.isEmpty() && orderDetls.size() == detls.size()) { |
| | | if (order.getPickStatus() == OrderPickStatus.ORDER_PICK_STATUS_DONE.val) { |
| | | order.setOrderStatus("已完成");//已完成 |
| | | } else if (orderDetls.size() < detls.size() && orderDetls.size() != 0) {//部分完成 |
| | | } else if (order.getPickStatus() == OrderPickStatus.ORDER_PICK_STATUS_SECTION.val) {//部分完成 |
| | | order.setOrderStatus("部分完成"); |
| | | } else {//未完成 |
| | | order.setOrderStatus("未完成"); |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public R AllSeedLocs() { |
| | | List<CacheSite> cacheSites = cacheSiteMapper.selectList(new LambdaQueryWrapper<CacheSite>()); |
| | | public R AllSeedLocs(HttpServletRequest request) { |
| | | log.info("ip地址====>: {}", getClientIpAddress(request)); |
| | | String locIp = getClientIpAddress(request); |
| | | List<CacheSite> cacheSites; |
| | | if (locIp.equals(HttpEssUtils.S2_SITE_NO)) { |
| | | cacheSites = cacheSiteMapper.selectList(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getChannel, "S2")); |
| | | } else { |
| | | cacheSites = cacheSiteMapper.selectList(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getChannel, "S1")); |
| | | } |
| | | if (cacheSites.isEmpty()) { |
| | | return R.error("当前播种墙信息未设置!!"); |
| | | } |