| | |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper; |
| | | import com.ruoyi.basic.pojo.IfsInventoryQuantity; |
| | | import com.ruoyi.common.numgen.NumberGenerator; |
| | | import com.ruoyi.common.utils.api.MesApiUtils; |
| | | import com.ruoyi.inspect.pojo.IfsSplitOrderRecord; |
| | | import com.ruoyi.inspect.service.IfsSplitOrderRecordService; |
| | |
| | | import org.springframework.transaction.annotation.Isolation; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.Collections; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 执行ifs移库操作后,同步推送mes实时库存 |
| | |
| | | private MesApiUtils mesApiUtils; |
| | | |
| | | private final static String LOCATION_NO = "WG-02-001";//mes外购合格库位 |
| | | |
| | | @Autowired |
| | | private IfsInventoryQuantityMapper ifsInventoryQuantityMapper; |
| | | |
| | | @Autowired |
| | | private NumberGenerator<IfsSplitOrderRecord> splitOrderRecordNumberGenerator; |
| | | |
| | | @AfterReturning(value = "execution(* com.ruoyi.inspect.service.impl.InsOrderServiceImpl.moveRawMaterial(..))") |
| | | @Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED) |
| | |
| | | .last("limit 1") |
| | | ); |
| | | if(Objects.nonNull(one)){ |
| | | //查询对应记录是否有相同批号和零件的订单记录 |
| | | List<IfsInventoryQuantity> quantityList = ifsInventoryQuantityMapper.selectList(Wrappers.<IfsInventoryQuantity>lambdaQuery() |
| | | .eq(IfsInventoryQuantity::getUpdateBatchNo, one.getLotBatchNo()) |
| | | .eq(IfsInventoryQuantity::getPartNo, one.getPartNo()) |
| | | .ne(IfsInventoryQuantity::getId,ifsInventoryQuantity.getId()) |
| | | ); |
| | | //获取已检验的数据条数 |
| | | long count = quantityList.stream().filter(f -> f.getIsFinish().equals(1)).count(); |
| | | if(!quantityList.isEmpty() && count>0){ |
| | | //生成新的系统编号 |
| | | one.setSystemNo(splitOrderRecordNumberGenerator.generateNumberWithPrefix(IfsSplitOrderRecord.DIGIT,IfsSplitOrderRecord.PREFIX,IfsSplitOrderRecord::getSystemNo)); |
| | | } |
| | | //同步MES实时库存 |
| | | Map<String, Object> requestMap = new HashMap<>(); |
| | | requestMap.put("partNo", one.getPartNo()); // 零件编号 |