| | |
| | | package com.consum.base.service; |
| | | |
| | | import com.consum.base.core.WhBusinessEnum; |
| | | import com.consum.base.core.service.LWhWarningCoreServiceImpl; |
| | | import com.consum.model.po.LWarehouseFlow; |
| | | import com.consum.model.po.LWhFormProcure; |
| | | import com.consum.model.po.LWhProcureModel; |
| | |
| | | import com.walker.infrastructure.utils.NumberGenerator; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @ClassName LWhFormProcureCoreService |
| | | * @Author cy |
| | | * @Date 2023/10/26 |
| | | * @Description |
| | | * @Version 1.0 |
| | |
| | | private LWhFormProcureService lWhFormProcureService; |
| | | |
| | | @Resource |
| | | private LWhWarningCoreServiceImpl lWhWarningCoreService; |
| | | |
| | | @Resource |
| | | private LWarehouseFlowCoreService lWarehouseFlowService; |
| | | |
| | | /** |
| | |
| | | * 第一步:通过采购单ID查询采购单型号【L_WH_PROCURE_MODEL】得到商品型号以及数量 |
| | | * 第二步:记录进出库流水:L_WAREHOUSE_FLOW |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public String doProcure(Long whFormProcureId, S_user_core currentUser) { |
| | | if (whFormProcureId == null) { |
| | | return "采购单id为空"; |
| | |
| | | |
| | | List<LWhProcureModel> goodsModelNum = lWhProcureModelService.getModelByForm(WhBusinessEnum.CAIGOU, whFormProcureId); |
| | | // 流水记录总表ID |
| | | Long warehouseId = lWhFormProcure.getWarehouseId(); |
| | | long lWarehouseFlowId = NumberGenerator.getLongSequenceNumberNano(); |
| | | LWarehouseFlow warehouseFlow = new LWarehouseFlow(); |
| | | warehouseFlow.setId(lWarehouseFlowId); |
| | | warehouseFlow.setWarehouseId(lWhFormProcure.getWarehouseId()); |
| | | warehouseFlow.setWarehouseType(0); |
| | | warehouseFlow.setWarehouseId(warehouseId); |
| | | warehouseFlow.setWarehouseName(lWhFormProcure.getWarehouseName()); |
| | | warehouseFlow.setThisType(1); |
| | | warehouseFlow.setBusinessType(WhBusinessEnum.CAIGOU.getValue() + 0); |
| | |
| | | whFormProcure.setIncomeTime(dealTime); |
| | | lWhFormProcureService.update(whFormProcure); |
| | | } |
| | | |
| | | |
| | | // 提取baseGoodsModelsId并放入新的List中 |
| | | List<Long> allChangModelList = goodsModelNum.stream() |
| | | .map(LWhProcureModel::getBaseGoodsModelsId) |
| | | .distinct() |
| | | .collect(Collectors.toList()); |
| | | //当库存变动时调用该方法 |
| | | lWhWarningCoreService.updateKuCun((short) 0, warehouseId, allChangModelList, null, dealTime); |
| | | |
| | | log.info("入库单:{} 入库完成", whFormProcureId); |
| | | return null; |
| | | |
| | | } |
| | | |
| | | } |