VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
楼主: caoyuezj

单据审批流程的sql如何写

[复制链接]

1

主题

15

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-1-18 04:00:01 | 显示全部楼层
删除怎么做啊
回复

使用道具 举报

1

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-1-18 09:18:01 | 显示全部楼层
用CLR,用C#来写这个存储过程应是很简单的
回复

使用道具 举报

0

主题

8

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-1-18 14:36:01 | 显示全部楼层

create procedure p_SpIsExist(@vDjlxbm varchar(3),@vSpInfo varchar(8000),@vBm varchar(30),@iIsExist int output)
as
begin
  select @iIsExist=count(*) from tbnote_check_order where charindex('|bmbegin|'+@vBm+'|bmend|', @vSpInfo)>0 and f_bmbm=@vBm and f_djlxbm=@vDjlxbm
end

create function fun_getspinfo(@vSpInfo varchar(8000))
returns varchar(8000)
as
begin
  return(isnull(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(@vSpInfo,'|linebegin|',''),'|lineend|',''),'|bmbegin|',''),'|bmend|',''),'|ygbmbegin|',''),'|ygbmend|',''),''))
end

create function fun_DelBmSpyj(@vSpInfo varchar(8000),@vBm varchar(30))
returns varchar(8000)
as
begin
   declare @w int
   declare @len int
   declare @line varchar(8000)
   declare @s varchar(8000)
   set @len=len(@vSpInfo)
   if @len>0
   begin
      set @s=@vSpInfo
      while @len>1
      begin
          if substring(right(@vSpInfo,@len),1,len('|linebegin|'))='|linebegin|'
          begin
            set @line=substring(@vSpInfo,len(@vSpInfo)-@len+1,charindex('|lineend|',right(@vSpInfo,@len))+len('|lineend|')-1)           
            set @w=charindex('|bmbegin|'+@vBm+'|bmend|',@line)
            if @w>0 set @s=REPLACE(@vSpInfo,@line,'')
          end         
          set @len=@len-1  
      end
   end
   else set @s=@vSpInfo
   return isnull(@s,'')
end

--测试
declare @s varchar(8000)
set @s='fdssdf|linebegin|haha2007-1-1|bmbegin|001|bmend|hehe123|ygbmbegin|001|ygbmend|sdjklsd|lineend|123'
select dbo.fun_DelBmSpyj(@s,'001')
--result
fdssdf123
回复

使用道具 举报

0

主题

8

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-1-18 15:18:01 | 显示全部楼层
declare @s varchar(8000)
set @s='fdssdf|linebegin|haha2007-1-1|bmbegin|001|bmend|hehe123|ygbmbegin|001|ygbmend|sdjklsd|lineend|123'
select dbo.fun_DelBmSpyj(@s,'004')

--result
fdssdf|linebegin|haha2007-1-1|bmbegin|001|bmend|hehe123|ygbmbegin|001|ygbmend|sdjklsd|lineend|123
回复

使用道具 举报

0

主题

48

帖子

30.00

积分

新手上路

Rank: 1

积分
30.00
发表于 2020-1-21 15:18:01 | 显示全部楼层
不太明白LZ的意思
多部门审批流???
回复

使用道具 举报

0

主题

48

帖子

30.00

积分

新手上路

Rank: 1

积分
30.00
发表于 2020-1-21 15:36:01 | 显示全部楼层
认为还是该改设计
回复

使用道具 举报

1

主题

15

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-1-22 11:36:02 | 显示全部楼层
是的,多部门审批流,所有审批信息放在一个字段中,对这个字段进行解析
回复

使用道具 举报

1

主题

15

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-1-22 13:00:01 | 显示全部楼层
各位有好的方法吗
回复

使用道具 举报

1

主题

15

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
 楼主| 发表于 2020-1-22 13:36:01 | 显示全部楼层
我的设计是通过分隔符来进行的,这样可以简化设计同时又做到了通用性和扩展性,只是解析时麻烦,望各位大侠帮忙
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-26 13:00:01 | 显示全部楼层
工作流的项目建议参考wfmc或者bpel规范。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表