package org.jeecg.modules.mes.service.impl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.jeecg.common.constant.CommonConstant;
|
import org.jeecg.common.exception.JeecgBootException;
|
import org.jeecg.modules.mes.entity.MesMaterialTransferRequest;
|
import org.jeecg.modules.mes.entity.MesProductionWorkOrder;
|
import org.jeecg.modules.mes.enums.MaterialTransferPublishStatus;
|
import org.jeecg.modules.mes.enums.MaterialTransferRequestStatus;
|
import org.jeecg.modules.mes.enums.ProductionWorkOrderStatus;
|
import org.jeecg.modules.mes.mapper.MesMaterialTransferRequestMapper;
|
import org.jeecg.modules.mes.service.IMesMaterialTransferRequestService;
|
import org.jeecg.modules.mes.service.IMesProductionWorkOrderService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.util.List;
|
|
/**
|
* @Description: 物料拉动申请
|
* @Author: jeecg-boot
|
* @Date: 2025-07-04
|
* @Version: V1.0
|
*/
|
@Service
|
public class MesMaterialTransferRequestServiceImpl extends ServiceImpl<MesMaterialTransferRequestMapper, MesMaterialTransferRequest> implements IMesMaterialTransferRequestService {
|
|
@Autowired
|
private IMesProductionWorkOrderService productionWorkOrderService;
|
|
@Override
|
public List<MesMaterialTransferRequest> queryMaterialTransferRequestByWorkOrderId(String workOrderId) {
|
return baseMapper.queryMaterialTransferRequestByWorkOrderId(workOrderId);
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public boolean addMaterialTransferRequest(MesMaterialTransferRequest request) {
|
MesProductionWorkOrder order = productionWorkOrderService.getById(request.getWorkOrderId());
|
if(order == null){
|
throw new JeecgBootException("排产工单不存在");
|
}
|
if(!ProductionWorkOrderStatus.PUBLISHED.name().equals(order.getWorkOrderStatus())){
|
throw new JeecgBootException("只有发布状态的排产工单才可申请物料");
|
}
|
request.setPublishStatus(MaterialTransferPublishStatus.WAIT_PUBLISH.name());
|
request.setRequestStatus(MaterialTransferRequestStatus.WAIT_REQUEST.name());
|
request.setDelFlag(CommonConstant.DEL_FLAG_0);
|
this.getBaseMapper().insert(request);
|
return true;
|
}
|
}
|