WmsServiceImpl.java 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package com.fjhx.mes.service;
  2. import com.fjhx.mes.entity.production.po.ProductionOrder;
  3. import com.fjhx.mes.service.production.ProduceOrderService;
  4. import com.fjhx.sale.entity.contract.po.ContractProduct;
  5. import com.fjhx.sale.entity.contract.vo.ContractProductVo;
  6. import com.fjhx.sale.service.contract.ContractProductService;
  7. import com.fjhx.wms.service.WmsService;
  8. import com.ruoyi.common.core.domain.BasePo;
  9. import com.ruoyi.common.utils.SecurityUtils;
  10. import com.ruoyi.common.utils.wrapper.IWrapper;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Service;
  13. import java.math.BigDecimal;
  14. import java.util.Date;
  15. import java.util.List;
  16. @Service
  17. public class WmsServiceImpl implements WmsService {
  18. @Autowired
  19. private ContractProductService contractProductService;
  20. @Autowired
  21. private ProduceOrderService produceOrderService;
  22. @Override
  23. public void updateProdStatus(List<Long> cpIds, Long prodOrderId) {
  24. List<ContractProductVo> list = contractProductService.getList(IWrapper.<ContractProduct>getWrapper().in(ContractProduct::getId, cpIds));
  25. for (ContractProductVo contractProductVo : list) {
  26. BigDecimal outboundQuantity = contractProductVo.getOutboundQuantity();
  27. BigDecimal quantity = contractProductVo.getQuantity();
  28. if (outboundQuantity.compareTo(quantity) <= 0) {
  29. return;
  30. }
  31. }
  32. //当所有东西出完变成出库完成
  33. produceOrderService.update(q -> q
  34. .eq(ProductionOrder::getId, prodOrderId)
  35. .set(ProductionOrder::getProduceStatus, 10)//已出库
  36. .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
  37. .set(BasePo::getUpdateTime, new Date())
  38. );
  39. }
  40. }