|
@@ -23,11 +23,13 @@ import com.sd.business.entity.order.po.OrderSkuBom;
|
|
import com.sd.business.entity.production.dto.StockPreparationDto;
|
|
import com.sd.business.entity.production.dto.StockPreparationDto;
|
|
import com.sd.business.entity.production.po.ProductionTask;
|
|
import com.sd.business.entity.production.po.ProductionTask;
|
|
import com.sd.business.entity.production.po.ProductionWorkOrder;
|
|
import com.sd.business.entity.production.po.ProductionWorkOrder;
|
|
|
|
+import com.sd.business.entity.production.vo.PackageBomVo;
|
|
import com.sd.business.entity.production.vo.StockPreparationVo;
|
|
import com.sd.business.entity.production.vo.StockPreparationVo;
|
|
import com.sd.business.entity.sku.po.Sku;
|
|
import com.sd.business.entity.sku.po.Sku;
|
|
import com.sd.business.entity.sku.po.SkuSpec;
|
|
import com.sd.business.entity.sku.po.SkuSpec;
|
|
import com.sd.business.entity.warehouse.constant.WarehouseConstant;
|
|
import com.sd.business.entity.warehouse.constant.WarehouseConstant;
|
|
import com.sd.business.mapper.production.StockPreparationMapper;
|
|
import com.sd.business.mapper.production.StockPreparationMapper;
|
|
|
|
+import com.sd.business.service.bom.BomSpecService;
|
|
import com.sd.business.service.in.InOutStorageService;
|
|
import com.sd.business.service.in.InOutStorageService;
|
|
import com.sd.business.service.order.OrderService;
|
|
import com.sd.business.service.order.OrderService;
|
|
import com.sd.business.service.order.OrderSkuBomService;
|
|
import com.sd.business.service.order.OrderSkuBomService;
|
|
@@ -78,6 +80,9 @@ public class StockPreparationServiceImpl implements StockPreparationService {
|
|
@Autowired
|
|
@Autowired
|
|
private InOutStorageService inOutStorageService;
|
|
private InOutStorageService inOutStorageService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private BomSpecService bomSpecService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public List<StockPreparationVo> uncompletedList(StockPreparationDto dto) {
|
|
public List<StockPreparationVo> uncompletedList(StockPreparationDto dto) {
|
|
IWrapper<StockPreparationVo> wrapper = createWrapper(dto);
|
|
IWrapper<StockPreparationVo> wrapper = createWrapper(dto);
|
|
@@ -149,6 +154,30 @@ public class StockPreparationServiceImpl implements StockPreparationService {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public List<PackageBomVo> getPackageBomList(List<Long> orderSkuIdList) {
|
|
|
|
+
|
|
|
|
+ List<OrderSkuBom> list = orderSkuBomService.list(q -> q.in(OrderSkuBom::getOrderSkuId, orderSkuIdList));
|
|
|
|
+
|
|
|
|
+ List<PackageBomVo> result = new ArrayList<>(list.stream()
|
|
|
|
+ .map(item -> PackageBomVo.builder().bomSpecId(item.getBomSpecId()).quantity(item.getQuantity()).build())
|
|
|
|
+ .collect(Collectors.toMap(
|
|
|
|
+ PackageBomVo::getBomSpecId,
|
|
|
|
+ Function.identity(),
|
|
|
|
+ (v1, v2) -> {
|
|
|
|
+ v1.setQuantity(v1.getQuantity().add(v2.getQuantity()));
|
|
|
|
+ return v1;
|
|
|
|
+ }
|
|
|
|
+ )).values());
|
|
|
|
+
|
|
|
|
+ bomSpecService.attributeAssign(result, PackageBomVo::getBomSpecId, (item, bomSpec) -> {
|
|
|
|
+ item.setSkuSpecCode(bomSpec.getCode());
|
|
|
|
+ item.setBomSpecName(bomSpec.getName());
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+
|
|
private IWrapper<StockPreparationVo> createWrapper(StockPreparationDto dto) {
|
|
private IWrapper<StockPreparationVo> createWrapper(StockPreparationDto dto) {
|
|
IWrapper<StockPreparationVo> wrapper = IWrapper.getWrapper();
|
|
IWrapper<StockPreparationVo> wrapper = IWrapper.getWrapper();
|
|
|
|
|