(a,b)=>{P=(n,p)=>{for(n=n+"";n.length<p;n="0"+n);return n};R=n=>Math.random()*n|0;F=w=>w.slice(-1);while(!a||(a[0]==a[1]==a[2]>2))a=P(R(999),3);while(!b||(!b.split``.map(n=>t+=n,t=0)%7&&(!F(b)||F(b)>7)))b=P(R(1e7-1),7);return a+"-"+b}
Try it online!
b=>{P=(n,p)=>{for(n=n+"";n.length<p;n="0"+n);return n};R=n=>Math.random()*n|0;F=w=>w.slice(-1);S="99999";a2=R(8)+95+"";if(a2>99)a2=a2.slice(1);while(!b||(!b.split``.map(n=>t+=n,t=0)%7&&(!F(b)||F(b)>7)))b=P(R(S+9),7);return P(R(366),3)+a2+"-OEM-"+b+"-"+P(R(S),5)}
Try it online!