| | |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
| | | import com.zy.asrs.framework.exception.CoolException;
|
| | | import com.zy.asrs.wms.apis.wcs.entity.response.SowSeeds;
|
| | | import com.zy.asrs.wms.apis.wcs.services.WcsApiService;
|
| | | import com.zy.asrs.wms.asrs.entity.*;
|
| | | import com.zy.asrs.wms.asrs.entity.dto.ShippingOrderDetlDto;
|
| | | import com.zy.asrs.wms.asrs.entity.enums.OrderPickStatus;
|
| | | import com.zy.asrs.wms.asrs.entity.param.WaveSeedReviewParam;
|
| | | import com.zy.asrs.wms.asrs.mapper.*;
|
| | | import com.zy.asrs.wms.asrs.service.OrderDetlService;
|
| | | import com.zy.asrs.wms.asrs.service.WaveSeedService;
|
| | | import com.zy.asrs.wms.asrs.service.*;
|
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
| | | import org.springframework.beans.factory.annotation.Autowired;
|
| | | import org.springframework.stereotype.Service;
|
| | | import org.springframework.transaction.annotation.Transactional;
|
| | |
|
| | | import java.math.BigDecimal;
|
| | | import java.util.Date;
|
| | | import java.util.List;
|
| | | import java.util.Objects;
|
| | | import java.util.Optional;
|
| | | import java.util.*;
|
| | | import java.util.stream.Collectors;
|
| | |
|
| | | @Service("waveSeedService")
|
| | | public class WaveSeedServiceImpl extends ServiceImpl<WaveSeedMapper, WaveSeed> implements WaveSeedService {
|
| | |
|
| | | @Autowired
|
| | | private OrderMapper orderMapper;
|
| | | private OrderService orderMapper;
|
| | | @Autowired
|
| | | private OrderDetlMapper orderDetlMapper;
|
| | | @Autowired
|
| | | private TaskDetlMapper taskDetlMapper;
|
| | |
|
| | | private TaskDetlService taskDetlMapper;
|
| | | @Autowired
|
| | | private TaskService taskService;
|
| | | @Autowired
|
| | | private CacheSiteMapper cacheSiteMapper;
|
| | | @Autowired
|
| | | private WcsApiService wcsApiService;
|
| | |
|
| | | @Override
|
| | | @Transactional(rollbackFor = Exception.class)
|
| | |
| | | throw new CoolException("播种数据不存在");
|
| | | }
|
| | |
|
| | | List<CacheSite> sites = cacheSiteMapper.selectList(new LambdaQueryWrapper<CacheSite>().eq(CacheSite::getOrderNo, waveSeed.getOrderNo()));
|
| | | List<CacheSite> sites = cacheSiteMapper.selectList(new LambdaQueryWrapper<CacheSite>()
|
| | | .eq(CacheSite::getOrderNo, waveSeed.getOrderNo()));
|
| | | if (sites.isEmpty()) {
|
| | | throw new CoolException("当前订单未绑定播种库位,请使用PDA->地标绑定,功能绑定后再操作!!");
|
| | | }
|
| | |
| | | if (stock - param.getReviewNum() < 0) {
|
| | | throw new CoolException("播种数量已满");
|
| | | }
|
| | | waveSeed.setWorkQty(waveSeed.getWorkQty() + param.getReviewNum());
|
| | | //设置状态为执行中
|
| | | waveSeed.setWorkQty(waveSeed.getWorkQty() + param.getReviewNum())
|
| | | .setExceStatus(1);
|
| | |
|
| | | TaskDetl taskDetl = taskDetlMapper.selectOne(new LambdaQueryWrapper<TaskDetl>().eq(TaskDetl::getId, waveSeed.getTaskDetlId()));
|
| | | TaskDetl taskDetl = taskDetlMapper.getOne(new LambdaQueryWrapper<TaskDetl>().eq(TaskDetl::getId, waveSeed.getTaskDetlId()));
|
| | | if (Objects.isNull(taskDetl)) {
|
| | | throw new CoolException("当前播种任务明细不存在!!");
|
| | | }
|
| | |
| | | return ord.getPickStatus() != OrderPickStatus.ORDER_PICK_STATUS_DONE.val;
|
| | | }).collect(Collectors.toList());
|
| | |
|
| | | int update;
|
| | | if (detlList.isEmpty()) {
|
| | | update = orderMapper.update(new LambdaUpdateWrapper<Order>().eq(Order::getOrderNo, orderDetl.getOrderNo()).set(Order::getPickStatus, OrderPickStatus.ORDER_PICK_STATUS_DONE.val));
|
| | | if (!orderMapper.update(new LambdaUpdateWrapper<Order>()
|
| | | .eq(Order::getOrderNo, orderDetl.getOrderNo())
|
| | | .set(Order::getPickStatus, OrderPickStatus.ORDER_PICK_STATUS_DONE.val))) {
|
| | | throw new CoolException("原始订单主单拣货状态更新失败!!");
|
| | | }
|
| | | } else {
|
| | | update = orderMapper.update(new LambdaUpdateWrapper<Order>().eq(Order::getOrderNo, orderDetl.getOrderNo()).set(Order::getPickStatus, OrderPickStatus.ORDER_PICK_STATUS_SECTION.val));
|
| | | }
|
| | |
|
| | | if (update < 1) {
|
| | | throw new CoolException("原始订单主单拣货状态更新失败!!");
|
| | | if (!orderMapper.update(new LambdaUpdateWrapper<Order>()
|
| | | .eq(Order::getOrderNo, orderDetl.getOrderNo())
|
| | | .set(Order::getPickStatus, OrderPickStatus.ORDER_PICK_STATUS_SECTION.val))) {
|
| | | throw new CoolException("原始订单主单拣货状态更新失败");
|
| | | }
|
| | | }
|
| | |
|
| | | waveSeed.setUpdateTime(new Date());
|
| | |
| | | public int removeSowById(Long id) {
|
| | | return this.baseMapper.update(new LambdaUpdateWrapper<WaveSeed>().eq(WaveSeed::getId, id).set(WaveSeed::getDeleted, 1).set(WaveSeed::getStatus, 0));
|
| | | }
|
| | |
|
| | | @Override
|
| | | public List<ShippingOrderDetlDto> selectShippingOrderDtel(String orderNo) {
|
| | | return this.baseMapper.selectShippingOrderDtel(orderNo);
|
| | | }
|
| | | }
|