package com.consum.base.service; import com.consum.model.po.LWhFormTransfer; import com.iplatform.model.po.S_user_core; import com.walker.infrastructure.utils.DateUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; /** * @ClassName LWhFormTransferCoreService * @Author cy * @Date 2023/10/26 * @Description * @Version 1.0 **/ @Service @Slf4j public class LWhFormTransferCoreService { @Resource private LWhFormTransferService lWhFormTransferService; @Resource private LWhFormOutputCoreService lWhFormOutputCoreService; /** * 执行调拨出库操作 * @param whFormTransferId 调拨单id */ public void doTransferOutPut(Long whFormTransferId, S_user_core currentUser) { LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(whFormTransferId); lWhFormTransfer = lWhFormTransferService.get(lWhFormTransfer); if (lWhFormTransfer == null || lWhFormTransfer.getStates() != 0) { log.error("调拨失败!请检查调拨单状态"); return; } Long userId = currentUser.getId(); String nickName = currentUser.getNick_name(); long dealTime = DateUtils.getDateTimeNumber(System.currentTimeMillis()); // 出库单ID Long outWarehouseFormId = null; try { // 根据调拨单 生成 出库单 outWarehouseFormId = lWhFormOutputCoreService.createOutFormByTransId(whFormTransferId, currentUser, dealTime); } catch (Exception e) { log.error(e.getMessage()); return; } // 出库单 出库,返回 出库单流水Id Long outFormByTransId = lWhFormOutputCoreService.outFormByTransId(whFormTransferId, currentUser, dealTime); // 更新调拨单 lWhFormTransfer = new LWhFormTransfer(whFormTransferId); lWhFormTransfer.setOutWarehouseFormId(outWarehouseFormId); lWhFormTransfer.setStates(1); lWhFormTransfer.setOutOperatorId(userId); lWhFormTransfer.setOutOperatorName(nickName); lWhFormTransfer.setOutputTime(dealTime); lWhFormTransferService.update(lWhFormTransfer); log.info("调拨单:{} 出库完成", whFormTransferId); return; } /** * 调拨单入库 * * @param whFormTransferId * @param currentUser */ public void doTransferInPut(Long whFormTransferId, S_user_core currentUser) { LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(whFormTransferId); lWhFormTransfer = lWhFormTransferService.get(lWhFormTransfer); if (lWhFormTransfer == null || lWhFormTransfer.getStates() != 1) { log.error("调拨失败!请检查调拨单状态"); return; } Long userId = currentUser.getId(); String nickName = currentUser.getNick_name(); // 出库单ID Long outWarehouseFormId = lWhFormTransfer.getOutWarehouseFormId(); long dealTime = DateUtils.getDateTimeNumber(System.currentTimeMillis()); // 流水记录总表ID long lWarehouseFlowId = lWhFormOutputCoreService.outFormByTransId(outWarehouseFormId, currentUser, dealTime); // 更新调拨单 lWhFormTransfer = new LWhFormTransfer(whFormTransferId); lWhFormTransfer.setInWarehouseFormId(lWarehouseFlowId); lWhFormTransfer.setStates(2); lWhFormTransfer.setInOperatorId(userId); lWhFormTransfer.setInOperatorName(nickName); lWhFormTransfer.setInTime(dealTime); lWhFormTransferService.update(lWhFormTransfer); log.info("调拨单:{} 入库完成", whFormTransferId); return; } }