|
@@ -17,8 +17,11 @@ import com.yc.ship.module.product.dal.dataobject.voyagestockdistribute.VoyageSto
|
|
|
import com.yc.ship.module.product.dal.dataobject.voyagestockdistribute.VoyageStockDistributeLogDO;
|
|
|
import com.yc.ship.module.product.dal.mysql.voyagestockdistribute.VoyageStockDistributeLogMapper;
|
|
|
import com.yc.ship.module.product.dal.mysql.voyagestockdistribute.VoyageStockDistributeMapper;
|
|
|
+import com.yc.ship.module.product.enums.ErrorCodeConstants;
|
|
|
import com.yc.ship.module.product.service.voyage.VoyageService;
|
|
|
import com.yc.ship.module.product.service.voyagestockdetail.VoyageStockDetailService;
|
|
|
+import com.yc.ship.module.resource.api.room.RoomApi;
|
|
|
+import com.yc.ship.module.resource.api.room.dto.RoomRespDTO;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
@@ -29,6 +32,8 @@ import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
+import static com.yc.ship.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
+
|
|
|
/**
|
|
|
* 航次库存分配 Service 实现类
|
|
|
*
|
|
@@ -56,6 +61,9 @@ public class VoyageStockDistributeServiceImpl implements VoyageStockDistributeSe
|
|
|
@Resource
|
|
|
private StoreApi storeApi;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private RoomApi roomApi;
|
|
|
+
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
public void createVoyageStockDistribute(List<VoyageStockDistributeSaveReqVO> createReqVO) {
|
|
@@ -262,4 +270,19 @@ public class VoyageStockDistributeServiceImpl implements VoyageStockDistributeSe
|
|
|
return resp;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public List<RoomRespDTO> getRoomList(Long voyageId) {
|
|
|
+ VoyageDO voyage = voyageService.getVoyage(voyageId);
|
|
|
+ if(voyage == null) {
|
|
|
+ throw exception(ErrorCodeConstants.VOYAGE_NOT_EXISTS);
|
|
|
+ }
|
|
|
+ List<RoomRespDTO> roomList = roomApi.getRoomList(voyage.getShipId());
|
|
|
+ List<VoyageStockDistributeDO> list = voyageStockDistributeMapper.selectListByVoyageId(voyageId);
|
|
|
+ List<Integer> selectedList = list.stream().flatMap(list1 -> list1.getRoomNums().stream()).collect(Collectors.toList());
|
|
|
+ roomList.stream().forEach(room -> {
|
|
|
+ room.setIsSelected(selectedList.contains(room.getRoomNum()));
|
|
|
+ });
|
|
|
+ return roomList;
|
|
|
+ }
|
|
|
+
|
|
|
}
|