Files
old_jintiantongye_wms/db/数据库更新20171108(安排库位存储过程debug).sql

317 lines
25 KiB
MySQL
Raw Normal View History

2025-09-12 17:30:18 +08:00
<EFBFBD><EFBFBD>/****** Object: StoredProcedure [dbo].[p_autoAllocateRetrieveCells] Script Date: 2017/11/8 fg N 22:24:24 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[p_autoAllocateRetrieveCells]
@p_dh type_dh
, @p_mxbh INT = NULL --AQ<EFBFBD><EFBFBD><EFBFBD>SꁨR<EFBFBD>[<EFBFBD>c<EFBFBD>g*N<EFBFBD>Q<EFBFBD>^USf<EFBFBD>~<EFBFBD><EFBFBD>U_<EFBFBD>v<EFBFBD>Q<EFBFBD>^<EFBFBD>^MO0:NNULLRh<EFBFBD>:yc<EFBFBD>[<EFBFBD>Q<EFBFBD>^US<EFBFBD>v@b gf<EFBFBD>~
, @p_kcjlh INT = NULL -- /f&Tc<EFBFBD>[<EFBFBD>Qc<EFBFBD>[<EFBFBD><EFBFBD>U_<EFBFBD>S<EFBFBD>v<EFBFBD>^X[<EFBFBD><EFBFBD>U_f<EFBFBD>~0Kb<EFBFBD>R<EFBFBD>[<EFBFBD>c<EFBFBD>eO O<EFBFBD><EFBFBD>[E<EFBFBD><P
, @p_czr VARCHAR(20) = NULL
-- WITH ENCRYPTION
AS
/**
* <EFBFBD>[ <EFBFBD><EFBFBD>[<EFBFBD>Q<EFBFBD>^USbvQf<EFBFBD>~<EFBFBD><EFBFBD>U_<EFBFBD>[<EFBFBD>c<EFBFBD>Q<EFBFBD>^<EFBFBD>^MO
*
* Created by jzx on 2006-07-21
* Used by <EFBFBD>Q<EFBFBD>^US
N<EFBFBD>vꁨR<EFBFBD>Q<EFBFBD>^<EFBFBD>^MO0
* Modified by jzx on 2006-10-20 <EFBFBD>c<EFBFBD>S<EFBFBD>S <EFBFBD><EFBFBD>^MO<EFBFBD>e <EFBFBD> N<EFBFBD>Q<EFBFBD><EFBFBD><EFBFBD>yb<EFBFBD>S<EFBFBD>v T<EFBFBD>v^\yb<EFBFBD>S<EFBFBD>Oo`X[eQ<EFBFBD>Q<EFBFBD>^c<EFBFBD>Nh<EFBFBD>-N
* Modified by jzx on 2006-12-19 <EFBFBD>f9e<EFBFBD>Spe<EFBFBD><EFBFBD>Sd<EFBFBD><EFBFBD>N<EFBFBD>^0<EFBFBD>^MO <EFBFBD>9e(u<EFBFBD>^X[<EFBFBD><EFBFBD>U_<EFBFBD>S;(W<EFBFBD>Q<EFBFBD>^c<EFBFBD>N-N<EFBFBD><EFBFBD>U_eQ<EFBFBD>^irD<EFBFBD><EFBFBD>v<EFBFBD>O<EFBFBD>^USMO
* Modified by jzx on 2006-12-28 (W<EFBFBD>Q<EFBFBD>^c<EFBFBD>N-N<EFBFBD><EFBFBD>U_<EFBFBD>[<EFBFBD>^<EFBFBD>QeQ<EFBFBD>^USUS<EFBFBD>S<EFBFBD>X[eQckzlh<EFBFBD>
N<EFBFBD>vpzbhW[<EFBFBD>k <EFBFBD>
* Modified by jzx on 2009-8-13 <EFBFBD>X<EFBFBD>R<EFBFBD>[f<EFBFBD>~nx<EFBFBD>[<EFBFBD>N<EFBFBD>O<EFBFBD>^USMO<EFBFBD>e <EFBFBD>@b<EFBFBD>Q<EFBFBD>^MO<EFBFBD>S<EFBFBD><EFBFBD>/fc<EFBFBD>[<EFBFBD>O<EFBFBD>^USMO<EFBFBD>v<EFBFBD><EFBFBD><EFBFBD><EFBFBD>R <EFBFBD> <EFBFBD> N/fhQ<EFBFBD><EFBFBD>0
* S_f<EFBFBD>~nx<EFBFBD>[<EFBFBD>Nyb<EFBFBD>S<EFBFBD>e,<EFBFBD>Sc<EFBFBD>[yb<EFBFBD>S<EFBFBD>v<EFBFBD>^MO
* Modified by jzx on 2009-8-22 \<EFBFBD>^X[<EFBFBD><EFBFBD>U_
N<EFBFBD>veQ<EFBFBD>^<EFBFBD>e<EFBFBD><EFBFBD>l<EFBFBD><EFBFBD>Q0Rc<EFBFBD>Nh<EFBFBD>
N
* Modified by jzx on 2010-8-8 \<EFBFBD>^X[Y<EFBFBD>l<EFBFBD>Oo`&^eQckzlh<EFBFBD>-N
* Modified by jzx on 2010-8-25 O(uM<EFBFBD>ny<EFBFBD> ckkw.zdap.kwgs <EFBFBD>vS_MR<P <EFBFBD>nx<EFBFBD>[<EFBFBD>[<EFBFBD>c<EFBFBD>v<EFBFBD>^MO*Npe
* Modified by jzx on 2010-9-15 qQ(u TN<EFBFBD>^MO<EFBFBD>vc<EFBFBD>N<EFBFBD>S<EFBFBD>e <EFBFBD><EFBFBD>N<EFBFBD>[^<EFBFBD>Z<EFBFBD><EFBFBD>b<EFBFBD>^MO<EFBFBD>(u
* Modified by jzx on 2011-6-19 <EFBFBD><EFBFBD>cepeϑ؞<EFBFBD><EFBFBD><EFBFBD>NZ<EFBFBD><EFBFBD>b<EFBFBD>^MOb<EFBFBD>ibU\<EFBFBD>^MO
N<EFBFBD>Q
* Modified by jzx on 2011-8-6 S_nx<EFBFBD>[yb!k<EFBFBD>Q<EFBFBD>^<EFBFBD>e <EFBFBD> N<EFBFBD>Q ceQ<EFBFBD>^<EFBFBD>e<EFBFBD><EFBFBD><EFBFBD>c<EFBFBD>^
* Modified by jzx on 2011-11-4 (WKb<EFBFBD>]nx<EFBFBD>[<EFBFBD>Q<EFBFBD>^<EFBFBD>^X[<EFBFBD><EFBFBD>U_<EFBFBD>v<EFBFBD>`<EFBFBD>Q N <EFBFBD> N<EFBFBD>h<EFBFBD>gyb<EFBFBD>S/f&T9SM<EFBFBD>
* Modified by jzx on 2011-11-28 USnc<EFBFBD><EFBFBD>U_[{ <EFBFBD>ag<EFBFBD>N-N<EFBFBD>X<EFBFBD>RD.sflz=1
* Modified by jzx on 2014-9-26 329y<EFBFBD><EFBFBD>v <EFBFBD><EFBFBD>S\<EFBFBD>N<EFBFBD>b<EFBFBD>R<EFBFBD>Q<EFBFBD>^(ckd.clfs=1)<EFBFBD>e <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>_
N<EFBFBD>Stete<EFBFBD>N<EFBFBD>Q<EFBFBD>^0
* Modified by jzx on 2014-10-15 329 y<EFBFBD><EFBFBD>v_<EFBFBD>Y <EFBFBD>(Wckzlh<EFBFBD>-NX[<EFBFBD>PbzlW[<EFBFBD>k<P <EFBFBD><EFBFBD><EFBFBD><Pegꁓ^X[<EFBFBD><EFBFBD>U_h<EFBFBD> <EFBFBD> <EFBFBD> N/fckdmxh<EFBFBD>
* Modified by jzx on 2014-10-24 (Wc<EFBFBD>[yb!k<EFBFBD>v<EFBFBD>`<EFBFBD>Q N <EFBFBD> ceQ<EFBFBD>^<EFBFBD>e<EFBFBD><EFBFBD><EFBFBD>c<EFBFBD>^<EFBFBD>e <EFBFBD><EFBFBD>S<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|nx0R<EFBFBD>e1\<EFBFBD>S<EFBFBD>N<EFBFBD>N <EFBFBD> N<EFBFBD><EFBFBD><EFBFBD><EFBFBD>|nx0R<EFBFBD>y<EFBFBD>
Y<EFBFBD>O<EFBFBD>`<EFBFBD><EFBFBD>]S<EFBFBD>X<EFBFBD>W:gN<EFBFBD>O <EFBFBD><EFBFBD>^MOOHQ<EFBFBD>[<EFBFBD>c<EFBFBD>Q<EFBFBD>^0
* Modified by jzx on 2014-10-31 (Wwzlbh<EFBFBD>-Nc<EFBFBD>[yr<EFBFBD>[{|+R<EFBFBD>vir<EFBFBD>e/fte<EFBFBD>{<EFBFBD>Q<EFBFBD>^؏/fte<EFBFBD>v<EFBFBD>Q<EFBFBD>^ <EFBFBD><EFBFBD>bb/f c<EFBFBD>[E<EFBFBD><EFBFBD>Blpeϑ<EFBFBD>Q<EFBFBD>^
* Modified by jzx on 2014-11-6 S_<EFBFBD>g<EFBFBD>yir<EFBFBD>e(W<EFBFBD>z<EFBFBD>^s^<EFBFBD>^<EFBFBD><EFBFBD> g<EFBFBD>e <EFBFBD><EFBFBD>z<EFBFBD>^<EFBFBD>^MOOHQ<EFBFBD>[<EFBFBD>c0;N<EFBFBD><EFBFBD><EFBFBD>Q<EFBFBD>yr<EFBFBD>kir<EFBFBD>e<EFBFBD>`<EFBFBD>Q0
* Modified by jzx on 2014-11-11 <EFBFBD>b<EFBFBD>R<EFBFBD>Q<EFBFBD>^<EFBFBD>e <EFBFBD>yr<EFBFBD>kir<EFBFBD>e<EFBFBD>^MO_N N<EFBFBD><EFBFBD><EFBFBD>[<EFBFBD>c0yr<EFBFBD>kir<EFBFBD>e<EFBFBD>Q<EFBFBD>^/f(W6e'<EFBFBD>nx<EFBFBD><EFBFBD><EFBFBD>e(Wyr<79>k<EFBFBD>^MO
Ncb<EFBFBD>Q<EFBFBD>^X[
* Modified by jzx on 2014-12-9 <EFBFBD>N(W<EFBFBD>S8OMO<EFBFBD><EFBFBD> g'<EFBFBD><EFBFBD>eMbOHQ<48>[<5B>cEm<45>^MO<08>wckw is null <09><>Q<EFBFBD>^<1B>
OHQ<EFBFBD>[<EFBFBD>cpeϑ\<EFBFBD>v<EFBFBD>^MO <EFBFBD> N/fY<EFBFBD>v<EFBFBD>^MO <EFBFBD>:N<EFBFBD>v/f=\ϑ<EFBFBD>Q\<EFBFBD>b <EFBFBD><EFBFBD>V<EFBFBD>^0
* Modified by jzx on 2015-1-8 <EFBFBD>X<EFBFBD>RSET NOCOUNT ON<EFBFBD>NxL<EFBFBD>
* Modified by jzx on 2015-9-6 %N<h cgqHQۏ<EFBFBD>s<EFBFBD>Q<EFBFBD>SR <EFBFBD>sSO<EFBFBD>[<EFBFBD>c<EFBFBD>v/f<EFBFBD>m'<EFBFBD>MO
* Modified by jzx on 2015-10-20 ͑<EFBFBD>e/T(u<EFBFBD>|<EFBFBD>~M<EFBFBD>ny<EFBFBD>ckkw.zdap.kwgs<EFBFBD>v\O(u <EFBFBD>N<EFBFBD>S<EFBFBD>[<EFBFBD>cUS*N<EFBFBD>^MO<EFBFBD>`<EFBFBD>Q N <EFBFBD>R<EFBFBD>O9eckdmx.shslW[<EFBFBD>k<P:N<EFBFBD>[E<EFBFBD><EFBFBD>[<EFBFBD>cpeϑ<EFBFBD>v<P
* Modified by jzx on 2015-10-21 MRN!k<EFBFBD>f<EFBFBD>e<EFBFBD>Nx-N<EFBFBD>_<EFBFBD><EFBFBD><EFBFBD>f<EFBFBD>eckdmx.jsW[<EFBFBD>k<P
* Modified by jzx on 2015-10-23 \ckdh<EFBFBD>
N<EFBFBD>e<EFBFBD>XW[<EFBFBD>k P<EFBFBD><EFBFBD>[<EFBFBD>Q<EFBFBD>^<EFBFBD>S <EFBFBD>v<P\O:Nckzlh<EFBFBD><EFBFBD><EFBFBD>U_tpcrkW[<EFBFBD>k<P<EFBFBD>v؞<EFBFBD><EFBFBD><P
* Modified by jzx on 2015-10-24 <EFBFBD>N<EFBFBD>[Rub<EFBFBD>v<EFBFBD>b<EFBFBD>R<EFBFBD>Q<EFBFBD>^USf<EFBFBD>~<EFBFBD><EFBFBD>U_MbꁨR<EFBFBD>O9eckdmx.shslW[<EFBFBD>k<P:NyapslW[<EFBFBD>k<P
* Modified by jzx on 2015-11-20 <EFBFBD>[<EFBFBD>c<EFBFBD>z<EFBFBD>^<EFBFBD>[SO<EFBFBD>^MO<EFBFBD>e <EFBFBD><EFBFBD>Y<EFBFBD>g<EFBFBD><EFBFBD><EFBFBD>[<EFBFBD>vXb<EFBFBD>v<EFBFBD>QeQ<EFBFBD>^<EFBFBD>S N T <EFBFBD>R N<EFBFBD><EFBFBD>qQ<EFBFBD>Nc<EFBFBD>N<EFBFBD>S
* Modified by jzx on 2015-12-8 <EFBFBD>X<EFBFBD>R<EFBFBD>Spep_czr <EFBFBD>(u<EFBFBD>N O<EFBFBD><EFBFBD>(* z<EFBFBD>v<EFBFBD>{t<EFBFBD>|<EFBFBD>~{vU_&<EFBFBD><EFBFBD>S
* Modified by jzx on 2015-12-11 S_<EFBFBD>Spe@p_kcjlh N:Nzz<EFBFBD>e <EFBFBD>AQ<EFBFBD><EFBFBD><EFBFBD>[<EFBFBD>c<EFBFBD>Q<EFBFBD>^<EFBFBD>v<EFBFBD>Q<EFBFBD>^peϑ:N0
* Modified by jzx on 2016-1-4 debug: S_<EFBFBD><EFBFBD><EFBFBD>(W<EFBFBD>z<EFBFBD>^<EFBFBD>^MO
N<EFBFBD>[<EFBFBD>c<EFBFBD><EFBFBD>4Y<EFBFBD>Q<EFBFBD>^<EFBFBD>e <EFBFBD><EFBFBD><EFBFBD><EFBFBD>{<EFBFBD>z<EFBFBD>^<EFBFBD>^MO<EFBFBD>Q<EFBFBD>^te<EFBFBD>{<EFBFBD>T N<EFBFBD>Ste <EFBFBD>peϑ<EFBFBD>e <EFBFBD>(u<EFBFBD><EFBFBD>N<EFBFBD>0
* Modified by jzx on 2016-3-23 TNeQ<EFBFBD>^<EFBFBD>eg<EFBFBD>v <EFBFBD>HQ cstoreDist<EFBFBD>v<P<EFBFBD>c<EFBFBD>^ <EFBFBD>6qT<EFBFBD>Q csl<EFBFBD>c<EFBFBD>^
* Modified by jzx on 2016-4-26 Ytckdmxh<EFBFBD><EFBFBD>eW[<EFBFBD>k P<EFBFBD><EFBFBD>[<EFBFBD>Q<EFBFBD>^Xb<EFBFBD>v <EFBFBD>[<EFBFBD>^MO<EFBFBD>[<EFBFBD>c<EFBFBD>vq_<EFBFBD>T<EFBFBD>\cfwzxx,piz,txmW[<EFBFBD>kX[eQckzlh<EFBFBD>
* Modified by jzx on 2016-4-27 debug
NN!k<EFBFBD>O9e<EFBFBD>Nx-N <EFBFBD><EFBFBD>[P<EFBFBD><EFBFBD>[<EFBFBD>Q<EFBFBD>^Xb<EFBFBD>vag<EFBFBD>N[{ <EFBFBD>Yt<EFBFBD><EFBFBD><EFBFBD>S g<EFBFBD><EFBFBD><EFBFBD>0
* Modified by jzx on 2017-10-18 teXb<EFBFBD>Q<EFBFBD>^<EFBFBD>[<EFBFBD>c<EFBFBD>e_ <EFBFBD><EFBFBD>Y<EFBFBD>g<EFBFBD>Q<EFBFBD>^USf<EFBFBD>~-N<EFBFBD>l gXb<EFBFBD>v
N g<EFBFBD>vvQ<EFBFBD>NirD<EFBFBD> <EFBFBD>_N<EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<EFBFBD>c<EFBFBD>c<EFBFBD> T<EFBFBD>e<EFBFBD>~ckzl.ysbjW[<EFBFBD>kK<EFBFBD><P
* Modified by jzx on 2017-11-8 debug: M<EFBFBD><EFBFBD>S<EFBFBD>S<EFBFBD>Q<EFBFBD>^MO<EFBFBD><EFBFBD>U_<EFBFBD>e <EFBFBD><EFBFBD>l g<EFBFBD>~@v_cpbh,@v_zlzt͑<EFBFBD>eK<EFBFBD><P <EFBFBD><EFBFBD>[<EFBFBD><EFBFBD>
N!k<EFBFBD>f<EFBFBD>e<EFBFBD>e<EFBFBD>X<EFBFBD>v8nh<EFBFBD>~@v_cpbhK<EFBFBD><PT <EFBFBD>T<EFBFBD>~<EFBFBD>^MO
<EFBFBD>[<EFBFBD>^<EFBFBD>vckzl<EFBFBD><EFBFBD>U_<EFBFBD>vcpbh0zlztW[<EFBFBD>k<P<EFBFBD><EFBFBD>MRb<EFBFBD><EFBFBD>^MO
NvQ<EFBFBD>N<EFBFBD>N<EFBFBD>T<EFBFBD><EFBFBD><EFBFBD>v<EFBFBD>N0
*/
BEGIN
DECLARE @v_cpbh type_cpbh, @v_lpxx type_ph, @v_cksl type_sl, @v_zlsl type_sl, @v_kcsl type_sl
, @v_mxbh INT, @v_zlbh INT, @v_zlbh_length TINYINT
, @v_kcjlh INT --<EFBFBD>^X[<EFBFBD><EFBFBD>U_<EFBFBD>S
, @v_ckmc type_ck, @v_kwbh type_kwbh, @v_tpbh nvarchar(50), @v_zljlh INT --<EFBFBD>Q<EFBFBD>^c<EFBFBD>Nh<EFBFBD><EFBFBD>v<EFBFBD><EFBFBD>U_<EFBFBD>S
, @v_zlzt CHAR(1)--<EFBFBD>Q<EFBFBD>^irD<EFBFBD><EFBFBD>v(<EFBFBD>ϑ<EFBFBD>r`
, @v_kwzsl type_sl --<EFBFBD>Q<EFBFBD>^<EFBFBD>^MO
N@b girD<EFBFBD><EFBFBD>v;`peϑ
, @v_kckwxx CURSOR
, @c_sl type_sl --cpkcxxpeϑ
, @v_gydw NVARCHAR(60)
, @v_kc_rksj SMALLDATETIME, @v_kcbz VARCHAR(200)
, @v_config CHAR(1)
, @v_ckck type_ck
, @v_jzl INT
, @v_kzkw TINYINT
, @v_xnkw TINYINT
, @v_hasXnkw TINYINT
, @v_clfs CHAR(1)
, @v_wzlb VARCHAR(15)
, @v_zlsl2 type_sl
, @v_chkufs TINYINT -- <EFBFBD>Q<EFBFBD>^<EFBFBD>e_<EFBFBD>0 c<EFBFBD><EFBFBD>Q<EFBFBD>^;1te<EFBFBD>{<EFBFBD>Q<EFBFBD>^;2te<EFBFBD>v<EFBFBD>Q<EFBFBD>^
, @v_Em<EFBFBD>^MO type_kwbh -- <EFBFBD>Y<EFBFBD>g N:Nnull <EFBFBD>Rh<EFBFBD>:yM<EFBFBD><EFBFBD>S<EFBFBD>v<EFBFBD>^MO:N<EFBFBD>m<EFBFBD>^MO
, @v_Em<EFBFBD>^MO g'<EFBFBD> BIT -- hƋEm<45>^MO/f&T g'<EFBFBD>
, @v_<EFBFBD><EFBFBD>Ǐ<EFBFBD>v<EFBFBD>^MOpe INT
, @v_<EFBFBD><EFBFBD>Ǐ<EFBFBD>Q<EFBFBD>O<EFBFBD>^MO TINYINT -- 0h<EFBFBD>:y<EFBFBD>l gM<EFBFBD><EFBFBD>S0R<EFBFBD>m<EFBFBD>^MO<EFBFBD>1h<EFBFBD>:y<EFBFBD><EFBFBD>ǏN!k <EFBFBD>Ջ<EFBFBD>VHQ<EFBFBD>[<EFBFBD>cY<EFBFBD>O<EFBFBD>^MO<EFBFBD>2h<EFBFBD>:y<EFBFBD><EFBFBD>Ǐ$N!kM<EFBFBD><EFBFBD>S <EFBFBD><EFBFBD>[<EFBFBD>c<EFBFBD>v<EFBFBD>^MOpe؏ NY <EFBFBD><EFBFBD>S}YgT\Ջ<EFBFBD>[<EFBFBD>c<EFBFBD>m<EFBFBD>^MO
, @v_tpcrk NVARCHAR(20)
, @v_P<EFBFBD><EFBFBD>[<EFBFBD>Q<EFBFBD>^Xb<EFBFBD>v varchar(12)
, @piz NUMERIC(8,3), @txm VARCHAR(30), @cfwzxx TINYINT, @v_ysbj TINYINT;
DECLARE c_ckdmx CURSOR FOR
SELECT M.mxbh, M.cpbh, M.lpxx, M.shsl - M.yapsl AS cksl, D.zl, M.ghs, M.lpxx, D.ckbh ckck
, ISNULL(D.clfs,'0') clfs, M.wzlb, W.chkufs, D.P<EFBFBD><EFBFBD>[<EFBFBD>Q<EFBFBD>^<EFBFBD>S, M.P<EFBFBD><EFBFBD>[<EFBFBD>Q<EFBFBD>^Xb<EFBFBD>v--, ISNULL(M.jzl, 1) jzl
FROM ckdmx M INNER JOIN ckd D ON M.ckdh = D.ckdh AND D.zt = 0 AND D.sflz=1
LEFT JOIN wzlb W ON M.wzlb = W.dm
WHERE (M.ckdh = @p_dh)
AND (@p_mxbh IS NULL OR mxbh = @p_mxbh)
AND (shsl > yapsl OR (@p_kcjlh IS NOT NULL))
ORDER BY M.cpbh, M.lpxx
SET NOCOUNT ON;
SELECT @v_config = dqz FROM sys_config WHERE ID_pzx = 'ckkw.zdap.kwgs';
OPEN c_ckdmx
WHILE 1 = 1
BEGIN
FETCH c_ckdmx INTO @v_mxbh, @v_cpbh, @v_lpxx, @v_cksl, @v_zlzt, @v_gydw, @v_lpxx, @v_ckck, @v_clfs, @v_wzlb, @v_chkufs
, @v_tpcrk, @v_P<EFBFBD><EFBFBD>[<EFBFBD>Q<EFBFBD>^Xb<EFBFBD>v--, @v_jzl
IF @@FETCH_STATUS <> 0 BREAK;
SET @v_<EFBFBD><EFBFBD>Ǐ<EFBFBD>Q<EFBFBD>O<EFBFBD>^MO = 0;
USy<EFBFBD><EFBFBD>^MO<EFBFBD>[<EFBFBD>c:
IF (@v_lpxx IS NOT NULL)
SET @v_kckwxx = CURSOR FOR
SELECT I.jlh, I.ckmc, I.kwbh, I.sl, I.tpbh, I.kwzsl, I.cpbh, I.lpxx, I.zlzt, I.gydw, I.rksj, I.bz, I.xnkw, I.bzl, I.wckw, I.<EFBFBD>S8OMO<EFBFBD><EFBFBD> g'<EFBFBD>
, I.piz, I.txm, I.cfwzxx, ysbj
FROM cpkcxx_v I
WHERE I.cpbh = @v_cpbh
AND I.zlzt = @v_zlzt
AND I.ckmc = @v_ckck -- 2011-6-19 jzx <EFBFBD>_{<EFBFBD><EFBFBD>Nc<EFBFBD>[<EFBFBD>N<EFBFBD>^-N<EFBFBD>Q
AND ( (@p_kcjlh IS NULL
--AND (@v_gydw IS NULL OR gydw = @v_gydw) -- P<EFBFBD><EFBFBD>[<EFBFBD>Qc<EFBFBD>[<EFBFBD>O<EFBFBD>^FU<EFBFBD>v<EFBFBD>N<EFBFBD>T
AND lpxx = @v_lpxx
)
OR jlh = @p_kcjlh
)-- 329y<EFBFBD><EFBFBD>v_<EFBFBD>Y<EFBFBD><EFBFBD>b<EFBFBD>R<EFBFBD>Q<EFBFBD>^<EFBFBD>e <EFBFBD> N<EFBFBD><EFBFBD><EFBFBD>[<EFBFBD>cyr<EFBFBD>kir<EFBFBD>e<EFBFBD>^MO<EFBFBD>T<EFBFBD>_<EFBFBD>S:S<EFBFBD>^MO
-- 2015-12-14 jzx <EFBFBD>Y<EFBFBD>g(u7bKb<EFBFBD>] <EFBFBD><EFBFBD>[<EFBFBD>N<EFBFBD>^MO <EFBFBD>R<EFBFBD>S<EFBFBD>N <EFBFBD><EFBFBD>byr<EFBFBD>k<EFBFBD>^MO
AND (@v_clfs NOT IN('1','2') OR I.xnkw NOT IN(2,CASE WHEN @p_kcjlh IS NULL THEN 3 ELSE 2 END))
AND (@v_P<EFBFBD><EFBFBD>[<EFBFBD>Q<EFBFBD>^Xb<EFBFBD>v IS NULL OR (@p_kcjlh IS NOT NULL OR tpbh=@v_P<EFBFBD><EFBFBD>[<EFBFBD>Q<EFBFBD>^Xb<EFBFBD>v)) -- 2016-1-13 346<EFBFBD>xF<EFBFBD><EFBFBD>ey<EFBFBD><EFBFBD>v_<EFBFBD>Y/ec6RUS<EFBFBD>v<EFBFBD>eP1\P<EFBFBD><EFBFBD>[<EFBFBD>Q<EFBFBD>^Xb<EFBFBD>v
ORDER BY xnkw,CAST(I.rksj AS DATE), storeDist, I.sl, ceng;
ELSE -- NP<EFBFBD><EFBFBD>[yb<EFBFBD>S<EFBFBD>Q<EFBFBD>^
SET @v_kckwxx = CURSOR FOR
SELECT I.jlh, I.ckmc, I.kwbh, I.sl, I.tpbh, I.kwzsl, I.cpbh, I.lpxx, I.zlzt, I.gydw, I.rksj, I.bz, I.xnkw, I.bzl, I.wckw, I.<EFBFBD>S8OMO<EFBFBD><EFBFBD> g'<EFBFBD>
, I.piz, I.txm, I.cfwzxx, ysbj
FROM cpkcxx_v I
WHERE I.cpbh = @v_cpbh
AND I.zlzt = @v_zlzt
AND I.ckmc = @v_ckck -- 2011-6-19 jzx <EFBFBD>_{<EFBFBD><EFBFBD>Nc<EFBFBD>[<EFBFBD>N<EFBFBD>^-N<EFBFBD>Q
AND ( (@p_kcjlh IS NULL
AND (@v_gydw IS NULL OR gydw = @v_gydw) -- P<EFBFBD><EFBFBD>[<EFBFBD>Qc<EFBFBD>[<EFBFBD>O<EFBFBD>^FU<EFBFBD>v<EFBFBD>N<EFBFBD>T
)
OR jlh = @p_kcjlh
)-- 329y<EFBFBD><EFBFBD>v_<EFBFBD>Y<EFBFBD><EFBFBD>b<EFBFBD>R<EFBFBD>Q<EFBFBD>^<EFBFBD>e <EFBFBD> N<EFBFBD><EFBFBD><EFBFBD>[<EFBFBD>cyr<EFBFBD>kir<EFBFBD>e<EFBFBD>^MO<EFBFBD>T<EFBFBD>_<EFBFBD>S:S<EFBFBD>^MO
-- 2015-12-14 jzx <EFBFBD>Y<EFBFBD>g(u7bKb<EFBFBD>] <EFBFBD><EFBFBD>[<EFBFBD>N<EFBFBD>^MO <EFBFBD>R<EFBFBD>S<EFBFBD>N <EFBFBD><EFBFBD>byr<EFBFBD>k<EFBFBD>^MO
AND (@v_clfs NOT IN('1','2') OR I.xnkw NOT IN(2,CASE WHEN @p_kcjlh IS NULL THEN 3 ELSE 2 END))
AND (@v_P<EFBFBD><EFBFBD>[<EFBFBD>Q<EFBFBD>^Xb<EFBFBD>v IS NULL OR (@p_kcjlh IS NOT NULL OR tpbh=@v_P<EFBFBD><EFBFBD>[<EFBFBD>Q<EFBFBD>^Xb<EFBFBD>v)) -- 2016-1-13 346<EFBFBD>xF<EFBFBD><EFBFBD>ey<EFBFBD><EFBFBD>v_<EFBFBD>Y/ec6RUS<EFBFBD>v<EFBFBD>eP1\P<EFBFBD><EFBFBD>[<EFBFBD>Q<EFBFBD>^Xb<EFBFBD>v
ORDER BY xnkw,CAST(I.rksj AS DATE), storeDist, I.sl, ceng;
OPEN @v_kckwxx
WHILE @v_cksl > 0 OR @p_kcjlh IS NOT NULL -- 2015-12-11 jzx <EFBFBD>^X[<EFBFBD><EFBFBD>U_<EFBFBD>Sc<EFBFBD>[<EFBFBD>`<EFBFBD>Q N <EFBFBD> N<EFBFBD>S@v_cksl/f&T'Y<EFBFBD>N0P<>6R
BEGIN
FETCH @v_kckwxx INTO @v_kcjlh, @v_ckmc, @v_kwbh, @v_kcsl, @v_tpbh, @v_kwzsl, @v_cpbh, @v_lpxx, @v_zlzt, @v_gydw, @v_kc_rksj, @v_kcbz, @v_xnkw
, @v_jzl, @v_Em<EFBFBD>^MO, @v_Em<EFBFBD>^MO g'<EFBFBD>, @piz, @txm, @cfwzxx, @v_ysbj
IF @@FETCH_STATUS <> 0 BREAK;
--nx<EFBFBD>[c<EFBFBD>N
N<EFBFBD>v<EFBFBD>Q<EFBFBD>^peϑ0
SET @v_zlsl = CASE WHEN @v_kcsl >= @v_cksl THEN @v_cksl ELSE @v_kcsl END;
-- 329y<EFBFBD><EFBFBD>vyr'`<1A><>N<EFBFBD>z<EFBFBD>^<5E>Q<EFBFBD>^<5E>v\<5C>N <0C><00><><EFBFBD>T
N<EFBFBD>Ste <EFBFBD>te<EFBFBD>Q<EFBFBD>^
IF @v_jzl > 1 AND 1=@v_chkufs
BEGIN
SET @v_zlsl2 = CEILING(@v_cksl/@v_jzl) * @v_jzl;
IF @v_kcsl >= @v_zlsl2 AND @v_zlsl <> @v_zlsl2
SET @v_zlsl = @v_zlsl2;
END;
ELSE IF 2=@v_chkufs -- 2014-10-31 /ecte<EFBFBD>v<EFBFBD>Q<EFBFBD>^
BEGIN
SET @v_zlsl = @v_kcsl;
END;
-- 2011-6-19 jzx ؞<EFBFBD><EFBFBD>te<EFBFBD>N<EFBFBD>Q<EFBFBD>^0 N<EFBFBD><EFBFBD>N<EFBFBD>N<EFBFBD>e <EFBFBD>R<EFBFBD>NZ<EFBFBD><EFBFBD>b'<EFBFBD><EFBFBD>^MO
N<EFBFBD>Q
ELSE IF @p_kcjlh IS NULL -- *gc<EFBFBD>[ <EFBFBD>(uUS*N<EFBFBD>^X[<EFBFBD><EFBFBD>U_L<EFBFBD><EFBFBD>v<EFBFBD>`<EFBFBD>Q N<EFBFBD>Kb<EFBFBD>] <EFBFBD><EFBFBD>b<EFBFBD>Q<EFBFBD>^<EFBFBD>^MO<EFBFBD>e <EFBFBD>@p_kcjlh IS NOT NULL <EFBFBD>
AND @v_jzl > 1 AND @v_zlsl > @v_jzl AND @v_zlsl > floor(@v_zlsl/@v_jzl)*@v_jzl
BEGIN
IF @v_hasXnkw IS NULL
BEGIN
SET @v_hasXnkw = 0;
IF EXISTS(SELECT 1 FROM cpkcxx_v I
WHERE I.cpbh = @v_cpbh
AND I.zlzt = @v_zlzt
AND I.ckmc = @v_ckck -- 2011-6-19 jzx <EFBFBD>_{<EFBFBD><EFBFBD>Nc<EFBFBD>[<EFBFBD>N<EFBFBD>^-N<EFBFBD>Q
AND ISNULL(I.lpxx, ' ') = ISNULL(@v_lpxx, ' ')
AND I.kwbh != @v_kwbh
AND I.xnkw != 0
AND (@v_clfs NOT IN('1','2') OR I.xnkw NOT IN(2,3))
)
BEGIN
SET @v_hasXnkw = 1;
END;
END;
IF (@v_hasXnkw != 0) -- <EFBFBD><EFBFBD>fX[(WZ<EFBFBD><EFBFBD>b<EFBFBD>^MO<EFBFBD>^X[<EFBFBD><EFBFBD>U_
BEGIN
-- 2016-1-4 jzx debug: KNMR(u<EFBFBD><EFBFBD><EFBFBD>N <EFBFBD> N<EFBFBD>^<EFBFBD><EFBFBD>/f@v_cksl <EFBFBD> <EFBFBD>/f@v_kcsl
--SET @v_zlsl = FLOOR(@v_cksl/@v_jzl) * @v_jzl;
SET @v_zlsl = FLOOR(@v_kcsl/@v_jzl) * @v_jzl;
END;
END;
--nx<EFBFBD>[c<EFBFBD>N<EFBFBD>S
SET @v_zlbh = NULL;
--qQ(u T<EFBFBD>N<EFBFBD>^<EFBFBD>^MO <EFBFBD><EFBFBD>r`:N0<EFBFBD>v<EFBFBD>Q<EFBFBD>^c<EFBFBD>N<EFBFBD>vc<EFBFBD>N<EFBFBD>S
IF @v_xnkw = 0
SELECT @v_zlbh = zlbh FROM ckzl WHERE ckmc = @v_ckmc AND kwbh = @v_kwbh AND zt = 0
AND ISNULL(tpcrk,' ') = ISNULL(@v_tpcrk, ' '); -- 2015-11-20 jzx <EFBFBD>_{<EFBFBD>/f TN*N<EFBFBD>QeQ<EFBFBD>^<EFBFBD>S<EFBFBD>v<EFBFBD>N<EFBFBD>R
ELSE -- Z<EFBFBD><EFBFBD>b<EFBFBD>^MOqQ(uc<EFBFBD>N<EFBFBD>S<EFBFBD>e <EFBFBD><EFBFBD>_{<EFBFBD>/f TN<EFBFBD>Q<EFBFBD>^US
SELECT @v_zlbh = zlbh FROM ckzl WHERE ckmc = @v_ckmc AND kwbh = @v_kwbh AND zt = 0 AND pzbh = @p_dh;
--<EFBFBD>Y<EFBFBD>g<EFBFBD>l g~b0R <EFBFBD>R<EFBFBD>e<EFBFBD>XN*N
IF @v_zlbh IS NULL
EXEC p_instNoCreator @v_zlbh OUT, 1;
--<EFBFBD>c<EFBFBD>Sc<EFBFBD>N<EFBFBD><EFBFBD>U_<EFBFBD>S
SET @v_zljlh = NULL
SELECT @v_zljlh = MAX(jlh) + 1 FROM ckzl;
IF @v_zljlh IS NULL
SET @v_zljlh = 1
--<EFBFBD><EFBFBD>n<EFBFBD>Q<EFBFBD>^c<EFBFBD>NUS<EFBFBD>S(pzbh)
SELECT @p_dh= ckdh FROM ckdmx H WHERE mxbh=H.mxbh AND mxbh=@v_mxbh;
--<EFBFBD>_0R<EFBFBD>^X[<EFBFBD>S<EFBFBD>Qpeϑ -07-12-15
--SELECT @c_sl=J.sl FROM cpkcxx J WHERE jlh = @v_kcjlh
SET @c_sl = @v_kcsl;
--<EFBFBD>ceQ<EFBFBD>Q<EFBFBD>^c<EFBFBD>N
INSERT INTO ckzl(jlh, zlbh, mxbh, kcjlh, ckmc, kwbh, tpbh, ykcs, sl, hkzt,cpbh, lpxx, gydw,pzbh,zlzt
,pkcsl,kc_rksj, kcbz, bzl, tpcrk, czr, cfwzxx, piz, txm, ysbj)
VALUES (@v_zljlh, @v_zlbh, @v_mxbh, @v_kcjlh, @v_ckmc, @v_kwbh, @v_tpbh, @v_kwzsl, @v_zlsl
, CASE WHEN @v_kwzsl > @v_zlsl AND @v_chkufs!=2 THEN 0 ELSE NULL END -- 2017-10-18 <EFBFBD>X<EFBFBD>R AND @v_chkufs!=2 ag<EFBFBD>N
, @v_cpbh, @v_lpxx, @v_gydw, @p_dh,@v_zlzt
, @c_sl,@v_kc_rksj, @v_kcbz, @v_jzl, @v_tpcrk, @p_czr, @cfwzxx, @piz, @txm, @v_ysbj);
-- 2017-10-18 <EFBFBD>X<EFBFBD>R Nb<EFBFBD>R/e
IF @v_chkufs = 2 AND EXISTS(SELECT 2 FROM cpkcxx_v WHERE kwbh=@v_kwbh AND tpbh=@v_tpbh AND jlh!=@v_kcjlh AND sl>0)
BEGIN
DECLARE @v_mxbh2 INT;
DECLARE c_kckwxxOther CURSOR FOR
SELECT I.jlh, I.sl, I.cpbh, I.lpxx, I.gydw, I.rksj, I.bz, I.bzl
, I.piz, I.txm, I.cfwzxx, I.zlzt, I.tpbh
FROM cpkcxx_v I
WHERE kwbh=@v_kwbh AND tpbh=@v_tpbh AND jlh!=@v_kcjlh AND sl>0;
OPEN c_kckwxxOther;
WHILE 1=1
BEGIN
FETCH c_kckwxxOther INTO @v_kcjlh, @v_kcsl, @v_cpbh, @v_lpxx, @v_gydw, @v_kc_rksj, @v_kcbz
, @v_jzl, @piz, @txm, @cfwzxx, @v_zlzt, @v_tpbh
IF @@FETCH_STATUS <> 0 BREAK;
SET @v_zljlh = @v_zljlh + 1;
-- <EFBFBD>Y<EFBFBD>gUSncf<EFBFBD>~
N gvQ<EFBFBD>Nyb!k<EFBFBD>vir<EFBFBD>e <EFBFBD>R<EFBFBD>~<EFBFBD>[f<EFBFBD>~0Rُag<EFBFBD><EFBFBD>U_
N
SET @v_mxbh2 = NULL;
SELECT @v_mxbh2 = mxbh FROM ckdmx WHERE cpbh=@v_cpbh AND ckdh=@p_dh AND mxbh != @v_mxbh;
INSERT INTO ckzl(jlh, zlbh, mxbh, kcjlh, ckmc, kwbh, tpbh, ykcs, sl, hkzt,cpbh, lpxx, gydw,pzbh,zlzt
,pkcsl,kc_rksj, kcbz, bzl, tpcrk, czr, cfwzxx, piz, txm, ysbj)
VALUES (@v_zljlh, @v_zlbh, ISNULL(@v_mxbh2, @v_mxbh), @v_kcjlh, @v_ckmc, @v_kwbh, @v_tpbh, @v_kwzsl, @v_kcsl
, NULL, @v_cpbh, @v_lpxx, @v_gydw, @p_dh, @v_zlzt
, @v_kcsl,@v_kc_rksj, @v_kcbz, @v_jzl, @v_tpcrk, @p_czr, @cfwzxx, @piz, @txm, @v_ysbj);
SET @v_cksl = @v_cksl - @v_kcsl;
END;
CLOSE c_kckwxxOther;
DEALLOCATE c_kckwxxOther;
END;
--<EFBFBD><EFBFBD>Q\*g<EFBFBD>[<EFBFBD>c<EFBFBD>Q<EFBFBD>^<EFBFBD>vpeϑ
SET @v_cksl = @v_cksl - @v_zlsl;
IF @v_config = '1' -- <EFBFBD>Y<EFBFBD>g<EFBFBD>N<EFBFBD>[<EFBFBD>cN*N<EFBFBD>^MO<EFBFBD>`<EFBFBD>Q N <EFBFBD><EFBFBD>zl<EFBFBD><EFBFBD><EFBFBD>Q<EFBFBD>_<EFBFBD>s
BEGIN
-- 2015-10-20 jzx ؏<EFBFBD><EFBFBD>R<EFBFBD>O9eshslW[<EFBFBD>k<P:Nyapsl
-- 2015-10-21 jzx ؏<EFBFBD><EFBFBD><EFBFBD>f<EFBFBD>ejsW[<EFBFBD>k<P
-- 2015-10-24 jzx <EFBFBD>N<EFBFBD>[R<EFBFBD>b<EFBFBD>R<EFBFBD>Q<EFBFBD>^US<EFBFBD>v<EFBFBD>Q<EFBFBD>^c<EFBFBD>NMb<EFBFBD>O9eshslW[<EFBFBD>k<P
IF @v_clfs IN('2')
UPDATE ckdmx SET shsl=yapsl,js=CAST(yapsl/jzl AS DECIMAL(10,1)) WHERE mxbh=@v_mxbh AND shsl<>yapsl;
BREAK;
END;
SET @v_hasXnkw = NULL;
END
CLOSE @v_kckwxx;
DEALLOCATE @v_kckwxx;
IF @v_cksl > 0 AND @v_<EFBFBD><EFBFBD>Ǐ<EFBFBD>v<EFBFBD>^MOpe > 0
BEGIN
-- <EFBFBD>Q!kSb_8nhYt
SET @v_<EFBFBD><EFBFBD>Ǐ<EFBFBD>Q<EFBFBD>O<EFBFBD>^MO = @v_<EFBFBD><EFBFBD>Ǐ<EFBFBD>Q<EFBFBD>O<EFBFBD>^MO + 1;
GOTO USy<EFBFBD><EFBFBD>^MO<EFBFBD>[<EFBFBD>c;
END;
END
CLOSE c_ckdmx
DEALLOCATE c_ckdmx;
END
go
update kwjbxx set wzzls=zls
from (select kwbh kw, count(distinct cpbh+'#'+isnull(lpxx,'')) zls from cpkcxx where sl>0 group by kwbh)t
where kwbh=kw and wzzls!=zls
go