From 9d826074d204edfa569fb60f8cb9d00d89c70821 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Mon, 24 Feb 2014 10:48:00 +0100 Subject: [PATCH] aggiunto reload e gestione dettaglio con immagini da font awesome aggiunto reset --- C2P/Quote.aspx.cs | 10 + C2P/WebUserControls/mod_QuoteList.ascx | 20 +- C2P/WebUserControls/mod_QuoteList.ascx.cs | 49 +- C2P/WebUserControls/mod_newQuote.ascx | 11 +- C2P/WebUserControls/mod_newQuote.ascx.cs | 52 + .../mod_newQuote.ascx.designer.cs | 9 + C2P/bin/C2P.dll | Bin 304640 -> 306688 bytes C2P/bin/C2P_Data.dll | Bin 270848 -> 279552 bytes C2P/bin/C2P_Data.pdb | Bin 562688 -> 570880 bytes C2P/bin/SteamWare.dll | Bin 498176 -> 498176 bytes C2P_Data/DS_Quotes.Designer.cs | 493 +- C2P_Data/DS_Quotes.xsd | 88 +- C2P_Data/DS_Quotes.xss | 20 +- C2P_Data/DtProxy.cs | 3 + .../Debug/C2P_DB.sqlproj.FileListAbsolute.txt | 4 - C2P_Project/obj/Debug/C2P_Project.dll | Bin 3584 -> 3584 bytes C2P_Project/obj/Debug/Model.xml | 38116 ---------------- 17 files changed, 684 insertions(+), 38191 deletions(-) delete mode 100644 C2P_Project/obj/Debug/Model.xml diff --git a/C2P/Quote.aspx.cs b/C2P/Quote.aspx.cs index 0c8e107..b1093b5 100644 --- a/C2P/Quote.aspx.cs +++ b/C2P/Quote.aspx.cs @@ -13,6 +13,16 @@ namespace C2P { mod_newQuote1.eh_newSearchData += mod_newQuote1_eh_newSearchData; mod_newQuote1.eh_newQuote += mod_newQuote1_eh_newQuote; + mod_QuoteList1.eh_loadReq += mod_QuoteList1_eh_loadReq; + } + /// + /// richeista load dati dell'offerta... + /// + /// + /// + void mod_QuoteList1_eh_loadReq(object sender, EventArgs e) + { + mod_newQuote1.loadSelData(); } void mod_newQuote1_eh_newQuote(object sender, EventArgs e) diff --git a/C2P/WebUserControls/mod_QuoteList.ascx b/C2P/WebUserControls/mod_QuoteList.ascx index bcf22f0..4516f28 100644 --- a/C2P/WebUserControls/mod_QuoteList.ascx +++ b/C2P/WebUserControls/mod_QuoteList.ascx @@ -92,7 +92,13 @@ <%----%> - + + + <%----%> + + + + @@ -148,15 +154,15 @@ - - - - + + + + - + - + diff --git a/C2P/WebUserControls/mod_QuoteList.ascx.cs b/C2P/WebUserControls/mod_QuoteList.ascx.cs index 26cf4fe..ed8532a 100644 --- a/C2P/WebUserControls/mod_QuoteList.ascx.cs +++ b/C2P/WebUserControls/mod_QuoteList.ascx.cs @@ -11,6 +11,11 @@ namespace C2P.WebUserControls { public partial class mod_QuoteList : System.Web.UI.UserControl { + + /// + public event EventHandler eh_loadReq; + protected void Page_Load(object sender, EventArgs e) { } @@ -30,12 +35,45 @@ namespace C2P.WebUserControls /// protected void grView_SelectedIndexChanged(object sender, EventArgs e) { - // ricalcolo! + // verifico parametri riga scelta string QuoteType = grView.SelectedDataKey["QuoteType"].ToString(); long CodQuote = Convert.ToInt64(grView.SelectedDataKey["CodQuote"]); int QuoteRev = Convert.ToInt16(grView.SelectedDataKey["QuoteRev"]); - // rimando a dettaglio! - Response.Redirect(string.Format("QuoteDet?QuoteType={0}&CodQuote={1}&QuoteRev={2}", QuoteType, CodQuote, QuoteRev)); + // verifico tipo di caricamento... + string _comando = ""; + if (SteamWare.memLayer.ML.isInSessionObject("nextObjCommand")) + { + _comando = SteamWare.memLayer.ML.StringSessionObj("nextObjCommand"); + SteamWare.memLayer.ML.emptySessionVal("nextObjCommand"); + } + switch (_comando) + { + case "load": + memLayer.ML.setSessionVal("QuoteType", QuoteType); + memLayer.ML.setSessionVal("CodQuote", CodQuote); + memLayer.ML.setSessionVal("QuoteRev", QuoteRev); + // sollevo evento + if (eh_loadReq!= null) + { + eh_loadReq(this, new EventArgs()); + } + break; + case "toDetail": + // rimando a dettaglio! + Response.Redirect(string.Format("QuoteDet?QuoteType={0}&CodQuote={1}&QuoteRev={2}", QuoteType, CodQuote, QuoteRev)); + break; + default: + break; + } + //if (_comando == "load") + //{ + // memLayer.ML.setSessionVal("QuoteType", QuoteType); + // memLayer.ML.setSessionVal("CodQuote", CodQuote); + // memLayer.ML.setSessionVal("QuoteRev", QuoteRev); + //} + //else + //{ + //} } /// /// Calcola css dato valore prezzo offerto vs importi full cost e min price @@ -88,5 +126,10 @@ namespace C2P.WebUserControls { doUpdate(); } + + protected void lbt_Command(object sender, CommandEventArgs e) + { + SteamWare.memLayer.ML.setSessionVal("nextObjCommand", ((LinkButton)sender).CommandArgument); + } } } \ No newline at end of file diff --git a/C2P/WebUserControls/mod_newQuote.ascx b/C2P/WebUserControls/mod_newQuote.ascx index 1872720..2e667aa 100644 --- a/C2P/WebUserControls/mod_newQuote.ascx +++ b/C2P/WebUserControls/mod_newQuote.ascx @@ -114,6 +114,15 @@ - +
+
+
+ +
+
+ +
+
+
diff --git a/C2P/WebUserControls/mod_newQuote.ascx.cs b/C2P/WebUserControls/mod_newQuote.ascx.cs index 9344eb3..e5084bb 100644 --- a/C2P/WebUserControls/mod_newQuote.ascx.cs +++ b/C2P/WebUserControls/mod_newQuote.ascx.cs @@ -5,6 +5,7 @@ using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using SteamWare; +using C2P_Data; namespace C2P.WebUserControls { @@ -210,6 +211,57 @@ namespace C2P.WebUserControls { checkBtnNew(); } + /// + /// carica i dati selezionati (da chiave quote...) + /// + public void loadSelData() + { + string QuoteType = memLayer.ML.StringSessionObj("QuoteType"); + long CodQuote = memLayer.ML.IntSessionObj("CodQuote"); + int QuoteRev = memLayer.ML.IntSessionObj("QuoteRev"); + DS_Quotes.QuoteListRow riga = DtProxy.man.taQL.getByKey(QuoteType, CodQuote, QuoteRev)[0]; + DS_Quotes.QuoteRMRow rigaRM = DtProxy.man.taQRM.getByKey(QuoteType, CodQuote, QuoteRev, 1)[0]; + if (riga != null) + { + // imposto valori! + acCliente.selezione = riga.CodClient; + acCliente.valore = riga.CodClient; + acArticolo.selezione = riga.CodItem; + acArticolo.valore = riga.CodItem; + ddlConsegna.SelectedValue = riga.CodInco; + ddlLega.SelectedValue = riga.RawMat; + txtLotto.Text = riga.BatchQty.ToString(); + txtNote.Text = riga.Note; + txtBaseAl.Text = rigaRM.RawMatCost.ToString(); + txtExtraLega.Text = rigaRM.RawMatExtraCost.ToString(); + } + // update filtraggio + salvaRicerca(); + // check btn genera... + checkBtnNew(); + } + /// + /// reset dell'offerta + /// + /// + /// + protected void btnReset_Click(object sender, EventArgs e) + { + acCliente.selezione = ""; + acCliente.valore = ""; + acArticolo.selezione = ""; + acArticolo.valore = ""; + ddlConsegna.SelectedValue = ""; + ddlLega.SelectedValue = ""; + txtLotto.Text = ""; + txtNote.Text = ""; + txtBaseAl.Text = ""; + txtExtraLega.Text = ""; + // update filtraggio + salvaRicerca(); + // check btn genera... + checkBtnNew(); + } } } \ No newline at end of file diff --git a/C2P/WebUserControls/mod_newQuote.ascx.designer.cs b/C2P/WebUserControls/mod_newQuote.ascx.designer.cs index cf9bf10..20c6907 100644 --- a/C2P/WebUserControls/mod_newQuote.ascx.designer.cs +++ b/C2P/WebUserControls/mod_newQuote.ascx.designer.cs @@ -218,5 +218,14 @@ namespace C2P.WebUserControls { /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.Button btnNew; + + /// + /// btnReset control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Button btnReset; } } diff --git a/C2P/bin/C2P.dll b/C2P/bin/C2P.dll index 95f51c25544befb77e88b0581529219f96a2c728..88d3be58c0c535ade4bc0e3e2bb3cff10a9b3ed4 100644 GIT binary patch delta 9623 zcmc&)d3aRixqrX2&61hPY?+ya1d;&B07)P$h8T8;5Ge?RRX_-kLL|wM1uz9X89_j) z7Cf~IXqCF+f@11ktGHDzYO&fr^|n@MwHK;wZHwO9doAtnd(R0BwSDUI^p87me&_wY z+qb>vn{&>j`}J`5&%?WS7XLn)RZq_61Sv&XB8zA_6kpL;JJa0r!2EJDiKa{5P4v_> z+rs8vIH8db@@rd&@~wu3GHa12_0C-eRUwY$*7ahDSYbUOO2tFgFGO+fFeH?pX*d+p z=~Ok*iOEC)!By5QB~J{s)+$SZN0mvU((S@(tS^}-2L8IK& z{s)cL4bj_A;zY?(>o)grQDXhjT_FbboONF>5|}&LwP7;xTJ*JjlTPcD|eObdqRnM`ksX|P$BL4osD*uE3C_&Gs z{t;s0R3!5%n=Y0kZ|^~qNvySz8Vf*gYFK^j@6}^i{UNKZrtF!s=dgS73VA{pXFF>w z1hwbA%ueU%7o5{q*m`c}tTF$bzRdb0J3ff5gG)$BE|Px#T(YJGOGLGm3g!W?hkS)~ zIQWvaGZM76g>rH(N3=Ig$sMu;uyUBiWwfuA<48eWUTKdwRo(N;&>-QH z)?SSjkF=RQKJLaplFoP1wh~2#>C`HSa)?57bqAVgA7#+G)Otu>o7YKx1NfC$wqkLw z!gn=l!Mo`?fZ^)65hv5#u?wfvHvqBJZlK@x*#pt>v0dV}<4x>n0VA3xdR9dAkbd#o z^7^pX$dmdeY$+_KTx_{Ijs{}y@_SM@_xhMlMK~(Q35AQWZ%LY?*|j9 z!xVZ(j#hr`@$q734%k*?jQ0W$S(xWNWczZowkBh+7bxUdZAHciFHlVQdk;CNOpgl( z(pO1hv-O{5&$K4L4cL*7S$DvM36va>TUMU3X&$Vp z3;gF_vWb^nNj89_*v93_Htb0#iA)<;D%)D54Kv;c6MhX^jahF* zhh*Q0ELmDoo_u=pPRo_kI52_@dKf&i(Jy5aHVDmYWVzJjSK-td!RGE$HZQa)Jp;u; z>xZ5kV5KK+dXZaROH*+z#qAMYE=P0#QFiyg11VJxz+QIV#J!iM>VWn_Jeb5 z^=NEC85@C-+8~3^?*y)|BfH4d%6_hNe|^$9wLNR{VwPQtVsYgxDjoQ$@}}AWL_oD;&PXsS_>~Sq2HYm^}A#-&lfysHq1L9y_b~+~r1ljTMRyF>`sz z?W%kTR&RTqi`HeiQV)apjMO37pj>=+>Jgydb7NCPQ#>IpzGxrox5&)Orlmk`jMql4 zF4nAk0IHgs-XiVxTFgLx+aCiNE!Wp}v31Eu(aM(yxBe8b9{VVI-~Vdd^W@>)2S@+< z&i1C()g2f;eK3-!(*@nUdRmBGI0#+;sq^Zl;JgO>Dyu0`Ito)sF&wx?Xd8}eai9lO zi37<=#i2U~CX}zQp!G^(m$_dL3NO9vaw%SV8)(o;kJS9dD>dOPiOYQw1Ad7^7~A}h zz*7mF@*7kh=o2t#3S$FfH{)K$#~9yWJjGa;EwT+7$vDZ(mcfe|cV%Cd{UF_e>)xO@ zvk$@Pcfc_Dg4YOxa)Ut;rb5VJ8UgG}%Y&1GeW{c2TR<f(CBbM*r4&@peUjF;Tho) z+8SN~ybE$%96}8brvC|l4B3Mn$)H3;`mc`6jTp2!BBORkR>1lQta0%Yu!P=X%_pqU zqeK2FCL4S$`fjMz4?xh)VxqJ)bgG2@06OTp>Ivx*-glcEChlVUuum_E#XH5av# zC#z?9UJw(zE6@5`pRb!aBv7zxsUP{N2-~t`?esO=>=dCaCEMZH`ZBx8VTH_YVOD|$ zq~`&!Tq>mj%ns4>V1ucQ+1t#jXeP50%x2S?!AyV4bRo4d`#)w&XcM-fAa!9KbZR8i zdL;j_zgt^O8r`TZ1Kw`66bv#8^$my`%eaK`etioxr-2%+SE_*98J~4s2Kkt4AMj_c zZv#&;e#Yo_OHItZ0I~htGUph^Gj5q}xaWMf6W*ub`5VShO|MMq&H5g&f7T1YAz4y0 zDodst&+;XV^{iRW@@mFb#?6dd8Lwv_i{*Ws^Ip#R7;Bzp>ya!ufY%t;E2bRZNZ$fr zjZZc_jd3nxlkYe*9ljSZg1x@;BN*xbnWHzT#=ikq$8_L@v$fg(0W>D#HH_CX?gSRm zk?3P;5xpCI!gBRHX$~*OhDB*A*UBhD6CE}cEQe+}tN|=e%b0CXJc|mqF}^Yz5S9GrEaZQvtn>Z+3jP(}UV->PxHo+pGtyAARnyr@;#8n*-R! z%@@&a%CIrnk@_8sXT&dK=iz66tAobTCzwN@mYt8BHja&+N3_ z{fwT*wYJ$dx{rgE(^C%nBUlBUaoAtMhSIPkr*UT+E%>sT>ac!B8`vy|4TY_eZe?aS zUr8q%R%MjY2%0;HWc%A_7U(Ft6%@>UB?7DHWruA*(klAEW^@faM^kdJ-TZENUQD$P z+Yir+X`#dJg{_9xJM6o#)zGyLdl765-71-h(Z6l%pt1CfWBkb21$NwFs;h;@(Qh3V zakYWb5WD&QuH7`AN*y*7wh2__uo~Acnn;TsHXUpdnKq-#UBxt+b~7`#yH}!#$@H+} z+Kx1n={bj`T{qJdI_|I=;aN-n<*?h~SxcWV+eQz$%IFfh4A0rU>pP7W+RUwc(s+sT zO^4-y)zNXAneK6*my)mC9@9*)=`@X5ni@RC^cA|_wo$X^5ZLR?>=m6si|~jpFW*j2 z8C^yz9kvr}HnlkH9_ql(`<8}_Vj?=Z8JIp*9COQVSaBJ zEuyEGrK!KSm=@D1hm|vXNZwJRo~q%wn4XfiM_`wLEu|M7wis*~z3#9M6SRST;?Nyn zE9r#8?gne5kC|*H$!d(CFN&o$GSQQROUeMhO4er_|~lG^A4o4N1y zrSWZ8coBQLd%)Uh2{U`qI%v7WUh$Qgw4T0Obw24vnmbyuZFJIChVSw#m~E%ee8sex zS{&P7VcSd_9oEnP4qZ(*+n(H+Zo1R4$?dtDUbAhq)c-yn52Mv~3yuC_GPlw%nA&^N zRvN>*mt+s9TWPM%+{dFn^;&9n*xBeaVB46zN(DJBxFi19VI?`w!#0L@y;rF`X9qTS z+zikzzeJ01A5ftKQZ^}r{6EMh_u_(v@8Ujw5x-1FALrOi%#6y^JF=M(km>r*WIHU= z`VW$3qew<1b8F zrfa4w!!C@_(O1S+Sd{fo(LAv5s*z@Dw!wcTp3t znA%vM7Nx=8Q#B0@{x?baEO|&;_pr|%kq!pL0r6-sM;sK#f&)Y@y@SWN!{Xy$IWQ0! zA)Xd}L)D^73=WMqMVcx@ZFnVM-{eU=DlQ4tiMPbk&`eRp`n|w<@h&%TlJPWfH~oR- zKQjtN#`@S_rhZ=Wp^L8qYs0TAxylvc_ksJvA1Fo2OX1T>lu9ChR?K`F8S$wTl?jm+ zny6d~oUL?328l(=&Is;0mHQ$?)CL3$QwMNB8T+@fe;fPfDyJhW)h_s~QAe`R81}i2 zeXe7lLENo9N@;YzxpVr?I;%%n zb5!|B&Js=HS2YiBgiGj?98+6DB{|n=t5{ye@)B%?_dp}@pm4_?)lMSA6WVEIQ|viy zBHa{w8G3VnY&SKdcMqrs#eK0KX_fSR?5CPgkHuQZqy94X3$06h9QzgYa(YAR=dm+d zu38i)J)~B~&mhIUcv3$|+gN`C<4y4jXyiiIah|>O?RXhg zs)x+@NL@BityijtYJ zn2J#7ezRtxCL4v(@Ra9!8V9s9If`Sfd}N)rnT1%v_{)B+T7d ztE$eyd*xjbU`D zm*!#))P;O6AFg*qZmEF4S-2 ztuVU8EqQBb+Je&6KphDwVcUvmb)F4PTiUezLW6<#uJPu8A+E`!C1&x#7KtJ7cw4T zJi<7^BlXJ}5BOFp6SN~fQ=U#_uZ3YkP~vjNZbpyjD{94$l#p7drqz4ZIobkkowiqd zQ2UJ*)-TmJ>R0Pq^=EXyku>U!B}S(a!p0iL-X7(*bNA~ra3^w_@r+x_!#xuB`ext- zh50W4B|P!fPN-W-~rSHeG(YN6M-B5X5kQcGW0+{4Cuzqsu$LFphCmR%);p+ zyiyW)?(;*g#%~1zPj=amYcNZAyTUjYl_~H5mIM7bpuhuH9P$Ky6*UQasz6=#0Zze_ zzQD6mKUk+y5#(u%b*N{7$DM)DU&?qnmCgcLgMJI#wM$%!a#wJZF0mPNA*h9Cq#NT` zaM@PUQ_3fbs#d8J)RcOaTBohlTC|PY9_^TRgMPFA1MBUfw=0u^R{OA$DKqeH5$~8K zI3Gc8vQFt$@HraorDgPuD1P+7^xq!+A^CNpp8p&+Ld%)GKGoUym8Oo)%4LmfmNlmu zR?TT_>v4}VjXX)}8=I#zbT-h6&el1N9gUsKCO0>&Tx)HwIqmLMS*>G^4nH4D4XajV zq@wo5mehvEOwH={`Av-*t+tw&RX?^oe{!m&rJ;3I?S{tI&WY`KpWVCy&DhEwbL_z^ zv#zzXzOkdDDb;$}iYsYK{W9)!2c7G??Bd*p70r#by0LRo*Yw7&^R_wob)6mO%wU&^ zs~XmIHnvk|!|XXTdM)P@IIc1ZxzLYQlg;KPbgh@xbvCw~lUrA&NX`nTsc~gz|xn_1}7e~#+bhBVPOip#!PByK*sZofyKM`n<8e7(Nb~!4vO_-^RMv@%Oq^8zYPB(daF|+GiFpQoOTWJ-Mry0CKN}*0jQ{dYP-bBsTo>}`*X2oj;-BWdU zpQ#5Xjvn=1a{uqFF|*$>jY37_hnrL*+@ckVKmbCUQ7A;H`(an12zMVT2uKRSTc`j7 z1>x>jG?%c|q3$=_q=;})xcjK?g4a>4kiveokQCHvxcgllwEI2Alh`8yfqc~^6b-fl z2}M0S=QIgZ7kHho!kDk4tq8%tAVNNumJ?3H<}L^*nh{R>C4|tOa5^{OhOGcnk*AO# z4n&w#4U{T$B0{+?!w!cxbOnK4E9a`@G^03;Df3kKMptJ9j)MMNU^NGh<-m#O+OO@6 ztIdd;7*5xoi>u|hIynjH85n-Rg*lH+Jv5sQIPgn-K#?EE+=P#P79Q=jY`daLaZ==>zgt znDha*++*E7e}MV0D<_mbEJBM6KD!GFJ?;QLjyCfIz00MB7KIkMQFLzfQbu~ig=#qc zv>o8JlkhN}bIbORBnq`~`jrdJ8BVFA?rfJk;B|-7&xO-R6?bS6kM|9X*Prip83DiF zFJ}U)@D^Il55VBf2N?OFO29>$tUz}4x&ul;ccCQhfOk<*1u8mI5GYW6F7)Qzp4kf& zQQrHnLe&hUL8PS~jDfQzveYEcTu`6mH|LlQ>Ur+pMY2TjoLR=$B`PS9> xjFWQVo}!pC%(R|aG}l_!uzPFZ@*RQ81r7y=`efj8?SJc(S>vBP@;&jH_#4Q!&XfQE delta 7751 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 diff --git a/C2P/bin/C2P_Data.dll b/C2P/bin/C2P_Data.dll index 150809fb37c19da04321c7743158d26e9beef261..5a729d6e64a522301f32d7e2df57795b4129d91b 100644 GIT binary patch literal 279552 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�?gLUFvFc==*1%plDT`-u7>@FC{&At^PW)}?n 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

<}^wei@%wXVa&ZNmq`!4E0>{> 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ⅇKXrj@%YHIzQbG32JfA(DEOUBCQ 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 P_^Sr~s)7GzHSoUxADo9| literal 562688 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 delta 77 zcmZqJBG<4*ZbAn$>n!%h?$&O`)^4WOZsyi*mey|8)^4_~-R!K90v)!TT|(XW9q0c^ gdp_rI+2`#GBH7oNgY-=IpUAGs*torNB6~Xr0GbybBme*a diff --git a/C2P_Data/DS_Quotes.Designer.cs b/C2P_Data/DS_Quotes.Designer.cs index ca1be0a..56a7c14 100644 --- a/C2P_Data/DS_Quotes.Designer.cs +++ b/C2P_Data/DS_Quotes.Designer.cs @@ -568,6 +568,16 @@ namespace C2P_Data { private global::System.Data.DataColumn columnNote; + private global::System.Data.DataColumn columnPriceOff; + + private global::System.Data.DataColumn columnOrdDate; + + private global::System.Data.DataColumn columnOrdNum; + + private global::System.Data.DataColumn columnOrdRow; + + private global::System.Data.DataColumn columnOrdPrice; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] public QuoteListDataTable() { @@ -697,6 +707,46 @@ namespace C2P_Data { } } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn PriceOffColumn { + get { + return this.columnPriceOff; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn OrdDateColumn { + get { + return this.columnOrdDate; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn OrdNumColumn { + get { + return this.columnOrdNum; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn OrdRowColumn { + get { + return this.columnOrdRow; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public global::System.Data.DataColumn OrdPriceColumn { + get { + return this.columnOrdPrice; + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] [global::System.ComponentModel.Browsable(false)] @@ -734,7 +784,24 @@ namespace C2P_Data { [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] - public QuoteListRow AddQuoteListRow(string QuoteType, long CodQuote, int QuoteRev, string CodClient, string CodItem, string CodItemGroup, string RawMat, decimal UnitWeight, int BatchQty, string CodInco, string KeyAM, string Note) { + public QuoteListRow AddQuoteListRow( + string QuoteType, + long CodQuote, + int QuoteRev, + string CodClient, + string CodItem, + string CodItemGroup, + string RawMat, + decimal UnitWeight, + int BatchQty, + string CodInco, + string KeyAM, + string Note, + decimal PriceOff, + System.DateTime OrdDate, + string OrdNum, + string OrdRow, + decimal OrdPrice) { QuoteListRow rowQuoteListRow = ((QuoteListRow)(this.NewRow())); object[] columnValuesArray = new object[] { QuoteType, @@ -748,7 +815,12 @@ namespace C2P_Data { BatchQty, CodInco, KeyAM, - Note}; + Note, + PriceOff, + OrdDate, + OrdNum, + OrdRow, + OrdPrice}; rowQuoteListRow.ItemArray = columnValuesArray; this.Rows.Add(rowQuoteListRow); return rowQuoteListRow; @@ -792,6 +864,11 @@ namespace C2P_Data { this.columnCodInco = base.Columns["CodInco"]; this.columnKeyAM = base.Columns["KeyAM"]; this.columnNote = base.Columns["Note"]; + this.columnPriceOff = base.Columns["PriceOff"]; + this.columnOrdDate = base.Columns["OrdDate"]; + this.columnOrdNum = base.Columns["OrdNum"]; + this.columnOrdRow = base.Columns["OrdRow"]; + this.columnOrdPrice = base.Columns["OrdPrice"]; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] @@ -821,6 +898,16 @@ namespace C2P_Data { base.Columns.Add(this.columnKeyAM); this.columnNote = new global::System.Data.DataColumn("Note", typeof(string), null, global::System.Data.MappingType.Element); base.Columns.Add(this.columnNote); + this.columnPriceOff = new global::System.Data.DataColumn("PriceOff", typeof(decimal), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnPriceOff); + this.columnOrdDate = new global::System.Data.DataColumn("OrdDate", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnOrdDate); + this.columnOrdNum = new global::System.Data.DataColumn("OrdNum", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnOrdNum); + this.columnOrdRow = new global::System.Data.DataColumn("OrdRow", typeof(string), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnOrdRow); + this.columnOrdPrice = new global::System.Data.DataColumn("OrdPrice", typeof(decimal), null, global::System.Data.MappingType.Element); + base.Columns.Add(this.columnOrdPrice); this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] { this.columnQuoteType, this.columnCodQuote, @@ -845,6 +932,12 @@ namespace C2P_Data { this.columnKeyAM.MaxLength = 101; this.columnNote.AllowDBNull = false; this.columnNote.MaxLength = 2500; + this.columnPriceOff.AllowDBNull = false; + this.columnOrdNum.AllowDBNull = false; + this.columnOrdNum.MaxLength = 50; + this.columnOrdRow.AllowDBNull = false; + this.columnOrdRow.MaxLength = 50; + this.columnOrdPrice.AllowDBNull = false; } [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] @@ -4969,6 +5062,66 @@ namespace C2P_Data { } } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public decimal PriceOff { + get { + return ((decimal)(this[this.tableQuoteList.PriceOffColumn])); + } + set { + this[this.tableQuoteList.PriceOffColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public System.DateTime OrdDate { + get { + try { + return ((global::System.DateTime)(this[this.tableQuoteList.OrdDateColumn])); + } + catch (global::System.InvalidCastException e) { + throw new global::System.Data.StrongTypingException("The value for column \'OrdDate\' in table \'QuoteList\' is DBNull.", e); + } + } + set { + this[this.tableQuoteList.OrdDateColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string OrdNum { + get { + return ((string)(this[this.tableQuoteList.OrdNumColumn])); + } + set { + this[this.tableQuoteList.OrdNumColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public string OrdRow { + get { + return ((string)(this[this.tableQuoteList.OrdRowColumn])); + } + set { + this[this.tableQuoteList.OrdRowColumn] = value; + } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public decimal OrdPrice { + get { + return ((decimal)(this[this.tableQuoteList.OrdPriceColumn])); + } + set { + this[this.tableQuoteList.OrdPriceColumn] = value; + } + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] public bool IsKeyAMNull() { @@ -4981,6 +5134,18 @@ namespace C2P_Data { this[this.tableQuoteList.KeyAMColumn] = global::System.Convert.DBNull; } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public bool IsOrdDateNull() { + return this.IsNull(this.tableQuoteList.OrdDateColumn); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + public void SetOrdDateNull() { + this[this.tableQuoteList.OrdDateColumn] = global::System.Convert.DBNull; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] public QuoteRMRow[] GetQuoteRMRows() { @@ -8035,10 +8200,15 @@ namespace C2P_Data.DS_QuotesTableAdapters { tableMapping.ColumnMappings.Add("CodInco", "CodInco"); tableMapping.ColumnMappings.Add("KeyAM", "KeyAM"); tableMapping.ColumnMappings.Add("Note", "Note"); + tableMapping.ColumnMappings.Add("PriceOff", "PriceOff"); + tableMapping.ColumnMappings.Add("OrdDate", "OrdDate"); + tableMapping.ColumnMappings.Add("OrdNum", "OrdNum"); + tableMapping.ColumnMappings.Add("OrdRow", "OrdRow"); + tableMapping.ColumnMappings.Add("OrdPrice", "OrdPrice"); this._adapter.TableMappings.Add(tableMapping); this._adapter.DeleteCommand = new global::System.Data.SqlClient.SqlCommand(); this._adapter.DeleteCommand.Connection = this.Connection; - this._adapter.DeleteCommand.CommandText = @"DELETE FROM [dbo].[QuoteList] WHERE (([QuoteType] = @Original_QuoteType) AND ([CodQuote] = @Original_CodQuote) AND ([QuoteRev] = @Original_QuoteRev) AND ([CodClient] = @Original_CodClient) AND ([CodItem] = @Original_CodItem) AND ([CodItemGroup] = @Original_CodItemGroup) AND ([RawMat] = @Original_RawMat) AND ([UnitWeight] = @Original_UnitWeight) AND ([BatchQty] = @Original_BatchQty) AND ([CodInco] = @Original_CodInco) AND ([KeyAM] = @Original_KeyAM) AND ([Note] = @Original_Note))"; + this._adapter.DeleteCommand.CommandText = @"DELETE FROM [dbo].[QuoteList] WHERE (([QuoteType] = @Original_QuoteType) AND ([CodQuote] = @Original_CodQuote) AND ([QuoteRev] = @Original_QuoteRev) AND ([CodClient] = @Original_CodClient) AND ([CodItem] = @Original_CodItem) AND ([CodItemGroup] = @Original_CodItemGroup) AND ([RawMat] = @Original_RawMat) AND ([UnitWeight] = @Original_UnitWeight) AND ([BatchQty] = @Original_BatchQty) AND ([CodInco] = @Original_CodInco) AND ([KeyAM] = @Original_KeyAM) AND ([Note] = @Original_Note) AND ([PriceOff] = @Original_PriceOff) AND ((@IsNull_OrdDate = 1 AND [OrdDate] IS NULL) OR ([OrdDate] = @Original_OrdDate)) AND ([OrdNum] = @Original_OrdNum) AND ([OrdRow] = @Original_OrdRow) AND ([OrdPrice] = @Original_OrdPrice))"; this._adapter.DeleteCommand.CommandType = global::System.Data.CommandType.Text; this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_QuoteType", global::System.Data.SqlDbType.Char, 0, global::System.Data.ParameterDirection.Input, 0, 0, "QuoteType", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CodQuote", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CodQuote", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); @@ -8052,10 +8222,16 @@ namespace C2P_Data.DS_QuotesTableAdapters { this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CodInco", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CodInco", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_KeyAM", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "KeyAM", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Note", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Note", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_PriceOff", global::System.Data.SqlDbType.Decimal, 0, global::System.Data.ParameterDirection.Input, 9, 6, "PriceOff", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_OrdDate", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrdDate", global::System.Data.DataRowVersion.Original, true, null, "", "", "")); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_OrdDate", global::System.Data.SqlDbType.Date, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrdDate", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_OrdNum", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrdNum", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_OrdRow", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrdRow", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); + this._adapter.DeleteCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_OrdPrice", global::System.Data.SqlDbType.Decimal, 0, global::System.Data.ParameterDirection.Input, 9, 6, "OrdPrice", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); this._adapter.InsertCommand = new global::System.Data.SqlClient.SqlCommand(); this._adapter.InsertCommand.Connection = this.Connection; - this._adapter.InsertCommand.CommandText = @"INSERT INTO [dbo].[QuoteList] ([QuoteType], [CodQuote], [QuoteRev], [CodClient], [CodItem], [CodItemGroup], [RawMat], [UnitWeight], [BatchQty], [CodInco], [Note]) VALUES (@QuoteType, @CodQuote, @QuoteRev, @CodClient, @CodItem, @CodItemGroup, @RawMat, @UnitWeight, @BatchQty, @CodInco, @Note); -SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, UnitWeight, BatchQty, CodInco, KeyAM, Note FROM QuoteList WHERE (CodQuote = @CodQuote) AND (QuoteRev = @QuoteRev) AND (QuoteType = @QuoteType)"; + this._adapter.InsertCommand.CommandText = @"INSERT INTO [dbo].[QuoteList] ([QuoteType], [CodQuote], [QuoteRev], [CodClient], [CodItem], [CodItemGroup], [RawMat], [UnitWeight], [BatchQty], [CodInco], [Note], [PriceOff], [OrdDate], [OrdNum], [OrdRow], [OrdPrice]) VALUES (@QuoteType, @CodQuote, @QuoteRev, @CodClient, @CodItem, @CodItemGroup, @RawMat, @UnitWeight, @BatchQty, @CodInco, @Note, @PriceOff, @OrdDate, @OrdNum, @OrdRow, @OrdPrice); +SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, UnitWeight, BatchQty, CodInco, KeyAM, Note, PriceOff, OrdDate, OrdNum, OrdRow, OrdPrice FROM QuoteList WHERE (CodQuote = @CodQuote) AND (QuoteRev = @QuoteRev) AND (QuoteType = @QuoteType)"; this._adapter.InsertCommand.CommandType = global::System.Data.CommandType.Text; this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@QuoteType", global::System.Data.SqlDbType.Char, 0, global::System.Data.ParameterDirection.Input, 0, 0, "QuoteType", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodQuote", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CodQuote", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); @@ -8068,10 +8244,15 @@ SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@BatchQty", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "BatchQty", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodInco", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CodInco", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Note", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Note", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@PriceOff", global::System.Data.SqlDbType.Decimal, 0, global::System.Data.ParameterDirection.Input, 9, 6, "PriceOff", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@OrdDate", global::System.Data.SqlDbType.Date, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrdDate", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@OrdNum", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrdNum", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@OrdRow", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrdRow", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._adapter.InsertCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@OrdPrice", global::System.Data.SqlDbType.Decimal, 0, global::System.Data.ParameterDirection.Input, 9, 6, "OrdPrice", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._adapter.UpdateCommand = new global::System.Data.SqlClient.SqlCommand(); this._adapter.UpdateCommand.Connection = this.Connection; - this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[QuoteList] SET [QuoteType] = @QuoteType, [CodQuote] = @CodQuote, [QuoteRev] = @QuoteRev, [CodClient] = @CodClient, [CodItem] = @CodItem, [CodItemGroup] = @CodItemGroup, [RawMat] = @RawMat, [UnitWeight] = @UnitWeight, [BatchQty] = @BatchQty, [CodInco] = @CodInco, [Note] = @Note WHERE (([QuoteType] = @Original_QuoteType) AND ([CodQuote] = @Original_CodQuote) AND ([QuoteRev] = @Original_QuoteRev) AND ([CodClient] = @Original_CodClient) AND ([CodItem] = @Original_CodItem) AND ([CodItemGroup] = @Original_CodItemGroup) AND ([RawMat] = @Original_RawMat) AND ([UnitWeight] = @Original_UnitWeight) AND ([BatchQty] = @Original_BatchQty) AND ([CodInco] = @Original_CodInco) AND ([KeyAM] = @Original_KeyAM) AND ([Note] = @Original_Note)); -SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, UnitWeight, BatchQty, CodInco, KeyAM, Note FROM QuoteList WHERE (CodQuote = @CodQuote) AND (QuoteRev = @QuoteRev) AND (QuoteType = @QuoteType)"; + this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[QuoteList] SET [QuoteType] = @QuoteType, [CodQuote] = @CodQuote, [QuoteRev] = @QuoteRev, [CodClient] = @CodClient, [CodItem] = @CodItem, [CodItemGroup] = @CodItemGroup, [RawMat] = @RawMat, [UnitWeight] = @UnitWeight, [BatchQty] = @BatchQty, [CodInco] = @CodInco, [Note] = @Note, [PriceOff] = @PriceOff, [OrdDate] = @OrdDate, [OrdNum] = @OrdNum, [OrdRow] = @OrdRow, [OrdPrice] = @OrdPrice WHERE (([QuoteType] = @Original_QuoteType) AND ([CodQuote] = @Original_CodQuote) AND ([QuoteRev] = @Original_QuoteRev) AND ([CodClient] = @Original_CodClient) AND ([CodItem] = @Original_CodItem) AND ([CodItemGroup] = @Original_CodItemGroup) AND ([RawMat] = @Original_RawMat) AND ([UnitWeight] = @Original_UnitWeight) AND ([BatchQty] = @Original_BatchQty) AND ([CodInco] = @Original_CodInco) AND ([KeyAM] = @Original_KeyAM) AND ([Note] = @Original_Note) AND ([PriceOff] = @Original_PriceOff) AND ((@IsNull_OrdDate = 1 AND [OrdDate] IS NULL) OR ([OrdDate] = @Original_OrdDate)) AND ([OrdNum] = @Original_OrdNum) AND ([OrdRow] = @Original_OrdRow) AND ([OrdPrice] = @Original_OrdPrice)); +SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, UnitWeight, BatchQty, CodInco, KeyAM, Note, PriceOff, OrdDate, OrdNum, OrdRow, OrdPrice FROM QuoteList WHERE (CodQuote = @CodQuote) AND (QuoteRev = @QuoteRev) AND (QuoteType = @QuoteType)"; this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text; this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@QuoteType", global::System.Data.SqlDbType.Char, 0, global::System.Data.ParameterDirection.Input, 0, 0, "QuoteType", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodQuote", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CodQuote", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); @@ -8084,6 +8265,11 @@ SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@BatchQty", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "BatchQty", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodInco", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CodInco", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Note", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Note", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@PriceOff", global::System.Data.SqlDbType.Decimal, 0, global::System.Data.ParameterDirection.Input, 9, 6, "PriceOff", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@OrdDate", global::System.Data.SqlDbType.Date, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrdDate", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@OrdNum", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrdNum", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@OrdRow", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrdRow", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@OrdPrice", global::System.Data.SqlDbType.Decimal, 0, global::System.Data.ParameterDirection.Input, 9, 6, "OrdPrice", global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_QuoteType", global::System.Data.SqlDbType.Char, 0, global::System.Data.ParameterDirection.Input, 0, 0, "QuoteType", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CodQuote", global::System.Data.SqlDbType.BigInt, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CodQuote", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_QuoteRev", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "QuoteRev", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); @@ -8096,6 +8282,12 @@ SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CodInco", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "CodInco", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_KeyAM", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "KeyAM", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_Note", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "Note", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_PriceOff", global::System.Data.SqlDbType.Decimal, 0, global::System.Data.ParameterDirection.Input, 9, 6, "PriceOff", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_OrdDate", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrdDate", global::System.Data.DataRowVersion.Original, true, null, "", "", "")); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_OrdDate", global::System.Data.SqlDbType.Date, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrdDate", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_OrdNum", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrdNum", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_OrdRow", global::System.Data.SqlDbType.NVarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "OrdRow", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); + this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_OrdPrice", global::System.Data.SqlDbType.Decimal, 0, global::System.Data.ParameterDirection.Input, 9, 6, "OrdPrice", global::System.Data.DataRowVersion.Original, false, null, "", "", "")); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] @@ -8108,34 +8300,41 @@ SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] private void InitCommandCollection() { - this._commandCollection = new global::System.Data.SqlClient.SqlCommand[3]; + this._commandCollection = new global::System.Data.SqlClient.SqlCommand[4]; this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[0].Connection = this.Connection; - this._commandCollection[0].CommandText = "SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, U" + - "nitWeight, BatchQty, CodInco, KeyAM, Note FROM dbo.QuoteList"; + this._commandCollection[0].CommandText = "SELECT * FROM dbo.QuoteList"; this._commandCollection[0].CommandType = global::System.Data.CommandType.Text; this._commandCollection[1] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[1].Connection = this.Connection; - this._commandCollection[1].CommandText = "dbo.stp_QL_insNew"; + this._commandCollection[1].CommandText = "dbo.stp_QL_getByKey"; this._commandCollection[1].CommandType = global::System.Data.CommandType.StoredProcedure; this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@QuoteType", global::System.Data.SqlDbType.Char, 1, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodClient", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodItem", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RawMat", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RawMatCost", global::System.Data.SqlDbType.Decimal, 9, global::System.Data.ParameterDirection.Input, 18, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RawMatExtraCost", global::System.Data.SqlDbType.Decimal, 9, global::System.Data.ParameterDirection.Input, 18, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@BatchQty", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodInco", global::System.Data.SqlDbType.NVarChar, 5, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Note", global::System.Data.SqlDbType.NVarChar, 2500, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodQuote", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 19, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@QuoteRev", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[2] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[2].Connection = this.Connection; - this._commandCollection[2].CommandText = "dbo.stp_QL_update"; + this._commandCollection[2].CommandText = "dbo.stp_QL_insNew"; this._commandCollection[2].CommandType = global::System.Data.CommandType.StoredProcedure; this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@QuoteType", global::System.Data.SqlDbType.Char, 1, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodQuote", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 19, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@QuoteRev", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodClient", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodItem", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RawMat", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RawMatCost", global::System.Data.SqlDbType.Decimal, 9, global::System.Data.ParameterDirection.Input, 18, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RawMatExtraCost", global::System.Data.SqlDbType.Decimal, 9, global::System.Data.ParameterDirection.Input, 18, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@BatchQty", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodInco", global::System.Data.SqlDbType.NVarChar, 5, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[2].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Note", global::System.Data.SqlDbType.NVarChar, 2500, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[3] = new global::System.Data.SqlClient.SqlCommand(); + this._commandCollection[3].Connection = this.Connection; + this._commandCollection[3].CommandText = "dbo.stp_QL_update"; + this._commandCollection[3].CommandType = global::System.Data.CommandType.StoredProcedure; + this._commandCollection[3].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[3].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@QuoteType", global::System.Data.SqlDbType.Char, 1, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[3].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodQuote", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 19, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[3].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@QuoteRev", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] @@ -8162,6 +8361,35 @@ SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, return dataTable; } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)] + public virtual DS_Quotes.QuoteListDataTable getByKey(string QuoteType, global::System.Nullable CodQuote, global::System.Nullable QuoteRev) { + this.Adapter.SelectCommand = this.CommandCollection[1]; + if ((QuoteType == null)) { + this.Adapter.SelectCommand.Parameters[1].Value = global::System.DBNull.Value; + } + else { + this.Adapter.SelectCommand.Parameters[1].Value = ((string)(QuoteType)); + } + if ((CodQuote.HasValue == true)) { + this.Adapter.SelectCommand.Parameters[2].Value = ((long)(CodQuote.Value)); + } + else { + this.Adapter.SelectCommand.Parameters[2].Value = global::System.DBNull.Value; + } + if ((QuoteRev.HasValue == true)) { + this.Adapter.SelectCommand.Parameters[3].Value = ((int)(QuoteRev.Value)); + } + else { + this.Adapter.SelectCommand.Parameters[3].Value = global::System.DBNull.Value; + } + DS_Quotes.QuoteListDataTable dataTable = new DS_Quotes.QuoteListDataTable(); + this.Adapter.Fill(dataTable); + return dataTable; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] @@ -8195,7 +8423,24 @@ SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Delete, true)] - public virtual int Delete(string Original_QuoteType, long Original_CodQuote, int Original_QuoteRev, string Original_CodClient, string Original_CodItem, string Original_CodItemGroup, string Original_RawMat, decimal Original_UnitWeight, int Original_BatchQty, string Original_CodInco, string Original_KeyAM, string Original_Note) { + public virtual int Delete( + string Original_QuoteType, + long Original_CodQuote, + int Original_QuoteRev, + string Original_CodClient, + string Original_CodItem, + string Original_CodItemGroup, + string Original_RawMat, + decimal Original_UnitWeight, + int Original_BatchQty, + string Original_CodInco, + string Original_KeyAM, + string Original_Note, + decimal Original_PriceOff, + global::System.Nullable Original_OrdDate, + string Original_OrdNum, + string Original_OrdRow, + decimal Original_OrdPrice) { if ((Original_QuoteType == null)) { throw new global::System.ArgumentNullException("Original_QuoteType"); } @@ -8248,6 +8493,28 @@ SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, else { this.Adapter.DeleteCommand.Parameters[11].Value = ((string)(Original_Note)); } + this.Adapter.DeleteCommand.Parameters[12].Value = ((decimal)(Original_PriceOff)); + if ((Original_OrdDate.HasValue == true)) { + this.Adapter.DeleteCommand.Parameters[13].Value = ((object)(0)); + this.Adapter.DeleteCommand.Parameters[14].Value = ((System.DateTime)(Original_OrdDate.Value)); + } + else { + this.Adapter.DeleteCommand.Parameters[13].Value = ((object)(1)); + this.Adapter.DeleteCommand.Parameters[14].Value = global::System.DBNull.Value; + } + if ((Original_OrdNum == null)) { + throw new global::System.ArgumentNullException("Original_OrdNum"); + } + else { + this.Adapter.DeleteCommand.Parameters[15].Value = ((string)(Original_OrdNum)); + } + if ((Original_OrdRow == null)) { + throw new global::System.ArgumentNullException("Original_OrdRow"); + } + else { + this.Adapter.DeleteCommand.Parameters[16].Value = ((string)(Original_OrdRow)); + } + this.Adapter.DeleteCommand.Parameters[17].Value = ((decimal)(Original_OrdPrice)); global::System.Data.ConnectionState previousConnectionState = this.Adapter.DeleteCommand.Connection.State; if (((this.Adapter.DeleteCommand.Connection.State & global::System.Data.ConnectionState.Open) != global::System.Data.ConnectionState.Open)) { @@ -8268,7 +8535,23 @@ SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Insert, true)] - public virtual int Insert(string QuoteType, long CodQuote, int QuoteRev, string CodClient, string CodItem, string CodItemGroup, string RawMat, decimal UnitWeight, int BatchQty, string CodInco, string Note) { + public virtual int Insert( + string QuoteType, + long CodQuote, + int QuoteRev, + string CodClient, + string CodItem, + string CodItemGroup, + string RawMat, + decimal UnitWeight, + int BatchQty, + string CodInco, + string Note, + decimal PriceOff, + global::System.Nullable OrdDate, + string OrdNum, + string OrdRow, + decimal OrdPrice) { if ((QuoteType == null)) { throw new global::System.ArgumentNullException("QuoteType"); } @@ -8315,6 +8598,26 @@ SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, else { this.Adapter.InsertCommand.Parameters[10].Value = ((string)(Note)); } + this.Adapter.InsertCommand.Parameters[11].Value = ((decimal)(PriceOff)); + if ((OrdDate.HasValue == true)) { + this.Adapter.InsertCommand.Parameters[12].Value = ((System.DateTime)(OrdDate.Value)); + } + else { + this.Adapter.InsertCommand.Parameters[12].Value = global::System.DBNull.Value; + } + if ((OrdNum == null)) { + throw new global::System.ArgumentNullException("OrdNum"); + } + else { + this.Adapter.InsertCommand.Parameters[13].Value = ((string)(OrdNum)); + } + if ((OrdRow == null)) { + throw new global::System.ArgumentNullException("OrdRow"); + } + else { + this.Adapter.InsertCommand.Parameters[14].Value = ((string)(OrdRow)); + } + this.Adapter.InsertCommand.Parameters[15].Value = ((decimal)(OrdPrice)); global::System.Data.ConnectionState previousConnectionState = this.Adapter.InsertCommand.Connection.State; if (((this.Adapter.InsertCommand.Connection.State & global::System.Data.ConnectionState.Open) != global::System.Data.ConnectionState.Open)) { @@ -8347,6 +8650,11 @@ SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, int BatchQty, string CodInco, string Note, + decimal PriceOff, + global::System.Nullable OrdDate, + string OrdNum, + string OrdRow, + decimal OrdPrice, string Original_QuoteType, long Original_CodQuote, int Original_QuoteRev, @@ -8358,7 +8666,12 @@ SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, int Original_BatchQty, string Original_CodInco, string Original_KeyAM, - string Original_Note) { + string Original_Note, + decimal Original_PriceOff, + global::System.Nullable Original_OrdDate, + string Original_OrdNum, + string Original_OrdRow, + decimal Original_OrdPrice) { if ((QuoteType == null)) { throw new global::System.ArgumentNullException("QuoteType"); } @@ -8405,58 +8718,100 @@ SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, else { this.Adapter.UpdateCommand.Parameters[10].Value = ((string)(Note)); } + this.Adapter.UpdateCommand.Parameters[11].Value = ((decimal)(PriceOff)); + if ((OrdDate.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[12].Value = ((System.DateTime)(OrdDate.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[12].Value = global::System.DBNull.Value; + } + if ((OrdNum == null)) { + throw new global::System.ArgumentNullException("OrdNum"); + } + else { + this.Adapter.UpdateCommand.Parameters[13].Value = ((string)(OrdNum)); + } + if ((OrdRow == null)) { + throw new global::System.ArgumentNullException("OrdRow"); + } + else { + this.Adapter.UpdateCommand.Parameters[14].Value = ((string)(OrdRow)); + } + this.Adapter.UpdateCommand.Parameters[15].Value = ((decimal)(OrdPrice)); if ((Original_QuoteType == null)) { throw new global::System.ArgumentNullException("Original_QuoteType"); } else { - this.Adapter.UpdateCommand.Parameters[11].Value = ((string)(Original_QuoteType)); + this.Adapter.UpdateCommand.Parameters[16].Value = ((string)(Original_QuoteType)); } - this.Adapter.UpdateCommand.Parameters[12].Value = ((long)(Original_CodQuote)); - this.Adapter.UpdateCommand.Parameters[13].Value = ((int)(Original_QuoteRev)); + this.Adapter.UpdateCommand.Parameters[17].Value = ((long)(Original_CodQuote)); + this.Adapter.UpdateCommand.Parameters[18].Value = ((int)(Original_QuoteRev)); if ((Original_CodClient == null)) { throw new global::System.ArgumentNullException("Original_CodClient"); } else { - this.Adapter.UpdateCommand.Parameters[14].Value = ((string)(Original_CodClient)); + this.Adapter.UpdateCommand.Parameters[19].Value = ((string)(Original_CodClient)); } if ((Original_CodItem == null)) { throw new global::System.ArgumentNullException("Original_CodItem"); } else { - this.Adapter.UpdateCommand.Parameters[15].Value = ((string)(Original_CodItem)); + this.Adapter.UpdateCommand.Parameters[20].Value = ((string)(Original_CodItem)); } if ((Original_CodItemGroup == null)) { throw new global::System.ArgumentNullException("Original_CodItemGroup"); } else { - this.Adapter.UpdateCommand.Parameters[16].Value = ((string)(Original_CodItemGroup)); + this.Adapter.UpdateCommand.Parameters[21].Value = ((string)(Original_CodItemGroup)); } if ((Original_RawMat == null)) { throw new global::System.ArgumentNullException("Original_RawMat"); } else { - this.Adapter.UpdateCommand.Parameters[17].Value = ((string)(Original_RawMat)); + this.Adapter.UpdateCommand.Parameters[22].Value = ((string)(Original_RawMat)); } - this.Adapter.UpdateCommand.Parameters[18].Value = ((decimal)(Original_UnitWeight)); - this.Adapter.UpdateCommand.Parameters[19].Value = ((int)(Original_BatchQty)); + this.Adapter.UpdateCommand.Parameters[23].Value = ((decimal)(Original_UnitWeight)); + this.Adapter.UpdateCommand.Parameters[24].Value = ((int)(Original_BatchQty)); if ((Original_CodInco == null)) { throw new global::System.ArgumentNullException("Original_CodInco"); } else { - this.Adapter.UpdateCommand.Parameters[20].Value = ((string)(Original_CodInco)); + this.Adapter.UpdateCommand.Parameters[25].Value = ((string)(Original_CodInco)); } if ((Original_KeyAM == null)) { throw new global::System.ArgumentNullException("Original_KeyAM"); } else { - this.Adapter.UpdateCommand.Parameters[21].Value = ((string)(Original_KeyAM)); + this.Adapter.UpdateCommand.Parameters[26].Value = ((string)(Original_KeyAM)); } if ((Original_Note == null)) { throw new global::System.ArgumentNullException("Original_Note"); } else { - this.Adapter.UpdateCommand.Parameters[22].Value = ((string)(Original_Note)); + this.Adapter.UpdateCommand.Parameters[27].Value = ((string)(Original_Note)); } + this.Adapter.UpdateCommand.Parameters[28].Value = ((decimal)(Original_PriceOff)); + if ((Original_OrdDate.HasValue == true)) { + this.Adapter.UpdateCommand.Parameters[29].Value = ((object)(0)); + this.Adapter.UpdateCommand.Parameters[30].Value = ((System.DateTime)(Original_OrdDate.Value)); + } + else { + this.Adapter.UpdateCommand.Parameters[29].Value = ((object)(1)); + this.Adapter.UpdateCommand.Parameters[30].Value = global::System.DBNull.Value; + } + if ((Original_OrdNum == null)) { + throw new global::System.ArgumentNullException("Original_OrdNum"); + } + else { + this.Adapter.UpdateCommand.Parameters[31].Value = ((string)(Original_OrdNum)); + } + if ((Original_OrdRow == null)) { + throw new global::System.ArgumentNullException("Original_OrdRow"); + } + else { + this.Adapter.UpdateCommand.Parameters[32].Value = ((string)(Original_OrdRow)); + } + this.Adapter.UpdateCommand.Parameters[33].Value = ((decimal)(Original_OrdPrice)); global::System.Data.ConnectionState previousConnectionState = this.Adapter.UpdateCommand.Connection.State; if (((this.Adapter.UpdateCommand.Connection.State & global::System.Data.ConnectionState.Open) != global::System.Data.ConnectionState.Open)) { @@ -8486,6 +8841,11 @@ SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, int BatchQty, string CodInco, string Note, + decimal PriceOff, + global::System.Nullable OrdDate, + string OrdNum, + string OrdRow, + decimal OrdPrice, string Original_QuoteType, long Original_CodQuote, int Original_QuoteRev, @@ -8497,15 +8857,20 @@ SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, int Original_BatchQty, string Original_CodInco, string Original_KeyAM, - string Original_Note) { - return this.Update(Original_QuoteType, Original_CodQuote, Original_QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, UnitWeight, BatchQty, CodInco, Note, Original_QuoteType, Original_CodQuote, Original_QuoteRev, Original_CodClient, Original_CodItem, Original_CodItemGroup, Original_RawMat, Original_UnitWeight, Original_BatchQty, Original_CodInco, Original_KeyAM, Original_Note); + string Original_Note, + decimal Original_PriceOff, + global::System.Nullable Original_OrdDate, + string Original_OrdNum, + string Original_OrdRow, + decimal Original_OrdPrice) { + return this.Update(Original_QuoteType, Original_CodQuote, Original_QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, UnitWeight, BatchQty, CodInco, Note, PriceOff, OrdDate, OrdNum, OrdRow, OrdPrice, Original_QuoteType, Original_CodQuote, Original_QuoteRev, Original_CodClient, Original_CodItem, Original_CodItemGroup, Original_RawMat, Original_UnitWeight, Original_BatchQty, Original_CodInco, Original_KeyAM, Original_Note, Original_PriceOff, Original_OrdDate, Original_OrdNum, Original_OrdRow, Original_OrdPrice); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] public virtual int stp_QL_insNew(string QuoteType, string CodClient, string CodItem, string RawMat, global::System.Nullable RawMatCost, global::System.Nullable RawMatExtraCost, global::System.Nullable BatchQty, string CodInco, string Note) { - global::System.Data.SqlClient.SqlCommand command = this.CommandCollection[1]; + global::System.Data.SqlClient.SqlCommand command = this.CommandCollection[2]; if ((QuoteType == null)) { command.Parameters[1].Value = global::System.DBNull.Value; } @@ -8581,7 +8946,7 @@ SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] public virtual int stp_QL_update(string QuoteType, global::System.Nullable CodQuote, global::System.Nullable QuoteRev) { - global::System.Data.SqlClient.SqlCommand command = this.CommandCollection[2]; + global::System.Data.SqlClient.SqlCommand command = this.CommandCollection[3]; if ((QuoteType == null)) { command.Parameters[1].Value = global::System.DBNull.Value; } @@ -8826,12 +9191,21 @@ SELECT QuoteType, CodQuote, QuoteRev, NumRM, RawMat, RawMatCost, RawMatExtraCost [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] private void InitCommandCollection() { - this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1]; + this._commandCollection = new global::System.Data.SqlClient.SqlCommand[2]; this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[0].Connection = this.Connection; this._commandCollection[0].CommandText = "SELECT QuoteType, CodQuote, QuoteRev, NumRM, RawMat, RawMatCost, RawMatExtraCost," + " CodPackag, FCR, FYR, FSR, valid FROM dbo.QuoteRM"; this._commandCollection[0].CommandType = global::System.Data.CommandType.Text; + this._commandCollection[1] = new global::System.Data.SqlClient.SqlCommand(); + this._commandCollection[1].Connection = this.Connection; + this._commandCollection[1].CommandText = "dbo.stp_QRM_getByKey"; + this._commandCollection[1].CommandType = global::System.Data.CommandType.StoredProcedure; + this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@QuoteType", global::System.Data.SqlDbType.Char, 1, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodQuote", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 19, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@QuoteRev", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[1].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@NumRM", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] @@ -8858,6 +9232,41 @@ SELECT QuoteType, CodQuote, QuoteRev, NumRM, RawMat, RawMatCost, RawMatExtraCost return dataTable; } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)] + public virtual DS_Quotes.QuoteRMDataTable getByKey(string QuoteType, global::System.Nullable CodQuote, global::System.Nullable QuoteRev, global::System.Nullable NumRM) { + this.Adapter.SelectCommand = this.CommandCollection[1]; + if ((QuoteType == null)) { + this.Adapter.SelectCommand.Parameters[1].Value = global::System.DBNull.Value; + } + else { + this.Adapter.SelectCommand.Parameters[1].Value = ((string)(QuoteType)); + } + if ((CodQuote.HasValue == true)) { + this.Adapter.SelectCommand.Parameters[2].Value = ((long)(CodQuote.Value)); + } + else { + this.Adapter.SelectCommand.Parameters[2].Value = global::System.DBNull.Value; + } + if ((QuoteRev.HasValue == true)) { + this.Adapter.SelectCommand.Parameters[3].Value = ((int)(QuoteRev.Value)); + } + else { + this.Adapter.SelectCommand.Parameters[3].Value = global::System.DBNull.Value; + } + if ((NumRM.HasValue == true)) { + this.Adapter.SelectCommand.Parameters[4].Value = ((int)(NumRM.Value)); + } + else { + this.Adapter.SelectCommand.Parameters[4].Value = global::System.DBNull.Value; + } + DS_Quotes.QuoteRMDataTable dataTable = new DS_Quotes.QuoteRMDataTable(); + this.Adapter.Fill(dataTable); + return dataTable; + } + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] diff --git a/C2P_Data/DS_Quotes.xsd b/C2P_Data/DS_Quotes.xsd index 09449b1..9e472b7 100644 --- a/C2P_Data/DS_Quotes.xsd +++ b/C2P_Data/DS_Quotes.xsd @@ -12,7 +12,7 @@ - DELETE FROM [dbo].[QuoteList] WHERE (([QuoteType] = @Original_QuoteType) AND ([CodQuote] = @Original_CodQuote) AND ([QuoteRev] = @Original_QuoteRev) AND ([CodClient] = @Original_CodClient) AND ([CodItem] = @Original_CodItem) AND ([CodItemGroup] = @Original_CodItemGroup) AND ([RawMat] = @Original_RawMat) AND ([UnitWeight] = @Original_UnitWeight) AND ([BatchQty] = @Original_BatchQty) AND ([CodInco] = @Original_CodInco) AND ([KeyAM] = @Original_KeyAM) AND ([Note] = @Original_Note)) + DELETE FROM [dbo].[QuoteList] WHERE (([QuoteType] = @Original_QuoteType) AND ([CodQuote] = @Original_CodQuote) AND ([QuoteRev] = @Original_QuoteRev) AND ([CodClient] = @Original_CodClient) AND ([CodItem] = @Original_CodItem) AND ([CodItemGroup] = @Original_CodItemGroup) AND ([RawMat] = @Original_RawMat) AND ([UnitWeight] = @Original_UnitWeight) AND ([BatchQty] = @Original_BatchQty) AND ([CodInco] = @Original_CodInco) AND ([KeyAM] = @Original_KeyAM) AND ([Note] = @Original_Note) AND ([PriceOff] = @Original_PriceOff) AND ((@IsNull_OrdDate = 1 AND [OrdDate] IS NULL) OR ([OrdDate] = @Original_OrdDate)) AND ([OrdNum] = @Original_OrdNum) AND ([OrdRow] = @Original_OrdRow) AND ([OrdPrice] = @Original_OrdPrice)) @@ -26,13 +26,19 @@ + + + + + + - INSERT INTO [dbo].[QuoteList] ([QuoteType], [CodQuote], [QuoteRev], [CodClient], [CodItem], [CodItemGroup], [RawMat], [UnitWeight], [BatchQty], [CodInco], [Note]) VALUES (@QuoteType, @CodQuote, @QuoteRev, @CodClient, @CodItem, @CodItemGroup, @RawMat, @UnitWeight, @BatchQty, @CodInco, @Note); -SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, UnitWeight, BatchQty, CodInco, KeyAM, Note FROM QuoteList WHERE (CodQuote = @CodQuote) AND (QuoteRev = @QuoteRev) AND (QuoteType = @QuoteType) + INSERT INTO [dbo].[QuoteList] ([QuoteType], [CodQuote], [QuoteRev], [CodClient], [CodItem], [CodItemGroup], [RawMat], [UnitWeight], [BatchQty], [CodInco], [Note], [PriceOff], [OrdDate], [OrdNum], [OrdRow], [OrdPrice]) VALUES (@QuoteType, @CodQuote, @QuoteRev, @CodClient, @CodItem, @CodItemGroup, @RawMat, @UnitWeight, @BatchQty, @CodInco, @Note, @PriceOff, @OrdDate, @OrdNum, @OrdRow, @OrdPrice); +SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, UnitWeight, BatchQty, CodInco, KeyAM, Note, PriceOff, OrdDate, OrdNum, OrdRow, OrdPrice FROM QuoteList WHERE (CodQuote = @CodQuote) AND (QuoteRev = @QuoteRev) AND (QuoteType = @QuoteType) @@ -45,19 +51,24 @@ SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, + + + + + - - SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, UnitWeight, BatchQty, CodInco, KeyAM, Note FROM dbo.QuoteList + + SELECT * FROM dbo.QuoteList - UPDATE [dbo].[QuoteList] SET [QuoteType] = @QuoteType, [CodQuote] = @CodQuote, [QuoteRev] = @QuoteRev, [CodClient] = @CodClient, [CodItem] = @CodItem, [CodItemGroup] = @CodItemGroup, [RawMat] = @RawMat, [UnitWeight] = @UnitWeight, [BatchQty] = @BatchQty, [CodInco] = @CodInco, [Note] = @Note WHERE (([QuoteType] = @Original_QuoteType) AND ([CodQuote] = @Original_CodQuote) AND ([QuoteRev] = @Original_QuoteRev) AND ([CodClient] = @Original_CodClient) AND ([CodItem] = @Original_CodItem) AND ([CodItemGroup] = @Original_CodItemGroup) AND ([RawMat] = @Original_RawMat) AND ([UnitWeight] = @Original_UnitWeight) AND ([BatchQty] = @Original_BatchQty) AND ([CodInco] = @Original_CodInco) AND ([KeyAM] = @Original_KeyAM) AND ([Note] = @Original_Note)); -SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, UnitWeight, BatchQty, CodInco, KeyAM, Note FROM QuoteList WHERE (CodQuote = @CodQuote) AND (QuoteRev = @QuoteRev) AND (QuoteType = @QuoteType) + UPDATE [dbo].[QuoteList] SET [QuoteType] = @QuoteType, [CodQuote] = @CodQuote, [QuoteRev] = @QuoteRev, [CodClient] = @CodClient, [CodItem] = @CodItem, [CodItemGroup] = @CodItemGroup, [RawMat] = @RawMat, [UnitWeight] = @UnitWeight, [BatchQty] = @BatchQty, [CodInco] = @CodInco, [Note] = @Note, [PriceOff] = @PriceOff, [OrdDate] = @OrdDate, [OrdNum] = @OrdNum, [OrdRow] = @OrdRow, [OrdPrice] = @OrdPrice WHERE (([QuoteType] = @Original_QuoteType) AND ([CodQuote] = @Original_CodQuote) AND ([QuoteRev] = @Original_QuoteRev) AND ([CodClient] = @Original_CodClient) AND ([CodItem] = @Original_CodItem) AND ([CodItemGroup] = @Original_CodItemGroup) AND ([RawMat] = @Original_RawMat) AND ([UnitWeight] = @Original_UnitWeight) AND ([BatchQty] = @Original_BatchQty) AND ([CodInco] = @Original_CodInco) AND ([KeyAM] = @Original_KeyAM) AND ([Note] = @Original_Note) AND ([PriceOff] = @Original_PriceOff) AND ((@IsNull_OrdDate = 1 AND [OrdDate] IS NULL) OR ([OrdDate] = @Original_OrdDate)) AND ([OrdNum] = @Original_OrdNum) AND ([OrdRow] = @Original_OrdRow) AND ([OrdPrice] = @Original_OrdPrice)); +SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, UnitWeight, BatchQty, CodInco, KeyAM, Note, PriceOff, OrdDate, OrdNum, OrdRow, OrdPrice FROM QuoteList WHERE (CodQuote = @CodQuote) AND (QuoteRev = @QuoteRev) AND (QuoteType = @QuoteType) @@ -70,6 +81,11 @@ SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, + + + + + @@ -82,6 +98,12 @@ SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, + + + + + + @@ -100,8 +122,26 @@ SELECT QuoteType, CodQuote, QuoteRev, CodClient, CodItem, CodItemGroup, RawMat, + + + + + + + + + dbo.stp_QL_getByKey + + + + + + + + + @@ -232,7 +272,22 @@ SELECT QuoteType, CodQuote, QuoteRev, NumRM, RawMat, RawMatCost, RawMatExtraCost - + + + + + dbo.stp_QRM_getByKey + + + + + + + + + + + @@ -876,6 +931,23 @@ SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Clas + + + + + + + + + + + + + + + + + diff --git a/C2P_Data/DS_Quotes.xss b/C2P_Data/DS_Quotes.xss index 07b596b..c8b9c41 100644 --- a/C2P_Data/DS_Quotes.xss +++ b/C2P_Data/DS_Quotes.xss @@ -6,11 +6,11 @@ --> - - + + - + @@ -22,7 +22,7 @@ 280 - 322 + 386 280 @@ -43,7 +43,7 @@ 645 - 167 + 129 645 @@ -58,19 +58,19 @@ - 562 - 510 + 570 + 586 - 562 - 551 + 570 + 665 - 718 + 762 430 diff --git a/C2P_Data/DtProxy.cs b/C2P_Data/DtProxy.cs index c479c98..4f9d83a 100644 --- a/C2P_Data/DtProxy.cs +++ b/C2P_Data/DtProxy.cs @@ -24,6 +24,7 @@ namespace C2P_Data protected virtual void avvioTableAdapters() { taQL = new DS_QuotesTableAdapters.QuoteListTableAdapter(); + taQRM = new DS_QuotesTableAdapters.QuoteRMTableAdapter(); taVSCli = new DS_UtilityTableAdapters.v_selClientTableAdapter(); taVSItm = new DS_UtilityTableAdapters.v_selItemsTableAdapter(); taVSRM = new DS_UtilityTableAdapters.v_selRawMatTableAdapter(); @@ -36,6 +37,7 @@ namespace C2P_Data string connStr = memLayer.ML.confReadString("C2PConnectionString"); // connections del db vocabolario taQL.Connection.ConnectionString = connStr; + taQRM.Connection.ConnectionString = connStr; taVSCli.Connection.ConnectionString = connStr; taVSItm.Connection.ConnectionString = connStr; taVSRM.Connection.ConnectionString = connStr; @@ -46,6 +48,7 @@ namespace C2P_Data #region area public public DS_QuotesTableAdapters.QuoteListTableAdapter taQL; + public DS_QuotesTableAdapters.QuoteRMTableAdapter taQRM; public DS_UtilityTableAdapters.v_selClientTableAdapter taVSCli; public DS_UtilityTableAdapters.v_selItemsTableAdapter taVSItm; public DS_UtilityTableAdapters.v_selRawMatTableAdapter taVSRM; diff --git a/C2P_Project/obj/Debug/C2P_DB.sqlproj.FileListAbsolute.txt b/C2P_Project/obj/Debug/C2P_DB.sqlproj.FileListAbsolute.txt index 8ed8325..f7d06c7 100644 --- a/C2P_Project/obj/Debug/C2P_DB.sqlproj.FileListAbsolute.txt +++ b/C2P_Project/obj/Debug/C2P_DB.sqlproj.FileListAbsolute.txt @@ -1,9 +1,5 @@ C:\Users\samuele\Documents\Visual Studio 2012\Projects\C2P\C2P_Project\bin\Debug\C2P_DB.dacpac C:\Users\samuele\Documents\Visual Studio 2012\Projects\C2P\C2P_Project\bin\Debug\C2P_Project.dll C:\Users\samuele\Documents\Visual Studio 2012\Projects\C2P\C2P_Project\bin\Debug\C2P_Project.pdb -C:\Users\samuele\Documents\Visual Studio 2012\Projects\C2P\C2P_Project\obj\Debug\Model.xml -C:\Users\samuele\Documents\Visual Studio 2012\Projects\C2P\C2P_Project\obj\Debug\refactor.xml -C:\Users\samuele\Documents\Visual Studio 2012\Projects\C2P\C2P_Project\obj\Debug\postdeploy.sql -C:\Users\samuele\Documents\Visual Studio 2012\Projects\C2P\C2P_Project\obj\Debug\predeploy.sql C:\Users\samuele\Documents\Visual Studio 2012\Projects\C2P\C2P_Project\obj\Debug\C2P_Project.dll C:\Users\samuele\Documents\Visual Studio 2012\Projects\C2P\C2P_Project\obj\Debug\C2P_Project.pdb diff --git a/C2P_Project/obj/Debug/C2P_Project.dll b/C2P_Project/obj/Debug/C2P_Project.dll index 563d58d0419eea24ed5fa9e73b417c561637daef..fb81909b512fec1e30e4302f0998ffa8520bd2e5 100644 GIT binary patch delta 50 zcmZpWX^@%F!MyGp*T(Lh%mU$3X|8EHzr0sGFZlK5;i4~-Ls$Ypl9QLSXfkqdzR04_ F2>>=-6?gyu delta 50 zcmZpWX^@%F!OS{~ePj1dW`Xj#mPPrq^F60&s(*WAHA!o72ulD+a`JK(O-8QG7g_W< E0n+plO#lD@ diff --git a/C2P_Project/obj/Debug/Model.xml b/C2P_Project/obj/Debug/Model.xml deleted file mode 100644 index ecc13ed..0000000 --- a/C2P_Project/obj/Debug/Model.xml +++ /dev/null @@ -1,38116 +0,0 @@ - - -

- - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0) - -- primo tentativo: cerco il package dato SIA cliente che ITEM - BEGIN - SELECT TOP 1 @output = CodPackag - FROM Package2ItemClient WHERE CodClient = @CodClient AND CodItem = @CodItem - ORDER BY TotQta DESC - END - ELSE - -- secondo tentativo: se non lo trovo cerco per SOLO ITEM - BEGIN - SELECT TOP 1 @output = CodPackag - FROM Package2Item WHERE CodItem = @CodItem - ORDER BY TotQta DESC - END - - RETURN @output - -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0) - -- primo tentativo: cerco il package dato SIA cliente che ITEM - BEGIN - INSERT @Table - SELECT TOP 1 CodItem, CodClient , CodPackag, TotQta, Weight, Tare, NumImb, Durata - ,'Item-Client-Package', @CodItem + '-' + @CodClient + '-' + CodPackag - FROM Package2ItemClient WHERE CodClient = @CodClient AND CodItem = @CodItem - ORDER BY TotQta DESC - END - ELSE IF EXISTS ( SELECT * FROM Package2Item WHERE CodItem = @CodItem ) - -- secondo tentativo: se non lo trovo cerco per SOLO ITEM - BEGIN - INSERT @Table - SELECT TOP 1 CodItem, 'ND' AS CodClient , CodPackag, TotQta, Weight, Tare, NumImb, Durata - ,'Item-Package', @CodItem + '-' + CodPackag - FROM Package2Item WHERE CodItem = @CodItem - ORDER BY TotQta DESC - END - ELSE - -- secondo tentativo: se non lo trovo cerco per SOLO ITEM - BEGIN - INSERT @Table - SELECT TOP 1 'ND', 'ND' AS CodClient , CodPackag, TotQta, Weight, Tare, NumImb, Durata - ,'Package', CodPackag - FROM dbo.Package2 WHERE CodPackag = 0 - END - - RETURN -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @separator - SET @str_out = @str_in + @separator ; - ELSE - SET @str_out = @str_in ; - - -- calcolo il numero di elementi della nella stringa - SET @Occurrences = ( (DATALENGTH( REPLACE(@str_out, @separator, @separator+'#')) - DATALENGTH(@str_out)) ) / 2 - - -- se l'elemento richiesto esiste proseguo altrimenti ritorno NULL - IF @Occurrences >= @PosizValue AND @PosizValue <> 0 - BEGIN - - SET @tmpStr = @str_out ; - SET @Counter = 1 ; - - WHILE @Counter <= @PosizValue - BEGIN - SET @Counter = @Counter + 1 ; - SET @str_out = SUBSTRING( @tmpStr, 1, CHARINDEX(@separator,@tmpStr) - 1) ; - -- metto via il resto della stringa - SET @tmpStr = SUBSTRING( @tmpStr, CHARINDEX(@separator,@tmpStr) + DATALENGTH(@separator)/2, 4000) ; - - IF DATALENGTH(@tmpStr) = 0 - BREAK - END - - -- pulisco da caratteri NON voluti - --SET @str_out = REPLACE(@str_out, char(13), '') ; -- carriage return - --SET @str_out = REPLACE(@str_out, char(10), '') ; -- line feed - --SET @str_out = REPLACE(@str_out, char(9), '') ; -- tab - --SET @str_out = LTRIM ( RTRIM (@str_out) ) ; -- blank - END - ELSE - SET @str_out = NULL ; - - RETURN @str_out - -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0) - -- primo tentativo: cerco il package dato SIA Cliente che Item che Package - BEGIN - SELECT TOP 1 @Weight = [Weight], @Tare = Tare - FROM Package2ItemClient WHERE CodItem = @CodItem AND CodClient = @CodClient AND CodPackag = @CodPackag - ORDER BY TotQta DESC - END - ELSE - -- secondo tentativo: se non lo trovo cerco per SOLO ITEM e package - BEGIN - SELECT @trovati = COUNT(*) FROM Package2Item WHERE CodItem = @CodItem AND CodPackag = @CodPackag - IF(@trovati > 0) - BEGIN - SELECT TOP 1 @Weight = [Weight], @Tare = Tare - FROM Package2Item WHERE CodItem = @CodItem AND CodPackag = @CodPackag - ORDER BY TotQta DESC - END - ELSE - BEGIN - SELECT @Weight = [Weight], @Tare = Tare - FROM Package2 WHERE CodPackag = @CodPackag - END - END - - - -- faccio ultimi calcoli! - SELECT @PackCost = @RMCost / @Weight, @TareStRat = (@RMWeight - @Tare) / @Weight - -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '' THEN @CodPlantFix ELSE tps.CodPlant END - , @HoleNum = tps.HoleNum - , @KeyAM = ql.KeyAM - , @KeyAMI = ql.KeyAM + '-' + ISNULL(@CodPlant,'0000') - , @KeyAMIL = ql.KeyAM + '-' + ISNULL(@CodPlant,'0000') + '-' + CAST(ISNULL(tps.HoleNum,0) AS NVARCHAR(10)) - , @ProdTeo = tps.ProdTeo - , @ScTec = tps.ScTec - , @KgTeo = tps.KgTeo - , @NumSMED = tps.NumSMED - , @RawMat = ql.RawMat - , @BatchQty = ql.BatchQty - , @ItemDescr = i.ItemDescr - , @CodifProfilo = i.Class01 - , @ClasseMerc = i.Class02 - , @CodClientAssoc = i.Class03 - - FROM dbo.QuoteList ql - INNER JOIN dbo.TabProdSc tps ON ql.KeyAM = tps.KeyAM - INNER JOIN dbo.ItemDet i ON ql.CodItem = i.CodItem - WHERE ql.QuoteType = @QuoteType - AND ql.CodQuote = @CodQuote - AND ql.QuoteRev = @QuoteRev - ORDER BY tps.KgTeo DESC - - -- ================================================================================= - -- recupero dall'offerta il valore del PACKAGE/IMBALLO scelto e i dati relativi - -- Secondo la logica Client-Item-Package ( vedi funzione ) - -- ================================================================================= - -- SET @CodPackag = ( SELECT dbo.f_getCodPackag( @CodItem , @CodClient ) ) - -- attenzione è una function tabellare - SELECT @CodPackag = CodPackag, @PTotQta = TotQta, @PWeight = Weight, @PTare = Tare, - @NumImb = NumImb, @PDurata = Durata, @PLiv = LivPackag , @PLivDett = LivPackagDet - FROM f_getDataCodPackag ( @CodItem, @CodClient) - - -- e aggiorno il CodPackage in QuoteRM - UPDATE dbo.QuoteRM - SET CodPackag = @CodPackag - FROM dbo.QuoteRM - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - VALUES ( @QuoteType, @CodQuote, @QuoteRev, '01', 'ItemDescr', @ItemDescr ) - , ( @QuoteType, @CodQuote, @QuoteRev, '01', 'CodifProfilo', @CodifProfilo ) - , ( @QuoteType, @CodQuote, @QuoteRev, '01', 'ClasseMerc', @ClasseMerc ) - , ( @QuoteType, @CodQuote, @QuoteRev, '01', 'CodClientAssoc', @CodClientAssoc ) - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'ClientNameAssoc', ClientDet.ClientName - FROM dbo.ClientDet - WHERE ClientDet.CodClient = @CodClientAssoc - - -- INFORMAZIONI su MATRICE - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'CodDiesGroup', @CodDiesGroup ) - - SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 1) - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'TipoDies', @strTemp) - - SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 2) - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'DiamDies', @strTemp) - - SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 3) - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'HoleNumDies', @strTemp) - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'NumDiesInList', COUNT(CodDies) - FROM dbo.DiesDet - WHERE CodDiesGroup = @CodDiesGroup AND CodItem = @CodItem - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'NumDiesExaust', COUNT(CodDies) - FROM dbo.DiesDet - WHERE CodDiesGroup = @CodDiesGroup AND Active = 0 - - -- inserisco parametri calcolati x lavorazione estruzione - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - VALUES ( @QuoteType, @CodQuote, @QuoteRev, '01', 'CodPlant' , @CodPlant ) - ,( @QuoteType, @CodQuote, @QuoteRev, '01', 'KeyAM' , @KeyAM ) - ,( @QuoteType, @CodQuote, @QuoteRev, '01', 'KeyAMIL' , @KeyAMIL ) - ,( @QuoteType, @CodQuote, @QuoteRev, '01', 'NumSMED' , CONVERT(NVARCHAR(100) , @NumSMED ) ) - ,( @QuoteType, @CodQuote, @QuoteRev, '01', 'KgTeo' , CONVERT(NVARCHAR(100) , @KgTeo ) ) - - -- inserisco lavorazione estrusione! - INSERT INTO #QuoteWorkInt (QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03, NetProd, WSR) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, @KeyAM, @KeyAMIL, @RawMat, @ProdTeo, @ScTec - - INSERT INTO #QuoteParam (QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'KgProdotti', SUM(KgTeo) - FROM dbo.QuoteList ql - INNER JOIN dbo.TabProdSc tps ON ql.KeyAM = tps.KeyAM - WHERE ql.QuoteType = @QuoteType - AND ql.CodQuote = @CodQuote - AND ql.QuoteRev = @QuoteRev - - -- inserisco dati mancanti di MSR/CSR (scarto cesoia x estrusione) - DSR è NULLO x estrusione! - UPDATE #QuoteWorkInt - SET MSR = rmd.CSR - FROM #QuoteWorkInt qwi - INNER JOIN dbo.RawMatDet rmd ON qwi.Class03 = rmd.RawMat - - -- calcolo i costi legati alla fase estrusione! - UPDATE #QuoteWorkInt - SET FC4UG = (cp.FC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd - , VC4UG = (cp.VC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd - , OH4UG = (cp.OH * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd - , SC4UG = cp.SC / ql.BatchQty - FROM #QuoteWorkInt qwi - INNER JOIN dbo.Cost2Plant cp ON qwi.CodPlant = cp.CodPlant AND qwi.ProcessNum = cp.ProcessNum - INNER JOIN dbo.QuoteList ql ON qwi.QuoteType = ql.QuoteType AND qwi.CodQuote = ql.CodQuote AND qwi.QuoteRev = ql.QuoteRev - WHERE qwi.ProcessNum = '01' - - -- inserisco lavorazione incestatura! - INSERT INTO #QuoteWorkInt (QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03) - SELECT @QuoteType, @CodQuote, @QuoteRev, '02', @CodPlant, @KeyAM, @KeyAMI, @RawMat - - -- inserisco dati mancanti di DSR x incestatura come 1 - OUT/IN - UPDATE #QuoteWorkInt - SET DSR = 1 - CAST(td.TotOUT AS DECIMAL(18,6))/CAST(td.TotIN AS DECIMAL(18,6)) - FROM #QuoteWorkInt qwi - INNER JOIN dbo.TabDifett td ON qwi.Class02 = td.KeyAMI AND qwi.ProcessNum = td.ProcessNum - WHERE qwi.ProcessNum = '02' -- solo incestatura - - -- inserisco lavorazione FORNO! - INSERT INTO #QuoteWorkInt(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03) - SELECT @QuoteType, @CodQuote, @QuoteRev, '03', @CodPlant, @KeyAM, @KeyAMI, @RawMat - - -- inserisco lavorazione imballo! - INSERT INTO #QuoteWorkInt(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03, Class04, Class05) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, @KeyAM, @KeyAMIL, @RawMat, @CodItem, @KeyAMI - - UPDATE qwi - SET NetProd = CASE @PDurata WHEN 0 THEN 0 ELSE @PTotQta / @PDurata END - FROM #QuoteWorkInt AS qwi --- INNER JOIN dbo.TabImbArt ti ON qwi.Class04 = ti.KeyA - WHERE qwi.ProcessNum = '04' -- solo imballo - - -- parametro num imballatori - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'QuotaMan', @NumImb - - -- parametro Livello search package/imballo - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'LivPackage', @PLiv - - -- parametro Livello search package/imballo - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'LivPackageDett', @PLivDett - - -- calcolo i costi legati alla fase di imballo! - UPDATE #QuoteWorkInt - SET FC4UG = ( ( cp.FC * cp.QuotaPlantStd ) * ( @NumImb / cp.QuotaManStd ) ) / qwi.NetProd - , VC4UG = ( ( cp.VC * cp.QuotaPlantStd ) * ( @NumImb / cp.QuotaManStd ) ) / qwi.NetProd - , OH4UG = ( ( cp.OH * cp.QuotaPlantStd ) * ( @NumImb / cp.QuotaManStd ) ) / qwi.NetProd - , SC4UG = cp.SC / ql.BatchQty - FROM #QuoteWorkInt qwi - INNER JOIN dbo.Cost2Plant cp ON qwi.CodPlant = cp.CodPlant AND qwi.ProcessNum = cp.ProcessNum - INNER JOIN dbo.QuoteList ql ON qwi.QuoteType = ql.QuoteType AND qwi.CodQuote = ql.CodQuote AND qwi.QuoteRev = ql.QuoteRev - WHERE qwi.ProcessNum = '04' -- solo imballo - - -- inserisco dati mancanti di DSR x imballo come 1 - OUT/IN - UPDATE #QuoteWorkInt - SET DSR = 1 - CAST(td.TotOUT AS DECIMAL(18,6))/CAST(td.TotIN AS DECIMAL(18,6)) - FROM #QuoteWorkInt qwi - INNER JOIN dbo.TabDifett td ON qwi.Class05 = td.KeyAMI AND qwi.ProcessNum = td.ProcessNum - WHERE qwi.ProcessNum = '04' -- solo imballo - - -- recupero le MAC fase 01 - SELECT @MAC_SC = MCR - ,@MAC_ST = WCR - FROM #QuoteWorkInt - WHERE ProcessNum = '01' - - -- recupero le MAC fase 02 - SELECT @MAC_IN = DCR - FROM #QuoteWorkInt - WHERE ProcessNum = '02' - - -- recupero le MAC fase 04 - SELECT @MAC_IM = DCR - FROM #QuoteWorkInt - WHERE ProcessNum = '04' - - -- calcolo percentuale vendita rottame - SELECT @SSR = SSR - FROM dbo.RawMatDet - WHERE RawMat = @RawMat - - - -- NOTA : la transazione posso probabilmente iniziarla qui visto che è il - -- primo Update/insert/delete su tabelle non temporanee delete a parte - - -- update rese RawMat! - UPDATE dbo.QuoteRM - SET FCR = @MAC_SC * @MAC_ST * @MAC_IN * @MAC_IM - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - AND RawMat = @RawMat - - -- inserisco i costi delle utilities in QuoteOC - - -- inserisco altri costi x lavorazione estrusione! GAS ed EE - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, CodUtil, @RawMat, @BatchQty, UnitCost * @BatchQty, 1 - FROM dbo.Utilities - WHERE CodPlant = @CodPlant - - - /************************************************************* - * MATRICE - * - * calcolo prezzo e durata matrice con procedura a 5 step... - * A) media ponderata prezzo ed ExpLife da DiesDet selezionando x CodItem + CodDiesGroup - * B) EOLLife x media ponderata su DiesDet dove Active = 0 e vita cmq superiore 5000 KG ( escludendo rotture accidentali ) - * C) SE prezzo = 0 --> prendo prezzo da DiesGroupDet selezionando x CodDiesGroup - * D) Se EOL = 0 --> prendo ExpLife della singola matrice, se è 0 --> prendo EOLLife da DiesGroupDet selezionando x CodDiesGroup - * E) Calcolo Price / Life - * - *************************************************************/ - - -- (A) da DiesDet - SELECT @DiesPrice = SUM(ISNULL(Price, 0) * ISNULL(ActLife, 1)) / SUM(ISNULL(ActLife, 1)), - @DiesExpLife = SUM(ISNULL(ExpLife, 0) * ISNULL(ActLife, 1)) / SUM(ISNULL(ActLife, 1)) - FROM dbo.DiesDet - WHERE CodItem = @CodItem - AND CodDiesGroup = @CodDiesGroup - GROUP BY CodItem, CodDiesGroup - - -- (B) da DiesDet - SELECT @DiesEOLife = AVG( ISNULL(ActLife, 0)) - FROM dbo.DiesDet - WHERE CodItem = @CodItem - AND CodDiesGroup = @CodDiesGroup - AND Active = 0 -- solo matrici rottamate - AND ActLife > 5000 -- solo se hanno Life > 5000 Kg ( non rotture accidentali ) - GROUP BY CodItem, CodDiesGroup - - SET @DiesPrice = ISNULL(@DiesPrice,0) - SET @DiesExpLife = ISNULL(@DiesExpLife,0) - SET @DiesEOLife = ISNULL(@DiesEOLife,0) - - -- (C) verifico se prezzo è OK... - IF (@DiesPrice = 0) - BEGIN - -- calcolo da DiesGroupDet - SELECT @DiesPrice = ISNULL(Price, 0) - FROM dbo.DiesGroupDet - WHERE CodDiesGroup = @CodDiesGroup - END - - -- (D) verifico se vita è OK... - IF (@DiesEOLife = 0) - BEGIN - -- uso exp life articolo... - SET @DiesEOLife = @DiesExpLife - END - -- controllo che non sia nulla/vuota la durata... - IF (@DiesEOLife = 0) - BEGIN - SELECT @DiesEOLife = CASE WHEN EOLLife > 0 THEN EOLLife ELSE ExpLife END - FROM DiesGroupDet - WHERE CodDiesGroup = @CodDiesGroup - END - - -- controllo che non sia nulla/vuota la durata... - IF ( @DiesEOLife > 0) - BEGIN - -- (E) Calcolo price/life! - SET @DiesPriceLife = @DiesPrice / @DiesEOLife - END - ELSE - BEGIN - SET @DiesPriceLife = 0 -- metto a zero il DiesPriceLife - SET @valid = 0 -- indico che valore non è valido ( ND excel ) - END - - -- inserisco costi per Matrice: costo e durata da matrice, se non ci sono da gruppo, (anche solo uno dei due, ovviamente più facile trovare durata x matrice...) - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota, valid) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, 'MATRICE', @RawMat, @BatchQty, @DiesPriceLife * @BatchQty, 1, @valid - - -- inserisco parametri calcolati x matrice - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - VALUES ( @QuoteType, @CodQuote, @QuoteRev, '01', 'DiesPrice', CONVERT(NVARCHAR(100), @DiesPrice) ) - ,( @QuoteType, @CodQuote, @QuoteRev, '01', 'DiesExpLife', CONVERT(NVARCHAR(100), @DiesExpLife) ) - ,( @QuoteType, @CodQuote, @QuoteRev, '01', 'DiesEOLife', CONVERT(NVARCHAR(100), @DiesEOLife) ) - - /************************************************************* - * VENDITA ROTTAME - * - * calcolo COSTO DI VENDITA PER LE 2 FASI ESTRUSIONE 01 ED IMBALLO 04 - * - calcolo costi variabili fase 01 / 04 - * - calcolo costo di vendita x fase 01 / 04 - *************************************************************/ - - SELECT @OCF01 = SUM(ISNULL(C4UG,0)) - FROM #QuoteOC - - SELECT @VCF01 = @OCF01 + VC4UG - FROM #QuoteWorkInt - WHERE ProcessNum = '01' - - SELECT @VCF04 = @OCF01 + SUM(VC4UG) - FROM #QuoteWorkInt - - SELECT @SellCostF01 = ((@MAC_ST * @MAC_SC * @MAC_IN) - 1) * (q.RawMatCost + q.RawMatExtraCost - CASE WHEN SSVA > 0 THEN SSVA ELSE q.RawMatCost * SSVR END + @VCF01) -- ((prodotto delle MAC = inverso del prodotto delle rese) - 1) * (costo Al - prezzo rivendita + costi var fase 01) - , @RefCostF01 = -- ( (A - B) / 100 - C ) - ( - -- (A) = (costo pieno di acquisto + costi fase 1) * MAC * 100 (IN CENTESIMI) - ((q.RawMatCost + q.RawMatExtraCost + @VCF01) * (@MAC_ST * @MAC_SC * @MAC_IN * 100)) - -- (B) = ((MAC * 100) - 100) * Resa di fonderia * (costo pieno acquisto - costo di trasformazione)) - - ((@MAC_ST * @MAC_SC * @MAC_IN * 100) - 100) * rmd.ProcYield * (q.RawMatCost + q.RawMatExtraCost + @VCF01 - rmd.ProcCost) - ) / 100 -- divido per 100 finale - -- (C) = sottraggo costo pieno alluminio - - (q.RawMatCost + q.RawMatExtraCost + @VCF01) - FROM dbo.RawMatDet rmd - INNER JOIN dbo.QuoteRM q ON q.RawMat = rmd.RawMat - WHERE q.QuoteType = @QuoteType - AND q.CodQuote = @CodQuote - AND q.QuoteRev = @QuoteRev - AND q.RawMat = @RawMat - - SELECT @SellCostF04 = ((@MAC_IM) - 1) * (q.RawMatCost + q.RawMatExtraCost - CASE WHEN SSVA > 0 THEN SSVA ELSE q.RawMatCost * SSVR END + @VCF01 + @VCF04) -- ((prodotto delle MAC = inverso del prodotto delle rese) - 1) * (costo Al - prezzo rivendita + costi var fase 04) - , @RefCostF04 = -- ( (A - B) / 100 - C ) - ( - -- (A) = (costo pieno di acquisto + costi variabili fase 1 e 4) * MAC * 100 (IN CENTESIMI) - ((q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04) * (@MAC_IM * 100)) - -- (B) = ((MAC * 100) - 100) * Resa di fonderia * (costo pieno acquisto - costo di trasformazione)) - - ((@MAC_IM * 100) - 100) * rmd.ProcYield * (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04 - rmd.ProcCost) - ) / 100 -- divido per 100 finale - -- (C) = sottraggo costo pieno alluminio - - (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04) - - -- NOTA: usiamo (q.RawMatCost + q.RawMatExtraCost + @VCF01) e non (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @RefCostF01) perché la differenza è minimale, si tratta di 10/20 PPM... - - FROM dbo.RawMatDet rmd - INNER JOIN dbo.QuoteRM q ON q.RawMat = rmd.RawMat - WHERE q.QuoteType = @QuoteType - AND q.CodQuote = @CodQuote - AND q.QuoteRev = @QuoteRev - AND q.RawMat = @RawMat - - -- inserisco costi per VENDITA - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - VALUES ( @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, 'VENDITA', @RawMat, @BatchQty, @SellCostF01 * @BatchQty, @SSR ) - -- inserisco costi per ROTTAME - ,( @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, 'ROTTAME', @RawMat, @BatchQty, @RefCostF01 * @BatchQty, 1 - @SSR ) - -- inserisco costi per VENDITA - ,( @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'VENDITA', @RawMat, @BatchQty, @SellCostF04 * @BatchQty, @SSR ) - -- inserisco costi per ROTTAME - ,( @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'ROTTAME', @RawMat, @BatchQty, @RefCostF04 * @BatchQty, 1 - @SSR ) - - -- calcolo Package Cost e RMWeight da tab PackageDet - -- EXEC stp_packageCost @CodItem, @CodClient, @CodPackag, @PDesc=@PkgDesc OUTPUT, @RMWeight=@PRMWeight OUTPUT, @Weight=@PWeight OUTPUT, @Tare=@PTare OUTPUT, @PackCost=@PCost OUTPUT, @TareStRat=@PTareStRatio OUTPUT - -- stored sostituita perchè la maggior parte dei calcoli li ho già fatti - SELECT @PCost = RMCost / @PWeight - , @PRMWeight = RMWeight - , @PkgDesc = PackagDesc - , @PTareStRatio = ( RMWeight - @PTare) / @PWeight - FROM dbo.PackagDet - WHERE CodPackag = @CodPackag - - -- inserisco costi per IMBALLO - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'IMBALLO', @RawMat, @BatchQty, @PCost * @BatchQty, 1 - - -- inserisco parametri calcolati x imballaggio - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - VALUES ( @QuoteType, @CodQuote, @QuoteRev, '04', 'PkgDesc', @PkgDesc ) - ,( @QuoteType, @CodQuote, @QuoteRev, '04', 'PRMWeight', CONVERT(NVARCHAR(100), @PRMWeight ) ) - ,( @QuoteType, @CodQuote, @QuoteRev, '04', 'PWeight', CONVERT(NVARCHAR(100), @PWeight ) ) - ,( @QuoteType, @CodQuote, @QuoteRev, '04', 'PTare', CONVERT(NVARCHAR(100), @PTare) ) - ,( @QuoteType, @CodQuote, @QuoteRev, '04', 'TareStRatio', CONVERT(NVARCHAR(100), @PTareStRatio ) ) - - - --------------------------------------------- - -- inserisco costi per TRASPORTI - --------------------------------------------- - -- recupero zona da cliente... - SELECT @TranspZone = TranspZone - FROM dbo.ClientDet - WHERE CodClient = @CodClient - - -- recupero tipo di trasporto - SELECT @HasTC = ISNULL(i.HasTC, 0) - FROM dbo.QuoteList q INNER JOIN Incoterms i ON q.CodInco = i.CodInco - WHERE q.QuoteType = @QuoteType - AND q.CodQuote = @CodQuote - AND q.QuoteRev = @QuoteRev - - -- recupero costi trasporto - SELECT @TranspCost = TranspCost - FROM dbo.TranspCostDet - WHERE TranspZone = @TranspZone - - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'TRASPORTI', @RawMat, @BatchQty, @HasTC * @TranspCost * @BatchQty, 1 - - - --------------------------------------------- - -- inserisco costi per PROVVIGIONI - --------------------------------------------- - SELECT @Provvig = ISNULL(a.QuotaProvvAg, 0) - FROM dbo.AgentsDet a - INNER JOIN ClientDet c ON a.CodAg = c.CodAg - INNER JOIN QuoteList q ON q.CodClient = c.CodClient - WHERE q.QuoteType = @QuoteType - AND q.CodQuote = @CodQuote - AND q.QuoteRev = @QuoteRev - - -- inserisco costi per PROVVIGIONI - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'PROVVIGIONI', @RawMat, @BatchQty, @Provvig * @BatchQty, 1 - - /* ================================================== - CARICO TABELLE EFFETTIVE - ==================================================*/ - - -- carico quote parametri! - INSERT dbo.QuoteParam - SELECT * FROM #QuoteParam - - -- carico lavorazioni INTERNE! - INSERT dbo.QuoteWorkInt -- ci sono valori calcolati quindi devo selezionare i campi - SELECT QuoteType, CodQuote, QuoteRev, NumWI, ProcessNum, CodPlant, Class01, Class02, Class03, Class04, Class05 - , NetProd, WSR, MSR, DSR, FC4UG, VC4UG, OH4UG, SC4UG, valid - FROM #QuoteWorkInt - - -- carico OTHERCOSTS - INSERT dbo.QuoteOC -- ci sono valori calcolati quindi devo selezionare i campi - SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, Class03, Class04 - , Class05, TotQty, TotCost, Quota, valid - FROM #QuoteOC - - COMMIT TRAN; - - --SELECT * FROM #QuoteParam - --SELECT * FROM #QuoteWorkInt - --SELECT * FROM #QuoteOC - - -- elimino temp table... - IF OBJECT_ID('tempdb..#QuoteParam') IS NOT NULL - DROP TABLE #QuoteParam - IF OBJECT_ID('tempdb..#QuoteWorkInt') IS NOT NULL - DROP TABLE #QuoteWorkInt - IF OBJECT_ID('tempdb..#QuoteOC') IS NOT NULL - DROP TABLE #QuoteOC - -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '' THEN @CodPlantFix ELSE tps.CodPlant END - , @HoleNum = tps.HoleNum - , @KeyAM = ql.KeyAM - , @KeyAMI = ql.KeyAM + '-' + ISNULL(@CodPlant,'0000') - , @KeyAMIL = ql.KeyAM + '-' + ISNULL(@CodPlant,'0000') + '-' + CAST(ISNULL(tps.HoleNum,0) AS NVARCHAR(10)) - , @ProdTeo = tps.ProdTeo - , @ScTec = tps.ScTec - , @KgTeo = tps.KgTeo - , @NumSMED = tps.NumSMED - , @RawMat = ql.RawMat - , @BatchQty = ql.BatchQty - , @ItemDescr = i.ItemDescr - , @CodifProfilo = i.Class01 - , @ClasseMerc = i.Class02 - , @CodClientAssoc = i.Class03 - - FROM dbo.QuoteList ql - INNER JOIN dbo.TabProdSc tps ON ql.KeyAM = tps.KeyAM - INNER JOIN dbo.ItemDet i ON ql.CodItem = i.CodItem - WHERE ql.QuoteType = @QuoteType - AND ql.CodQuote = @CodQuote - AND ql.QuoteRev = @QuoteRev - ORDER BY tps.KgTeo DESC - - -- ================================================================================= - -- recupero dall'offerta il valore del PACKAGE/IMBALLO scelto e i dati relativi - -- Secondo la logica Client-Item-Package ( vedi funzione ) - -- ================================================================================= - -- SET @CodPackag = ( SELECT dbo.f_getCodPackag( @CodItem , @CodClient ) ) - -- attenzione è una function tabellare - SELECT @CodPackag = CodPackag, @PTotQta = TotQta, @PWeight = [Weight], @PTare = Tare, - @NumImb = NumImb, @PDurata = Durata, @PLiv = LivPackag , @PLivDett = LivPackagDet - FROM f_getDataCodPackag ( @CodItem, @CodClient) - - -- e aggiorno il CodPackage in QuoteRM - UPDATE dbo.QuoteRM - SET CodPackag = @CodPackag - FROM dbo.QuoteRM - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'ItemDescr', @ItemDescr) - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'CodifProfilo', @CodifProfilo - --FROM dbo.ItemDet - --WHERE CodItem = @CodItem - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'ClasseMerc', @ClasseMerc - --FROM dbo.ItemDet - --WHERE CodItem = @CodItem - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'CodClientAssoc', @CodClientAssoc - --FROM dbo.ItemDet - --WHERE CodItem = @CodItem - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'ClientNameAssoc', ClientDet.ClientName - FROM dbo.ClientDet WHERE ClientDet.CodClient = @CodClientAssoc - --FROM dbo.ItemDet - --INNER JOIN dbo.ClientDet ON ItemDet.Class03 = ClientDet.CodClient - --WHERE CodItem = @CodItem - - -- INFORMAZIONI su MATRICE - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'CodDiesGroup', @CodDiesGroup ) - - SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 1) - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'TipoDies', @strTemp) - - SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 2) - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'DiamDies', @strTemp) - - SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 3) - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'HoleNumDies', @strTemp) - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'NumDiesInList', COUNT(CodDies) - FROM dbo.DiesDet - WHERE CodDiesGroup = @CodDiesGroup AND CodItem = @CodItem - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'NumDiesExaust', COUNT(CodDies) - FROM dbo.DiesDet - WHERE CodDiesGroup = @CodDiesGroup AND Active = 0 - - -- inserisco parametri calcolati x lavorazione estruzione - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - VALUES ( @QuoteType, @CodQuote, @QuoteRev, '01', 'CodPlant' , @CodPlant ) - ,( @QuoteType, @CodQuote, @QuoteRev, '01', 'KeyAM' , @KeyAM ) - ,( @QuoteType, @CodQuote, @QuoteRev, '01', 'KeyAMIL' , @KeyAMIL ) - ,( @QuoteType, @CodQuote, @QuoteRev, '01', 'NumSMED' , CONVERT(NVARCHAR(50) , @NumSMED ) ) - ,( @QuoteType, @CodQuote, @QuoteRev, '01', 'KgTeo' , CONVERT(NVARCHAR(50) , @KgTeo ) ) - - --INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - --SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'KeyAM', @KeyAM - --INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - --SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'KeyAMIL', @KeyAMIL - --INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - --SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'NumSMED', @NumSMED - --INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - --SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'KgTeo', @KgTeo - - -- inserisco lavorazione estrusione! - INSERT INTO #QuoteWorkInt (QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03, NetProd, WSR) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, @KeyAM, @KeyAMIL, @RawMat, @ProdTeo, @ScTec - - INSERT INTO #QuoteParam (QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'KgProdotti', SUM(KgTeo) - FROM dbo.QuoteList ql - INNER JOIN dbo.TabProdSc tps ON ql.KeyAM = tps.KeyAM - WHERE ql.QuoteType = @QuoteType - AND ql.CodQuote = @CodQuote - AND ql.QuoteRev = @QuoteRev - - -- inserisco dati mancanti di MSR/CSR (scarto cesoia x estrusione) - DSR è NULLO x estrusione! - UPDATE #QuoteWorkInt - SET MSR = rmd.CSR - FROM #QuoteWorkInt qwi - INNER JOIN dbo.RawMatDet rmd ON qwi.Class03 = rmd.RawMat - - -- calcolo i costi legati alla fase estrusione! - UPDATE #QuoteWorkInt - SET FC4UG = (cp.FC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd - , VC4UG = (cp.VC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd - , OH4UG = (cp.OH * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd - , SC4UG = cp.SC / ql.BatchQty - FROM #QuoteWorkInt qwi - INNER JOIN dbo.Cost2Plant cp ON qwi.CodPlant = cp.CodPlant AND qwi.ProcessNum = cp.ProcessNum - INNER JOIN dbo.QuoteList ql ON qwi.QuoteType = ql.QuoteType AND qwi.CodQuote = ql.CodQuote AND qwi.QuoteRev = ql.QuoteRev - WHERE qwi.ProcessNum = '01' - - -- inserisco lavorazione incestatura! - INSERT INTO #QuoteWorkInt (QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03) - SELECT @QuoteType, @CodQuote, @QuoteRev, '02', @CodPlant, @KeyAM, @KeyAMI, @RawMat - - -- inserisco dati mancanti di DSR x incestatura come 1 - OUT/IN - UPDATE #QuoteWorkInt - SET DSR = 1 - CAST(td.TotOUT AS DECIMAL(18,6))/CAST(td.TotIN AS DECIMAL(18,6)) - FROM #QuoteWorkInt qwi - INNER JOIN dbo.TabDifett td ON qwi.Class02 = td.KeyAMI AND qwi.ProcessNum = td.ProcessNum - WHERE qwi.ProcessNum = '02' -- solo incestatura - - -- inserisco lavorazione FORNO! - INSERT INTO #QuoteWorkInt(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03) - SELECT @QuoteType, @CodQuote, @QuoteRev, '03', @CodPlant, @KeyAM, @KeyAMI, @RawMat - - -- inserisco lavorazione imballo! - INSERT INTO #QuoteWorkInt(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03, Class04, Class05) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, @KeyAM, @KeyAMIL, @RawMat, @CodItem, @KeyAMI - - -- calcolo produttività netta nella fase imballo --- UPDATE qwi --- SET NetProd = CASE ti.Durata WHEN 0 THEN 0 ELSE ti.TotOut / ti.Durata END --- FROM #QuoteWorkInt qwi --- INNER JOIN dbo.TabImbArt ti ON qwi.Class04 = ti.KeyA --- WHERE qwi.ProcessNum = '04' -- solo imballo - - UPDATE qwi - SET NetProd = CASE @PDurata WHEN 0 THEN 0 ELSE @PTotQta / @PDurata END - FROM #QuoteWorkInt AS qwi --- INNER JOIN dbo.TabImbArt ti ON qwi.Class04 = ti.KeyA - WHERE qwi.ProcessNum = '04' -- solo imballo - - -- ADESSO LO FACCIO GIA' NELLA FUNZIONE DI RECUPERO DATI PACKAGE f_getDataCodPackag - ---- Se Produttività netta ancora = 0 la leggo nella tabella Gruppo Imballo ( Packaging ) - --IF ( SELECT NetProd FROM #QuoteWorkInt WHERE ProcessNum = '04' ) = 0 - -- BEGIN - -- UPDATE qwi - -- SET NetProd = CASE ti.Durata WHEN 0 THEN 0 ELSE ti.TotOut / ti.Durata END - -- FROM #QuoteWorkInt qwi - -- INNER JOIN dbo.TabImbGrp ti ON ti.CodPackag = @CodPackag -- packag generico dell' offerta - -- WHERE qwi.ProcessNum = '04' -- solo imballo - -- END - - -- salvo numero imballatori - --SELECT @NumImb = ISNULL(NumImb,0) - --FROM dbo.TabImbArt - --WHERE KeyA = @CodItem - - -- parametro num imballatori - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'QuotaMan', @NumImb - - -- parametro Livello search package/imballo - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'LivPackage', @PLiv - - -- parametro Livello search package/imballo - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'LivPackageDett', @PLivDett - - -- calcolo i costi legati alla fase di imballo! - UPDATE #QuoteWorkInt - SET FC4UG = ( ( cp.FC * cp.QuotaPlantStd ) * ( @NumImb / cp.QuotaManStd ) ) / qwi.NetProd - , VC4UG = ( ( cp.VC * cp.QuotaPlantStd ) * ( @NumImb / cp.QuotaManStd ) ) / qwi.NetProd - , OH4UG = ( ( cp.OH * cp.QuotaPlantStd ) * ( @NumImb / cp.QuotaManStd ) ) / qwi.NetProd - , SC4UG = cp.SC / ql.BatchQty - FROM #QuoteWorkInt qwi - INNER JOIN dbo.Cost2Plant cp ON qwi.CodPlant = cp.CodPlant AND qwi.ProcessNum = cp.ProcessNum - INNER JOIN dbo.QuoteList ql ON qwi.QuoteType = ql.QuoteType AND qwi.CodQuote = ql.CodQuote AND qwi.QuoteRev = ql.QuoteRev - WHERE qwi.ProcessNum = '04' -- solo imballo - - -- inserisco dati mancanti di DSR x imballo come 1 - OUT/IN - UPDATE qwi - SET DSR = 1 - CAST(td.TotOUT AS DECIMAL(18,6))/CAST(td.TotIN AS DECIMAL(18,6)) - FROM #QuoteWorkInt qwi - INNER JOIN dbo.TabDifett td ON qwi.Class05 = td.KeyAMI AND qwi.ProcessNum = td.ProcessNum - WHERE qwi.ProcessNum = '04' -- solo imballo - - -- recupero le MAC fase 01 - SELECT @MAC_SC = MCR - ,@MAC_ST = WCR - FROM #QuoteWorkInt - WHERE ProcessNum = '01' - - -- recupero le MAC fase 02 - SELECT @MAC_IN = DCR - FROM #QuoteWorkInt - WHERE ProcessNum = '02' - - -- recupero le MAC fase 04 - SELECT @MAC_IM = DCR - FROM #QuoteWorkInt - WHERE ProcessNum = '04' - - -- calcolo percentuale vendita rottame - SELECT @SSR = SSR - FROM dbo.RawMatDet - WHERE RawMat = @RawMat - - - -- NOTA : la transazione posso probabilmente iniziarla qui visto che è il - -- primo Update/insert/delete su tabelle non temporanee - - -- update rese RawMat! - UPDATE dbo.QuoteRM - SET FCR = @MAC_SC * @MAC_ST * @MAC_IN * @MAC_IM - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - AND RawMat = @RawMat - - -- inserisco i costi delle utilities in QuoteOC - - -- inserisco altri costi x lavorazione estrusione! GAS ed EE - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, CodUtil, @RawMat, @BatchQty, UnitCost * @BatchQty, 1 - FROM dbo.Utilities - WHERE CodPlant = @CodPlant - - - /************************************************************* - * MATRICE - * - * calcolo prezzo e durata matrice con procedura a 5 step... - * A) media ponderata prezzo ed ExpLife da DiesDet selezionando x CodItem + CodDiesGroup - * B) EOLLife x media ponderata su DiesDet dove Active = 0 e vita cmq superiore 5000 KG ( escludendo rotture accidentali ) - * C) SE prezzo = 0 --> prendo prezzo da DiesGroupDet selezionando x CodDiesGroup - * D) Se EOL = 0 --> prendo ExpLife della singola matrice, se è 0 --> prendo EOLLife da DiesGroupDet selezionando x CodDiesGroup - * E) Calcolo Price / Life - * - *************************************************************/ - - -- (A) da DiesDet - SELECT @DiesPrice = SUM(ISNULL(Price, 0) * ISNULL(ActLife, 1)) / SUM(ISNULL(ActLife, 1)), - @DiesExpLife = SUM(ISNULL(ExpLife, 0) * ISNULL(ActLife, 1)) / SUM(ISNULL(ActLife, 1)) - FROM dbo.DiesDet - WHERE CodItem = @CodItem - AND CodDiesGroup = @CodDiesGroup - GROUP BY CodItem, CodDiesGroup - - -- (B) da DiesDet - SELECT @DiesEOLife = AVG(ISNULL(ActLife, 0)) - FROM dbo.DiesDet - WHERE CodItem = @CodItem - AND CodDiesGroup = @CodDiesGroup - AND Active = 0 -- solo matrici rottamate - AND ActLife > 5000 -- solo se hanno Life > 5000 Kg ( non rotture accidentali ) - GROUP BY CodItem, CodDiesGroup - - SET @DiesPrice = ISNULL(@DiesPrice,0) - SET @DiesExpLife = ISNULL(@DiesExpLife,0) - SET @DiesEOLife = ISNULL(@DiesEOLife,0) - - -- (C) verifico se prezzo è OK... - IF (@DiesPrice = 0) - BEGIN - -- calcolo da DiesGroupDet - SELECT @DiesPrice = ISNULL(Price, 0) - FROM dbo.DiesGroupDet - WHERE CodDiesGroup = @CodDiesGroup - END - - -- (D) verifico se vita è OK... - IF (@DiesEOLife = 0) - BEGIN - -- uso exp life articolo... - SET @DiesEOLife = @DiesExpLife - END - -- controllo che non sia nulla/vuota la durata... - IF (@DiesEOLife = 0) - BEGIN - SELECT @DiesEOLife = CASE WHEN EOLLife > 0 THEN EOLLife ELSE ExpLife END - FROM DiesGroupDet - WHERE CodDiesGroup = @CodDiesGroup - END - - -- controllo che non sia nulla/vuota la durata... - IF ( @DiesEOLife = 0) - BEGIN - SET @DiesEOLife = 1 -- metto 1 kg che è sbagliato e mi fa esplodere prezzo matrice ma non blocca calcoli - END - - -- (E) Calcolo price/life! - SET @DiesPriceLife = @DiesPrice / @DiesEOLife - - -- (D) verifico se vita è OK... - IF (@DiesPriceLife = 0) - BEGIN - SET @DiesPriceLife = 1 - SET @valid = 0 - END - - -- inserisco costi per Matrice: costo e durata da matrice, se non ci sono da gruppo, (anche solo uno dei due, ovviamente più facile trovare durata x matrice...) - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota, valid) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, 'MATRICE', @RawMat, @BatchQty, @DiesPriceLife * @BatchQty, 1, @valid - - - -- inserisco parametri calcolati x matrice - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'DiesPrice', @DiesPrice - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'DiesExpLife', @DiesExpLife - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'DiesEOLife', @DiesEOLife - - /************************************************************* - * VENDITA ROTTAME - * - * calcolo COSTO DI VENDITA PER LE 2 FASI ESTRUSIONE 01 ED IMBALLO 04 - * - calcolo costi variabili fase 01 / 04 - * - calcolo costo di vendita x fase 01 / 04 - *************************************************************/ - - SELECT @OCF01 = SUM(ISNULL(C4UG,0)) - FROM #QuoteOC - - SELECT @VCF01 = @OCF01 + VC4UG - FROM #QuoteWorkInt - WHERE ProcessNum = '01' - - SELECT @VCF04 = @OCF01 + SUM(VC4UG) - FROM #QuoteWorkInt - - SELECT @SellCostF01 = ((@MAC_ST * @MAC_SC * @MAC_IN) - 1) * (q.RawMatCost + q.RawMatExtraCost - CASE WHEN SSVA > 0 THEN SSVA ELSE q.RawMatCost * SSVR END + @VCF01) -- ((prodotto delle MAC = inverso del prodotto delle rese) - 1) * (costo Al - prezzo rivendita + costi var fase 01) - , @RefCostF01 = -- ( (A - B) / 100 - C ) - ( - -- (A) = (costo pieno di acquisto + costi fase 1) * MAC * 100 (IN CENTESIMI) - ((q.RawMatCost + q.RawMatExtraCost + @VCF01) * (@MAC_ST * @MAC_SC * @MAC_IN * 100)) - -- (B) = ((MAC * 100) - 100) * Resa di fonderia * (costo pieno acquisto - costo di trasformazione)) - - ((@MAC_ST * @MAC_SC * @MAC_IN * 100) - 100) * rmd.ProcYield * (q.RawMatCost + q.RawMatExtraCost + @VCF01 - rmd.ProcCost) - ) / 100 -- divido per 100 finale - -- (C) = sottraggo costo pieno alluminio - - (q.RawMatCost + q.RawMatExtraCost + @VCF01) - FROM dbo.RawMatDet rmd - INNER JOIN dbo.QuoteRM q ON q.RawMat = rmd.RawMat - WHERE q.QuoteType = @QuoteType - AND q.CodQuote = @CodQuote - AND q.QuoteRev = @QuoteRev - AND q.RawMat = @RawMat - - SELECT @SellCostF04 = ((@MAC_IM) - 1) * (q.RawMatCost + q.RawMatExtraCost - CASE WHEN SSVA > 0 THEN SSVA ELSE q.RawMatCost * SSVR END + @VCF01 + @VCF04) -- ((prodotto delle MAC = inverso del prodotto delle rese) - 1) * (costo Al - prezzo rivendita + costi var fase 04) - , @RefCostF04 = -- ( (A - B) / 100 - C ) - ( - -- (A) = (costo pieno di acquisto + costi variabili fase 1 e 4) * MAC * 100 (IN CENTESIMI) - ((q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04) * (@MAC_IM * 100)) - -- (B) = ((MAC * 100) - 100) * Resa di fonderia * (costo pieno acquisto - costo di trasformazione)) - - ((@MAC_IM * 100) - 100) * rmd.ProcYield * (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04 - rmd.ProcCost) - ) / 100 -- divido per 100 finale - -- (C) = sottraggo costo pieno alluminio - - (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04) - - -- NOTA: usiamo (q.RawMatCost + q.RawMatExtraCost + @VCF01) e non (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @RefCostF01) perché la differenza è minimale, si tratta di 10/20 PPM... - - FROM dbo.RawMatDet rmd - INNER JOIN dbo.QuoteRM q ON q.RawMat = rmd.RawMat - WHERE q.QuoteType = @QuoteType - AND q.CodQuote = @CodQuote - AND q.QuoteRev = @QuoteRev - AND q.RawMat = @RawMat - - -- inserisco costi per VENDITA - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, 'VENDITA', @RawMat, @BatchQty, @SellCostF01 * @BatchQty, @SSR - - -- inserisco costi per ROTTAME - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, 'ROTTAME', @RawMat, @BatchQty, @RefCostF01 * @BatchQty, 1 - @SSR - - -- inserisco costi per VENDITA - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'VENDITA', @RawMat, @BatchQty, @SellCostF04 * @BatchQty, @SSR - - -- inserisco costi per ROTTAME - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'ROTTAME', @RawMat, @BatchQty, @RefCostF04 * @BatchQty, 1 - @SSR - - -- calcolo Package Cost e RMWeight da tab PackageDet - -- EXEC stp_packageCost @CodItem, @CodClient, @CodPackag, @PDesc=@PkgDesc OUTPUT, @RMWeight=@PRMWeight OUTPUT, @Weight=@PWeight OUTPUT, @Tare=@PTare OUTPUT, @PackCost=@PCost OUTPUT, @TareStRat=@PTareStRatio OUTPUT - -- stored sostituita perchè la maggior parte dei calcoli li ho già fatti - SELECT @PCost = RMCost / @PWeight - , @PRMWeight = RMWeight - , @PkgDesc = PackagDesc - , @PTareStRatio = ( RMWeight - @PTare) / @PWeight - FROM dbo.PackagDet - WHERE CodPackag = @CodPackag - - -- inserisco costi per IMBALLO - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'IMBALLO', @RawMat, @BatchQty, @PCost * @BatchQty, 1 - - - -- inserisco parametri calcolati x imballaggio - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'PkgDesc', @PkgDesc - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'PRMWeight', @PRMWeight - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'PWeight', @PWeight - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'PTare', @PTare - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'TareStRatio', @PTareStRatio - - - --------------------------------------------- - -- inserisco costi per TRASPORTI - --------------------------------------------- - -- recupero zona da cliente... - SELECT @TranspZone = TranspZone - FROM dbo.ClientDet - WHERE CodClient = @CodClient - - -- recupero tipo di trasporto - SELECT @HasTC = ISNULL(i.HasTC, 0) - FROM dbo.QuoteList q INNER JOIN Incoterms i ON q.CodInco = i.CodInco - WHERE q.QuoteType = @QuoteType - AND q.CodQuote = @CodQuote - AND q.QuoteRev = @QuoteRev - - -- recupero costi trasporto - SELECT @TranspCost = TranspCost - FROM dbo.TranspCostDet - WHERE TranspZone = @TranspZone - - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'TRASPORTI', @RawMat, @BatchQty, @HasTC * @TranspCost * @BatchQty, 1 - - - --------------------------------------------- - -- inserisco costi per PROVVIGIONI - --------------------------------------------- - SELECT @Provvig = ISNULL(a.QuotaProvvAg, 0) - FROM dbo.AgentsDet a - INNER JOIN ClientDet c ON a.CodAg = c.CodAg - INNER JOIN QuoteList q ON q.CodClient = c.CodClient - WHERE q.QuoteType = @QuoteType - AND q.CodQuote = @CodQuote - AND q.QuoteRev = @QuoteRev - - -- inserisco costi per PROVVIGIONI - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'PROVVIGIONI', @RawMat, @BatchQty, @Provvig * @BatchQty, 1 - - /* ================================================== - CARICO TABELLE EFFETTIVE - ==================================================*/ - - -- carico quote parametri! - INSERT dbo.QuoteParam - SELECT * FROM #QuoteParam - - -- carico lavorazioni INTERNE! - INSERT dbo.QuoteWorkInt -- ci sono valori calcolati quindi devo selezionare i campi - SELECT QuoteType, CodQuote, QuoteRev, NumWI, ProcessNum, CodPlant, Class01, Class02, Class03, Class04, Class05 - , NetProd, WSR, MSR, DSR, FC4UG, VC4UG, OH4UG, SC4UG, valid - FROM #QuoteWorkInt - - -- carico OTHERCOSTS - INSERT dbo.QuoteOC -- ci sono valori calcolati quindi devo selezionare i campi - SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, Class03, Class04 - , Class05, TotQty, TotCost, Quota, valid - FROM #QuoteOC - - - COMMIT TRAN - - --SELECT * FROM #QuoteParam - --SELECT * FROM #QuoteWorkInt - --SELECT * FROM #QuoteOC - - -- elimino temp table... - IF OBJECT_ID('tempdb..#QuoteParam') IS NOT NULL - DROP TABLE #QuoteParam - IF OBJECT_ID('tempdb..#QuoteWorkInt') IS NOT NULL - DROP TABLE #QuoteWorkInt - IF OBJECT_ID('tempdb..#QuoteOC') IS NOT NULL - DROP TABLE #QuoteOC - -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '' THEN @CodPlantFix ELSE tps.CodPlant END - , @HoleNum = tps.HoleNum - , @KeyAM = ql.KeyAM - , @KeyAMI = ql.KeyAM + '-' + ISNULL(@CodPlant,'0000') - , @KeyAMIL = ql.KeyAM + '-' + ISNULL(@CodPlant,'0000') + '-' + CAST(ISNULL(tps.HoleNum,0) AS NVARCHAR(10)) - , @ProdTeo = tps.ProdTeo - , @ScTec = tps.ScTec - , @KgTeo = tps.KgTeo - , @NumSMED = tps.NumSMED - , @RawMat = ql.RawMat - , @BatchQty = ql.BatchQty - , @ItemDescr= i.ItemDescr - FROM dbo.QuoteList ql - INNER JOIN dbo.TabProdSc tps ON ql.KeyAM = tps.KeyAM - INNER JOIN dbo.ItemDet i ON ql.CodItem = i.CodItem - WHERE ql.QuoteType = @QuoteType - AND ql.CodQuote = @CodQuote - AND ql.QuoteRev = @QuoteRev - ORDER BY tps.KgTeo DESC - - -- recupero da dati dell'offerta il valore del package scelto - SET @CodPackag = ( SELECT dbo.f_getCodPackag( @CodItem , @CodClient ) ) - - -- e aggiorno QuoteRM - UPDATE dbo.QuoteRM - SET CodPackag = @CodPackag - FROM dbo.QuoteRM - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'ItemDescr', @ItemDescr) - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'CodifProfilo', Class01 - FROM dbo.ItemDet - WHERE CodItem = @CodItem - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'ClasseMerc', Class02 - FROM dbo.ItemDet - WHERE CodItem = @CodItem - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'CodClientAssoc', Class03 - FROM dbo.ItemDet - WHERE CodItem = @CodItem - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'ClientNameAssoc', ClientDet.ClientName - FROM dbo.ItemDet INNER JOIN ClientDet ON ItemDet.Class03=ClientDet.CodClient - WHERE CodItem = @CodItem - - -- INFORMAZIONI su MATRICE - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'CodDiesGroup', @CodDiesGroup) - - SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 1) --@strTemp = SUBSTRING(@CodDiesGroup, 0, CHARINDEX('-', @CodDiesGroup)) -- !!!fare con finc Gian - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'TipoDies', @strTemp) - - SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 2) --@strTemp = SUBSTRING(REPLACE(@CodDiesGroup, @strTemp,''), 2, CHARINDEX('-', @CodDiesGroup)) -- !!!fare con finc Gian - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'DiamDies', @strTemp) - - SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 3) --@strTemp = SUBSTRING(REPLACE(@CodDiesGroup, @strTemp,''), 5, CHARINDEX('-', @CodDiesGroup)) -- !!!fare con finc Gian - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'HoleNumDies', @strTemp) - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'NumDiesInList', COUNT(CodDies) - FROM dbo.DiesDet - WHERE CodDiesGroup = @CodDiesGroup AND CodItem = @CodItem - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'NumDiesExaust', COUNT(CodDies) - FROM dbo.DiesDet - WHERE CodDiesGroup = @CodDiesGroup AND Active = 0 - - -- inserisco parametri calcolati x lavorazione estruzione - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'CodPlant', @CodPlant - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'KeyAM', @KeyAM - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'KeyAMIL', @KeyAMIL - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'NumSMED', @NumSMED - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'KgTeo', @KgTeo - - -- tolto: è duplicato di HoleNumDies - --INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - --SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'HoleNum', @HoleNum - - -- inserisco lavorazione estrusione! - INSERT INTO #QuoteWorkInt (QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03, NetProd, WSR) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, @KeyAM, @KeyAMIL, @RawMat, @ProdTeo, @ScTec - - INSERT INTO #QuoteParam (QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'KgProdotti', SUM(KgTeo) - FROM dbo.QuoteList ql - INNER JOIN dbo.TabProdSc tps ON ql.KeyAM = tps.KeyAM - WHERE ql.QuoteType = @QuoteType - AND ql.CodQuote = @CodQuote - AND ql.QuoteRev = @QuoteRev - - --SELECT @cont = @cont + 1 - --INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - --SELECT @QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'NumLotti', COUNT(*) - --FROM QuoteList ql INNER JOIN TabProdSc tps ON ql.KeyAM = tps.KeyAM - --WHERE ql.QuoteType = @QuoteType - -- AND ql.CodQuote = @CodQuote - -- AND ql.QuoteRev = @QuoteRev - - -- inserisco dati mancanti di MSR/CSR (scarto cesoia x estrusione) - DSR è NULLO x estrusione! - UPDATE qwi - SET MSR = rmd.CSR - FROM #QuoteWorkInt qwi - INNER JOIN dbo.RawMatDet rmd ON qwi.Class03 = rmd.RawMat - - -- calcolo i costi legati alla fase estrusione! - UPDATE qwi - SET FC4UG = (cp.FC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd - , VC4UG = (cp.VC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd - , OH4UG = (cp.OH * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd - , SC4UG = cp.SC / ql.BatchQty - FROM #QuoteWorkInt qwi - INNER JOIN dbo.Cost2Plant cp ON qwi.CodPlant = cp.CodPlant AND qwi.ProcessNum = cp.ProcessNum - INNER JOIN dbo.QuoteList ql ON qwi.QuoteType = ql.QuoteType AND qwi.CodQuote = ql.CodQuote AND qwi.QuoteRev = ql.QuoteRev - WHERE qwi.ProcessNum = '01' - - -- inserisco lavorazione incestatura! - INSERT INTO #QuoteWorkInt (QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03) - SELECT @QuoteType, @CodQuote, @QuoteRev, '02', @CodPlant, @KeyAM, @KeyAMI, @RawMat - - -- inserisco dati mancanti di DSR x incestatura come 1 - OUT/IN - UPDATE qwi - SET DSR = 1 - CAST(td.TotOUT AS DECIMAL(18,6))/CAST(td.TotIN AS DECIMAL(18,6)) - FROM #QuoteWorkInt qwi - INNER JOIN dbo.TabDifett td ON qwi.Class02 = td.KeyAMI AND qwi.ProcessNum = td.ProcessNum - WHERE qwi.ProcessNum = '02' -- solo incestatura - - -- inserisco lavorazione FORNO! - INSERT INTO #QuoteWorkInt(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03) - SELECT @QuoteType, @CodQuote, @QuoteRev, '03', @CodPlant, @KeyAM, @KeyAMI, @RawMat - - -- inserisco lavorazione imballo! - INSERT INTO #QuoteWorkInt(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03, Class04, Class05) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, @KeyAM, @KeyAMIL, @RawMat, @CodItem, @KeyAMI - - -- calcolo produttività netta nella fase imballo - UPDATE qwi - SET NetProd = CASE ti.Durata WHEN 0 THEN 0 ELSE ti.TotOut / ti.Durata END - FROM #QuoteWorkInt qwi - INNER JOIN dbo.TabImbArt ti ON qwi.Class04 = ti.KeyA - WHERE qwi.ProcessNum = '04' -- solo imballo - - -- Se Produttività netta ancora = 0 la leggo nella tabella Gruppo Imballo ( Packaging ) - IF ( SELECT NetProd FROM #QuoteWorkInt WHERE ProcessNum = '04' ) = 0 - BEGIN - UPDATE qwi - SET NetProd = CASE ti.Durata WHEN 0 THEN 0 ELSE ti.TotOut / ti.Durata END - FROM #QuoteWorkInt qwi - INNER JOIN dbo.TabImbGrp ti ON ti.CodPackag = @CodPackag -- packag generico dell' offerta - WHERE qwi.ProcessNum = '04' -- solo imballo - END - - -- salvo numero imballatori - SELECT @NumImb = ISNULL(NumImb,0) - FROM dbo.TabImbArt - WHERE KeyA = @CodItem - - -- parametro num imballatori - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'QuotaMan', @NumImb - - -- calcolo i costi legati alla fase di imballo! - -- QUI VA FATTO CALCOLO PUNTUALE SU quotaPlant tramite Articolo-Cliente / Articolo / Packaging - UPDATE qwi - SET FC4UG = (cp.FC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd - , VC4UG = (cp.VC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd - , OH4UG = (cp.OH * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd - , SC4UG = cp.SC / ql.BatchQty - FROM #QuoteWorkInt qwi - INNER JOIN dbo.Cost2Plant cp ON qwi.CodPlant = cp.CodPlant AND qwi.ProcessNum = cp.ProcessNum - INNER JOIN dbo.QuoteList ql ON qwi.QuoteType = ql.QuoteType AND qwi.CodQuote = ql.CodQuote AND qwi.QuoteRev = ql.QuoteRev - WHERE qwi.ProcessNum = '04' -- solo imballo - - -- inserisco dati mancanti di DSR x incestatura come 1 - OUT/IN - UPDATE qwi - SET DSR = 1 - CAST(td.TotOUT AS DECIMAL(18,6))/CAST(td.TotIN AS DECIMAL(18,6)) - FROM #QuoteWorkInt qwi - INNER JOIN dbo.TabDifett td ON qwi.Class05 = td.KeyAMI AND qwi.ProcessNum = td.ProcessNum - WHERE qwi.ProcessNum = '04' -- solo imballo - - -- recupero le MAC fase 01 - SELECT - @MAC_SC = MCR - ,@MAC_ST = WCR - FROM #QuoteWorkInt WITH (NOLOCK) - WHERE ProcessNum = '01' - - -- recupero le MAC fase 02 - SELECT - @MAC_IN = DCR - FROM #QuoteWorkInt WITH (NOLOCK) - WHERE ProcessNum = '02' - - -- recupero le MAC fase 04 - SELECT - @MAC_IM = DCR - FROM #QuoteWorkInt WITH (NOLOCK) - WHERE ProcessNum = '04' - - -- calcolo percentuale vendita rottame - SELECT @SSR = SSR - FROM dbo.RawMatDet - WHERE RawMat = @RawMat - - - -- NOTA : la transazione posso probabilmente iniziarla qui visto che è il - -- primo Update/insert/delete su tabelle non temporanee - - -- update rese RawMat! - UPDATE dbo.QuoteRM - SET FCR = @MAC_SC * @MAC_ST * @MAC_IN * @MAC_IM - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - AND RawMat = @RawMat - - -- inserisco i costi delle utilities in QuoteOC - - -- inserisco altri costi x lavorazione estrusione! GAS ed EE - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, CodUtil, @RawMat, @BatchQty, UnitCost * @BatchQty, 1 - FROM dbo.Utilities - WHERE CodPlant = @CodPlant - - - /************************************************************* - * MATRICE - * - * calcolo prezzo e durata matrice con procedura a 5 step... - * A) media ponderata prezzo ed ExpLife da DiesDet selezionando x CodItem + CodDiesGroup - * B) EOLLife x media ponderata su DiesDet dove Active = 0 - * C) SE prezzo = 0 --> prendo prezzo da DiesGroupDet selezionando x CodDiesGroup - * D) Se EOL = 0 --> prendo ExpLife della singola matrice, se è 0 --> prendo EOLLife da DiesGroupDet selezionando x CodDiesGroup - * E) Calcolo Price / Life - * - *************************************************************/ - - -- (A) da DiesDet - SELECT @DiesPrice = SUM(ISNULL(Price, 0) * ISNULL(ActLife, 1)) / SUM(ISNULL(ActLife, 1)), - @DiesExpLife = SUM(ISNULL(ExpLife, 0) * ISNULL(ActLife, 1)) / SUM(ISNULL(ActLife, 1)) - FROM dbo.DiesDet - WHERE CodItem = @CodItem - AND CodDiesGroup = @CodDiesGroup - GROUP BY CodItem, CodDiesGroup - - -- (B) da DiesDet - SELECT @DiesEOLife = AVG(ISNULL(ActLife, 0)) - FROM dbo.DiesDet - WHERE CodItem = @CodItem - AND CodDiesGroup = @CodDiesGroup - AND Active = 0 - GROUP BY CodItem, CodDiesGroup - - SET @DiesPrice = ISNULL(@DiesPrice,0) - SET @DiesExpLife = ISNULL(@DiesExpLife,0) - SET @DiesEOLife = ISNULL(@DiesEOLife,0) - - -- (C) verifico se prezzo è OK... - IF (@DiesPrice = 0) - BEGIN - -- calcolo da DiesGroupDet - SELECT @DiesPrice = ISNULL(Price, 0) - FROM DiesGroupDet - WHERE CodDiesGroup = @CodDiesGroup - END - - -- (D) verifico se vita è OK... - IF (@DiesEOLife = 0) - BEGIN - -- uso exp life articolo... - SET @DiesEOLife = @DiesExpLife - END - -- controllo che non sia nulla/vuota la durata... - IF (@DiesEOLife = 0) - BEGIN - SELECT @DiesEOLife = CASE WHEN EOLLife > 0 THEN EOLLife ELSE ExpLife END - FROM DiesGroupDet - WHERE CodDiesGroup = @CodDiesGroup - END - - -- controllo che non sia nulla/vuota la durata... - IF (@DiesEOLife = 0) - BEGIN - SET @DiesEOLife = 1 -- metto 1 kg che è sbagliato e mi fa esplodere prezzo matrice ma non blocca calcoli - END - - -- (E) Calcolo price/life! - SET @DiesPriceLife = @DiesPrice / @DiesEOLife - - -- (D) verifico se vita è OK... - IF (@DiesPriceLife = 0) - BEGIN - SET @DiesPriceLife = 1 - SET @valid = 0 - END - - -- inserisco costi per Matrice: costo e durata da matrice, se non ci sono da gruppo, (anche solo uno dei due, ovviamente più facile trovare durata x matrice...) - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota, valid) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, 'MATRICE', @RawMat, @BatchQty, @DiesPriceLife * @BatchQty, 1, @valid - - - -- inserisco parametri calcolati x matrice - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'DiesPrice', @DiesPrice - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'DiesExpLife', @DiesExpLife - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'DiesEOLife', @DiesEOLife - - /************************************************************* - * VENDITA ROTTAME - * - * calcolo COSTO DI VENDITA PER LE 2 FASI ESTRUSIONE 01 ED IMBALLO 04 - * - calcolo costi variabili fase 01 / 04 - * - calcolo costo di vendita x fase 01 / 04 - *************************************************************/ - - SELECT @OCF01 = SUM(ISNULL(C4UG,0)) - FROM #QuoteOC WITH (NOLOCK) - - SELECT @VCF01 = @OCF01 + VC4UG - FROM #QuoteWorkInt - WHERE ProcessNum = '01' - - SELECT @VCF04 = @OCF01 + SUM(VC4UG) - FROM #QuoteWorkInt - - SELECT @SellCostF01 = ((@MAC_ST * @MAC_SC * @MAC_IN) - 1) * (q.RawMatCost + q.RawMatExtraCost - CASE WHEN SSVA > 0 THEN SSVA ELSE q.RawMatCost * SSVR END + @VCF01) -- ((prodotto delle MAC = inverso del prodotto delle rese) - 1) * (costo Al - prezzo rivendita + costi var fase 01) - , @RefCostF01 = -- ( (A - B) / 100 - C ) - ( - -- (A) = (costo pieno di acquisto + costi fase 1) * MAC * 100 (IN CENTESIMI) - ((q.RawMatCost + q.RawMatExtraCost + @VCF01) * (@MAC_ST * @MAC_SC * @MAC_IN * 100)) - -- (B) = ((MAC * 100) - 100) * Resa di fonderia * (costo pieno acquisto - costo di trasformazione)) - - ((@MAC_ST * @MAC_SC * @MAC_IN * 100) - 100) * rmd.ProcYield * (q.RawMatCost + q.RawMatExtraCost + @VCF01 - rmd.ProcCost) - ) / 100 -- divido per 100 finale - -- (C) = sottraggo costo pieno alluminio - - (q.RawMatCost + q.RawMatExtraCost + @VCF01) - FROM dbo.RawMatDet rmd - INNER JOIN dbo.QuoteRM q ON q.RawMat = rmd.RawMat - WHERE q.QuoteType = @QuoteType - AND q.CodQuote = @CodQuote - AND q.QuoteRev = @QuoteRev - AND q.RawMat = @RawMat - - SELECT @SellCostF04 = ((@MAC_IM) - 1) * (q.RawMatCost + q.RawMatExtraCost - CASE WHEN SSVA > 0 THEN SSVA ELSE q.RawMatCost * SSVR END + @VCF01 + @VCF04) -- ((prodotto delle MAC = inverso del prodotto delle rese) - 1) * (costo Al - prezzo rivendita + costi var fase 04) - , @RefCostF04 = -- ( (A - B) / 100 - C ) - ( - -- (A) = (costo pieno di acquisto + costi variabili fase 1 e 4) * MAC * 100 (IN CENTESIMI) - ((q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04) * (@MAC_IM * 100)) - -- (B) = ((MAC * 100) - 100) * Resa di fonderia * (costo pieno acquisto - costo di trasformazione)) - - ((@MAC_IM * 100) - 100) * rmd.ProcYield * (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04 - rmd.ProcCost) - ) / 100 -- divido per 100 finale - -- (C) = sottraggo costo pieno alluminio - - (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04) - - -- NOTA: usiamo (q.RawMatCost + q.RawMatExtraCost + @VCF01) e non (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @RefCostF01) perché la differenza è minimale, si tratta di 10/20 PPM... - - FROM RawMatDet rmd INNER JOIN QuoteRM q ON q.RawMat = rmd.RawMat - WHERE q.QuoteType = @QuoteType - AND q.CodQuote = @CodQuote - AND q.QuoteRev = @QuoteRev - AND q.RawMat = @RawMat - - -- inserisco costi per VENDITA - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, 'VENDITA', @RawMat, @BatchQty, @SellCostF01 * @BatchQty, @SSR - - -- inserisco costi per ROTTAME - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, 'ROTTAME', @RawMat, @BatchQty, @RefCostF01 * @BatchQty, 1 - @SSR - - -- inserisco costi per VENDITA - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'VENDITA', @RawMat, @BatchQty, @SellCostF04 * @BatchQty, @SSR - - -- inserisco costi per ROTTAME - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'ROTTAME', @RawMat, @BatchQty, @RefCostF04 * @BatchQty, 1 - @SSR - - EXEC stp_packageCost @CodItem, @CodClient, @CodPackag, @PDesc=@PkgDesc OUTPUT, @RMWeight=@PRMWeight OUTPUT, @Weight=@PWeight OUTPUT, @Tare=@PTare OUTPUT, @PackCost=@PCost OUTPUT, @TareStRat=@PTareStRatio OUTPUT - - -- inserisco costi per IMBALLO - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'IMBALLO', @RawMat, @BatchQty, @PCost * @BatchQty, 1 - - - -- inserisco parametri calcolati x imballaggio - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'PkgDesc', @PkgDesc - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'PRMWeight', @PRMWeight - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'PWeight', @PWeight - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'PTare', @PTare - - INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'TareStRatio', @PTareStRatio - - - --------------------------------------------- - -- inserisco costi per TRASPORTI - --------------------------------------------- - -- recupero zona da cliente... - SELECT @TranspZone = TranspZone - FROM dbo.ClientDet - WHERE CodClient = @CodClient - - -- recupero tipo di trasporto - SELECT @HasTC = ISNULL(i.HasTC, 0) - FROM dbo.QuoteList q INNER JOIN Incoterms i ON q.CodInco = i.CodInco - WHERE q.QuoteType = @QuoteType - AND q.CodQuote = @CodQuote - AND q.QuoteRev = @QuoteRev - - -- recupero costi trasporto - SELECT @TranspCost = TranspCost - FROM dbo.TranspCostDet - WHERE TranspZone = @TranspZone - - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'TRASPORTI', @RawMat, @BatchQty, @HasTC * @TranspCost * @BatchQty, 1 - - - --------------------------------------------- - -- inserisco costi per PROVVIGIONI - --------------------------------------------- - SELECT @Provvig = ISNULL(a.QuotaProvvAg, 0) - FROM dbo.AgentsDet a - INNER JOIN ClientDet c ON a.CodAg = c.CodAg - INNER JOIN QuoteList q ON q.CodClient = c.CodClient - WHERE q.QuoteType = @QuoteType - AND q.CodQuote = @CodQuote - AND q.QuoteRev = @QuoteRev - - -- inserisco costi per PROVVIGIONI - INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'PROVVIGIONI', @RawMat, @BatchQty, @Provvig * @BatchQty, 1 - - /* ================================================== - CANCELLO E CARICO TABELLE EFFETTIVE - ==================================================*/ - - -- elimino e carico parametri! - DELETE FROM dbo.QuoteParam - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - INSERT dbo.QuoteParam - SELECT * FROM #QuoteParam WITH (NOLOCK) - - -- elimino e carico lavorazioni interne! - DELETE FROM dbo.QuoteWorkInt - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - INSERT dbo.QuoteWorkInt -- ci sono valori calcolati quindi devo selezionare i campi - SELECT QuoteType, CodQuote, QuoteRev, NumWI, ProcessNum, CodPlant, Class01, Class02, Class03, Class04, Class05 - , NetProd, WSR, MSR, DSR, FC4UG, VC4UG, OH4UG, SC4UG, valid - FROM #QuoteWorkInt WITH (NOLOCK) - - -- elimino e carico OtherCosts - DELETE FROM dbo.QuoteOC - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - INSERT dbo.QuoteOC -- ci sono valori calcolati quindi devo selezionare i campi - SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, Class03, Class04 - , Class05, TotQty, TotCost, Quota, valid - FROM #QuoteOC WITH (NOLOCK) - - - COMMIT TRAN - - --SELECT * FROM #QuoteParam - --SELECT * FROM #QuoteWorkInt - --SELECT * FROM #QuoteOC - - -- elimino temp table... - IF OBJECT_ID('tempdb..#QuoteParam') IS NOT NULL - DROP TABLE #QuoteParam - IF OBJECT_ID('tempdb..#QuoteWorkInt') IS NOT NULL - DROP TABLE #QuoteWorkInt - IF OBJECT_ID('tempdb..#QuoteOC') IS NOT NULL - DROP TABLE #QuoteOC - -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '' THEN @CodPlantFix ELSE tps.CodPlant END - , @HoleNum = tps.HoleNum - , @KeyAM = ql.KeyAM - , @KeyAMI = ql.KeyAM + '-' + ISNULL(@CodPlant,'0000') - , @KeyAMIL = ql.KeyAM + '-' + ISNULL(@CodPlant,'0000') + '-' + CAST(ISNULL(tps.HoleNum,0) AS NVARCHAR(10)) - , @ProdTeo = tps.ProdTeo - , @ScTec = tps.ScTec - , @KgTeo = tps.KgTeo - , @NumSMED = tps.NumSMED - , @RawMat = ql.RawMat - , @BatchQty = ql.BatchQty - , @ItemDescr= i.ItemDescr - FROM dbo.QuoteList ql - INNER JOIN dbo.TabProdSc tps ON ql.KeyAM = tps.KeyAM - INNER JOIN dbo.ItemDet i ON ql.CodItem = i.CodItem - WHERE ql.QuoteType = @QuoteType - AND ql.CodQuote = @CodQuote - AND ql.QuoteRev = @QuoteRev - ORDER BY tps.KgTeo DESC - - - -- inserisco note sull'articolo - SELECT @cont = ISNULL(MAX(NumP),0) + 1 - FROM dbo.QuoteParam - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - INSERT INTO dbo.QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - VALUES (@QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'ItemDescr', @ItemDescr) - - SELECT @cont = @cont + 1 - INSERT INTO dbo.QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'CodifProfilo', Class01 - FROM dbo.ItemDet - WHERE CodItem = @CodItem - - SELECT @cont = @cont + 1 - INSERT INTO dbo.QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'ClasseMerc', Class02 - FROM dbo.ItemDet - WHERE CodItem = @CodItem - - SELECT @cont = @cont + 1 - INSERT INTO dbo.QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'ClienteAssoc', Class03 - FROM dbo.ItemDet - WHERE CodItem = @CodItem - - -- INFORMAZIONI su MATRICE - SELECT @cont = @cont + 1 - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - VALUES (@QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'CodDiesGroup', @CodDiesGroup) - - SELECT @cont = @cont + 1 - SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 1) --@strTemp = SUBSTRING(@CodDiesGroup, 0, CHARINDEX('-', @CodDiesGroup)) -- !!!fare con finc Gian - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - VALUES (@QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'TipoDies', @strTemp) - - SELECT @cont = @cont + 1 - SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 2) --@strTemp = SUBSTRING(REPLACE(@CodDiesGroup, @strTemp,''), 2, CHARINDEX('-', @CodDiesGroup)) -- !!!fare con finc Gian - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - VALUES (@QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'DiamDies', @strTemp) - - SELECT @cont = @cont + 1 - SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 3) --@strTemp = SUBSTRING(REPLACE(@CodDiesGroup, @strTemp,''), 5, CHARINDEX('-', @CodDiesGroup)) -- !!!fare con finc Gian - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - VALUES (@QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'HoleNumDies', @strTemp) - - SELECT @cont = @cont + 1 - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'NumDiesInList', COUNT(CodDies) - FROM dbo.DiesDet - WHERE CodDiesGroup = @CodDiesGroup AND CodItem = @CodItem - - SELECT @cont = @cont + 1 - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'NumDiesExaust', COUNT(CodDies) - FROM dbo.DiesDet - WHERE CodDiesGroup = @CodDiesGroup AND Active = 0 - - - -- inserisco lavorazione estrusione! - INSERT INTO dbo.QuoteWorkInt(QuoteType, CodQuote, QuoteRev, NumWI, ProcessNum, CodPlant, Class01, Class02, Class03, NetProd, WSR) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumWI),0) + 1, '01', @CodPlant, @KeyAM, @KeyAMIL, @RawMat, @ProdTeo, @ScTec - FROM QuoteWorkInt - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - - -- inserisco parametri calcolati x lavorazione estruzione - INSERT INTO dbo.QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '01', 'CodPlant', @CodPlant - FROM dbo.QuoteParam - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '01', 'KeyAM', @KeyAM - FROM QuoteParam - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '01', 'KeyAMIL', @KeyAMIL - FROM QuoteParam - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '01', 'NumCambi', @NumSMED - FROM QuoteParam - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '01', 'KgTeo', @KgTeo - FROM QuoteParam - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '01', 'HoleNum', @HoleNum - FROM QuoteParam - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - SELECT @cont = ISNULL(MAX(NumP),0) + 1 - FROM QuoteParam - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'KgProdotti', SUM(KgTeo) - FROM QuoteList ql - INNER JOIN TabProdSc tps ON ql.KeyAM = tps.KeyAM - WHERE ql.QuoteType = @QuoteType - AND ql.CodQuote = @CodQuote - AND ql.QuoteRev = @QuoteRev - - --SELECT @cont = @cont + 1 - --INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - --SELECT @QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'NumLotti', COUNT(*) - --FROM QuoteList ql INNER JOIN TabProdSc tps ON ql.KeyAM = tps.KeyAM - --WHERE ql.QuoteType = @QuoteType - -- AND ql.CodQuote = @CodQuote - -- AND ql.QuoteRev = @QuoteRev - - -- inserisco dati mancanti di MSR/CSR (scarto cesoia x estrusione) - DSR è NULLO x estrusione! - UPDATE qwi - SET MSR = rmd.CSR - FROM dbo.QuoteWorkInt qwi - INNER JOIN RawMatDet rmd ON qwi.Class03 = rmd.RawMat - WHERE qwi.QuoteType = @QuoteType - AND qwi.CodQuote = @CodQuote - AND qwi.QuoteRev = @QuoteRev - - -- calcolo i costi legati alla fase estrusione! - UPDATE qwi - SET FC4UG = (cp.FC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd - , VC4UG = (cp.VC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd - , OH4UG = (cp.OH * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd - , SC4UG = cp.SC / ql.BatchQty - FROM dbo.QuoteWorkInt qwi - INNER JOIN Cost2Plant cp ON qwi.CodPlant = cp.CodPlant AND qwi.ProcessNum = cp.ProcessNum - INNER JOIN QuoteList ql ON qwi.QuoteType = ql.QuoteType AND qwi.CodQuote = ql.CodQuote AND qwi.QuoteRev = ql.QuoteRev - WHERE qwi.QuoteType = @QuoteType - AND qwi.CodQuote = @CodQuote - AND qwi.QuoteRev = @QuoteRev - - -- inserisco lavorazione incestatura! - INSERT INTO QuoteWorkInt(QuoteType, CodQuote, QuoteRev, NumWI, ProcessNum, CodPlant, Class01, Class02, Class03) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumWI),0) + 1, '02', @CodPlant, @KeyAM, @KeyAMI, @RawMat - FROM dbo.QuoteWorkInt - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - - -- inserisco dati mancanti di DSR x incestatura come 1 - OUT/IN - UPDATE qwi - SET DSR = 1 - CAST(td.TotOUT AS DECIMAL(18,6))/CAST(td.TotIN AS DECIMAL(18,6)) - FROM dbo.QuoteWorkInt qwi - INNER JOIN dbo.TabDifett td ON qwi.Class02 = td.KeyAMI AND qwi.ProcessNum = td.ProcessNum - WHERE qwi.ProcessNum = '02' -- solo incestatura - - -- inserisco lavorazione FORNO! - INSERT INTO dbo.QuoteWorkInt(QuoteType, CodQuote, QuoteRev, NumWI, ProcessNum, CodPlant, Class01, Class02, Class03) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumWI),0) + 1, '03', @CodPlant, @KeyAM, @KeyAMI, @RawMat - FROM dbo.QuoteWorkInt - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - -- inserisco lavorazione imballo! - INSERT INTO dbo.QuoteWorkInt(QuoteType, CodQuote, QuoteRev, NumWI, ProcessNum, CodPlant, Class01, Class02, Class03, Class04, Class05) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumWI),0) + 1, '04', @CodPlant, @KeyAM, @KeyAMIL, @RawMat, @CodItem, @KeyAMI - FROM dbo.QuoteWorkInt - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - -- calcolo produttività netta nella fase imballo - UPDATE qwi - SET NetProd = ti.TotOut/ ti.Durata - FROM dbo.QuoteWorkInt qwi - INNER JOIN TabImbArt ti ON qwi.Class04 = ti.KeyA - - -- salvo numero imballatori - SELECT @NumImb = ISNULL(NumImb,0) - FROM TabImbArt - WHERE KeyA = @CodItem - - -- parametro num imballatori - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '04', 'NumImballatori', @NumImb - FROM QuoteParam - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - -- calcolo i costi legati alla fase di imballo! - UPDATE qwi - SET FC4UG = (cp.FC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd - , VC4UG = (cp.VC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd - , OH4UG = (cp.OH * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd - , SC4UG = cp.SC / ql.BatchQty - FROM dbo.QuoteWorkInt qwi - INNER JOIN Cost2Plant cp ON qwi.CodPlant = cp.CodPlant AND qwi.ProcessNum = cp.ProcessNum - INNER JOIN QuoteList ql ON qwi.QuoteType = ql.QuoteType AND qwi.CodQuote = ql.CodQuote AND qwi.QuoteRev = ql.QuoteRev - WHERE qwi.ProcessNum = '04' -- solo imballo - - - -- inserisco dati mancanti di DSR x incestatura come 1 - OUT/IN - UPDATE qwi - SET DSR = 1 - CAST(td.TotOUT AS DECIMAL(18,6))/CAST(td.TotIN AS DECIMAL(18,6)) - FROM dbo.QuoteWorkInt qwi - INNER JOIN TabDifett td ON qwi.Class05 = td.KeyAMI AND qwi.ProcessNum = td.ProcessNum - WHERE qwi.ProcessNum = '04' -- solo imballo - - - -- recupero le MAC fase 01 - SELECT - @MAC_SC = MCR - ,@MAC_ST = WCR - FROM dbo.QuoteWorkInt - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - AND ProcessNum = '01' - - -- recupero le MAC fase 02 - SELECT - @MAC_IN = DCR - FROM dbo.QuoteWorkInt - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - AND ProcessNum = '02' - - -- recupero le MAC fase 04 - SELECT - @MAC_IM = DCR - FROM dbo.QuoteWorkInt - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - AND ProcessNum = '04' - - -- calcolo percentuale vendita rottame - SELECT @SSR = SSR - FROM dbo.RawMatDet - WHERE RawMat = @RawMat - - -- update rese RawMat! - UPDATE dbo.QuoteRM - SET FCR = @MAC_SC * @MAC_ST * @MAC_IN * @MAC_IM - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - AND RawMat = @RawMat - - - - - -- inserisco i costi delle utilities in QuoteOC - - -- inserisco altri costi x lavorazione estrusione! GAS ed EE - INSERT INTO dbo.QuoteOC(QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, ROW_NUMBER() OVER(ORDER BY CodUtil ASC) AS Row, '01', @CodPlant, CodUtil, @RawMat, @BatchQty, UnitCost * @BatchQty, 1 - FROM dbo.Utilities - WHERE CodPlant = @CodPlant - - - /************************************************************* - * MATRICE - * - * calcolo prezzo e durata matrice con procedura a 5 step... - * A) media ponderata prezzo ed ExpLife da DiesDet selezionando x CodItem + CodDiesGroup - * B) EOLLife x media ponderata su DiesDet dove Active = 0 - * C) SE prezzo = 0 --> prendo prezzo da DiesGroupDet selezionando x CodDiesGroup - * D) Se EOL = 0 --> prendo ExpLife della singola matrice, se è 0 --> prendo EOLLife da DiesGroupDet selezionando x CodDiesGroup - * E) Calcolo Price / Life - * - *************************************************************/ - - -- (A) da DiesDet - SELECT @DiesPrice = SUM(ISNULL(Price, 0) * ISNULL(ActLife, 1)) / SUM(ISNULL(ActLife, 1)), - @DiesExpLife = SUM(ISNULL(ExpLife, 0) * ISNULL(ActLife, 1)) / SUM(ISNULL(ActLife, 1)) - FROM dbo.DiesDet - WHERE CodItem = @CodItem - AND CodDiesGroup = @CodDiesGroup - GROUP BY CodItem, CodDiesGroup - - -- (B) da DiesDet - SELECT @DiesEOLife = AVG(ISNULL(ActLife, 0)) - FROM dbo.DiesDet - WHERE CodItem = @CodItem - AND CodDiesGroup = @CodDiesGroup - AND Active = 0 - GROUP BY CodItem, CodDiesGroup - - SET @DiesPrice = ISNULL(@DiesPrice,0) - SET @DiesExpLife = ISNULL(@DiesExpLife,0) - SET @DiesEOLife = ISNULL(@DiesEOLife,0) - - -- (C) verifico se prezzo è OK... - IF (@DiesPrice = 0) - BEGIN - -- calcolo da DiesGroupDet - SELECT @DiesPrice = ISNULL(Price, 0) - FROM DiesGroupDet - WHERE CodDiesGroup = @CodDiesGroup - END - - -- (D) verifico se vita è OK... - IF (@DiesEOLife = 0) - BEGIN - -- uso exp life articolo... - SET @DiesEOLife = @DiesExpLife - END - -- controllo che non sia nulla/vuota la durata... - IF (@DiesEOLife = 0) - BEGIN - SELECT @DiesEOLife = CASE WHEN EOLLife > 0 THEN EOLLife ELSE ExpLife END - FROM DiesGroupDet - WHERE CodDiesGroup = @CodDiesGroup - END - - -- controllo che non sia nulla/vuota la durata... - IF (@DiesEOLife = 0) - BEGIN - SELECT @DiesEOLife = 1 -- metto 1 kg che è sbagliato e mi fa esplodere prezzo matrice ma non blocca calcoli - END - - -- (E) Calcolo price/life! - SET @DiesPriceLife = @DiesPrice / @DiesEOLife - - -- (D) verifico se vita è OK... - IF (@DiesPriceLife = 0) - BEGIN - SET @DiesPriceLife = 1 - SET @valid = 0 - END - - -- inserisco costi per Matrice: costo e durata da matrice, se non ci sono da gruppo, (anche solo uno dei due, ovviamente più facile trovare durata x matrice...) - INSERT INTO QuoteOC(QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota, valid) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumEx),0) + 1, '01', @CodPlant, 'MATRICE', @RawMat, @BatchQty, @DiesPriceLife * @BatchQty, 1, @valid - FROM QuoteOC - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - - -- inserisco parametri calcolati x matrice - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '01', 'DiesPrice', @DiesPrice - FROM QuoteParam - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '01', 'DiesExpLife', @DiesExpLife - FROM QuoteParam - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '01', 'DiesEOLife', @DiesEOLife - FROM QuoteParam - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - /************************************************************* - * VENDITA ROTTAME - * - * calcolo COSTO DI VENDITA PER LE 2 FASI ESTRUSIONE 01 ED IMBALLO 04 - * - calcolo costi variabili fase 01 / 04 - * - calcolo costo di vendita x fase 01 / 04 - *************************************************************/ - - SELECT @OCF01 = SUM(ISNULL(C4UG,0)) - FROM QuoteOC - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - SELECT @VCF01 = @OCF01 + VC4UG - FROM QuoteWorkInt - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - AND ProcessNum = '01' - - SELECT @VCF04 = @OCF01 + SUM(VC4UG) - FROM dbo.QuoteWorkInt - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - SELECT @SellCostF01 = ((@MAC_ST * @MAC_SC * @MAC_IN) - 1) * (q.RawMatCost - CASE WHEN SSVA > 0 THEN SSVA ELSE q.RawMatCost * SSVR END + @VCF01) -- ((prodotto delle MAC = inverso del prodotto delle rese) - 1) * (costo Al - prezzo rivendita + costi var fase 01) - , @RefCostF01 = -- ( (A - B) / 100 - C ) - ( - -- (A) = (costo pieno di acquisto + costi fase 1) * MAC * 100 (IN CENTESIMI) - ((q.RawMatCost + q.RawMatExtraCost + @VCF01) * (@MAC_ST * @MAC_SC * @MAC_IN * 100)) - -- (B) = ((MAC * 100) - 100) * Resa di fonderia * (costo pieno acquisto - costo di trasformazione)) - - ((@MAC_ST * @MAC_SC * @MAC_IN * 100) - 100) * rmd.ProcYield * (q.RawMatCost + q.RawMatExtraCost + @VCF01 - rmd.ProcCost) - ) / 100 -- divido per 100 finale - -- (C) = sottraggo costo pieno alluminio - - (q.RawMatCost + q.RawMatExtraCost + @VCF01) - FROM dbo.RawMatDet rmd - INNER JOIN dbo.QuoteRM q ON q.RawMat = rmd.RawMat - WHERE q.QuoteType = @QuoteType - AND q.CodQuote = @CodQuote - AND q.QuoteRev = @QuoteRev - AND q.RawMat = @RawMat - - SELECT @SellCostF04 = ((@MAC_IM) - 1) * (q.RawMatCost - CASE WHEN SSVA > 0 THEN SSVA ELSE q.RawMatCost * SSVR END + @VCF01 + @VCF04) -- ((prodotto delle MAC = inverso del prodotto delle rese) - 1) * (costo Al - prezzo rivendita + costi var fase 04) - , @RefCostF04 = -- ( (A - B) / 100 - C ) - ( - -- (A) = (costo pieno di acquisto + costi fase 1) * MAC * 100 (IN CENTESIMI) - ((q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04) * (@MAC_IM * 100)) - -- (B) = ((MAC * 100) - 100) * Resa di fonderia * (costo pieno acquisto - costo di trasformazione)) - - ((@MAC_IM * 100) - 100) * rmd.ProcYield * (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04 - rmd.ProcCost) - ) / 100 -- divido per 100 finale - -- (C) = sottraggo costo pieno alluminio - - (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04) - - -- NOTA: usiamo (q.RawMatCost + q.RawMatExtraCost + @VCF01) e non (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @RefCostF01) perché la differenza è minimale, si tratta di 10/20 PPM... - - FROM RawMatDet rmd INNER JOIN QuoteRM q ON q.RawMat = rmd.RawMat - WHERE q.QuoteType = @QuoteType - AND q.CodQuote = @CodQuote - AND q.QuoteRev = @QuoteRev - AND q.RawMat = @RawMat - - -- inserisco costi per VENDITA - INSERT INTO QuoteOC(QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumEx),0) + 1, '01', @CodPlant, 'VENDITA', @RawMat, @BatchQty, @SellCostF01 * @BatchQty, @SSR - FROM QuoteOC - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - -- inserisco costi per ROTTAME - INSERT INTO QuoteOC(QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumEx),0) + 1, '01', @CodPlant, 'ROTTAME', @RawMat, @BatchQty, @RefCostF01 * @BatchQty, 1 - @SSR - FROM QuoteOC - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - -- inserisco costi per VENDITA - INSERT INTO QuoteOC(QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumEx),0) + 1, '04', @CodPlant, 'VENDITA', @RawMat, @BatchQty, @SellCostF04 * @BatchQty, @SSR - FROM QuoteOC - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - -- inserisco costi per ROTTAME - INSERT INTO QuoteOC(QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumEx),0) + 1, '04', @CodPlant, 'ROTTAME', @RawMat, @BatchQty, @RefCostF04 * @BatchQty, 1 - @SSR - FROM dbo.QuoteOC - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - - EXEC stp_packageCost @CodItem, @CodClient, @CodPackag, @PDesc=@PkgDesc OUTPUT, @RMWeight=@PRMWeight OUTPUT, @Weight=@PWeight OUTPUT, @Tare=@PTare OUTPUT, @PackCost=@PCost OUTPUT, @TareStRat=@PTareStRatio OUTPUT - - -- inserisco costi per IMBALLO - INSERT INTO QuoteOC(QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumEx),0) + 1, '04', @CodPlant, 'IMBALLO', @RawMat, @BatchQty, @PCost * @BatchQty, 1 - FROM dbo.QuoteOC - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - -- inserisco parametri calcolati x imballaggio - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '04', 'PkgDesc', @PkgDesc - FROM QuoteParam - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '04', 'RMWeight', @PRMWeight - FROM QuoteParam - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '04', 'PWeight', @PWeight - FROM QuoteParam - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '04', 'PTare', @PTare - FROM QuoteParam - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '04', 'TareStRatio', @PTareStRatio - FROM QuoteParam - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - - --------------------------------------------- - -- inserisco costi per TRASPORTI - --------------------------------------------- - -- recupero zona da cliente... - SELECT @TranspZone = TranspZone - FROM dbo.ClientDet - WHERE CodClient = @CodClient - - -- recupero tipo di trasporto - SELECT @HasTC = ISNULL(i.HasTC, 0) - FROM QuoteList q INNER JOIN Incoterms i ON q.CodInco = i.CodInco - WHERE q.QuoteType = @QuoteType - AND q.CodQuote = @CodQuote - AND q.QuoteRev = @QuoteRev - - -- recupero costi trasporto - SELECT @TranspCost = TranspCost - FROM dbo.TranspCostDet - WHERE TranspZone = @TranspZone - - INSERT INTO QuoteOC(QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumEx),0) + 1, '04', @CodPlant, 'TRASPORTI', @RawMat, @BatchQty, @HasTC * @TranspCost * @BatchQty, 1 - FROM dbo.QuoteOC - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - - --------------------------------------------- - -- inserisco costi per PROVVIGIONI - --------------------------------------------- - SELECT @Provvig = ISNULL(a.QuotaProvvAg, 0) - FROM dbo.AgentsDet a - INNER JOIN ClientDet c ON a.CodAg = c.CodAg - INNER JOIN QuoteList q ON q.CodClient = c.CodClient - WHERE q.QuoteType = @QuoteType - AND q.CodQuote = @CodQuote - AND q.QuoteRev = @QuoteRev - - -- inserisco costi per PROVVIGIONI - INSERT INTO QuoteOC(QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota) - SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumEx),0) + 1, '04', @CodPlant, 'PROVVIGIONI', @RawMat, @BatchQty, @Provvig * @BatchQty, 1 - FROM dbo.QuoteOC - WHERE QuoteType = @QuoteType - AND CodQuote = @CodQuote - AND QuoteRev = @QuoteRev - - - - COMMIT TRAN - -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' +CONVERT(NVARCHAR(20), @dateTo, 120) - FROM RevHistory - WHERE RevType = 'P' - - COMMIT TRAN - -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' +CONVERT(NVARCHAR(20), @dateTo, 120) - FROM RevHistory - WHERE RevType = 'P' - - COMMIT TRAN - -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ' +CONVERT(NVARCHAR(20), @dateTo, 120) - FROM RevHistory - WHERE RevType = 'P' - - COMMIT TRAN - -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - delete from tmp.ItemsRaw - where CodItem IN - ( - SELECT CodItem - FROM ( SELECT DISTINCT * FROM tmp.ItemsRaw ) AS a - GROUP BY CodItem - having COUNT(*)>1 - ) - - - -- ========================================== - -- CARICO DATI IN RAW ( da Char a Tipi corretti ) - -- ========================================== - exec tmp.convertClientsRaw - exec tmp.convertTranspCostRaw - exec tmp.convertItemsRaw - exec tmp.convertProductionLogRaw - exec tmp.convertPackagRaw - exec tmp.convertDiesRaw - - -- necessario se integriamo i dati x i gruppi di matrici con un file - exec tmp.convertDiesGroupRaw - - select top 10 * FROM ext.ProductionLogRaw - select * FROM ext.ClientsRaw - select * FROM ext.ItemsRaw - select * FROM ext.PackagRaw - select * FROM ext.DiesRaw - SELECT * FROM ext.DiesGroupRaw - - -- elimino a mano dato con oltre 68 anni di evento... - select * - --delete - from ext.ProductionLogRaw - where DATEDIFF(YEAR,EventStart,EventEnd)> 10 - - exec ext.stp_mergeAgentsDet - exec ext.stp_mergeClientDet 'ProductionLogRaw' - exec ext.stp_mergeClientDet 'ClientsRaw' - exec ext.stp_mergeTranspCostDet 'TranspCostRaw' - exec ext.stp_mergePlantsDet - exec ext.stp_mergeCost2Plant - exec ext.stp_mergeItemDet 'ItemsRaw' - exec ext.stp_mergePackagDet 'ProductionLogRaw' -- 'PackagRaw' - exec ext.stp_mergePackage2ItemClient 'ProductionLog', @dateFrom, @dateTo - exec ext.stp_mergePackage2Item 'ProductionLog', @dateFrom, @dateTo - exec ext.stp_mergePackage2 'ProductionLog', @dateFrom, @dateTo - - exec ext.stp_mergeDiesDet - -- se ricarico diesgroup... ricarico solo i campi che nel file sono <> '' - exec ext.stp_mergeDiesGroupDet - - exec ext.stp_mergeRawMat - exec ext.stp_updateProductionLog - - ---- aggiorno quota agenti a 0.037 - ----update AgentsDet set quotaperc=0.0374 - - - SELECT DISTINCT dr.CodItem FROM ext.DiesRaw dr LEFT OUTER JOIN ItemDet id ON dr.CodItem = id.CodItem - where id.CodItemGroup is null - - select * from ClientDet - select * from ItemDet - select * from Package2ItemClient - select * from Package2Item - select * from Package2 - select * from PackagDet - select * from DiesGroupDet where EOLLife > 0 - select * from DiesDet - select * from DiesGroupDet - select * from AgentsDet - select * from PlantsDet - select * from Cost2Plant - select * from utilities - select top 100 * from ProductionLog - - --update tmp.ProductionLogRaw - --set - -- okPr = 1 - -- , okDi = 1 - -- , okQM = 1 - -- , okSc = 1 - - select distinct ProcessNum from ProductionLog - - select top 10 * from ext.ProductionLogRaw - - - ---- fix errore packaging - --update tmp.ProductionLogRaw - --SET CodPackag='4' - --where CodPackag LIKE '%4%' and CodPackag <> '4' - --select * from tmp.ProductionLogRaw where CodPackag LIKE '%4%' and CodPackag <> '4' - - SELECT p.CodDies, CodItem, CodClient, CodPackag, p.* FROM ext.ProductionLogRaw AS p - LEFT JOIN dbo.DiesDet AS d ON p.CodDies = d.CodDies - WHERE CodItem IS NULL - - - - -- parte CALCOLI!!! - - select * from QuoteList - - select * from ClientDet where CodClient='05000001048' - - select * from itemdet - where CodItem like '1PT00102%' - - select * from RawMatDet - - - --Q 1312130001 0 05000001048 1PT00102 A 7020 7673,400 1000 CPT NULL NULL NULL NULL - - SELECT --TOP 10 - dd.CodItem, pl.RawMat, dd.CodItem + '-' + pl.RawMat as KeyAM, dd.CodDiesGroup, pl.CodPlant, dd.HoleNum - ,dd.CodItem + '-' + pl.RawMat + '-' + pl.CodPlant + '-' + CAST(dd.HoleNum AS NVARCHAR(19)) as KeyAMIL - ,0 as NumSMED -- numero cambi, da sistemare... - , SUM(QtyOUT) as KgTeorici, SUM(Duration) AS Durata - ,ISNULL(SUM(QtyOUT),0)/ISNULL(SUM(Duration), 1) as ProduttTeo - FROM ProductionLog pl INNER JOIN DiesDet dd ON pl.CodDies=dd.CodDies - WHERE pl.ProcessNum='01' and pl.EventType=1 - GROUP BY dd.CodItem, pl.RawMat, dd.CodDiesGroup, pl.CodPlant, dd.HoleNum - ORDER BY dd.CodItem, pl.RawMat, dd.CodDiesGroup, SUM(QtyOUT) DESC - - -- ========================================== - -- re-insert dei dati di produzione x statistiche - -- ========================================== - exec stp_TPS_upsert @dateFrom, @dateTo - exec stp_TD_upsert @dateFrom , @dateTo --- exec stp_TI_upsert @dateFrom , @dateTo -- adesso sono già calcolati e inseriti in Package2 / Package2Item - - -- ========================================== - -- salvo nuova revisione dati di produzione... - -- Va messa in ogni procedura di update con 'procedura' e versione anno-mese-giorno - -- ========================================== - INSERT INTO RevHistory - SELECT 'P', ISNULL(MAX(RevNum),0) + 1, GETDATE(), 'Aggiornamento dati di produzione x fase 04 ' + CONVERT(NVARCHAR(20), @dateFrom, 120) + ' --> ' +CONVERT(NVARCHAR(20), @dateTo, 120) - FROM RevHistory - WHERE RevType = 'P' - - - select * from RevHistory - - -- simulazione tempo di calcolo: circa 50/sec - ---- aggiornamento dei dati dell'offerta in oggetto - --DECLARE @tick DATETIME, - -- @idx INT = 100 - --SET @tick = GETDATE() - --WHILE @idx > 0 - --BEGIN - -- EXEC stp_QL_update 'Q', 1312130001, 0 - -- SELECT @idx = @idx - 1 - --END - --SELECT GETDATE() - @tick as tempo - - DECLARE @QuoteType CHAR(1) = 'Q', - @CodQuote BIGINT = 1312130001, - @QuoteRev INT = 0 - - EXEC stp_QL_update @QuoteType, @CodQuote, @QuoteRev - SELECT * FROM QuoteList WHERE QuoteType=@QuoteType AND CodQuote = @CodQuote AND QuoteRev = @QuoteRev - SELECT * FROM QuoteRM WHERE QuoteType=@QuoteType AND CodQuote = @CodQuote AND QuoteRev = @QuoteRev - SELECT * FROM QuoteWorkInt WHERE QuoteType=@QuoteType AND CodQuote = @CodQuote AND QuoteRev = @QuoteRev - SELECT * FROM QuoteWorkExt WHERE QuoteType=@QuoteType AND CodQuote = @CodQuote AND QuoteRev = @QuoteRev - SELECT * FROM QuoteOC WHERE QuoteType=@QuoteType AND CodQuote = @CodQuote AND QuoteRev = @QuoteRev - SELECT * FROM QuoteParam WHERE QuoteType=@QuoteType AND CodQuote = @CodQuote AND QuoteRev = @QuoteRev - - select top 10 * from ItemDet - - SELECT * FROM RawMatDet - - SELECT top 10 * FROM TabProdSc - SELECT top 10 * FROM TabDifett --- SELECT * FROM TabImbArt --- SELECT * FROM TabImbGrp - SELECT * FROM PackagDet - SELECT * FROM Package2 - - ---- test gestione selezione CodPackag corretto - --SELECT TOP 5 * FROM Package2ItemClient - --SELECT TOP 5 * FROM Package2Item - --SELECT TOP 5 * FROM Package2 - - SELECT dbo.f_getCodPackag('1EL00005', '05000001048') - --SELECT dbo.f_getCodPackag('1AN00001', '05000000137') - - - -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '')]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '')]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 - BEGIN - WHILE @Riga <= @TotRighe - BEGIN - SELECT @WhereCond = WhereCond FROM #tmpTable WHERE Riga = @Riga - - SET @Sql = @Sql + ' OR ' + @WhereCond; - SET @Riga = @Riga + 1; - END - END - - -- Ritorno la select eseguita - SELECT @Sql - -- ======================================================= - -- Eseguo la select/delete e ritorno i record elaborati - -- ======================================================= - EXEC sp_executesql @Sql - SELECT @@ROWCOUNT - --- SELECT * FROM ext.ProductionLogRaw_KO - - IF OBJECT_ID('tempdb..#tmpTable') IS NOT NULL - DROP TABLE #tmpTable -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5000 THEN ActLife END ),0 ) AS EOLLife -- solo Matrici rottamate e vita > 5000KG - FROM dbo.DiesDet - GROUP BY CodDiesGroup - ) AS Source - ON Target.CodDiesGroup = Source.CodDiesGroup - WHEN MATCHED THEN - UPDATE SET CodDiesGroup = Source.CodDiesGroup, Price = Source.Price, QtyTot = Source.QtyTot - , QtyEOL = Source.QtyEOL, ExpLife = Source.ExpLife, EOLLife = Source.EOLLife - , DateMod = GETDATE(), UserMod = 'IMPORT_DiesRaw' - - WHEN NOT MATCHED BY TARGET THEN - INSERT ( CodDiesGroup, Price, QtyTot, QtyEOL, ExpLife, EOLLife, DateMod ,UserMod ) - VALUES ( CodDiesGroup, Source.Price, Source.QtyTot, Source.QtyEOL, Source.ExpLife, Source.EOLLife, GETDATE(), 'IMPORT_DiesRaw' ) -- mi da errori in calcoli successivi altrimenti con zero a ExpLife e EOLLife - OUTPUT $action INTO @SummaryOfChanges; - - - ---- a questo punto calcolo il VERO update dalle inforamzioni di dbo.DiesDet --> dbo.DiesGroupDet - --MERGE INTO dbo.DiesGroupDet AS Target - --USING ( - -- SELECT coddiesgroup, - -- Avg(Isnull(price, 0)) AS Price, - -- Count(*) AS QtyTot, - -- Count(*) - Sum(Active) AS QtyEOL, - -- Avg(Isnull(ExpLife, 0.1)) AS ExpLife, -- mi da errori in calcoli successivi altrimenti con zero a ExpLife e EOLLife - -- Sum(Isnull(ActLife * (1 - Active), 0)) / (Count(*) - Sum(Active)) AS EOLLife - -- FROM dbo.DiesDet - -- WHERE ActLife > 5000 - -- GROUP BY CodDiesGroup - -- HAVING Count(*) > Sum(Active) -- ci siano rottamate - -- ) - -- AS Source - --ON Target.CodDiesGroup = Source.CodDiesGroup - --WHEN MATCHED THEN - -- UPDATE SET Price = Source.Price, QtyTot = Source.QtyTot, QtyEOL = Source.QtyEOL, ExpLife = Source.ExpLife, EOLLife = Source.EOLLife - --OUTPUT $action INTO @SummaryOfChanges; - - COMMIT tran - - -- Query the results of the table variable. - SELECT Change, COUNT(*) AS CountPerChange - FROM @SummaryOfChanges - GROUP BY Change; -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0 ( li ritengo come non passati ) - MERGE INTO dbo.DiesGroupDet AS Target - USING ( SELECT * FROM ext.DiesGroupRaw ) - AS Source - ON Target.CodDiesGroup = Source.CodDiesGroup - WHEN MATCHED THEN - UPDATE SET Price = CASE Source.Price WHEN 0 THEN Target.Price ELSE Source.Price END - , QtyTot = CASE Source.QtyTot WHEN 0 THEN Target.QtyTot ELSE Source.QtyTot END - , QtyEOL = CASE Source.QtyEOL WHEN 0 THEN Target.QtyEOL ELSE Source.QtyEOL END - , ExpLife = CASE Source.ExpLife WHEN 0 THEN Target.ExpLife ELSE Source.ExpLife END - , EOLLife = CASE Source.EOLLife WHEN 0 THEN Target.EOLLife ELSE Source.EOLLife END - , DateMod = GETDATE() - , UserMod = 'UPDATE_DiesGroupRaw' - WHEN NOT MATCHED BY TARGET THEN - INSERT ( CodDiesGroup, Price, QtyTot, QtyEOL, ExpLife, EOLLife, DateMod, UserMod ) - VALUES ( Source.CodDiesGroup, Source.Price, Source.QtyTot, Source.QtyEOL, Source.ExpLife, Source.EOLLife, GETDATE(), 'INSERT_DiesGroupRaw' ) --- VALUES ( CodDiesGroup, 0, 1, 0, 0.1, 0.1 ) -- mi da errori in calcoli successivi altrimenti con 0 a ExpLife e EOLLife - OUTPUT $action INTO @SummaryOfChanges; - - COMMIT TRAN - - -- Query the results of the table variable. - SELECT Change, COUNT(*) AS CountPerChange - FROM @SummaryOfChanges - GROUP BY Change; -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '' - --GROUP BY plr.CodPackag - SELECT - pl.CodPackag - , SUM(QtyOUT) AS TotQta --- , COUNT(*) AS NumEv - , SUM(QtyOUT) / COUNT(*) AS PesoMedio - , SUM(QtyEXT) / COUNT(*) AS TaraMedia - - -- dati produttività imballo - , ROUND(SUM(QtyOUT * QuotaMan) / CASE WHEN SUM(QtyOUT) = 0 THEN 1 ELSE SUM(QtyOUT) END,0) as NumImb - -- , SUM(QtyOUT) AS TotOut -- unificata a TotQta - , SUM(Duration) AS Durata - FROM ProductionLog pl - INNER JOIN DiesDet dd ON pl.CodDies=dd.CodDies - WHERE pl.ProcessNum = '04' - AND pl.okPr = 1 AND pl.okQM = 1 - AND ISNULL(pl.CodPackag, '') <> '' -- cmq filtro righe con package VUOTO - AND pl.EventStart BETWEEN @dateFrom AND @dateTo - GROUP BY pl.CodPackag - ) - AS Source - ON Target.CodPackag = Source.CodPackag - WHEN MATCHED THEN - UPDATE SET TotQta = Source.TotQta - , [Weight] = Source.PesoMedio - , Tare = Source.TaraMedia - , NumImb = Source.NumImb - , Durata = Source.Durata - WHEN NOT MATCHED BY TARGET THEN - INSERT (CodPackag, TotQta, [Weight], Tare, NumImb, Durata) - VALUES (CodPackag, TotQta, PesoMedio, TaraMedia, NumImb, Durata) - WHEN NOT MATCHED BY SOURCE THEN - DELETE - OUTPUT $action INTO @SummaryOfChanges; - - END - --ELSE IF @source = 'ItemsRaw' -- carico da anagrafica - -- BEGIN - -- MERGE INTO Item2Package AS Target - -- USING (SELECT CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup FROM ItemsRaw) - -- AS Source - -- ON Target.CodItem = Source.CodItem - -- WHEN MATCHED THEN - -- UPDATE SET ItemDescr = Source.ItemDescr, CodPlant = Source.CodPlant, UnitWeight = Source.UnitWeight, CodItemGroup = Source.CodItemGroup - -- WHEN NOT MATCHED BY TARGET THEN - -- INSERT (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup) VALUES (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup) - -- OUTPUT $action INTO @SummaryOfChanges; - - -- END - - -- Query the results of the table variable. - SELECT Change, COUNT(*) AS CountPerChange - FROM @SummaryOfChanges - GROUP BY Change; -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '' - -- GROUP BY plr.CodPackag - -- ) - -- AS Source - -- ON Target.CodPackag = Source.CodPackag - -- WHEN MATCHED THEN - -- UPDATE SET TotQty = Source.TotQta - -- , [Weight] = Source.PesoMedio - -- , Tare = Source.TaraMedia - -- WHEN NOT MATCHED BY TARGET THEN - -- INSERT (CodPackag, TotQty, [Weight], Tare) VALUES (CodPackag, TotQta, PesoMedio, TaraMedia) - -- OUTPUT $action INTO @SummaryOfChanges; - - -- END - ----ELSE IF @source = 'ItemsRaw' -- carico da anagrafica - ---- BEGIN - ---- MERGE INTO Item2Package AS Target - ---- USING (SELECT CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup FROM ItemsRaw) - ---- AS Source - ---- ON Target.CodItem = Source.CodItem - ---- WHEN MATCHED THEN - ---- UPDATE SET ItemDescr = Source.ItemDescr, CodPlant = Source.CodPlant, UnitWeight = Source.UnitWeight, CodItemGroup = Source.CodItemGroup - ---- WHEN NOT MATCHED BY TARGET THEN - ---- INSERT (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup) VALUES (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup) - ---- OUTPUT $action INTO @SummaryOfChanges; - - ---- END - - ---- Query the results of the table variable. - --SELECT Change, COUNT(*) AS CountPerChange - --FROM @SummaryOfChanges - --GROUP BY Change; -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '' - --GROUP BY dd.CodItem, plr.CodPackag - SELECT - dd.CodItem - , pl.CodPackag - , SUM(QtyOUT) AS TotQta - -- , COUNT(*) AS NumEv - , SUM(QtyOUT) / COUNT(*) AS PesoMedio - , SUM(QtyEXT) / COUNT(*) AS TaraMedia - -- dati produttività imballo - , ROUND(SUM(QtyOUT* QuotaMan) / CASE WHEN SUM(QtyOUT) = 0 THEN 1 ELSE SUM(QtyOUT) END,0) as NumImb - , SUM(Duration) AS Durata - FROM ProductionLog pl - INNER JOIN DiesDet dd ON pl.CodDies=dd.CodDies - WHERE pl.ProcessNum = '04' - AND pl.okPr = 1 AND pl.okQM = 1 - AND ISNULL(pl.CodPackag, '') <> '' - AND pl.EventStart BETWEEN @dateFrom AND @dateTo - GROUP BY dd.CodItem, pl.CodPackag - ) - AS Source - ON Target.CodItem = Source.CodItem AND Target.CodPackag = Source.CodPackag - WHEN MATCHED THEN - UPDATE SET TotQta = Source.TotQta - , [Weight] = Source.PesoMedio - , Tare = Source.TaraMedia - , NumImb = Source.NumImb - , Durata = Source.Durata - WHEN NOT MATCHED BY TARGET THEN - INSERT (CodItem, CodPackag, TotQta, [Weight], Tare, NumImb, Durata) - VALUES (CodItem, CodPackag, TotQta, PesoMedio, TaraMedia, NumImb, Durata) - WHEN NOT MATCHED BY SOURCE THEN - DELETE - OUTPUT $action INTO @SummaryOfChanges; - - END - --ELSE IF @source = 'ItemsRaw' -- carico da anagrafica - -- BEGIN - -- MERGE INTO Item2Package AS Target - -- USING (SELECT CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup FROM ItemsRaw) - -- AS Source - -- ON Target.CodItem = Source.CodItem - -- WHEN MATCHED THEN - -- UPDATE SET ItemDescr = Source.ItemDescr, CodPlant = Source.CodPlant, UnitWeight = Source.UnitWeight, CodItemGroup = Source.CodItemGroup - -- WHEN NOT MATCHED BY TARGET THEN - -- INSERT (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup) VALUES (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup) - -- OUTPUT $action INTO @SummaryOfChanges; - - -- END - - -- Query the results of the table variable. - SELECT Change, COUNT(*) AS CountPerChange - FROM @SummaryOfChanges - GROUP BY Change; -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '' - -- GROUP BY dd.CodItem, plr.CodPackag - -- ) - -- AS Source - -- ON Target.CodItem = Source.CodItem AND Target.CodPackag = Source.CodPackag - -- WHEN MATCHED THEN - -- UPDATE SET TotQty = Source.TotQta - -- , [Weight] = Source.PesoMedio - -- , Tare = Source.TaraMedia - -- WHEN NOT MATCHED BY TARGET THEN - -- INSERT (CodItem, CodPackag, TotQty, [Weight], Tare) VALUES (CodItem, CodPackag, TotQta, PesoMedio, TaraMedia) - -- OUTPUT $action INTO @SummaryOfChanges; - - -- END - ----ELSE IF @source = 'ItemsRaw' -- carico da anagrafica - ---- BEGIN - ---- MERGE INTO Item2Package AS Target - ---- USING (SELECT CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup FROM ItemsRaw) - ---- AS Source - ---- ON Target.CodItem = Source.CodItem - ---- WHEN MATCHED THEN - ---- UPDATE SET ItemDescr = Source.ItemDescr, CodPlant = Source.CodPlant, UnitWeight = Source.UnitWeight, CodItemGroup = Source.CodItemGroup - ---- WHEN NOT MATCHED BY TARGET THEN - ---- INSERT (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup) VALUES (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup) - ---- OUTPUT $action INTO @SummaryOfChanges; - - ---- END - - ---- Query the results of the table variable. - --SELECT Change, COUNT(*) AS CountPerChange - --FROM @SummaryOfChanges - --GROUP BY Change; -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '' - --GROUP BY dd.CodItem, plr.CodClient, plr.CodPackag - SELECT - dd.CodItem - , pl.CodClient - , pl.CodPackag - , SUM(QtyOUT) AS TotQta - -- , COUNT(*) AS NumEv - , SUM(QtyOUT) / COUNT(*) AS PesoMedio - , SUM(QtyEXT) / COUNT(*) AS TaraMedia - -- dati produttività imballo - , ROUND(SUM(QtyOUT* QuotaMan) / CASE WHEN SUM(QtyOUT) = 0 THEN 1 ELSE SUM(QtyOUT) END,0) as NumImb - , SUM(Duration) AS Durata - FROM dbo.ProductionLog pl - INNER JOIN dbo.DiesDet dd ON pl.CodDies=dd.CodDies - - WHERE pl.ProcessNum = '04' - AND pl.okPr = 1 AND pl.okQM = 1 - AND ISNULL(pl.CodPackag, '') <> '' - AND pl.EventStart BETWEEN @dateFrom AND @dateTo - GROUP BY dd.CodItem, pl.CodClient, pl.CodPackag - - ) - AS Source - ON Target.CodItem = Source.CodItem AND Target.CodClient = Source.CodClient AND Target.CodPackag = Source.CodPackag - WHEN MATCHED THEN - UPDATE SET TotQta = Source.TotQta - , [Weight] = Source.PesoMedio - , Tare = Source.TaraMedia - , NumImb = Source.NumImb - , Durata = Source.Durata - WHEN NOT MATCHED BY TARGET THEN - INSERT (CodItem, CodClient, CodPackag, TotQta, [Weight], Tare, NumImb, Durata) - VALUES (CodItem, CodClient, CodPackag, TotQta, PesoMedio, TaraMedia, NumImb, Durata) - WHEN NOT MATCHED BY SOURCE THEN - DELETE - OUTPUT $action INTO @SummaryOfChanges; - - END - --ELSE IF @source = 'ItemsRaw' -- carico da anagrafica - -- BEGIN - -- MERGE INTO Item2PackageClient AS Target - -- USING (SELECT CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup FROM ItemsRaw) - -- AS Source - -- ON Target.CodItem = Source.CodItem - -- WHEN MATCHED THEN - -- UPDATE SET ItemDescr = Source.ItemDescr, CodPlant = Source.CodPlant, UnitWeight = Source.UnitWeight, CodItemGroup = Source.CodItemGroup - -- WHEN NOT MATCHED BY TARGET THEN - -- INSERT (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup) VALUES (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup) - -- OUTPUT $action INTO @SummaryOfChanges; - - -- END - - -- Query the results of the table variable. - SELECT Change, COUNT(*) AS CountPerChange - FROM @SummaryOfChanges - GROUP BY Change; -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '' - -- GROUP BY dd.CodItem, plr.CodClient, plr.CodPackag - -- ) - -- AS Source - -- ON Target.CodItem = Source.CodItem AND Target.CodClient = Source.CodClient AND Target.CodPackag = Source.CodPackag - -- WHEN MATCHED THEN - -- UPDATE SET TotQty = Source.TotQta - -- , [Weight] = Source.PesoMedio - -- , Tare = Source.TaraMedia - -- WHEN NOT MATCHED BY TARGET THEN - -- INSERT (CodItem, CodClient, CodPackag, TotQty, [Weight], Tare) VALUES (CodItem, CodClient, CodPackag, TotQta, PesoMedio, TaraMedia) - -- OUTPUT $action INTO @SummaryOfChanges; - - -- END - ----ELSE IF @source = 'ItemsRaw' -- carico da anagrafica - ---- BEGIN - ---- MERGE INTO Item2PackageClient AS Target - ---- USING (SELECT CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup FROM ItemsRaw) - ---- AS Source - ---- ON Target.CodItem = Source.CodItem - ---- WHEN MATCHED THEN - ---- UPDATE SET ItemDescr = Source.ItemDescr, CodPlant = Source.CodPlant, UnitWeight = Source.UnitWeight, CodItemGroup = Source.CodItemGroup - ---- WHEN NOT MATCHED BY TARGET THEN - ---- INSERT (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup) VALUES (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup) - ---- OUTPUT $action INTO @SummaryOfChanges; - - ---- END - - ---- Query the results of the table variable. - --SELECT Change, COUNT(*) AS CountPerChange - --FROM @SummaryOfChanges - --GROUP BY Change; -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - in C = costi di contab industriale, P = da ProductionLog, S = Sistema di calcolo']]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - ) AS Dupl ON Prod.EventStart = Dupl.EventStart AND - Prod.EventEnd = Dupl.EventEnd AND - Prod.CodPlant = Dupl.CodPlant AND - Prod.ProcessNum = Dupl.ProcessNum AND - Prod.NrPos = Dupl.NrPos AND - Prod.CodDies = Dupl.CodDies - - -- Cancello i record con chiave duplicata - DELETE Prod - WITH (TABLOCK) - FROM tmp.ProductionLogRaw AS Prod - INNER JOIN - ( - SELECT EventStart, EventEnd, CodPlant, ProcessNum, NrPos, CodDies - FROM tmp.ProductionLogRaw - GROUP BY EventStart, EventEnd, CodPlant, ProcessNum, NrPos, CodDies - HAVING COUNT(*)>1 - ) AS Dupl ON Prod.EventStart = Dupl.EventStart AND - Prod.EventEnd = Dupl.EventEnd AND - Prod.CodPlant = Dupl.CodPlant AND - Prod.ProcessNum = Dupl.ProcessNum AND - Prod.NrPos = Dupl.NrPos AND - Prod.CodDies = Dupl.CodDies - - -- =============================================================================== - -- pulisco la tabella dai record con date non corrette - -- =============================================================================== - DELETE FROM tmp.ProductionLogRaw - WITH (TABLOCK) - OUTPUT deleted.* INTO tmp.ProductionLogRaw_KO -- salvo i record cancellati in tabella KO - ( EventStart, EventEnd, CodPlant, ProcessNum, NrPos, CodDies, CodClient, OrderNum, BatchNum, ProcessType, EventType, RawMat - , CodPackag, QtyIN, QtyOUT, QtyEXT, NumIN, NumOUT, QuotaPlant, QuotaMan, Tags, okPr, okQM, okSc, okDi ) - WHERE EventStart >= EventEnd - OR CONVERT( BIGINT , EventStart ) + 68000000000000 <= EventEnd -- record che darebbero errore poi nel datediff > 68 anni - OR EventStart IS NULL - OR EventEnd IS NULL - --- SELECT * FROM tmp.ProductionLogRaw_KO - - --ROLLBACK - COMMIT - - SELECT COUNT(*) AS RecordsIn FROM tmp.ProductionLogRaw - - END -END]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file