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 LWhFormTransferServiceImpl 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;
|
}
|
}
|