package com.fjhx.mes.service; import com.fjhx.mes.entity.production.po.ProductionOrder; import com.fjhx.mes.service.production.ProduceOrderService; import com.fjhx.sale.entity.contract.po.ContractProduct; import com.fjhx.sale.entity.contract.vo.ContractProductVo; import com.fjhx.sale.service.contract.ContractProductService; import com.fjhx.wms.service.WmsService; import com.ruoyi.common.core.domain.BasePo; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.wrapper.IWrapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.Date; import java.util.List; @Service public class WmsServiceImpl implements WmsService { @Autowired private ContractProductService contractProductService; @Autowired private ProduceOrderService produceOrderService; @Override public void updateProdStatus(List cpIds, Long prodOrderId) { List list = contractProductService.getList(IWrapper.getWrapper().in(ContractProduct::getId, cpIds)); for (ContractProductVo contractProductVo : list) { BigDecimal outboundQuantity = contractProductVo.getOutboundQuantity(); BigDecimal quantity = contractProductVo.getQuantity(); if (outboundQuantity.compareTo(quantity) <= 0) { return; } } //当所有东西出完变成出库完成 produceOrderService.update(q -> q .eq(ProductionOrder::getId, prodOrderId) .set(ProductionOrder::getProduceStatus, 10)//已出库 .set(BasePo::getUpdateUser, SecurityUtils.getUserId()) .set(BasePo::getUpdateTime, new Date()) ); } }