USE [MedicineMis_STD]
GO
/****** Object: User [FoodMisLogin] Script Date: 03/02/2011 16:53:42 ******/
CREATE USER [FoodMisLogin] WITHOUT LOGIN WITH DEFAULT_SCHEMA=[dbo]
GO
/****** Object: User [FoodMisAuth] Script Date: 03/02/2011 16:53:42 ******/
CREATE USER [FoodMisAuth] WITHOUT LOGIN WITH DEFAULT_SCHEMA=[dbo]
GO
/****** Object: Table [dbo].[WorkScope] Script Date: 03/02/2011 16:53:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[WorkScope](
[WorkScopeId] [tinyint] NOT NULL,
[WorkScopeName] [varchar](20) NOT NULL,
[Remark] [varchar](100) NULL,
[Deleted] [bit] NULL,
[DataVersion] [bigint] NULL,
CONSTRAINT [PK_WorkScope] PRIMARY KEY CLUSTERED
(
[WorkScopeId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'经营范围' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WorkScope', @level2type=N'COLUMN',@level2name=N'WorkScopeName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WorkScope', @level2type=N'COLUMN',@level2name=N'Deleted'
GO
/****** Object: Table [dbo].[WebFunctionRole] Script Date: 03/02/2011 16:53:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[WebFunctionRole](
[RoleId] [int] NULL,
[WebFunctionId] [int] NULL,
[ExFunction1Checked] [int] NULL,
[ExFunction2Checked] [int] NULL,
[ExFunction3Checked] [int] NULL,
[ExFunction4Checked] [int] NULL,
[ExFunction5Checked] [int] NULL,
[ExFunction6Checked] [int] NULL,
[ExFunction7Checked] [int] NULL,
[ExFunction8Checked] [int] NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[WebFunctionBack] Script Date: 03/02/2011 16:53:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[WebFunctionBack](
[Id] [int] IDENTITY(1,1) NOT NULL,
[ParentId] [int] NULL,
[Path] [nvarchar](500) NULL,
[Description] [nvarchar](500) NULL,
[ExFunction1] [nvarchar](50) NULL,
[ExFunction2] [nvarchar](50) NULL,
[ExFunction3] [nvarchar](50) NULL,
[ExFunction4] [nvarchar](50) NULL,
[ExFunction5] [nvarchar](50) NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[WebFunction] Script Date: 03/02/2011 16:53:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[WebFunction](
[Id] [int] IDENTITY(1,1) NOT NULL,
[ApplicationId] [int] NULL,
[ParentId] [int] NULL,
[Path] [nvarchar](500) NULL,
[Description] [nvarchar](500) NULL,
[ExFunction1] [nvarchar](50) NULL,
[ExFunction1Action] [nvarchar](50) NULL,
[ExFunction2] [nvarchar](50) NULL,
[ExFunction2Action] [nvarchar](50) NULL,
[ExFunction3] [nvarchar](50) NULL,
[ExFunction3Action] [nvarchar](50) NULL,
[ExFunction4] [nvarchar](50) NULL,
[EXFunction4Action] [nvarchar](50) NULL,
[ExFunction5] [nvarchar](50) NULL,
[ExFunction5Action] [nvarchar](50) NULL,
[ExFunction6] [nvarchar](50) NULL,
[ExFunction6Action] [nvarchar](50) NULL,
[ExFunction7] [nvarchar](50) NULL,
[ExFunction7Action] [nvarchar](50) NULL,
[ExFunction8] [nvarchar](50) NULL,
[ExFunction8Action] [nvarchar](50) NULL,
CONSTRAINT [PK_WebFunction] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[PostFunc] Script Date: 03/02/2011 16:53:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[PostFunc](
[PostId] [int] NOT NULL,
[FunctionId] [int] NOT NULL,
[Tag] [bit] NULL,
CONSTRAINT [PK_PostFunc] PRIMARY KEY CLUSTERED
(
[PostId] ASC,
[FunctionId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Post] Script Date: 03/02/2011 16:53:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Post](
[PostId] [int] NOT NULL,
[PostName] [varchar](20) NOT NULL,
[Remark] [varchar](50) NULL,
[IsSelected] [bit] NULL,
CONSTRAINT [PK_Post] PRIMARY KEY CLUSTERED
(
[PostId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[NewStock] Script Date: 03/02/2011 16:53:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[NewStock](
[EmbranchmentId] [smallint] NOT NULL,
[BillType] [tinyint] NOT NULL,
[BillId] [int] NOT NULL,
[RowNum] [tinyint] NOT NULL,
[CommodityId] [int] NULL,
[BatchCode] [varchar](50) NULL,
[Price] [decimal](18, 4) NULL,
[Discount] [decimal](18, 4) NULL,
[DiscountPrice] [decimal](18, 4) NULL,
[TaxPrice] [char](10) NULL,
[Amount] [decimal](18, 4) NULL,
[TaxRate] [decimal](18, 4) NULL,
[SumMoney] [decimal](18, 4) NULL,
[SumTaxMoney] [decimal](18, 4) NULL,
[ProductDate] [smalldatetime] NULL,
[ValidateDate] [smalldatetime] NULL,
[RetailPrice] [decimal](18, 4) NULL,
[CommodityName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[DoseTypeName] [varchar](50) NULL,
[ProducingArea] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[SpellCode] [varchar](200) NULL,
[TXM] [varchar](50) NULL,
[CustomCode] [varchar](50) NULL,
[IsChinese] [bit] NULL,
[CounterId] [tinyint] NULL,
[CounterName] [varchar](50) NULL,
[MemberPrice] [decimal](18, 4) NULL,
[Medicare] [tinyint] NULL,
[PackingId] [int] NOT NULL,
[PackingName] [varchar](50) NULL,
[CustomStr] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
[IsMemberPrice] [bit] NULL,
[IsDiscount] [bit] NULL,
[IsScore] [bit] NULL,
CONSTRAINT [PK_NewStock] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[BillType] ASC,
[BillId] ASC,
[RowNum] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是不是中药' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'NewStock', @level2type=N'COLUMN',@level2name=N'IsChinese'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'NewStock', @level2type=N'COLUMN',@level2name=N'CounterId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'NewStock', @level2type=N'COLUMN',@level2name=N'CounterName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'会员价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'NewStock', @level2type=N'COLUMN',@level2name=N'MemberPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医保' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'NewStock', @level2type=N'COLUMN',@level2name=N'Medicare'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'NewStock', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'NewStock', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'NewStock', @level2type=N'COLUMN',@level2name=N'CustomStr'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否使用会员价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'NewStock', @level2type=N'COLUMN',@level2name=N'IsMemberPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否打折' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'NewStock', @level2type=N'COLUMN',@level2name=N'IsDiscount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否积分' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'NewStock', @level2type=N'COLUMN',@level2name=N'IsScore'
GO
/****** Object: Table [dbo].[KyylqxEvent] Script Date: 03/02/2011 16:53:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[KyylqxEvent](
[EmbranchmentId] [smallint] NOT NULL,
[KyylqxUserId] [int] NOT NULL,
[EmbranchmentName] [varchar](50) NULL,
[EmbranchmentPhone] [varchar](50) NULL,
[BGDate] [datetime] NULL,
[Bm] [varchar](50) NULL,
[Bgly] [varchar](50) NULL,
[EmbranchmentAddress] [varchar](50) NULL,
[EmbranchmentZip] [varchar](10) NULL,
[UserName] [varchar](50) NULL,
[UserAge] [varchar](50) NULL,
[UserSex] [varchar](2) NULL,
[Yqzljbzy] [varchar](50) NULL,
[EventBx] [varchar](50) NULL,
[EventTime] [datetime] NULL,
[Ylqxsjsycs] [varchar](50) NULL,
[EventHg] [varchar](50) NULL,
[SwDate] [datetime] NULL,
[EventCx] [varchar](50) NULL,
[YlqxflName] [varchar](50) NULL,
[ShangPinName] [varchar](50) NULL,
[ZheCeZhengCode] [varchar](50) NULL,
[ScqyName] [varchar](50) NULL,
[ScqyAddress] [varchar](50) NULL,
[ScqyPhone] [varchar](50) NULL,
[XhGuige] [varchar](50) NULL,
[ProductCode] [varchar](50) NULL,
[ProductBatch] [varchar](50) NULL,
[Createor] [varchar](50) NULL,
[Yxqz] [datetime] NULL,
[TyDate] [datetime] NULL,
[ZrDate] [datetime] NULL,
[EventYyfx] [varchar](50) NULL,
[EventClqk] [varchar](50) NULL,
[EventReportState] [varchar](50) NULL,
[Sjjcjgyjcx] [varchar](50) NULL,
[Gjjcjgyjcx] [varchar](50) NULL,
[Bgr] [varchar](50) NULL,
[BgrQm] [varchar](50) NULL,
[DataVersion] [bigint] NULL,
[Deleted] [bit] NULL,
CONSTRAINT [PK_KyylqxEvent] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[KyylqxUserId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'零售店Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'可疑医疗器械不良事件Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'KyylqxUserId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单位名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'EmbranchmentName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单位电话' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'EmbranchmentPhone'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'报告日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'BGDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'Bm'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'报告来源' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'Bgly'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单位地址' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'EmbranchmentAddress'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'邮编' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'EmbranchmentZip'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'患者姓名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'UserName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年龄' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'UserAge'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'性别' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'UserSex'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'预期治疗疾病或作用' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'Yqzljbzy'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'事件表现' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'EventBx'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'事件发生时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'EventTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医疗器械实际使用场所' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'Ylqxsjsycs'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'事件后果' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'EventHg'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'事件陈述' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'EventCx'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医疗器械分类名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'YlqxflName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'商品名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'ShangPinName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'注册证号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'ZheCeZhengCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产企业名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'ScqyName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产企业地址' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'ScqyAddress'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'企业联系电话' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'ScqyPhone'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'型号规格' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'XhGuige'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'产品编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'ProductCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'产品批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'ProductBatch'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'操作人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'Createor'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'Yxqz'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'停用日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'TyDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'植入日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'ZrDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'事件发生原因分析' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'EventYyfx'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'事件处理情况' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'EventClqk'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'事件报告状态' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'EventReportState'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'省级监测机构意见陈述' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'Sjjcjgyjcx'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'国家监测机构意见陈述' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'Gjjcjgyjcx'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'报告人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'Bgr'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'报告人签名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'BgrQm'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数据版本' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'KyylqxEvent', @level2type=N'COLUMN',@level2name=N'DataVersion'
GO
/****** Object: Table [dbo].[IPAccess] Script Date: 03/02/2011 16:53:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[IPAccess](
[ID] [int] NOT NULL,
[EnableIP] [varchar](8000) NULL,
[DisableIP] [varchar](8000) NULL,
[Remark] [varchar](600) NULL,
[ExceptUser] [varchar](1000) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[User] Script Date: 03/02/2011 16:53:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[User](
[UserId] [int] NOT NULL,
[UserName] [varchar](20) NOT NULL,
[Password] [varchar](20) NULL,
[Name] [varchar](20) NULL,
[Email] [varchar](30) NULL,
[Phone] [varchar](30) NULL,
[MobilePhone] [varchar](30) NULL,
[UserType] [int] NULL,
[FactId] [int] NULL,
[Enabled] [bit] NULL,
CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED
(
[UserId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: StoredProcedure [dbo].[UpFieldData] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[UpFieldData](@ColumnName varchar(50),@ColumnValue varchar(25)) AS
declare @sql varchar(300)
declare @TableName varchar(50)
declare upTableCursor cursor for select b.name as TableName from syscolumns a inner join sysobjects b
on a.id=b.id and a.name=@ColumnName
open upTableCursor
fetch next from upTableCursor into @TableName
while(@@fetch_status=0)
begin
set @sql='update '+@TableName+' set '+@ColumnName+'='+@ColumnValue
exec(@sql)
print '表名:'+@TableName+' ,列名: '+@ColumnName
fetch next from upTableCursor into @TableName
end
close upTableCursor
deallocate upTableCursor
GO
/****** Object: Table [dbo].[Sequences] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Sequences](
[Sequence_Name] [varchar](30) NOT NULL,
[Sequence_NextId] [int] NOT NULL,
[Remark] [varchar](50) NULL,
CONSTRAINT [PK_Sequences] PRIMARY KEY CLUSTERED
(
[Sequence_Name] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Role] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Role](
[Id] [int] NOT NULL,
[Name] [varchar](255) NOT NULL,
[LoweredName] [varchar](255) NOT NULL,
[Description] [varchar](255) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Reports] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Reports](
[ReportId] [int] NOT NULL,
[ViewName] [varchar](50) NULL,
[ReportData] [image] NULL,
[ReportName] [varchar](150) NULL,
[IsSystem] [bit] NULL,
[IsDefault] [bit] NULL,
[Remark] [varchar](50) NULL,
CONSTRAINT [PK_Reports] PRIMARY KEY CLUSTERED
(
[ReportId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Report] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Report](
[ReportId] [int] NOT NULL,
[ViewName] [varchar](50) NULL,
[ReportData] [image] NULL,
[ReportName] [varchar](150) NULL,
[IsSystem] [bit] NULL,
[IsDefault] [bit] NULL,
[Remark] [varchar](50) NULL,
CONSTRAINT [PK_Report] PRIMARY KEY CLUSTERED
(
[ReportId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否默认格式' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Report', @level2type=N'COLUMN',@level2name=N'IsDefault'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Report', @level2type=N'COLUMN',@level2name=N'Remark'
GO
/****** Object: Table [dbo].[QsProject] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[QsProject](
[QsProjectId] [int] NOT NULL,
[IsQueryStock] [bit] NULL,
[QryBeginTime] [datetime] NULL,
[QryEndTime] [datetime] NULL,
[ExeBidTime] [datetime] NULL,
[Name] [varchar](40) NULL,
CONSTRAINT [PK_QsProject] PRIMARY KEY CLUSTERED
(
[QsProjectId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[QsPackageDetail] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[QsPackageDetail](
[QsPackageDetailId] [int] NOT NULL,
[PackageId] [int] NULL,
[Amount] [numeric](18, 4) NULL,
[Brand] [varchar](20) NULL,
[GoodName] [varchar](40) NULL,
[Model] [varchar](4000) NULL,
[PledgePeriod] [varchar](50) NULL,
[ProvidePeriod] [varchar](50) NULL,
[Unit] [varchar](50) NULL,
[Remark] [varchar](4000) NULL,
CONSTRAINT [PK_QsDetail] PRIMARY KEY CLUSTERED
(
[QsPackageDetailId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[QsPackage] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[QsPackage](
[QsPackageId] [int] NOT NULL,
[BiBankRoll] [numeric](18, 4) NULL,
[BidKind] [varchar](40) NULL,
[BoBankRoll] [numeric](18, 4) NULL,
[BudgetAmount] [numeric](18, 4) NULL,
[Packgeno] [varchar](20) NULL,
[ProjectId] [int] NULL,
[SBankRoll] [numeric](18, 4) NULL,
[StockPlanNo] [varchar](20) NULL,
[State] [varchar](50) NULL,
[QuotePriceId] [int] NULL,
[OpenerId] [int] NULL,
[OpenerId2] [int] NULL,
[OpenerId3] [int] NULL,
[BidAmount] [numeric](18, 0) NULL,
CONSTRAINT [PK_QsPackage] PRIMARY KEY CLUSTERED
(
[QsPackageId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[ProviderPower] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[ProviderPower](
[ProviderId] [smallint] NOT NULL,
[CatalogId] [int] NULL,
[Code] [varchar](50) NULL,
[Name] [varchar](100) NULL,
[ShortName] [varchar](50) NULL,
[SpellCode] [varchar](100) NULL,
[DataVersion] [bigint] NULL,
[Deleted] [bit] NULL,
[ProviderType] [varchar](50) NULL,
CONSTRAINT [PK_ProviderPower] PRIMARY KEY CLUSTERED
(
[ProviderId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Provider] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Provider](
[ProviderId] [smallint] NOT NULL,
[CatalogId] [int] NULL,
[Code] [varchar](50) NULL,
[Name] [varchar](100) NULL,
[ShortName] [varchar](50) NULL,
[SpellCode] [varchar](100) NULL,
[DataVersion] [bigint] NULL,
[Deleted] [bit] NULL,
[ProviderType] [varchar](50) NULL,
CONSTRAINT [PK_Provider] PRIMARY KEY CLUSTERED
(
[ProviderId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'供应商是药品生产、经营企业、药品生产和经营企业、其它' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Provider', @level2type=N'COLUMN',@level2name=N'ProviderType'
GO
/****** Object: Table [dbo].[Goods] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Goods](
[Id] [nvarchar](50) NULL,
[Name] [nvarchar](50) NULL,
[Detail] [nvarchar](50) NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[GoodRelation] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[GoodRelation](
[Id] [int] NULL,
[ParentId] [int] NULL,
[Level] [int] NULL
) ON [PRIMARY]
GO
/****** Object: StoredProcedure [dbo].[GetXml] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[GetXml] (
@ParameterSQL AS nvarchar(Max)
)
AS
BEGIN
DECLARE @SQL NVARCHAR(MAX)
DECLARE @XMLString VARCHAR(MAX)
DECLARE @XML XML
DECLARE @Paramlist NVARCHAR(1000)
SET @Paramlist = N'@XML XML OUTPUT'
SET @SQL = 'WITH PrepareTable (XMLString) '
SET @SQL = @SQL + 'AS ( '
SET @SQL = @SQL + @ParameterSQL+ ' FOR XML RAW, TYPE, ELEMENTS '
SET @SQL = @SQL + ') '
SET @SQL = @SQL + 'SELECT @XML = XMLString FROM PrepareTable '
EXEC sp_executesql @SQL, @Paramlist, @XML=@XML OUTPUT
SET @XMLString = CAST(@XML AS VARCHAR(MAX))
SELECT @XMLString
END
GO
/****** Object: Table [dbo].[Manufacturer] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Manufacturer](
[ManufacturerId] [int] NOT NULL,
CONSTRAINT [PK_Manufacturer] PRIMARY KEY CLUSTERED
(
[ManufacturerId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[LoginOutInfo] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[LoginOutInfo](
[LoginId] [int] NOT NULL,
[LoginOutDate] [datetime] NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[LoginInfo] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[LoginInfo](
[Id] [int] IDENTITY(1,1) NOT NULL,
[ApplicationId] [int] NULL,
[ApplicationName] [nvarchar](50) NULL,
[UserId] [int] NULL,
[UserName] [nvarchar](50) NULL,
[LoginDate] [datetime] NULL,
[LoginState] [bit] NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[InoutStockTableCard] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[InoutStockTableCard](
[Guid] [uniqueidentifier] ROWGUIDCOL NOT NULL,
[EmbranchmentId] [smallint] NULL,
[StockId] [tinyint] NULL,
[BillType] [tinyint] NULL,
[BillId] [int] NULL,
[BillCode] [varchar](50) NULL,
[BusinessDate] [smalldatetime] NULL,
[AuditDate] [smalldatetime] NULL,
[RowNum] [tinyint] NULL,
[CommodityId] [int] NULL,
[BatchCode] [varchar](50) NULL,
[PreCostPrice] [decimal](18, 4) NULL,
[PreSalePrice] [decimal](18, 4) NULL,
[PreBatchSalePrice] [decimal](18, 4) NULL,
[ChangePrice] [decimal](18, 4) NULL,
[Discount] [decimal](18, 4) NULL,
[DiscountPrice] [decimal](18, 4) NULL,
[OriginalAmount] [decimal](18, 4) NULL,
[PreAmount] [decimal](18, 4) NULL,
[ChangeAmount] [decimal](18, 4) NULL,
[InAmount] [decimal](18, 4) NULL,
[OutAmount] [decimal](18, 4) NULL,
[CurAmount] [decimal](18, 4) NULL,
[PreCostSumMoney] [decimal](18, 4) NULL,
[PreSaleSumMoney] [decimal](18, 4) NULL,
[PreBatchSaleSumMoney] [decimal](18, 4) NULL,
[ChangeSumMoney] [decimal](18, 4) NULL,
[CurCostPrice] [decimal](18, 4) NULL,
[CurSalePrice] [decimal](18, 4) NULL,
[CurBatchSalePrice] [decimal](18, 4) NULL,
[CurCostSumMoney] [decimal](18, 4) NULL,
[CurSaleSumMoney] [decimal](18, 4) NULL,
[CurBatchSaleSumMoney] [decimal](18, 4) NULL,
[ProductDate] [datetime] NULL,
[InvalidateDate] [datetime] NULL,
[IsAmountChanged] [bit] NULL,
[IsMoneyChanged] [bit] NULL,
[ProviderId] [int] NULL,
[CustomerId] [int] NULL,
[InStockId] [int] NULL,
[OutStockId] [int] NULL,
[DataVersion] [bigint] NULL,
[CommodityName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[DoseTypeName] [varchar](50) NULL,
[ProducingArea] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[CreatorName] [varchar](50) NULL,
[BusinessName] [varchar](50) NULL,
[BillCodeName] [varchar](50) NULL,
[StockName] [varchar](50) NULL,
[EmbranchmentName] [varchar](50) NULL,
[ProviderName] [varchar](50) NULL,
[CustomerName] [varchar](50) NULL,
[InStockName] [varchar](50) NULL,
[OutStockName] [varchar](50) NULL,
[Remark] [varchar](100) NULL,
[AuthorizeCode] [varchar](100) NULL,
[CustomCode] [varchar](50) NULL,
[EntireDisCount] [decimal](6, 3) NULL,
[MonthReckoningID] [int] NULL,
[CounterId] [tinyint] NULL,
[CounterName] [varchar](50) NULL,
[IsZY] [smallint] NULL,
[PayType] [tinyint] NULL,
[CardCode] [varchar](50) NULL,
[Medicare] [tinyint] NULL,
[PayCard] [decimal](18, 4) NULL,
[PackingId] [int] NULL,
[PackingName] [varchar](50) NULL,
[CustomStr] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
[IsMedicare] [int] NULL,
[MedicareFlag1] [varchar](50) NULL,
[MedicareFlag2] [varchar](50) NULL,
[MedicareFlag3] [varchar](50) NULL,
[MedicareFlag4] [varchar](50) NULL,
[MedicareFlag5Date] [datetime] NULL,
[PayCardMoneyAfter] [decimal](18, 4) NULL,
[PayCardMoneyBefore] [decimal](18, 4) NULL,
[PayCardNO] [varchar](100) NULL,
[PayKYB] [decimal](18, 4) NULL,
[PaySYB] [decimal](18, 4) NULL,
[PayYB] [decimal](18, 4) NULL,
[ReturnPayCard] [decimal](18, 4) NULL,
[PayMoney] [decimal](18, 4) NULL,
[ReturnMoney] [decimal](18, 4) NULL,
[CostMemberPrice] [decimal](18, 4) NULL,
[PreMemberPrice] [decimal](18, 4) NULL,
[CurMemberPrice] [decimal](18, 4) NULL,
[SumPayCard] [decimal](18, 4) NULL,
[SumReturnPayCard] [decimal](18, 4) NULL,
[Deleted] [bit] NULL,
[CardDataVersion] [bigint] NULL,
[IsLottery] [bit] NULL,
[CompanyId] [smallint] NULL,
[CFF] [decimal](18, 4) NULL,
CONSTRAINT [PK_InoutStockTableCard] PRIMARY KEY CLUSTERED
(
[Guid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分支机构Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'仓库Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'StockId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据类型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'BillType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'BillId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'BillCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'业务日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'BusinessDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'审核日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'AuditDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'行号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'RowNum'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'商品Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'CommodityId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'BatchCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'变化前的成本价格' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'PreCostPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'变化前的零售价格' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'PreSalePrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'变化前的批发价格' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'PreBatchSalePrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'引起数量变化的单价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'ChangePrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'折扣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'Discount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'引起数量变化的折后价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'DiscountPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'期初库存' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'OriginalAmount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'变化前数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'PreAmount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'变化数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'ChangeAmount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入库变化数量(批次跟踪时用)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'InAmount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'出库变化数量(批次跟踪时用)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'OutAmount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'CurAmount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'变化前零售合计' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'PreSaleSumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'变化前批发合计' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'PreBatchSaleSumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合计金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'ChangeSumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前成本合计' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'CurCostSumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前零售价合计' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'CurSaleSumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前批发价合计' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'CurBatchSaleSumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'ProductDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'InvalidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'IsAmountChanged'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'IsMoneyChanged'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'通用名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'CommodityName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'规格' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'Spec'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'剂型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'DoseTypeName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产厂商' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'ProducingArea'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'Unit'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批准文号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'AuthorizeCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'月结' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'MonthReckoningID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'CounterId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'CounterName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'判断是否中药 "1"是中药"0"是西药"2"是POS' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'IsZY'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'付款类型(0-现金;1-会员卡;2-现金+会员卡)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'PayType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医保(0-非,1-市,2-矿市,3-矿)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'Medicare'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'会员卡消费' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'PayCard'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'CustomStr'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否已兑现医保' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'IsMedicare'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'勾兑单据ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'MedicareFlag1'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'勾兑人ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'MedicareFlag2'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'勾兑人Name' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'MedicareFlag3'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'勾兑时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'MedicareFlag5Date'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卡交易后余额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'PayCardMoneyAfter'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卡交易前余额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'PayCardMoneyBefore'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'交易卡号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'PayCardNO'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'矿医保' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'PayKYB'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'市医保' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'PaySYB'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'矿医保+市医保' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'PayYB'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'收款(现金)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'PayMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'找零(现金)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'InoutStockTableCard', @level2type=N'COLUMN',@level2name=N'ReturnMoney'
GO
/****** Object: Table [dbo].[InoutStockTable] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[InoutStockTable](
[Guid] [uniqueidentifier] ROWGUIDCOL NOT NULL,
[EmbranchmentId] [smallint] NULL,
[StockId] [tinyint] NULL,
[BillType] [tinyint] NULL,
[BillId] [int] NULL,
[BillCode] [varchar](50) NULL,
[BusinessDate] [smalldatetime] NULL,
[AuditDate] [smalldatetime] NULL,
[RowNum] [tinyint] NULL,
[CommodityId] [int] NULL,
[BatchCode] [varchar](50) NULL,
[PreCostPrice] [decimal](18, 4) NOT NULL,
[PreSalePrice] [decimal](18, 4) NULL,
[PreBatchSalePrice] [decimal](18, 4) NULL,
[ChangePrice] [decimal](18, 4) NULL,
[Discount] [decimal](18, 4) NULL,
[DiscountPrice] [decimal](18, 4) NULL,
[OriginalAmount] [decimal](18, 4) NULL,
[PreAmount] [decimal](18, 4) NULL,
[ChangeAmount] [decimal](18, 4) NULL,
[InAmount] [decimal](18, 4) NULL,
[OutAmount] [decimal](18, 4) NULL,
[CurAmount] [decimal](18, 4) NULL,
[PreCostSumMoney] [decimal](18, 4) NULL,
[PreSaleSumMoney] [decimal](18, 4) NULL,
[PreBatchSaleSumMoney] [decimal](18, 4) NULL,
[ChangeSumMoney] [decimal](18, 4) NULL,
[CurCostPrice] [decimal](18, 4) NULL,
[CurSalePrice] [decimal](18, 4) NULL,
[CurBatchSalePrice] [decimal](18, 4) NULL,
[CurCostSumMoney] [decimal](18, 4) NULL,
[CurSaleSumMoney] [decimal](18, 4) NULL,
[CurBatchSaleSumMoney] [decimal](18, 4) NULL,
[ProductDate] [datetime] NULL,
[InvalidateDate] [datetime] NULL,
[IsAmountChanged] [bit] NULL,
[IsMoneyChanged] [bit] NULL,
[ProviderId] [int] NULL,
[CustomerId] [int] NULL,
[InStockId] [int] NULL,
[OutStockId] [int] NULL,
[DataVersion] [bigint] NULL,
[CommodityName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[DoseTypeName] [varchar](50) NULL,
[ProducingArea] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[CreatorName] [varchar](50) NULL,
[BusinessName] [varchar](50) NULL,
[BillCodeName] [varchar](50) NULL,
[StockName] [varchar](50) NULL,
[EmbranchmentName] [varchar](50) NULL,
[ProviderName] [varchar](50) NULL,
[CustomerName] [varchar](50) NULL,
[InStockName] [varchar](50) NULL,
[OutStockName] [varchar](50) NULL,
[Remark] [varchar](100) NULL,
[AuthorizeCode] [varchar](100) NULL,
[CustomCode] [varchar](50) NULL,
[EntireDisCount] [decimal](6, 3) NULL,
[MonthReckoningID] [int] NULL,
[CounterId] [tinyint] NULL,
[CounterName] [varchar](50) NULL,
[IsZY] [smallint] NULL,
[PayType] [tinyint] NULL,
[CardId] [int] NULL,
[CardCode] [varchar](50) NULL,
[Medicare] [tinyint] NULL,
[PayCard] [decimal](18, 4) NULL,
[PackingId] [int] NULL,
[PackingName] [varchar](50) NULL,
[CustomStr] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
[IsMedicare] [int] NULL,
[MedicareFlag1] [varchar](50) NULL,
[MedicareFlag2] [varchar](50) NULL,
[MedicareFlag3] [varchar](50) NULL,
[MedicareFlag4] [varchar](50) NULL,
[MedicareFlag5Date] [datetime] NULL,
[PaySYB] [decimal](18, 4) NULL,
[PayKYB] [decimal](18, 4) NULL,
[PayYB] [decimal](18, 4) NULL,
[PayCardNO] [varchar](100) NULL,
[PayCardMoneyBefore] [decimal](18, 4) NULL,
[PayCardMoneyAfter] [decimal](18, 4) NULL,
[ReturnPayCard] [decimal](18, 4) NULL,
[PayMoney] [decimal](18, 4) NULL,
[ReturnMoney] [decimal](18, 4) NULL,
[IsMemberPrice] [bit] NULL,
[Status] [int] NULL,
[CostMemberPrice] [decimal](18, 4) NULL,
[CurMemberPrice] [decimal](18, 4) NULL,
[PreMemberPrice] [decimal](18, 4) NULL,
[SumPayCard] [decimal](18, 4) NULL,
[SumReturnPayCard] [decimal](18, 4) NULL,
[CardDataVersion] [bigint] NULL,
[IsLottery] [bit] NULL,
[CompanyId] [smallint] NULL,
[CFF] [decimal](18, 4) NULL,
CONSTRAINT [PK_InoutStockTable] PRIMARY KEY CLUSTERED
(
[Guid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[FunctionTree] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[FunctionTree](
[FuncId] [int] NOT NULL,
[FuncName] [varchar](30) NULL,
[DisplayOrder] [int] NULL,
[ParentId] [int] NULL,
[Remark] [varchar](60) NULL,
[Flag] [int] NULL,
[IsSelected] [bit] NULL,
[Tag] [bit] NULL,
CONSTRAINT [PK_FunctionTree] PRIMARY KEY CLUSTERED
(
[FuncId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'1模块2功能菜单3功能项' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FunctionTree', @level2type=N'COLUMN',@level2name=N'Flag'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0-零售软件;1-会员卡' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FunctionTree', @level2type=N'COLUMN',@level2name=N'Tag'
GO
/****** Object: Table [dbo].[FoodProvider] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[FoodProvider](
[EmbranchmentId] [int] NOT NULL,
[ProviderId] [int] NOT NULL,
[Code] [varchar](50) NULL,
[Name] [varchar](100) NULL,
[SpellCode] [varchar](100) NULL,
[Address] [varchar](200) NULL,
[EconomyKind] [varchar](50) NULL,
[LegalPerson] [varchar](10) NULL,
[BusinessScope] [varchar](500) NULL,
[BusinessLicenseId] [varchar](50) NULL,
[BusinessLicenseIssueDate] [datetime] NULL,
[BusinessLicenseIssueOrganization] [varchar](50) NULL,
[BusinessLicenseBeginDate] [datetime] NULL,
[BusinessLicenseInvalidateDate] [datetime] NULL,
[HealthLicenseId] [varchar](50) NULL,
[HealthLicenseIssueDate] [datetime] NULL,
[HealthLicenseIssueOrganization] [varchar](50) NULL,
[HealthLicenseBeginDate] [datetime] NULL,
[HealthLicenseInvalidateDate] [datetime] NULL,
[Tel] [varchar](50) NULL,
CONSTRAINT [PK_FoodProvider] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[ProviderId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'餐饮单位ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'供货商ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'ProviderId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'供货商编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'Code'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'供货商名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'Name'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'拼音码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'SpellCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'地址' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'Address'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'公司类型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'EconomyKind'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'法定代表人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'LegalPerson'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'经营范围' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'BusinessScope'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'营业执照编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'BusinessLicenseId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'营业执照发证日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'BusinessLicenseIssueDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'营业执照发证机关' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'BusinessLicenseIssueOrganization'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'营业执照有效期自' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'BusinessLicenseBeginDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'营业执照有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'BusinessLicenseInvalidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卫生许可证编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'HealthLicenseId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卫生许可证发证日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'HealthLicenseIssueDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卫生许可证发证机关' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'HealthLicenseIssueOrganization'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卫生许可证有效期自' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'HealthLicenseBeginDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'HealthLicenseInvalidateDate' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'HealthLicenseInvalidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'电话' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodProvider', @level2type=N'COLUMN',@level2name=N'Tel'
GO
/****** Object: Table [dbo].[FoodManagementInstitution] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[FoodManagementInstitution](
[EmbranchmentId] [smallint] NOT NULL,
[ManagementInstitutionId] [int] NOT NULL,
[ManagementInstitutionTitle] [varchar](100) NULL,
[ManagementInstitution] [varchar](8000) NULL,
[ManagementInstitutionType] [varchar](20) NULL,
CONSTRAINT [PK_FoodManagementInstitution] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[ManagementInstitutionId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'餐饮单位ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodManagementInstitution', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'管理制度ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodManagementInstitution', @level2type=N'COLUMN',@level2name=N'ManagementInstitutionId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'管理制度' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodManagementInstitution', @level2type=N'COLUMN',@level2name=N'ManagementInstitution'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'管理制度类型(食品安全管理制度/从业人员健康管理制度)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodManagementInstitution', @level2type=N'COLUMN',@level2name=N'ManagementInstitutionType'
GO
/****** Object: Table [dbo].[FoodInoutStockTable] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[FoodInoutStockTable](
[Guid] [uniqueidentifier] NOT NULL,
[EmbranchmentId] [smallint] NULL,
[EmbranchmentName] [varchar](50) NULL,
[BillId] [int] NULL,
[BillCode] [varchar](50) NULL,
[RowNum] [tinyint] NULL,
[FoodId] [int] NOT NULL,
[PackingId] [int] NOT NULL,
[PackingName] [varchar](50) NULL,
[BusinessId] [smallint] NULL,
[BusinessDate] [smalldatetime] NULL,
[BusinessName] [varchar](50) NULL,
[ProductName] [varchar](50) NULL,
[Spec] [varchar](50) NULL,
[Amout] [decimal](18, 4) NULL,
[BatchCode] [varchar](50) NULL,
[ProductDate] [smalldatetime] NULL,
[ValidateDate] [smalldatetime] NULL,
[ProviderName] [varchar](50) NULL,
[ProviderPhone] [varchar](50) NULL,
[Checker] [varchar](50) NULL,
[Remark] [varchar](200) NULL,
[SumMoney] [decimal](18, 4) NULL,
[CreatorId] [smallint] NULL,
[CreatorName] [varchar](50) NULL,
[CreatorDate] [smalldatetime] NULL,
[AccepttorId] [int] NULL,
[AccepttorName] [varchar](50) NULL,
[QualityStatus] [varchar](50) NULL,
[HasBill] [bit] NULL,
[BuyTime] [smalldatetime] NULL,
[ProviderTel] [varchar](50) NULL,
CONSTRAINT [PK_FoodInoutStockTable] PRIMARY KEY CLUSTERED
(
[Guid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'餐饮单位ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'餐饮单位名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'EmbranchmentName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'BillId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'BillCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'行号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'RowNum'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'业务员Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'BusinessId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'进货日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'BusinessDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'产品名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'ProductName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'规格' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'Spec'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'BatchCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'ProductDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'保质期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'ValidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'供货商' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'ProviderName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'供货商联系方式' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'ProviderPhone'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'验收人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'Checker'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'Remark'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合计金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'SumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建者Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'CreatorId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'CreatorDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'验收人ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'AccepttorId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'验收人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'AccepttorName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'质量状况' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'QualityStatus'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有购物凭证或票据(1有/0无)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'HasBill'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'购进时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInoutStockTable', @level2type=N'COLUMN',@level2name=N'BuyTime'
GO
/****** Object: Table [dbo].[FoodInfo] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[FoodInfo](
[FoodId] [int] NOT NULL,
[PackingId] [int] NOT NULL,
[ProductName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[ProducingArea] [varchar](100) NULL,
[SpellCode] [varchar](100) NULL,
[CustomCode] [varchar](50) NULL,
[TXM] [varchar](60) NULL,
[Deleted] [bit] NULL,
[DataVersion] [bigint] NULL,
[RetailPrice] [money] NULL,
[PackingName] [varchar](50) NULL,
CONSTRAINT [PK_FoodInfo] PRIMARY KEY CLUSTERED
(
[FoodId] ASC,
[PackingId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInfo', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodInfo', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
/****** Object: Table [dbo].[FoodEmbranchmentEmployeeTrainingDoc] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[FoodEmbranchmentEmployeeTrainingDoc](
[EmbranchmentId] [int] NOT NULL,
[EmployeeId] [int] NOT NULL,
[TrainDate] [smalldatetime] NULL,
[TrainDoc] [varchar](5000) NULL,
CONSTRAINT [PK_FoodEmbranchmentEmployeeTrainingDoc] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[EmployeeId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'培训日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchmentEmployeeTrainingDoc', @level2type=N'COLUMN',@level2name=N'TrainDate'
GO
/****** Object: Table [dbo].[FoodEmbranchmentEmployeeExamination] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[FoodEmbranchmentEmployeeExamination](
[EmbranchmentId] [int] NOT NULL,
[EmployeeId] [int] NOT NULL,
[CheckDate] [smalldatetime] NULL,
[HealthStatus] [varchar](10) NULL,
[Additional] [image] NULL,
CONSTRAINT [PK_FoodEmbranchmentEmployeeExamination] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[EmployeeId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'体检日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchmentEmployeeExamination', @level2type=N'COLUMN',@level2name=N'CheckDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'健康状况' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchmentEmployeeExamination', @level2type=N'COLUMN',@level2name=N'HealthStatus'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'健康检查表附件(图)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchmentEmployeeExamination', @level2type=N'COLUMN',@level2name=N'Additional'
GO
/****** Object: Table [dbo].[FoodEmbranchmentEmployee] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[FoodEmbranchmentEmployee](
[EmbranchmentId] [smallint] NOT NULL,
[EmployeeId] [smallint] NOT NULL,
[EmbranchmentName] [varchar](50) NULL,
[Code] [varchar](50) NULL,
[Name] [varchar](10) NULL,
[SpellCode] [varchar](10) NULL,
[Sex] [varchar](2) NULL,
[Address] [varchar](50) NULL,
[Telephone] [varchar](20) NULL,
[MobilePhone] [varchar](20) NULL,
[Nation] [varchar](20) NULL,
[IDNo] [varchar](20) NULL,
[Duty] [varchar](20) NULL,
[Deleted] [bit] NULL,
CONSTRAINT [PK_FoodEmbranchmentEmployee] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[EmployeeId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'餐饮单位ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'餐饮单位职员ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'EmployeeId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'餐饮单位名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'EmbranchmentName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'Code'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'姓名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'Name'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'拼音码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'SpellCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'性别' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'Sex'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'户籍登记住址' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'Address'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'固定电话' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'Telephone'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'移动电话' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'MobilePhone'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'民族' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'Nation'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'身份证号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'IDNo'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'职务(负责人、食品安全专业技术人员、食品安全管理人员、从业人员)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'Duty'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否删除' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'Deleted'
GO
/****** Object: Table [dbo].[FoodEmbranchment] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[FoodEmbranchment](
[EmbranchmentId] [int] NOT NULL,
[UserName] [varchar](50) NOT NULL,
[PassWord] [varchar](50) NULL,
[Name] [varchar](50) NULL,
[SpellCode] [varchar](50) NULL,
[AgentName] [varchar](50) NULL,
[Address] [varchar](100) NULL,
[WorkMethod] [varchar](50) NULL,
[Phone] [varchar](50) NULL,
[MobilePhone] [varchar](20) NULL,
[WorkLicenseId] [varchar](50) NULL,
[WorkLicenseIssueDate] [smalldatetime] NULL,
[WorkLicenseInvalidateDate] [smalldatetime] NULL,
[Remark] [varchar](200) NULL,
[Deleted] [bit] NULL,
[DataVersion] [bigint] NULL,
[Area] [varchar](50) NULL,
[TradId] [varchar](50) NULL,
[TradAgentName] [varchar](20) NULL,
[RegisteredCapital] [varchar](50) NULL,
[RealCapital] [varchar](50) NULL,
[CompanyType] [varchar](50) NULL,
[ProsecutionRange] [varchar](200) NULL,
[TradIssueDate] [smalldatetime] NULL,
[TradInvalidateDate] [smalldatetime] NULL,
CONSTRAINT [PK_FoodEmbranchment_1] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'餐饮单位ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'登陆用户名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'UserName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'餐饮单位名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'Name'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'拼音码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'SpellCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'法定代表人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'AgentName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'地址' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'Address'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类别' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'WorkMethod'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'联系方式' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'Phone'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'移动电话' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'MobilePhone'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'餐饮服务许可证编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'WorkLicenseId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'餐饮服务许可证发证日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'WorkLicenseIssueDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'餐饮服务许可证有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'WorkLicenseInvalidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'餐饮服务许可证备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'Remark'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否删除' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'Deleted'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数据版本号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'DataVersion'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'所属区域' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'Area'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'营业执照的注册号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'TradId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'营业执照的法定代表人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'TradAgentName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'注册资本' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'RegisteredCapital'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'实收资本' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'RealCapital'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'公司类型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'CompanyType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'经营范围' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'ProsecutionRange'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'营业执照发证日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'TradIssueDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'营业执照有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodEmbranchment', @level2type=N'COLUMN',@level2name=N'TradInvalidateDate'
GO
/****** Object: Table [dbo].[FoodBillDetailBuyInStock] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[FoodBillDetailBuyInStock](
[EmbranchmentId] [smallint] NOT NULL,
[BillType] [tinyint] NOT NULL,
[BillId] [int] NOT NULL,
[RowNum] [tinyint] NOT NULL,
[FoodId] [int] NOT NULL,
[BatchCode] [varchar](50) NOT NULL,
[Price] [decimal](18, 4) NULL,
[PackingId] [int] NOT NULL,
[PackingName] [varchar](50) NULL,
[ProductName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[ProducingArea] [varchar](100) NULL,
[SpellCode] [varchar](100) NULL,
[CustomCode] [varchar](50) NULL,
[TXM] [varchar](60) NULL,
[RetailPrice] [money] NULL,
[Amount] [decimal](18, 4) NULL,
[SumMoney] [decimal](18, 4) NULL,
[ProductDate] [smalldatetime] NULL,
[ValidateDate] [smalldatetime] NULL,
[QualityStatus] [varchar](50) NULL,
[HasBill] [bit] NULL,
[BuyTime] [smalldatetime] NULL,
CONSTRAINT [PK_FoodBillDetailBuyInStock] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[BillType] ASC,
[BillId] ASC,
[RowNum] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'BatchCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成本价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'Price'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'Amount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合计金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'SumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'ProductDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'ValidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'质量状况' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'QualityStatus'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有购物凭证或票据(1有/0无)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'HasBill'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'购进时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'BuyTime'
GO
/****** Object: Table [dbo].[ClassType] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[ClassType](
[ClassId] [int] NOT NULL,
[ClassName] [varchar](100) NULL,
[Code] [varchar](4) NULL,
[Remark] [varchar](50) NULL,
CONSTRAINT [PK_Class] PRIMARY KEY CLUSTERED
(
[ClassId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[ClassRelation] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ClassRelation](
[ClassId] [int] NOT NULL,
[ParentId] [int] NOT NULL,
[Level] [int] NULL,
CONSTRAINT [PK_ClassRelation] PRIMARY KEY CLUSTERED
(
[ClassId] ASC,
[ParentId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[FoodBill] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[FoodBill](
[EmbranchmentId] [int] NOT NULL,
[BillId] [int] NOT NULL,
[BillType] [tinyint] NOT NULL,
[EmbranchmentName] [varchar](50) NULL,
[BillCode] [varchar](50) NULL,
[CreateDate] [smalldatetime] NULL,
[CreatorId] [int] NULL,
[BusinessDate] [smalldatetime] NULL,
[BusinessId] [int] NULL,
[AuditDate] [smalldatetime] NULL,
[AuditorId] [int] NULL,
[ProviderId] [int] NULL,
[Status] [tinyint] NULL,
[SumMoney] [decimal](18, 4) NULL,
[Remark] [varchar](100) NULL,
[ProviderName] [varchar](50) NULL,
[BillCodeName] [varchar](50) NULL,
[BusinessName] [varchar](50) NULL,
[CreatorName] [varchar](50) NULL,
[AuditorName] [varchar](50) NULL,
[AccepttorId] [int] NULL,
[AccepttorName] [varchar](50) NULL,
[ProviderTel] [varchar](50) NULL,
CONSTRAINT [PK_FoodBill] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[BillId] ASC,
[BillType] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分支Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBill', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBill', @level2type=N'COLUMN',@level2name=N'BillId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据类型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBill', @level2type=N'COLUMN',@level2name=N'BillType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBill', @level2type=N'COLUMN',@level2name=N'BillCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBill', @level2type=N'COLUMN',@level2name=N'CreateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建者Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBill', @level2type=N'COLUMN',@level2name=N'CreatorId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'业务日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBill', @level2type=N'COLUMN',@level2name=N'BusinessDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'业务员Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBill', @level2type=N'COLUMN',@level2name=N'BusinessId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'审核日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBill', @level2type=N'COLUMN',@level2name=N'AuditDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'审核者Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBill', @level2type=N'COLUMN',@level2name=N'AuditorId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'供应商Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBill', @level2type=N'COLUMN',@level2name=N'ProviderId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0刚创建1草稿2复核
(1:草稿,3:待办,4:已配货,5:废弃,2 审核' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBill', @level2type=N'COLUMN',@level2name=N'Status'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合计金额(不算处方费)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBill', @level2type=N'COLUMN',@level2name=N'SumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBill', @level2type=N'COLUMN',@level2name=N'Remark'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'验收人ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBill', @level2type=N'COLUMN',@level2name=N'AccepttorId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'验收人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'FoodBill', @level2type=N'COLUMN',@level2name=N'AccepttorName'
GO
/****** Object: StoredProcedure [dbo].[GetJSON] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[GetJSON] (
@ParameterSQL AS nvarchar(Max)
)
AS
BEGIN
DECLARE @SQL NVARCHAR(MAX)
DECLARE @XMLString VARCHAR(MAX)
DECLARE @XML XML
DECLARE @Paramlist NVARCHAR(1000)
SET @Paramlist = N'@XML XML OUTPUT'
SET @SQL = 'WITH PrepareTable (XMLString) '
SET @SQL = @SQL + 'AS ( '
SET @SQL = @SQL + @ParameterSQL+ ' FOR XML RAW, TYPE, ELEMENTS '
SET @SQL = @SQL + ') '
SET @SQL = @SQL + 'SELECT @XML = XMLString FROM PrepareTable '
EXEC sp_executesql @SQL, @Paramlist, @XML=@XML OUTPUT
SET @XMLString = CAST(@XML AS VARCHAR(MAX))
DECLARE @JSON VARCHAR(MAX)
DECLARE @Row VARCHAR(MAX)
DECLARE @RowStart INT
DECLARE @RowEnd INT
DECLARE @FieldStart INT
DECLARE @FieldEnd INT
DECLARE @KEY VARCHAR(MAX)
DECLARE @Value VARCHAR(MAX)
DECLARE @StartRoot VARCHAR(100); SET @StartRoot = '<row>'
DECLARE @EndRoot VARCHAR(100); SET @EndRoot = '</row>'
DECLARE @StartField VARCHAR(100); SET @StartField = '<'
DECLARE @EndField VARCHAR(100); SET @EndField = '>'
SET @RowStart = CharIndex(@StartRoot, @XMLString, 0)
SET @JSON = ''
WHILE @RowStart > 0
BEGIN
SET @RowStart = @RowStart+Len(@StartRoot)
SET @RowEnd = CharIndex(@EndRoot, @XMLString, @RowStart)
SET @Row = SubString(@XMLString, @RowStart, @RowEnd-@RowStart)
SET @JSON = @JSON+'{'
-- for each row
SET @FieldStart = CharIndex(@StartField, @Row, 0)
WHILE @FieldStart > 0
BEGIN
-- parse node key
SET @FieldStart = @FieldStart+Len(@StartField)
SET @FieldEnd = CharIndex(@EndField, @Row, @FieldStart)
SET @KEY = SubString(@Row, @FieldStart, @FieldEnd-@FieldStart)
SET @JSON = @JSON+'"'+@KEY+'":'
-- parse node value
SET @FieldStart = @FieldEnd+1
SET @FieldEnd = CharIndex('</', @Row, @FieldStart)
SET @Value = SubString(@Row, @FieldStart, @FieldEnd-@FieldStart)
SET @JSON = @JSON+'"'+@Value+'",'
SET @FieldStart = @FieldStart+Len(@StartField)
SET @FieldEnd = CharIndex(@EndField, @Row, @FieldStart)
SET @FieldStart = CharIndex(@StartField, @Row, @FieldEnd)
END
IF LEN(@JSON)>0 SET @JSON = SubString(@JSON, 0, LEN(@JSON))
SET @JSON = @JSON+'},'
--/ for each row
SET @RowStart = CharIndex(@StartRoot, @XMLString, @RowEnd)
END
IF LEN(@JSON)>0 SET @JSON = SubString(@JSON, 0, LEN(@JSON))
SET @JSON = '[' + @JSON + ']'
SELECT @JSON
END
GO
/****** Object: Table [dbo].[Counter] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Counter](
[CounterId] [tinyint] NOT NULL,
[CounterName] [varchar](50) NOT NULL,
[SpellCode] [varchar](50) NULL,
[Remark] [varchar](100) NULL,
CONSTRAINT [PK_Counter] PRIMARY KEY CLUSTERED
(
[CounterId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: StoredProcedure [dbo].[GetServerTime] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[GetServerTime]
(
@CreateDate datetime output --所取得的值
)
AS
set nocount on
select @CreateDate=getdate()
GO
/****** Object: Table [dbo].[MonthReckoning] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[MonthReckoning](
[MonthReckoningID] [int] NOT NULL,
[IYear] [smallint] NOT NULL,
[IMonth] [smallint] NOT NULL,
[RecckonTime] [datetime] NOT NULL,
[Remark] [varchar](50) NULL,
CONSTRAINT [PK_MonthReckoning] PRIMARY KEY CLUSTERED
(
[MonthReckoningID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'月结ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MonthReckoning', @level2type=N'COLUMN',@level2name=N'MonthReckoningID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'年' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MonthReckoning', @level2type=N'COLUMN',@level2name=N'IYear'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'月' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MonthReckoning', @level2type=N'COLUMN',@level2name=N'IMonth'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'月结具体时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MonthReckoning', @level2type=N'COLUMN',@level2name=N'RecckonTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MonthReckoning', @level2type=N'COLUMN',@level2name=N'Remark'
GO
/****** Object: Table [dbo].[MonthCommodityStock] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[MonthCommodityStock](
[DepotId] [int] NOT NULL,
[EmbranchmentId] [smallint] NOT NULL,
[CommodityId] [int] NOT NULL,
[InOrder] [int] NOT NULL,
[MonthReckoningID] [int] NULL,
[BatchCode] [varchar](50) NOT NULL,
[ProductDate] [datetime] NULL,
[InvalidateDate] [datetime] NULL,
[InstockDate] [datetime] NOT NULL,
[CostPrice] [decimal](18, 4) NOT NULL,
[RetailPrice] [decimal](18, 4) NULL,
[Amount] [decimal](18, 4) NOT NULL,
[FactAmount] [decimal](18, 4) NULL,
[Odds] [decimal](18, 4) NULL,
[SumCost] [decimal](18, 4) NULL,
[SumRetail] [decimal](18, 4) NULL,
[CommodityName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[DoseTypeName] [varchar](50) NULL,
[ProducingArea] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[SpellCode] [varchar](200) NULL,
[TXM] [varchar](60) NULL,
[CustomCode] [varchar](50) NULL,
[CurrentRetailPrice] [decimal](18, 4) NULL,
[IsChinese] [bit] NULL,
[CounterId] [tinyint] NULL,
CONSTRAINT [PK_MonthReckoningCommodityStock] PRIMARY KEY CLUSTERED
(
[DepotId] ASC,
[EmbranchmentId] ASC,
[CommodityId] ASC,
[InOrder] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'月结ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MonthCommodityStock', @level2type=N'COLUMN',@level2name=N'MonthReckoningID'
GO
/****** Object: Table [dbo].[MembershipUserExt] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[MembershipUserExt](
[Id] [int] NOT NULL,
[AreaId] [int] NULL,
[Name] [varchar](500) NULL,
CONSTRAINT [PK_MembershipUserExt] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
CREATE NONCLUSTERED INDEX [IX_MembershipUserExt] ON [dbo].[MembershipUserExt]
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: Table [dbo].[MembershipUser] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[MembershipUser](
[Id] [int] IDENTITY(600,1) NOT NULL,
[Name] [varchar](255) NULL,
[LoweredName] [varchar](255) NULL,
[Description] [varchar](255) NULL,
[Password] [varchar](128) NULL,
[PasswordFormat] [int] NULL,
[PasswordSalt] [varchar](128) NULL,
[Email] [varchar](128) NULL,
[LoweredEmail] [varchar](128) NULL,
[PasswordQuestion] [varchar](255) NULL,
[PasswordAnswer] [varchar](255) NULL,
[Comments] [varchar](3000) NULL,
[IsApproved] [bit] NULL,
[IsLockedOut] [bit] NULL,
[CreationDate] [datetime] NULL,
[LastActivityDate] [datetime] NULL,
[LastLoginDate] [datetime] NULL,
[LastLockedOutDate] [datetime] NULL,
[LastPasswordChangeDate] [datetime] NULL,
[FailedPwdAttemptCnt] [int] NULL,
[FailedPwdAttemptWndStart] [datetime] NULL,
[FailedPwdAnsAttemptCnt] [int] NULL,
[FailedPwdAnsAttemptWndStart] [datetime] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[MemberCardLevel] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[MemberCardLevel](
[CardLevelId] [tinyint] NOT NULL,
[CardLevelNo] [varchar](20) NOT NULL,
[CardLevelName] [varchar](20) NOT NULL,
[Remark] [varchar](50) NULL,
CONSTRAINT [PK_MemberCardLevel] PRIMARY KEY CLUSTERED
(
[CardLevelId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卡级Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardLevel', @level2type=N'COLUMN',@level2name=N'CardLevelId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卡级编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardLevel', @level2type=N'COLUMN',@level2name=N'CardLevelNo'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卡级类型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardLevel', @level2type=N'COLUMN',@level2name=N'CardLevelName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卡级备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardLevel', @level2type=N'COLUMN',@level2name=N'Remark'
GO
/****** Object: Table [dbo].[MemberCardDiscount] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[MemberCardDiscount](
[CardDiscountId] [int] NOT NULL,
[Discount] [numeric](6, 3) NOT NULL,
[Remark] [varchar](50) NULL,
CONSTRAINT [PK_MemberCardDiscountId] PRIMARY KEY CLUSTERED
(
[CardDiscountId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卡折扣Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardDiscount', @level2type=N'COLUMN',@level2name=N'CardDiscountId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'折扣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardDiscount', @level2type=N'COLUMN',@level2name=N'Discount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardDiscount', @level2type=N'COLUMN',@level2name=N'Remark'
GO
/****** Object: Table [dbo].[MemberCardChangeLogTemp] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[MemberCardChangeLogTemp](
[Guid] [uniqueidentifier] NOT NULL,
[BillId] [int] NULL,
[CardId] [int] NULL,
[EmbranchmentId] [int] NULL,
[EmbranchmentName] [varchar](50) NULL,
[CardCode] [varchar](50) NULL,
[PreScore] [int] NULL,
[ChangeScore] [int] NULL,
[Score] [int] NULL,
[CardTypeId] [int] NULL,
[CardLevelId] [tinyint] NULL,
[BillType] [tinyint] NULL,
[BillCode] [varchar](50) NULL,
[BillCodeName] [varchar](50) NULL,
[PreMoney] [numeric](18, 4) NULL,
[ChangeMoney] [numeric](18, 4) NULL,
[Balance] [numeric](18, 4) NULL,
[CustomerId] [int] NULL,
[CustomerName] [varchar](50) NULL,
[BusinessId] [int] NULL,
[BusinessName] [varchar](50) NULL,
[BusinessDate] [smalldatetime] NULL,
[Remark] [varchar](255) NULL,
[DataVersion] [bigint] NULL,
[orderno] [bigint] IDENTITY(1,1) NOT NULL,
[PayCard] [decimal](18, 4) NULL,
[ReturnPayCard] [decimal](18, 4) NULL,
[PayMoney] [decimal](18, 4) NULL,
[ReturnMoney] [decimal](18, 4) NULL,
[PayKYB] [decimal](18, 4) NULL,
[PaySYB] [decimal](18, 4) NULL,
[PayYB] [decimal](18, 4) NULL,
[PayCardMoneyBefore] [decimal](18, 4) NULL,
[PayCardMoneyAfter] [decimal](18, 4) NULL,
[PayTypeStr] [varchar](50) NULL,
[SumMoney] [decimal](18, 4) NULL,
[SumMoneyScore] [decimal](18, 4) NULL,
[PointsBase] [int] NULL,
[Points] [int] NULL,
[IsTransferred] [bit] NULL,
[IsHC] [bit] NULL,
[IsCZ] [bit] NULL,
[PreBillId] [int] NULL,
[PreEmbranchmentId] [int] NULL,
[Deleted] [bit] NULL,
[ChangeCardCode] [varchar](50) NULL,
[ProviderId] [smallint] NULL,
[Shadiness] [bit] NULL,
[EmbranchmentChangeMoney] [decimal](18, 4) NULL,
[DiffMoney] [decimal](18, 4) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[MemberCardChangeLog] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[MemberCardChangeLog](
[Guid] [uniqueidentifier] NOT NULL,
[BillId] [int] NULL,
[CardId] [int] NULL,
[EmbranchmentId] [int] NULL,
[EmbranchmentName] [varchar](50) NULL,
[CardCode] [varchar](50) NULL,
[PreScore] [int] NULL,
[ChangeScore] [int] NULL,
[Score] [int] NULL,
[CardTypeId] [int] NULL,
[CardLevelId] [tinyint] NULL,
[BillType] [tinyint] NULL,
[BillCode] [varchar](50) NULL,
[BillCodeName] [varchar](50) NULL,
[PreMoney] [numeric](18, 4) NULL,
[ChangeMoney] [numeric](18, 4) NULL,
[Balance] [numeric](18, 4) NULL,
[CustomerId] [int] NULL,
[CustomerName] [varchar](50) NULL,
[BusinessId] [int] NULL,
[BusinessName] [varchar](50) NULL,
[BusinessDate] [smalldatetime] NULL,
[Remark] [varchar](255) NULL,
[DataVersion] [bigint] NULL,
[orderno] [bigint] IDENTITY(1,1) NOT NULL,
[PayCard] [decimal](18, 4) NULL,
[ReturnPayCard] [decimal](18, 4) NULL,
[PayMoney] [decimal](18, 4) NULL,
[ReturnMoney] [decimal](18, 4) NULL,
[PayKYB] [decimal](18, 4) NULL,
[PaySYB] [decimal](18, 4) NULL,
[PayYB] [decimal](18, 4) NULL,
[PayCardMoneyBefore] [decimal](18, 4) NULL,
[PayCardMoneyAfter] [decimal](18, 4) NULL,
[PayTypeStr] [varchar](50) NULL,
[SumMoney] [decimal](18, 4) NULL,
[SumMoneyScore] [decimal](18, 4) NULL,
[PointsBase] [int] NULL,
[Points] [int] NULL,
[IsTransferred] [bit] NULL,
[IsHC] [bit] NULL,
[IsCZ] [bit] NULL,
[PreBillId] [int] NULL,
[PreEmbranchmentId] [int] NULL,
[Deleted] [bit] NULL,
[ChangeCardCode] [varchar](50) NULL,
[ProviderId] [smallint] NULL,
[CardChangeMoney] [decimal](18, 4) NULL,
[DiffMoney] [decimal](18, 4) NULL,
[CheckOut] [bit] NULL,
[Shadiness] [bit] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卡ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'CardId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分支机构ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分支机构名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'EmbranchmentName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卡号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'CardCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'原有积分' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'PreScore'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'改变积分' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'ChangeScore'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'积分' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'Score'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卡型Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'CardTypeId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卡级ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'CardLevelId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据类型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'BillType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'BillCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'处理动作' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'BillCodeName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'原有金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'PreMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'改变金额 [正负值]' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'ChangeMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'Balance'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'持卡人ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'CustomerId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'持卡人姓名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'CustomerName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'操作员ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'BusinessId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'操作员姓名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'BusinessName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'操作时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'BusinessDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'Remark'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'收款(现金)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'PayMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'消费金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'SumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'积分金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'SumMoneyScore'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'积分基数' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'PointsBase'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'积分' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'Points'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用于储值卡向普通卡转钱时使用,0成功,1否' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'IsTransferred'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否红冲0否,1是' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'IsHC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否是储值卡0否,1是' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'IsCZ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'在金额红冲时,保存红冲对应单子的ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'PreBillId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'在金额红冲时,保存红冲对应单子的分支机构ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCardChangeLog', @level2type=N'COLUMN',@level2name=N'PreEmbranchmentId'
GO
/****** Object: Table [dbo].[MemberCard] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[MemberCard](
[EmbranchmentId] [int] NOT NULL,
[CardId] [int] NOT NULL,
[EmbranchmentName] [varchar](50) NULL,
[Code] [varchar](50) NOT NULL,
[Score] [int] NULL,
[CustomerId] [int] NULL,
[CustomerName] [varchar](50) NULL,
[Balance] [numeric](18, 4) NULL,
[SumConsumed] [numeric](18, 4) NULL,
[CardTypeId] [int] NULL,
[CardTypeName] [varchar](50) NULL,
[CardLevelId] [tinyint] NULL,
[CardLevelName] [varchar](50) NULL,
[Status] [tinyint] NULL,
[Password] [varchar](20) NULL,
[Foregift] [numeric](18, 4) NULL,
[Discount] [numeric](18, 4) NULL,
[BeginTime] [datetime] NULL,
[CancelTime] [datetime] NULL,
[SuspendTime] [datetime] NULL,
[LimitCount] [int] NULL,
[UsedCount] [int] NULL,
[Remark] [varchar](255) NULL,
[Deleted] [bit] NULL,
[SpellCode] [varchar](50) NULL,
[DataVersion] [bigint] NULL,
[MissCash] [numeric](18, 4) NULL,
[ReturnPayCard] [numeric](18, 4) NULL,
[SumAllMoney] [numeric](18, 4) NULL,
[YBConsumed] [numeric](18, 4) NULL,
[IsSumDiscount] [bit] NULL,
[IsDiscount] [bit] NULL,
[IsScore] [bit] NULL,
[IsCumulativePoints] [smallint] NULL,
[SumDiscount] [numeric](6, 3) NULL,
[SpareMoney] [decimal](18, 4) NULL,
[IsTransferred] [bit] NULL,
[CertificateNo] [varchar](50) NULL,
[ReturnCard] [numeric](18, 4) NULL,
[CancelReturnPayCard] [numeric](18, 4) NULL,
[CallBackReturnPayCard] [numeric](18, 4) NULL,
[DrawCard] [numeric](18, 4) NULL,
[TransferCard] [numeric](18, 4) NULL,
[ProviderId] [smallint] NULL,
[IsCZ] [tinyint] NULL,
[GivenMeoney] [decimal](18, 4) NULL,
CONSTRAINT [PK_MemberCard] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[CardId] ASC,
[Code] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分支机构ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分支机构名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'EmbranchmentName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卡号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'Code'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'积分' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'Score'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'持卡人ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'CustomerId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'持卡人姓名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'CustomerName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'余额[正值]' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'Balance'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'累计消费额[正值]' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'SumConsumed'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卡型Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'CardTypeId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卡级ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'CardLevelId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卡级' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'CardLevelName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'状态 0:代表正常,5在消费时出异常' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'Status'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'密码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'Password'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'押金' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'Foregift'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'折扣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'Discount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'发卡时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'BeginTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'作废时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'CancelTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'挂失时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'SuspendTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'限制次数' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'LimitCount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户使用次数' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'UsedCount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'Remark'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'回收(0-正常,1-回收)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'Deleted'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'会员姓名拼音码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'SpellCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'透支消费时,所补足的现金' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'MissCash'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'累计充资额[正值]' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'SumAllMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否执行累计折扣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'IsSumDiscount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否会员卡折扣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'IsDiscount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否积分' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'IsScore'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否累计上次未积分金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'IsCumulativePoints'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'累计折扣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'SumDiscount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'上次消费未参加积分余额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'SpareMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用于储值卡向普通卡转钱时使用,0成功,1否' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'MemberCard', @level2type=N'COLUMN',@level2name=N'IsTransferred'
GO
/****** Object: StoredProcedure [dbo].[up_distinct] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
create procedure [dbo].[up_distinct](@t_name varchar(30),@f_key varchar(30))
--f_key表示是分组字段﹐即主键字段
as
begin
declare @max integer,@id varchar(30) ,@sql varchar(7999) ,@type integer
select @sql = 'declare cur_rows cursor for select '+@f_key+' ,count(*) from ' +@t_name +' group by ' +@f_key +' having count(*) > 1'
exec(@sql)
open cur_rows
fetch cur_rows into @id,@max
while @@fetch_status=0
begin
select @max = @max -1
set rowcount @max
select @type = xtype from syscolumns where id=object_id(@t_name) and name=@f_key
if @type=56
select @sql = 'delete from '+@t_name+' where ' + @f_key+' = '+ @id
if @type=167
select @sql = 'delete from '+@t_name+' where ' + @f_key+' = '+''''+ @id +''''
exec(@sql)
fetch cur_rows into @id,@max
end
close cur_rows
deallocate cur_rows
set rowcount 0
end
GO
/****** Object: Table [dbo].[tt] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[tt](
[id] [int] NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[TreeMenu] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[TreeMenu](
[id] [varchar](150) NOT NULL,
[pid] [varchar](150) NULL,
[leaf] [bit] NULL,
[text] [varchar](250) NULL,
[ordernum] [int] NOT NULL,
[needright] [varchar](60) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
CREATE NONCLUSTERED INDEX [TreeMenu_idx] ON [dbo].[TreeMenu]
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: StoredProcedure [dbo].[GetJSON1] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- ==========================================================================
-- Author: Thiago R. Santos --
-- Create date: Aug 3rd 2008 --
-- Description: Returns the contents of a given table --
-- in JavaScript Object Notation. --
-- Params: --
-- @table_name: the table to execute the query --
-- @registries_per_request: equivalent to "select top N * from table" --
-- replcing N by the actual number --
-- --
-- Influenced by Thomas Frank's post MySQL to JSON @ January 23, 2007 --
-- Post Url: http://www.thomasfrank.se/mysql_to_json.html --
-- ==========================================================================
create procedure [dbo].[GetJSON1]
(
@table_name varchar(50),
@registries_per_request smallint = null
)
as
begin
if((select count(*) from information_schema.tables where table_name = @table_name) > 0)
begin
declare @json varchar(max),
@line varchar(max),
@columns varchar(max),
@sql nvarchar(max),
@columnNavigator varchar(50),
@counter tinyint,
@size varchar(10)
if (@registries_per_request is null)
begin
set @size = ''
end
else
begin
set @size = 'top ' + convert(varchar, @registries_per_request)
end
set @columns = '{'
declare schemaCursor cursor
for select column_name from information_schema.columns where table_name = @table_name
open schemaCursor
fetch next from schemaCursor
into @columnNavigator
select @counter = count(*) from information_schema.columns where table_name = @table_name
while @@fetch_status = 0
begin
set @columns = @columns + '''''' + @columnNavigator + ''''':'''''' + convert(varchar, ' + @columnNavigator + ') + '''''''
set @counter = @counter - 1
if(0 != @counter)
begin
set @columns = @columns + ','
end
fetch next from schemaCursor
into @columnNavigator
end
set @columns = @columns + '}'
close schemaCursor
deallocate schemaCursor
set @json = '['
set @sql = 'select ' + @size + '''' + @columns + ''' as json into tmpJsonTable from ' + @table_name
exec sp_sqlexec @sql
select @counter = count(*) from tmpJsonTable
declare tmpCur cursor
for select * from tmpJsonTable
open tmpCur
fetch next from tmpCur
into @line
while @@fetch_status = 0
begin
set @counter = @counter - 1
set @json = @json + @line
if ( 0 != @counter )
begin
set @json = @json + ','
end
fetch next from tmpCur
into @line
end
set @json = @json + ']'
close tmpCur
deallocate tmpCur
drop table tmpJsonTable
select @json as json
end
end
GO
/****** Object: Table [dbo].[Task] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Task](
[TaskId] [int] NOT NULL,
[ProjectId] [int] NULL,
[BeginTime] [datetime] NULL,
[EndTime] [datetime] NULL,
[Content] [varchar](50) NULL,
CONSTRAINT [PK_Task] PRIMARY KEY CLUSTERED
(
[TaskId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[TableChineseMeaning] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[TableChineseMeaning](
[TableName] [varchar](50) NOT NULL,
[Meaning] [varchar](50) NULL,
[Remark] [varchar](50) NULL,
CONSTRAINT [PK_TableChineseMeaning] PRIMARY KEY CLUSTERED
(
[TableName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[t2] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[t2](
[Id] [varchar](1) NOT NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[t1] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[t1](
[Id] [int] IDENTITY(1,1) NOT NULL,
[ParentId] [int] NULL,
[Path] [nvarchar](500) NULL,
[Description] [nvarchar](500) NULL,
[ExFunction1] [nvarchar](50) NULL,
[ExFunction2] [nvarchar](50) NULL,
[ExFunction3] [nvarchar](50) NULL,
[ExFunction4] [nvarchar](50) NULL,
[ExFunction5] [nvarchar](50) NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[t] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[t](
[id] [int] NULL
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[SysData] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[SysData](
[Name] [varchar](50) NOT NULL,
[IntValue] [bigint] NULL,
[NumberValue] [decimal](18, 4) NULL,
[StringValue] [varchar](100) NULL,
[DateValue] [datetime] NULL,
[Remark] [varchar](200) NULL,
CONSTRAINT [PK_SysData] PRIMARY KEY CLUSTERED
(
[Name] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Syqyspb] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Syqyspb](
[EmbranchmentId] [smallint] NOT NULL,
[SyqyspbID] [int] NOT NULL,
[GSPBH] [varchar](50) NULL,
[EmployeeID] [smallint] NULL,
[EmployeeName] [varchar](50) NULL,
[RQ] [datetime] NULL,
[ProviderId] [smallint] NULL,
[ProviderName] [varchar](50) NULL,
[LGPZ] [varchar](300) NULL,
[XXDZ] [varchar](50) NULL,
[QYLB] [varchar](50) NULL,
[YZBM] [varchar](50) NULL,
[EMAIL] [varchar](50) NULL,
[CZ] [varchar](50) NULL,
[LXR] [varchar](50) NULL,
[LXDH] [varchar](50) NULL,
[XKZXKZMC] [varchar](50) NULL,
[XKZXKZH] [varchar](50) NULL,
[XKZQYMC] [varchar](50) NULL,
[XKZFZR] [varchar](50) NULL,
[XKZSCFW] [varchar](300) NULL,
[XKZYXQ] [datetime] NULL,
[XKZQYDZ] [varchar](50) NULL,
[XKZFZJG] [varchar](50) NULL,
[YYZZQYMC] [varchar](50) NULL,
[YYZZZCH] [varchar](50) NULL,
[YYZZYXQX] [datetime] NULL,
[YYZZFRDBR] [varchar](50) NULL,
[YYZZJJXZ] [varchar](50) NULL,
[YYZZZCZJ] [varchar](50) NULL,
[YYZZJYFW] [varchar](300) NULL,
[YYZZJYFS] [varchar](50) NULL,
[YYZZQYDZ] [varchar](50) NULL,
[YYZZFZJG] [varchar](50) NULL,
[ZLXYZLRZZXYBH] [varchar](50) NULL,
[ZLXYYXQX] [datetime] NULL,
[ZLXYSDKCJN] [varchar](50) NULL,
[WTXSWTR] [varchar](50) NULL,
[WTXWTDQ] [varchar](50) NULL,
[WTXQYMC] [varchar](50) NULL,
[WTXWTYXQX] [datetime] NULL,
[YWBMYJ] [varchar](50) NULL,
[YWBMEmployeeID] [smallint] NULL,
[YWBMEmployeeName] [varchar](50) NULL,
[YWBMRQ] [datetime] NULL,
[SHYJ] [varchar](50) NULL,
[SHYJEmployeeID] [smallint] NULL,
[SHYJEmployeeName] [varchar](50) NULL,
[SHYJRQ] [datetime] NULL,
[SPYJ] [varchar](50) NULL,
[SPYJEmployeeID] [smallint] NULL,
[SPYJEmployeeName] [varchar](50) NULL,
[SPYJRQ] [datetime] NULL,
[SFZB] [bit] NULL,
CONSTRAINT [PK_Syqyspb] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[SyqyspbID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'GSP编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'GSPBH'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'制单人ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'EmployeeID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'制单人名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'EmployeeName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'RQ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'企业名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'ProviderId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'拟供品种' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'LGPZ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'详细地址' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'XXDZ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'企业类别' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'QYLB'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'邮政编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'YZBM'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'E-MAIL' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'EMAIL'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'传真' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'CZ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'联系人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'LXR'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'联系电话' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'LXDH'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'许可证名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'XKZXKZMC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'许可证号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'XKZXKZH'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'企业名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'XKZQYMC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'负责人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'XKZFZR'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产范围' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'XKZSCFW'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有效期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'XKZYXQ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'企业地址' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'XKZQYDZ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'发照机关' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'XKZFZJG'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'企业名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'YYZZQYMC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'注册号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'YYZZZCH'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有效期限' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'YYZZYXQX'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'法人代表人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'YYZZFRDBR'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'经济性质' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'YYZZJJXZ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'注册资金' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'YYZZZCZJ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'经营范围' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'YYZZJYFW'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'经营方式' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'YYZZJYFS'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'企业地址' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'YYZZQYDZ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'发照机关' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'YYZZFZJG'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'质量认证证书与编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'ZLXYZLRZZXYBH'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有效期限' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'ZLXYYXQX'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'实地考察结论' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'ZLXYSDKCJN'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'受委托人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'WTXSWTR'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'委托地区' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'WTXWTDQ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'企业名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'WTXQYMC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'委托有效期限' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'WTXWTYXQX'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'业务部门意见' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'YWBMYJ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'经理签字' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'YWBMEmployeeID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'YWBMRQ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'审核意见' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'SHYJ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'经理ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'SHYJEmployeeID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'经理名字' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'SHYJEmployeeName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'SHYJRQ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'审批意见' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'SPYJ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'总经理ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'SPYJEmployeeID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'总经理名字' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'SPYJEmployeeName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Syqyspb', @level2type=N'COLUMN',@level2name=N'SPYJRQ'
GO
/****** Object: Table [dbo].[Sypzspb] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Sypzspb](
[EmbranchmentId] [smallint] NOT NULL,
[SypzspbID] [int] NOT NULL,
[GSPBH] [varchar](50) NULL,
[ZDRID] [smallint] NULL,
[ZDRMC] [varchar](50) NULL,
[RQ] [datetime] NULL,
[SPID] [int] NULL,
[SPM] [varchar](50) NULL,
[TYMC] [varchar](50) NULL,
[JX] [varchar](50) NULL,
[PY] [varchar](50) NULL,
[GG] [varchar](50) NULL,
[DW] [varchar](50) NULL,
[CCTJ] [varchar](50) NULL,
[ZYCF] [varchar](50) NULL,
[ZLBZ] [varchar](50) NULL,
[YXQ] [datetime] NULL,
[PZWH] [varchar](50) NULL,
[SCCS] [varchar](50) NULL,
[SCXKZH] [varchar](50) NULL,
[XXDZ] [varchar](50) NULL,
[YYZZH] [varchar](50) NULL,
[GMPZSH] [varchar](50) NULL,
[RZSJ] [datetime] NULL,
[ZSYXQ] [datetime] NULL,
[SDKHRID] [smallint] NULL,
[SDKHRMC] [varchar](50) NULL,
[WTSYXQ] [datetime] NULL,
[KCJL] [varchar](50) NULL,
[CPPH] [varchar](50) NULL,
[CCJYBGSH] [varchar](50) NULL,
[SYJYJL] [varchar](50) NULL,
[SYJYBGSH] [varchar](50) NULL,
[CCJ] [decimal](18, 4) NULL,
[GHJ] [decimal](18, 4) NULL,
[PFJ] [decimal](18, 4) NULL,
[LSJ] [decimal](18, 4) NULL,
[SFYPZZMWJ] [bit] NULL,
[SFYBZ] [bit] NULL,
[SQLY] [text] NULL,
[SQRID] [smallint] NULL,
[SQRMC] [varchar](50) NULL,
[SQRRQ] [datetime] NULL,
[SCBYJ] [text] NULL,
[SCBJLID] [smallint] NULL,
[SCBJLMC] [varchar](50) NULL,
[SCBJLRQ] [datetime] NULL,
[ZGBYJ] [text] NULL,
[ZGBJLID] [smallint] NULL,
[ZGBJLMC] [varchar](50) NULL,
[ZGBJLRQ] [datetime] NULL,
[ZJLYJ] [text] NULL,
[ZJLID] [smallint] NULL,
[ZJLMC] [varchar](50) NULL,
[ZJLRQ] [datetime] NULL,
[PackingId] [int] NOT NULL,
[PackingName] [varchar](50) NULL,
CONSTRAINT [PK_Sypzspb] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[SypzspbID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分支机构ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'GSP编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'GSPBH'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'制单人ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'ZDRID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'制单人名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'ZDRMC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'RQ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'商品ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'SPID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'商品名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'SPM'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'通用名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'TYMC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'剂型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'JX'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'拼音' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'PY'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'规格' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'GG'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'DW'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'储存条件' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'CCTJ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主要成份与功能主治' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'ZYCF'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'质量标准' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'ZLBZ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有效期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'YXQ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批准文号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'PZWH'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产厂商' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'SCCS'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产许可证号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'SCXKZH'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'详细地址' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'XXDZ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'营业执照号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'YYZZH'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'GMP证书号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'GMPZSH'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'认证时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'RZSJ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'证书有效期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'ZSYXQ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'实地考核人ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'SDKHRID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'实地考核人名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'SDKHRMC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'委托书有效期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'WTSYXQ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'考察结论' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'KCJL'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'产品批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'CPPH'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'出厂检验报告书号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'CCJYBGSH'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'(首营)检验结论' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'SYJYJL'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'(首营)检验报告书号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'SYJYBGSH'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'出厂价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'CCJ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'供货价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'GHJ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批发价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'PFJ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'零售价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'LSJ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否有批准证明文件' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'SFYPZZMWJ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否有包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'SFYBZ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'申请理由' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'SQLY'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'申请人ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'SQRID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'申请人名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'SQRMC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'申请人日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'SQRRQ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'市场部意见' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'SCBYJ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'市场部经理ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'SCBJLID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'市场部经理名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'SCBJLMC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'市场部经理日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'SCBJLRQ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'质管部意见' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'ZGBYJ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'质管部经理ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'ZGBJLID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'质管部经理名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'ZGBJLMC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'质管部经理日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'ZGBJLRQ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'总经理意见' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'ZJLYJ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'总经理ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'ZJLID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'总经理名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'ZJLMC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'总经理日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'ZJLRQ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Sypzspb', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
/****** Object: Table [dbo].[Site] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Site](
[NIC] [varchar](100) NOT NULL,
[ComputerName] [varchar](50) NULL,
[LodingTime] [datetime] NULL,
CONSTRAINT [PK_Site] PRIMARY KEY CLUSTERED
(
[NIC] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'网卡' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Site', @level2type=N'COLUMN',@level2name=N'NIC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'计算机名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Site', @level2type=N'COLUMN',@level2name=N'ComputerName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'登录时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Site', @level2type=N'COLUMN',@level2name=N'LodingTime'
GO
/****** Object: Table [dbo].[Shift] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Shift](
[EmbranchmentId] [int] NOT NULL,
[ShiftId] [int] NOT NULL,
[EmployeeId] [smallint] NULL,
[StartTime] [smalldatetime] NOT NULL,
[EndTime] [smalldatetime] NULL,
[InMoney] [decimal](18, 4) NULL,
[OutMoney] [decimal](18, 4) NULL,
[InBillCount] [smallint] NULL,
[OutBillCount] [smallint] NULL,
[FactMoney] [decimal](18, 4) NULL,
[PayCard] [decimal](18, 4) NULL,
[YBMoneyCurr] [decimal](18, 4) NULL,
[DataVersion] [bigint] NULL,
[OutCard] [decimal](18, 4) NULL,
[ReturnPayCard] [decimal](18, 4) NULL,
[OutReturnPayCard] [decimal](18, 4) NULL,
CONSTRAINT [PK_Shift] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[ShiftId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'开始时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Shift', @level2type=N'COLUMN',@level2name=N'StartTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'交班时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Shift', @level2type=N'COLUMN',@level2name=N'EndTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'收款金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Shift', @level2type=N'COLUMN',@level2name=N'InMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'退款金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Shift', @level2type=N'COLUMN',@level2name=N'OutMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'收款单据数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Shift', @level2type=N'COLUMN',@level2name=N'InBillCount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'退款单据数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Shift', @level2type=N'COLUMN',@level2name=N'OutBillCount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'应交金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Shift', @level2type=N'COLUMN',@level2name=N'FactMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'应交金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Shift', @level2type=N'COLUMN',@level2name=N'PayCard'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'应交金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Shift', @level2type=N'COLUMN',@level2name=N'YBMoneyCurr'
GO
/****** Object: Table [dbo].[ConversionDataTable] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[ConversionDataTable](
[CommodityId_Old] [int] NULL,
[GeneralName_Old] [varchar](100) NULL,
[ProductName_Old] [varchar](100) NULL,
[EnglishName_Old] [varchar](200) NULL,
[Spec_Old] [varchar](200) NULL,
[ProducingArea_Old] [varchar](100) NULL,
[DoseType_Old] [varchar](50) NULL,
[AuthorizeCode_Old] [varchar](50) NULL,
[Unit_Old] [varchar](50) NULL,
[SpellCode_Old] [varchar](100) NULL,
[CustomCode_Old] [varchar](50) NULL,
[TXM_Old] [varchar](60) NULL,
[PackingId_Old] [int] NULL,
[CommodityId_New] [int] NULL,
[GeneralName_New] [varchar](100) NULL,
[ProductName_New] [varchar](100) NULL,
[EnglishName_New] [varchar](200) NULL,
[Spec_New] [varchar](200) NULL,
[ProducingArea_New] [varchar](100) NULL,
[DoseType_New] [varchar](50) NULL,
[AuthorizeCode_New] [varchar](50) NULL,
[Unit_New] [varchar](50) NULL,
[SpellCode_New] [varchar](100) NULL,
[CustomCode_New] [varchar](50) NULL,
[TXM_New] [varchar](60) NULL,
[PackingId_New] [int] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
CREATE CLUSTERED INDEX [IX_ConversionDataTable] ON [dbo].[ConversionDataTable]
(
[CommodityId_Old] ASC,
[CommodityId_New] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ConversionDataTable', @level2type=N'COLUMN',@level2name=N'PackingId_Old'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ConversionDataTable', @level2type=N'COLUMN',@level2name=N'PackingId_New'
GO
/****** Object: Table [dbo].[CatalogPedigree] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[CatalogPedigree](
[CatalogType] [int] NOT NULL,
[ParentId] [int] NOT NULL,
[ChildId] [int] NOT NULL,
[ParentClass] [int] NOT NULL,
[ChildClass] [int] NOT NULL,
[Deleted] [bit] NULL,
[DataVersion] [bigint] NULL,
CONSTRAINT [PK_CatalogPedigree] PRIMARY KEY CLUSTERED
(
[CatalogType] ASC,
[ParentId] ASC,
[ChildId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CatalogPedigree', @level2type=N'COLUMN',@level2name=N'Deleted'
GO
/****** Object: Table [dbo].[EmployeePost] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[EmployeePost](
[EmployeeId] [smallint] NOT NULL,
[PostId] [int] NOT NULL,
CONSTRAINT [PK_UserPost] PRIMARY KEY CLUSTERED
(
[EmployeeId] ASC,
[PostId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Employee] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Employee](
[EmbranchmentId] [smallint] NOT NULL,
[EmployeeId] [smallint] NOT NULL,
[EmbranchmentName] [varchar](50) NULL,
[Code] [varchar](50) NULL,
[Name] [varchar](10) NULL,
[SpellCode] [varchar](10) NULL,
[Sex] [varchar](2) NULL,
[Address] [varchar](50) NULL,
[Telephone] [varchar](20) NULL,
[MobilePhone] [varchar](20) NULL,
[DepartId] [varchar](10) NULL,
[IsUser] [bit] NULL,
[Study] [varchar](20) NULL,
[Duty] [varchar](20) NULL,
[Comment] [varchar](200) NULL,
[GraduateDate] [smalldatetime] NULL,
[InDate] [smalldatetime] NULL,
[JSZC] [varchar](20) NULL,
[ZYZG] [varchar](20) NULL,
[CFQ] [bit] NULL,
[CFF] [decimal](18, 4) NULL,
[PassWord] [varchar](50) NULL,
[Text] [varchar](4000) NULL,
[Image] [image] NULL,
[Fddbr] [bit] NULL,
[Qyfzr] [bit] NULL,
[Zlfzr] [bit] NULL,
[IndentityNumber] [varchar](50) NULL,
[Specialty] [varchar](50) NULL,
[ExcuQualificationNumber] [varchar](50) NULL,
[ExcuType] [varchar](50) NULL,
[ExcuRegisterNumber] [varchar](50) NULL,
[ExcuRegisterUnit] [varchar](50) NULL,
[ExcuIssueDate] [datetime] NULL,
[ExcuInvalidate] [datetime] NULL,
[PractNumber] [varchar](50) NULL,
[PractIssueUnit] [varchar](50) NULL,
[PractWorkUnit] [varchar](50) NULL,
[PractInvalidate] [varchar](50) NULL,
[OthCertName] [varchar](50) NULL,
[OthCertIssueUnit] [varchar](50) NULL,
[OthCentNumber] [varchar](50) NULL,
[OthCentIssueDate] [datetime] NULL,
[OthCentWorkUnit] [varchar](50) NULL,
[Resume] [varchar](8000) NULL,
[Others] [varchar](8000) NULL,
[DataVersion] [bigint] NULL,
[Apothecary] [bit] NULL,
[Login] [bit] NULL,
CONSTRAINT [PK_Employee] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[EmployeeId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'Code'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'部门Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'DepartId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'学历' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'Study'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'职务' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'Duty'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'Comment'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'毕业日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'GraduateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入职日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'InDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'技术职称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'JSZC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'职业资格' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'ZYZG'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'处方权(1是有,0是无)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'CFQ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'处方费' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'CFF'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'密码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'PassWord'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'法人代表
' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'Fddbr'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'企业负责人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'Qyfzr'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'质量负责人
' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'Zlfzr'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'身份证号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'IndentityNumber'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'专业' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'Specialty'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'执业药师证书.资格证书号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'ExcuQualificationNumber'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'执业药师证书.执业类别' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'ExcuType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'执业药师证书.注册证书号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'ExcuRegisterNumber'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'执业药师证书.注册单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'ExcuRegisterUnit'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'执业药师证书.发证时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'ExcuIssueDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'执业药师证书.有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'ExcuInvalidate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'从业药师证书.证书编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'PractNumber'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'从业药师证书.发证单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'PractIssueUnit'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'从业药师证书.证书工作单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'PractWorkUnit'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'从业药师证书.有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'PractInvalidate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'其他药学(相关专业)资格证书.资格名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'OthCertName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'其他药学(相关专业)资格证书.发证单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'OthCertIssueUnit'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'其他药学(相关专业)资格证书.证书编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'OthCentNumber'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'其他药学(相关专业)资格证书.发证时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'OthCentIssueDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'其他药学(相关专业)资格证书.证书工作单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'OthCentWorkUnit'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'质量负责人从事药品
经营管理工作简历
' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'Resume'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'其他' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'Others'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药师' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'Apothecary'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否允许登陆' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Employee', @level2type=N'COLUMN',@level2name=N'Login'
GO
/****** Object: Table [dbo].[EmbranchmentEmployee] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[EmbranchmentEmployee](
[EmbranchmentId] [smallint] NOT NULL,
[EmployeeId] [smallint] NOT NULL,
[EmbranchmentName] [varchar](50) NOT NULL,
[Code] [varchar](50) NOT NULL,
[Name] [varchar](10) NOT NULL,
[SpellCode] [varchar](10) NULL,
[Sex] [varchar](2) NULL,
[Address] [varchar](50) NULL,
[Telephone] [varchar](20) NULL,
[MobilePhone] [varchar](20) NULL,
[DepartId] [varchar](10) NULL,
[IsUser] [bit] NULL,
[Study] [varchar](20) NULL,
[Duty] [varchar](20) NULL,
[Comment] [varchar](200) NULL,
[GraduateDate] [smalldatetime] NULL,
[InDate] [smalldatetime] NULL,
[JSZC] [varchar](20) NULL,
[ZYZG] [varchar](20) NULL,
[CFQ] [bit] NULL,
[CFF] [decimal](18, 4) NULL,
[PassWord] [varchar](50) NULL,
[Text] [varchar](4000) NULL,
[Image] [image] NULL,
[Fddbr] [bit] NULL,
[Qyfzr] [bit] NULL,
[Zlfzr] [bit] NULL,
[IndentityNumber] [varchar](50) NULL,
[Specialty] [varchar](50) NULL,
[ExcuQualificationNumber] [varchar](50) NULL,
[ExcuType] [varchar](50) NULL,
[ExcuRegisterNumber] [varchar](50) NULL,
[ExcuRegisterUnit] [varchar](50) NULL,
[ExcuIssueDate] [datetime] NULL,
[ExcuInvalidate] [datetime] NULL,
[PractNumber] [varchar](50) NULL,
[PractIssueUnit] [varchar](50) NULL,
[PractWorkUnit] [varchar](50) NULL,
[PractInvalidate] [varchar](50) NULL,
[OthCertName] [varchar](50) NULL,
[OthCertIssueUnit] [varchar](50) NULL,
[OthCentNumber] [varchar](50) NULL,
[OthCentIssueDate] [datetime] NULL,
[OthCentWorkUnit] [varchar](50) NULL,
[Resume] [varchar](8000) NULL,
[Others] [varchar](8000) NULL,
[DataVersion] [bigint] NULL,
[Apothecary] [bit] NULL,
CONSTRAINT [PK_EmbranchmentEmployee] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[EmployeeId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'Code'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'法人代表
' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'Fddbr'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'企业负责人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'Qyfzr'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'质量负责人
' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'Zlfzr'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'身份证号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'IndentityNumber'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'专业' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'Specialty'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'执业药师证书.资格证书号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'ExcuQualificationNumber'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'执业药师证书.执业类别' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'ExcuType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'执业药师证书.注册证书号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'ExcuRegisterNumber'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'执业药师证书.注册单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'ExcuRegisterUnit'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'执业药师证书.发证时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'ExcuIssueDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'执业药师证书.有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'ExcuInvalidate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'从业药师证书.证书编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'PractNumber'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'从业药师证书.发证单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'PractIssueUnit'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'从业药师证书.证书工作单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'PractWorkUnit'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'从业药师证书.有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'PractInvalidate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'其他药学(相关专业)资格证书.资格名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'OthCertName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'其他药学(相关专业)资格证书.发证单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'OthCertIssueUnit'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'其他药学(相关专业)资格证书.证书编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'OthCentNumber'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'其他药学(相关专业)资格证书.发证时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'OthCentIssueDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'其他药学(相关专业)资格证书.证书工作单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'OthCentWorkUnit'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'质量负责人从事药品
经营管理工作简历
' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'Resume'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'其他' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'Others'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药师' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'EmbranchmentEmployee', @level2type=N'COLUMN',@level2name=N'Apothecary'
GO
/****** Object: Table [dbo].[Embranchment] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Embranchment](
[EmbranchmentId] [smallint] NOT NULL,
[Code] [varchar](50) NULL,
[Name] [varchar](50) NULL,
[SpellCode] [varchar](50) NULL,
[Address] [varchar](100) NULL,
[EconomyKind] [varchar](20) NULL,
[WorkMethod] [varchar](50) NULL,
[EnterpriseKind] [varchar](10) NULL,
[ManagerName] [varchar](20) NULL,
[Phone] [varchar](50) NULL,
[MobilePhone] [varchar](20) NULL,
[Guid] [uniqueidentifier] NULL,
[ZhongChengYao] [bit] NULL,
[ZhongYaoCai] [bit] NULL,
[ZhongYaoCaiContent] [varchar](100) NULL,
[ZhongYaoYinPian] [bit] NULL,
[ZhongYaoYinPianContent] [varchar](100) NULL,
[HXYZJ] [bit] NULL,
[HXYLY] [bit] NULL,
[KSS] [bit] NULL,
[SHYP] [bit] NULL,
[SWZP] [bit] NULL,
[SWZPCYM] [bit] NULL,
[SWZPCXYYP] [bit] NULL,
[SWZPXZDYP] [bit] NULL,
[MZYP] [bit] NULL,
[MZYPContent] [varchar](100) NULL,
[JSYP] [bit] NULL,
[JSYPContent] [varchar](100) NULL,
[YLYDXYP] [bit] NULL,
[YLYDXYPContent] [varchar](100) NULL,
[FSXYP] [bit] NULL,
[YM] [bit] NULL,
[WorkLicenseId] [varchar](50) NULL,
[WorkLicenseIssueDate] [smalldatetime] NULL,
[WorkLicenseInvalidateDate] [smalldatetime] NULL,
[GSPLicenseId] [varchar](50) NULL,
[GSPLicenseIssueDate] [smalldatetime] NULL,
[GSPLicenseInvalidateDate] [smalldatetime] NULL,
[Deleted] [bit] NULL,
[DataVersion] [bigint] NULL,
[IsSelected] [bit] NULL,
[FCFY] [bit] NULL,
[QYMC] [varchar](50) NULL,
[ZCDZ] [text] NULL,
[FDDBRID] [int] NULL,
[FDDBRMC] [varchar](50) NULL,
[QYFZRID] [int] NULL,
[QYFZRMC] [varchar](50) NULL,
[ZLFZRID] [int] NULL,
[ZLFZRMC] [varchar](50) NULL,
[InterTime] [int] NULL,
[GeographyImage] [image] NULL,
[BusinessImage] [image] NULL,
[WorkLicenseChangeLog] [text] NULL,
[YYJGMC] [varchar](100) NULL,
[YYFDDBRID] [int] NULL,
[YYFDDBR] [varchar](50) NULL,
[YYDZ] [varchar](200) NULL,
[YYZYFZRID] [int] NULL,
[YYZYFZR] [varchar](50) NULL,
[YYZLKM] [varchar](300) NULL,
[YYDJH] [varchar](100) NULL,
[YYYXQKS] [smalldatetime] NULL,
[YYYXQJS] [smalldatetime] NULL,
[YYFZJG] [varchar](100) NULL,
[YYFZRQ] [smalldatetime] NULL,
[Enable] [bit] NULL,
[AreaId] [int] NULL,
[AreaCode] [int] NULL,
[HeadOffice] [bit] NULL,
CONSTRAINT [PK_Embranchment] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'Code'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'Name'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'拼音码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'SpellCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'经济性质,个体,有限责任公司' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'EconomyKind'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'经营方式:批发,批发(非法人),零售(经营处方药和非处方药)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'WorkMethod'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'总店,门店,无' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'EnterpriseKind'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'中成药' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'ZhongChengYao'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'中药材' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'ZhongYaoCai'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'中药材内容' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'ZhongYaoCaiContent'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'中药饮片' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'ZhongYaoYinPian'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'中药饮片内容' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'ZhongYaoYinPianContent'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品经营许可证编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'WorkLicenseId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品经营许可证发证日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'WorkLicenseIssueDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品经营许可证有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'WorkLicenseInvalidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'GSP许可证编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'GSPLicenseId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'GSP许可证发证日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'GSPLicenseIssueDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'GSP许可证有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'GSPLicenseInvalidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否删除' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'Deleted'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数据版本号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'DataVersion'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'非处方药' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'FCFY'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'企业企业名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'QYMC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'注册地址' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'ZCDZ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'法定代表人ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'FDDBRID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'法定代表人名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'FDDBRMC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'企业负责人ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'QYFZRID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'企业负责人名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'QYFZRMC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'质量负责人ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'ZLFZRID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'质量负责人名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'ZLFZRMC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品经营许可证变更记录' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'WorkLicenseChangeLog'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医院机构名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'YYJGMC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医院法定代表人ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'YYFDDBRID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医院法定代表人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'YYFDDBR'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医院地址' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'YYDZ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医院主要负责人ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'YYZYFZRID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医院主要负责人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'YYZYFZR'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医院诊疗科目' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'YYZLKM'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医院登记号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'YYDJH'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医院有效期开始' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'YYYXQKS'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医院有效期结束' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'YYYXQJS'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医院发证机关' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'YYFZJG'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医院发证日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'YYFZRQ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'零售店信息是否填写完整(药监局确定)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'Enable'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'连锁店模式:0,分点;1,总店' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Embranchment', @level2type=N'COLUMN',@level2name=N'HeadOffice'
GO
/****** Object: Table [dbo].[DoseType] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[DoseType](
[DoseTypeId] [int] NOT NULL,
[Code] [varchar](50) NULL,
[Name] [varchar](50) NULL,
[SpellCode] [varchar](50) NULL,
[Remark] [varchar](100) NULL,
[Deleted] [bit] NULL,
[DataVersion] [bigint] NULL,
CONSTRAINT [PK_DoseType] PRIMARY KEY CLUSTERED
(
[DoseTypeId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'剂型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DoseType', @level2type=N'COLUMN',@level2name=N'Name'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'删除' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DoseType', @level2type=N'COLUMN',@level2name=N'Deleted'
GO
/****** Object: Table [dbo].[Depot] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Depot](
[DepotId] [int] NOT NULL,
[EmbranchmentId] [int] NOT NULL,
[Code] [varchar](50) NULL,
[Name] [varchar](50) NULL,
[SpellCode] [varchar](50) NULL,
[Remark] [varchar](100) NULL,
[Deleted] [bit] NULL,
CONSTRAINT [PK_Depot] PRIMARY KEY CLUSTERED
(
[DepotId] ASC,
[EmbranchmentId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'仓库名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Depot', @level2type=N'COLUMN',@level2name=N'Name'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'拼音码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Depot', @level2type=N'COLUMN',@level2name=N'SpellCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Depot', @level2type=N'COLUMN',@level2name=N'Remark'
GO
/****** Object: Table [dbo].[Department] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Department](
[DepartmentId] [int] NOT NULL,
[DepartmentName] [varchar](50) NOT NULL,
[SpellCode] [char](20) NULL,
CONSTRAINT [PK_Department] PRIMARY KEY CLUSTERED
(
[DepartmentId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Demolition] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Demolition](
[DemId] [int] NOT NULL,
[CommodityId] [int] NOT NULL,
[PackingId] [int] NOT NULL,
[Dem_CommodityId] [int] NOT NULL,
[Dem_PackingId] [int] NOT NULL,
[proportion] [int] NOT NULL,
CONSTRAINT [PK_Demolition] PRIMARY KEY CLUSTERED
(
[DemId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Demolition', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'拆零药品ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Demolition', @level2type=N'COLUMN',@level2name=N'Dem_CommodityId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'拆零药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Demolition', @level2type=N'COLUMN',@level2name=N'Dem_PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'拆零比例' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Demolition', @level2type=N'COLUMN',@level2name=N'proportion'
GO
/****** Object: Table [dbo].[DataVersion] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[DataVersion](
[EmbranchmentId] [int] NOT NULL,
[DataVersionId] [int] NOT NULL,
[Name] [varchar](30) NOT NULL,
[PreviousVersion] [bigint] NULL,
[CurVersion] [bigint] NOT NULL,
[MaxSenderRecord] [int] NULL,
[OriginDateTime] [datetime] NOT NULL,
[SynchronizeDateTime] [datetime] NOT NULL,
[Remark] [varchar](50) NULL,
CONSTRAINT [PK_DataVersion] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[DataVersionId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分支机构Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DataVersion', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'版本Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DataVersion', @level2type=N'COLUMN',@level2name=N'DataVersionId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DataVersion', @level2type=N'COLUMN',@level2name=N'Name'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'前一个版本' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DataVersion', @level2type=N'COLUMN',@level2name=N'PreviousVersion'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前版本' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DataVersion', @level2type=N'COLUMN',@level2name=N'CurVersion'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'最大上传记录数' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DataVersion', @level2type=N'COLUMN',@level2name=N'MaxSenderRecord'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前数据更新的原始时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DataVersion', @level2type=N'COLUMN',@level2name=N'OriginDateTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前数据同步的时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DataVersion', @level2type=N'COLUMN',@level2name=N'SynchronizeDateTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'DataVersion', @level2type=N'COLUMN',@level2name=N'Remark'
GO
/****** Object: Table [dbo].[databaseseque] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[databaseseque](
[id] [int] NOT NULL,
[database_seques] [varchar](50) NULL,
CONSTRAINT [PK_databaseseque] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[DataBaseChangeLog] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[DataBaseChangeLog](
[ChangeId] [bigint] NOT NULL,
[ChangeDate] [datetime] NOT NULL,
[ChangeContent] [varchar](1000) NOT NULL,
[UpdateSQL] [varchar](4000) NOT NULL,
CONSTRAINT [PK_DataBaseChangeLog] PRIMARY KEY CLUSTERED
(
[ChangeId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Customer] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Customer](
[CustomerId] [int] NOT NULL,
[Name] [varchar](20) NOT NULL,
[Sex] [char](2) NULL,
[BirthDay] [datetime] NULL,
[WorkPlace] [varchar](80) NULL,
[Address] [varchar](80) NULL,
[CertificateName] [tinyint] NULL,
[CertificateNo] [varchar](50) NULL,
[Phone] [varchar](20) NULL,
[Mobile] [varchar](20) NULL,
[Email] [varchar](30) NULL,
[SpellCode] [varchar](50) NULL,
[QQ] [varchar](50) NULL,
[Deleted] [bit] NULL,
[ProviderId] [smallint] NULL,
[ProviderName] [varchar](50) NULL,
[EmbranchmentId] [int] NULL,
[EmbranchmentName] [varchar](50) NULL,
[AC] [bit] NULL,
[AP] [bit] NULL,
[ASTHMA] [bit] NULL,
[BRON] [bit] NULL,
[CAH] [bit] NULL,
[CSG] [bit] NULL,
[CXT] [bit] NULL,
[CXY] [bit] NULL,
[DHZX] [bit] NULL,
[DMC] [bit] NULL,
[DMI] [bit] NULL,
[DMII] [bit] NULL,
[DQJKZX] [bit] NULL,
[HA] [bit] NULL,
[HP] [bit] NULL,
[HYYHZC] [bit] NULL,
[ICAddress] [varchar](50) NULL,
[IGA] [bit] NULL,
[IP] [bit] NULL,
[IU] [bit] NULL,
[JKJZ] [bit] NULL,
[KC] [bit] NULL,
[KR] [bit] NULL,
[MI] [bit] NULL,
[OP] [bit] NULL,
[OTHER] [bit] NULL,
[OtherInfo] [varchar](50) NULL,
[PC] [bit] NULL,
[RA] [bit] NULL,
[RXZS] [bit] NULL,
[SP] [bit] NULL,
[SQFW] [bit] NULL,
[ST] [bit] NULL,
[SYFW] [bit] NULL,
[TJHD] [bit] NULL,
[TransactTime] [datetime] NULL,
[UC] [bit] NULL,
[WGJC] [bit] NULL,
[WITHOUT] [bit] NULL,
[YSZX] [bit] NULL,
[YYDP] [bit] NULL,
[YYTX] [bit] NULL,
[YYXCS] [bit] NULL,
[YZ] [bit] NULL,
[ZQGFY] [bit] NULL,
[ZYBJ] [bit] NULL,
CONSTRAINT [PK_Customer] PRIMARY KEY CLUSTERED
(
[CustomerId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'客户Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'CustomerId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'姓名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'Name'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'性别' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'Sex'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'出生日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'BirthDay'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'工作地点' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'WorkPlace'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'家庭住址' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'Address'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0 身份证 1 学生证' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'CertificateName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'证书号码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'CertificateNo'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'电话号码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'Phone'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'手机号码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'Mobile'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'依妹儿' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'Email'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'拼音码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Customer', @level2type=N'COLUMN',@level2name=N'SpellCode'
GO
/****** Object: Table [dbo].[CreditFile] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CreditFile](
[EmbranchmentId] [int] NOT NULL,
[CreditFileId] [int] NOT NULL,
[CreatorId] [smallint] NULL,
[CreatorName] [varchar](50) NULL,
[EmbranchmentName] [varchar](50) NULL,
[EconomyKind] [varchar](20) NULL,
[WorkMethod] [varchar](50) NULL,
[Address] [varchar](100) NULL,
[CreateDate] [datetime] NULL,
[Score] [float] NULL,
[Remark] [varchar](200) NULL,
CONSTRAINT [PK_CreditFile] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[CreditFileId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Contact] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Contact](
[ContactId] [int] NOT NULL,
[Name] [varchar](50) NULL,
[WorkPlace] [varchar](50) NULL,
[Department] [varchar](50) NULL,
[Post] [varchar](50) NULL,
[Degree] [varchar](50) NULL,
[Sex] [varchar](10) NULL,
[Nation] [varchar](50) NULL,
[MobilPhone] [varchar](50) NULL,
[TellPhone] [varchar](50) NULL,
CONSTRAINT [PK_Contact] PRIMARY KEY CLUSTERED
(
[ContactId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[ConserveDetail] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[ConserveDetail](
[EmbranchmentId] [smallint] NOT NULL,
[ConserveId] [int] NOT NULL,
[RowNum] [int] NOT NULL,
[CreatorId] [int] NULL,
[BusinessId] [int] NULL,
[StockId] [int] NULL,
[CounterId] [int] NULL,
[CreateDate] [smalldatetime] NOT NULL,
[BusinessDate] [smalldatetime] NULL,
[AuditDate] [smalldatetime] NULL,
[CommodityId] [int] NULL,
[BatchCode] [varchar](50) NOT NULL,
[Amount] [decimal](18, 4) NULL,
[ProductDate] [datetime] NULL,
[InvalidateDate] [datetime] NULL,
[CommodityName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[DoseTypeName] [varchar](50) NULL,
[ProducingArea] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[CustomCode] [varchar](50) NULL,
[CreatorName] [varchar](50) NULL,
[BusinessName] [varchar](50) NULL,
[StockName] [varchar](50) NULL,
[EmbranchmentName] [varchar](50) NULL,
[CounterName] [varchar](50) NULL,
[Remark] [varchar](100) NULL,
[ZLQK] [varchar](100) NULL,
[CLYJ] [varchar](100) NULL,
[PackingId] [int] NOT NULL,
[PackingName] [varchar](50) NULL,
CONSTRAINT [PK_ConserveDetail] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[ConserveId] ASC,
[RowNum] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ConserveDetail', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ConserveDetail', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
/****** Object: Table [dbo].[Conserve] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Conserve](
[EmbranchmentId] [smallint] NOT NULL,
[ConserveId] [int] NOT NULL,
[ConserveCode] [varchar](50) NOT NULL,
[ConserveFlowId] [int] NOT NULL,
[CreateDate] [smalldatetime] NOT NULL,
[CreatorId] [smallint] NOT NULL,
[CreatorName] [varchar](50) NOT NULL,
[BusinessDate] [smalldatetime] NULL,
[BusinessId] [smallint] NULL,
[BusinessName] [varchar](50) NULL,
[AuditDate] [smalldatetime] NULL,
[AuditorId] [smallint] NULL,
[AuditorName] [varchar](50) NULL,
[Status] [tinyint] NULL,
[Remark] [varchar](100) NULL,
[EmbranchmentName] [varchar](50) NULL,
CONSTRAINT [PK_Conserve] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[ConserveId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: StoredProcedure [dbo].[commonPaged_Select] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[commonPaged_Select]
(
@Tables varchar(1000), --需要查询的表
@PrimaryKey varchar(100), --主键名称
@Sort varchar(200) = NULL, --排序条件
@PageIndex int = 1, --第几页
@PageSize int = 10, --分页大小
@Fields varchar(1000) = '*', --需要得到的字段
@Filter varchar(1000) = NULL, --查询条件, 不用加where关键字
@Group varchar(1000) = NULL, --查询条件, 不用加Group by关键字
@RecordCount int = 0 output --总记录数
)
AS
SET NOCOUNT ON
/**//*Default Sorting*/
IF @Sort IS NULL OR @Sort = ''
SET @Sort = @PrimaryKey --如果默认排序为空,则按照主键进行排序
/**//*Find the @PrimaryKey type*/
DECLARE @SortTable varchar(100)--多表联接时排序的表名
DECLARE @SortName varchar(100) --多表联接时排序的字段名
DECLARE @strSortColumn varchar(200)--排序字段,不带DESC或ASC
DECLARE @operator char(2) --操作符???
DECLARE @type varchar(100) --主键字段类型
DECLARE @prec int --主键字段精度
/**//*Set sorting variables.*/
IF CHARINDEX('DESC',@Sort)>0
BEGIN
SET @strSortColumn = REPLACE(@Sort, 'DESC', '')
SET @operator = '<'
END
ELSE
BEGIN
IF CHARINDEX('ASC', @Sort) > 0
SET @strSortColumn = REPLACE(@Sort, 'ASC', '')
ELSE
SET @strSortColumn = @Sort
SET @operator = '>'
END
IF CHARINDEX('.', @strSortColumn) > 0 --多表联接时可能会按照其中某个表的某个字段排序
BEGIN
SET @SortTable = SUBSTRING(@strSortColumn, 0, CHARINDEX('.',@strSortColumn))
SET @SortName = SUBSTRING(@strSortColumn, CHARINDEX('.',@strSortColumn) + 1, LEN(@strSortColumn))
END
ELSE
BEGIN
SET @SortTable = @Tables
SET @SortName = @strSortColumn
END
SELECT @type=t.name, @prec=c.prec --获得字段的类型和精度
FROM sysobjects o
JOIN syscolumns c on o.id=c.id
JOIN systypes t on c.xusertype=t.xusertype
WHERE o.name = @SortTable AND c.name = @SortName
IF CHARINDEX('char', @type) > 0
SET @type = @type + '(' + CAST(@prec AS varchar) + ')' --如果字段为char类型,则转换为varchar
DECLARE @strPageSize varchar(50) --分页大小
DECLARE @strStartRow varchar(50) --页起始行
DECLARE @strFilter varchar(1000) --过滤条件
DECLARE @strSimpleFilter varchar(1000)
DECLARE @strGroup varchar(1000) --group条件
/**//*Default Page Number*/
IF @PageIndex < 1
SET @PageIndex = 1
/**//*Set paging variables.*/
SET @strPageSize = CAST(@PageSize AS varchar(50))
SET @strStartRow = CAST(((@PageIndex - 1)*@PageSize + 1) AS varchar(50))
/**//*Set filter & group variables.*/
IF @Filter IS NOT NULL AND @Filter != ''
BEGIN
SET @strFilter = ' WHERE ' + @Filter + ' '
SET @strSimpleFilter = ' AND ' + @Filter + ' '
END
ELSE
BEGIN
SET @strSimpleFilter = ''
SET @strFilter = ''
END
IF @Group IS NOT NULL AND @Group != ''
SET @strGroup = ' GROUP BY ' + @Group + ' '
ELSE
SET @strGroup = ''
/**//*Get rows count.*/
DECLARE @str_Count_SQL nvarchar(500)
SET @str_Count_SQL= 'SELECT @TotalCount=count(*) FROM ' + @Tables + @strFilter --根据条件获得记录数
EXEC sp_executesql @str_Count_SQL,N'@TotalCount int=0 output',@RecordCount output
/**//*Execute dynamic query*/
IF @Sort = @PrimaryKey
BEGIN
EXEC(
'
DECLARE @SortColumn ' + @type + '
SET ROWCOUNT ' + @strStartRow + '
SELECT @SortColumn=' + @strSortColumn + ' FROM ' + @Tables + @strFilter + ' ' + @strGroup + ' ORDER BY ' + @Sort + '
SET ROWCOUNT ' + @strPageSize + '
SELECT ' + @Fields + ' FROM ' + @Tables + ' WHERE ' + @strSortColumn + @operator + '= @SortColumn ' + @strSimpleFilter + ' ' + @strGroup + ' ORDER BY ' + @Sort + '
'
)
END
ELSE
BEGIN
if (@Sort=@PrimaryKey +' DESC')
begin
EXEC(
'
DECLARE @SortColumn ' + @type + '
DECLARE @SortNullValue ' + @type + '
DECLARE @PrimaryKeyStartValue int
SET @SortNullValue=CAST('''' as '+ @type +')
SET ROWCOUNT ' + @strStartRow + '
SELECT @SortColumn= isNull(' + @strSortColumn + ',@SortNullValue), @PrimaryKeyStartValue = '+ @PrimaryKey +' FROM ' + @Tables + @strFilter + ' ' + @strGroup + ' ORDER BY ' + @PrimaryKey +' Desc
SET ROWCOUNT ' + @strPageSize + '
SELECT ' + @Fields + ' FROM ' + @Tables + ' WHERE (isNull(' + @strSortColumn+',@SortNullValue)' + @operator + ' @SortColumn or (isNull(' + @strSortColumn+',@SortNullValue)=@SortColumn and '+ @PrimaryKey +'<=@PrimaryKeyStartValue))' + @strSimpleFilter + ' ' + @strGroup + ' ORDER BY ' + @PrimaryKey +' Desc
'
)
end
else
begin
EXEC(
'
DECLARE @SortColumn ' + @type + '
DECLARE @SortNullValue ' + @type + '
DECLARE @PrimaryKeyStartValue int
SET @SortNullValue=CAST('''' as '+ @type +')
SET ROWCOUNT ' + @strStartRow + '
SELECT @SortColumn= isNull(' + @strSortColumn + ',@SortNullValue), @PrimaryKeyStartValue = '+ @PrimaryKey +' FROM ' + @Tables + @strFilter + ' ' + @strGroup + ' ORDER BY ' + @Sort + ','+ @PrimaryKey +' Desc
SET ROWCOUNT ' + @strPageSize + '
SELECT ' + @Fields + ' FROM ' + @Tables + ' WHERE (isNull(' + @strSortColumn+',@SortNullValue)' + @operator + ' @SortColumn or (isNull(' + @strSortColumn+',@SortNullValue)=@SortColumn and '+ @PrimaryKey +'<=@PrimaryKeyStartValue))' + @strSimpleFilter + ' ' + @strGroup + ' ORDER BY ' + @Sort + ','+ @PrimaryKey +' Desc
'
)
end
END
SET NOCOUNT OFF
SET QUOTED_IDENTIFIER OFF
GO
/****** Object: StoredProcedure [dbo].[common_IsFieldsExist] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--通用判断语句,判断在指定的表里有没有存在满足条件的记录
CREATE PROCEDURE [dbo].[common_IsFieldsExist]
@TableName varchar(255), -- 表名
@WhereCondition varchar(1500) = 'DELETED=1', -- 查询条件 (注意: 不要加 where)
@ReturnValue bit out
AS
declare @strSQL varchar(5000) -- 主语句
select @strSQL='DECLARE @count int '
select @strSQL=@strSQL+'SELECT @count= Count(*) from '+@TableName+' WHERE '+@WhereCondition
Exec(@strSQL)--执行存储过程
GO
/****** Object: Table [dbo].[CommodityUnit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CommodityUnit](
[UnitId] [smallint] NOT NULL,
[UnitName] [varchar](10) NOT NULL,
CONSTRAINT [PK_CommodityUnit] PRIMARY KEY CLUSTERED
(
[UnitId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[CommodityStockLimit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CommodityStockLimit](
[DepotId] [int] NOT NULL,
[EmbranchmentId] [int] NOT NULL,
[CommodityId] [int] NOT NULL,
[Amount] [decimal](18, 0) NULL,
[UpperLimit] [decimal](18, 4) NULL,
[LowLimit] [decimal](18, 4) NULL,
[AdjQty] [decimal](18, 4) NULL,
[EmbranchmentName] [varchar](50) NULL,
[DepotName] [varchar](50) NULL,
[CommodityName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[DoseTypeName] [varchar](50) NULL,
[ProducingArea] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[SpellCode] [varchar](100) NULL,
[CustomCode] [varchar](50) NULL,
CONSTRAINT [PK_CommodityStockLimit] PRIMARY KEY CLUSTERED
(
[DepotId] ASC,
[EmbranchmentId] ASC,
[CommodityId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'仓库Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStockLimit', @level2type=N'COLUMN',@level2name=N'DepotId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分支机构Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStockLimit', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'商品Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStockLimit', @level2type=N'COLUMN',@level2name=N'CommodityId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前库存数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStockLimit', @level2type=N'COLUMN',@level2name=N'Amount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'库存上限' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStockLimit', @level2type=N'COLUMN',@level2name=N'UpperLimit'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'库存下限' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStockLimit', @level2type=N'COLUMN',@level2name=N'LowLimit'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'建议数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStockLimit', @level2type=N'COLUMN',@level2name=N'AdjQty'
GO
/****** Object: Table [dbo].[CommodityStock] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CommodityStock](
[DepotId] [int] NOT NULL,
[EmbranchmentId] [smallint] NOT NULL,
[CommodityId] [int] NOT NULL,
[InOrder] [int] NOT NULL,
[PackingId] [int] NOT NULL,
[BatchCode] [varchar](50) NOT NULL,
[ProductDate] [datetime] NULL,
[InvalidateDate] [datetime] NULL,
[InstockDate] [datetime] NOT NULL,
[CostPrice] [decimal](18, 4) NOT NULL,
[RetailPrice] [decimal](18, 4) NULL,
[Amount] [decimal](18, 4) NOT NULL,
[FactAmount] [decimal](18, 4) NULL,
[Odds] [decimal](18, 4) NULL,
[SumCost] [decimal](18, 4) NULL,
[SumRetail] [decimal](18, 4) NULL,
[CommodityName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[DoseTypeName] [varchar](50) NULL,
[ProducingArea] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[SpellCode] [varchar](100) NULL,
[TXM] [varchar](60) NULL,
[CustomCode] [varchar](50) NULL,
[CurrentRetailPrice] [decimal](18, 4) NULL,
[IsChinese] [bit] NULL,
[CounterId] [tinyint] NULL,
[CounterName] [varchar](50) NULL,
[DataVersion] [bigint] NULL,
[PreMemberPrice] [decimal](18, 4) NULL,
[CurrentMemberPrice] [decimal](18, 4) NULL,
[Medicare] [tinyint] NULL,
[UpperLimit] [int] NULL,
[LowerLimit] [int] NULL,
[PackingName] [varchar](50) NULL,
[CustomStr] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
[IsMemberPrice] [bit] NULL,
[IsDiscount] [bit] NULL,
[IsScore] [bit] NULL,
[A] [bit] NULL,
[B] [bit] NULL,
[C] [bit] NULL,
[D] [bit] NULL,
CONSTRAINT [PK_CommodityStock] PRIMARY KEY CLUSTERED
(
[DepotId] ASC,
[EmbranchmentId] ASC,
[CommodityId] ASC,
[InOrder] ASC,
[PackingId] ASC,
[BatchCode] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'仓库Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'DepotId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分支机构Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'商品Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'CommodityId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入库顺序' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'InOrder'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'商品批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'BatchCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'ProductDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'InvalidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入库时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'InstockDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成本价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'CostPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'零售价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'RetailPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'Amount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'小计金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'SumCost'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'零售合计' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'SumRetail'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前零售价格' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'CurrentRetailPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是不是中药' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'IsChinese'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'CounterId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'CounterName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用于各社区店从服务器上根据版本号下拉库存' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'DataVersion'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'原会员价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'PreMemberPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前会员价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'CurrentMemberPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医保(0-非,1-市,2-矿市,3-矿)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'Medicare'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'CustomStr'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否使用会员价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'IsMemberPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否打折' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'IsDiscount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否积分' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityStock', @level2type=N'COLUMN',@level2name=N'IsScore'
GO
/****** Object: Table [dbo].[CommodityStandard] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CommodityStandard](
[CommodityId] [int] NOT NULL,
[CatalogId] [int] NOT NULL,
[GeneralName] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
[EnglishName] [varchar](200) NULL,
[Spec] [varchar](200) NULL,
[ProducingArea] [varchar](100) NULL,
[DoseType] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[Gmp] [bit] NULL,
[Otc] [bit] NULL,
[Import] [bit] NULL,
[Medicare] [tinyint] NULL,
[TradePrice] [money] NULL,
[RetailPrice] [money] NULL,
[UnifyCode] [varchar](50) NULL,
[SpellCode] [varchar](100) NULL,
[CustomCode] [varchar](50) NULL,
[Guid] [uniqueidentifier] NULL,
[DataVersion] [bigint] NULL,
[Disabled] [bit] NULL,
[ZhongChengYao] [bit] NULL,
[ZhongYaoCai] [bit] NULL,
[ZhongYaoCaiContent] [varchar](100) NULL,
[ZhongYaoYinPian] [bit] NULL,
[ZhongYaoYinPianContent] [varchar](100) NULL,
[HXYZJ] [bit] NULL,
[HXYLY] [bit] NULL,
[KSS] [bit] NULL,
[SHYP] [bit] NULL,
[SWZP] [bit] NULL,
[SWZPCYM] [bit] NULL,
[SWZPCXYYP] [bit] NULL,
[SWZPXZDYP] [bit] NULL,
[MZYP] [bit] NULL,
[MZYPContent] [varchar](100) NULL,
[JSYP] [bit] NULL,
[JSYPContent] [varchar](100) NULL,
[YLYDXYP] [bit] NULL,
[YLYDXYPContent] [varchar](100) NULL,
[FSXYP] [bit] NULL,
[YM] [bit] NULL,
[TXM] [varchar](60) NULL,
[BS] [int] NULL,
[IsCommodity] [bit] NULL,
[RetailDataVersion] [bigint] NULL,
[Reports] [tinyint] NULL,
[Deleted] [bit] NULL,
[CounterId] [tinyint] NULL,
[CounterName] [varchar](50) NULL,
[MemberPrice] [money] NULL,
[UpperLimit] [int] NULL,
[LowerLimit] [int] NULL,
[SFDAId] [int] NULL,
[TableView] [varchar](50) NULL,
[UniCodes] [varchar](100) NULL,
[StandCode] [varchar](100) NULL,
[CommodityType] [varchar](50) NULL,
[GJ] [varchar](50) NULL,
CONSTRAINT [PK_CommodityStandard] PRIMARY KEY CLUSTERED
(
[CommodityId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[CommodityRelation] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CommodityRelation](
[NewCommodityId] [int] NULL,
[NewPackingId] [int] NULL,
[NewGeneralName] [varchar](100) NULL,
[NewProductName] [varchar](100) NULL,
[NewSpec] [varchar](200) NULL,
[NewProducingArea] [varchar](100) NULL,
[NewDoseType] [varchar](50) NULL,
[NewAuthorizeCode] [varchar](100) NULL,
[NewSpellCode] [varchar](100) NULL,
[NewCustomCode] [varchar](50) NULL,
[NewUnit] [varchar](50) NULL,
[NewTXM] [varchar](60) NULL,
[OldCommodityId] [int] NULL,
[OldPackingId] [int] NULL,
[OldGeneralName] [varchar](100) NULL,
[OldProductName] [varchar](100) NULL,
[OldSpec] [varchar](200) NULL,
[OldProducingArea] [varchar](100) NULL,
[OldDoseType] [varchar](50) NULL,
[OldAuthorizeCode] [varchar](100) NULL,
[OldSpellCode] [varchar](100) NULL,
[OldCustomCode] [varchar](50) NULL,
[OldTXM] [varchar](60) NULL,
[OldUnit] [varchar](50) NULL,
[OldPackingName] [varchar](50) NULL,
[OLdRetailPrice] [money] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityRelation', @level2type=N'COLUMN',@level2name=N'NewPackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'商品ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityRelation', @level2type=N'COLUMN',@level2name=N'OldCommodityId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityRelation', @level2type=N'COLUMN',@level2name=N'OldPackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'通用名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityRelation', @level2type=N'COLUMN',@level2name=N'OldGeneralName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'商品名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityRelation', @level2type=N'COLUMN',@level2name=N'OldProductName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'规格' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityRelation', @level2type=N'COLUMN',@level2name=N'OldSpec'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'产地' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityRelation', @level2type=N'COLUMN',@level2name=N'OldProducingArea'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'剂型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityRelation', @level2type=N'COLUMN',@level2name=N'OldDoseType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批准文号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityRelation', @level2type=N'COLUMN',@level2name=N'OldAuthorizeCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'拼音码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityRelation', @level2type=N'COLUMN',@level2name=N'OldSpellCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityRelation', @level2type=N'COLUMN',@level2name=N'OldCustomCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'条形码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityRelation', @level2type=N'COLUMN',@level2name=N'OldTXM'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityRelation', @level2type=N'COLUMN',@level2name=N'OldUnit'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityRelation', @level2type=N'COLUMN',@level2name=N'OldPackingName'
GO
/****** Object: Table [dbo].[CommodityOld] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CommodityOld](
[CommodityId] [int] NOT NULL,
[PackingId] [int] NOT NULL,
[CatalogId] [int] NOT NULL,
[GeneralName] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
[EnglishName] [varchar](200) NULL,
[Spec] [varchar](200) NULL,
[ProducingArea] [varchar](100) NULL,
[DoseType] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[Gmp] [bit] NULL,
[Otc] [bit] NULL,
[Import] [bit] NULL,
[Medicare] [tinyint] NULL,
[TradePrice] [money] NULL,
[RetailPrice] [money] NULL,
[UnifyCode] [varchar](50) NULL,
[SpellCode] [varchar](100) NULL,
[CustomCode] [varchar](50) NULL,
[Guid] [uniqueidentifier] NULL,
[DataVersion] [bigint] NULL,
[Disabled] [bit] NULL,
[ZhongChengYao] [bit] NULL,
[ZhongYaoCai] [bit] NULL,
[ZhongYaoCaiContent] [varchar](100) NULL,
[ZhongYaoYinPian] [bit] NULL,
[ZhongYaoYinPianContent] [varchar](100) NULL,
[HXYZJ] [bit] NULL,
[HXYLY] [bit] NULL,
[KSS] [bit] NULL,
[SHYP] [bit] NULL,
[SWZP] [bit] NULL,
[SWZPCYM] [bit] NULL,
[SWZPCXYYP] [bit] NULL,
[SWZPXZDYP] [bit] NULL,
[MZYP] [bit] NULL,
[MZYPContent] [varchar](100) NULL,
[JSYP] [bit] NULL,
[JSYPContent] [varchar](100) NULL,
[YLYDXYP] [bit] NULL,
[YLYDXYPContent] [varchar](100) NULL,
[FSXYP] [bit] NULL,
[YM] [bit] NULL,
[TXM] [varchar](60) NULL,
[BS] [int] NULL,
[IsCommodity] [bit] NULL,
[RetailDataVersion] [bigint] NULL,
[Reports] [tinyint] NULL,
[Deleted] [bit] NULL,
[CounterId] [tinyint] NULL,
[CounterName] [varchar](50) NULL,
[MemberPrice] [money] NULL,
[UpperLimit] [int] NULL,
[LowerLimit] [int] NULL,
[SFDAId] [int] NULL,
[TableView] [varchar](50) NULL,
[UniCodes] [varchar](100) NULL,
[StandCode] [varchar](100) NULL,
[CommodityType] [varchar](50) NULL,
[GJ] [varchar](50) NULL,
[PackingName] [varchar](50) NULL,
[CustomStr] [varchar](100) NULL,
[IsMemberPrice] [bit] NULL,
[IsDiscount] [bit] NULL,
[IsScore] [bit] NULL,
CONSTRAINT [PK_CommodityOld] PRIMARY KEY CLUSTERED
(
[CommodityId] ASC,
[PackingId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityOld', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医保(0-非,1-市,2-矿市,3-矿)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityOld', @level2type=N'COLUMN',@level2name=N'Medicare'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityOld', @level2type=N'COLUMN',@level2name=N'CounterId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityOld', @level2type=N'COLUMN',@level2name=N'CounterName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'会员价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityOld', @level2type=N'COLUMN',@level2name=N'MemberPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'报警上限' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityOld', @level2type=N'COLUMN',@level2name=N'UpperLimit'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'报警下限' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityOld', @level2type=N'COLUMN',@level2name=N'LowerLimit'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'国药局中药品ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityOld', @level2type=N'COLUMN',@level2name=N'SFDAId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'国产药品还是其它的药品' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityOld', @level2type=N'COLUMN',@level2name=N'TableView'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'唯一编码(目前用批准文号)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityOld', @level2type=N'COLUMN',@level2name=N'UniCodes'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'以后国家出的唯一编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityOld', @level2type=N'COLUMN',@level2name=N'StandCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'产品类别' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityOld', @level2type=N'COLUMN',@level2name=N'CommodityType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'厂商国家' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityOld', @level2type=N'COLUMN',@level2name=N'GJ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityOld', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否使用会员价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityOld', @level2type=N'COLUMN',@level2name=N'IsMemberPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否打折' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityOld', @level2type=N'COLUMN',@level2name=N'IsDiscount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否积分' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityOld', @level2type=N'COLUMN',@level2name=N'IsScore'
GO
/****** Object: Table [dbo].[CommodityMultiUnit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CommodityMultiUnit](
[CommodityId] [int] NOT NULL,
[Unit] [varchar](10) NOT NULL,
CONSTRAINT [PK_CommodityMultiUnit] PRIMARY KEY CLUSTERED
(
[CommodityId] ASC,
[Unit] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[CommodityExtra] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[CommodityExtra](
[CommodityId] [int] NOT NULL,
CONSTRAINT [PK_CommodityExtra] PRIMARY KEY CLUSTERED
(
[CommodityId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[CommodityChangeLog] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CommodityChangeLog](
[CommodityId] [int] NOT NULL,
[PackingId] [int] NOT NULL,
[Date] [datetime] NOT NULL,
[Action] [varchar](50) NOT NULL,
[PreCommodity] [varchar](2000) NOT NULL,
[CurCommodity] [varchar](2000) NOT NULL,
[Log] [varchar](5000) NOT NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'修改日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityChangeLog', @level2type=N'COLUMN',@level2name=N'Date'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'操作' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityChangeLog', @level2type=N'COLUMN',@level2name=N'Action'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'原商品信息' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityChangeLog', @level2type=N'COLUMN',@level2name=N'PreCommodity'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前商品信息' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityChangeLog', @level2type=N'COLUMN',@level2name=N'CurCommodity'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'修改内容' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityChangeLog', @level2type=N'COLUMN',@level2name=N'Log'
GO
/****** Object: Table [dbo].[CommodityBcrUser] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CommodityBcrUser](
[EmbranchmentId] [smallint] NOT NULL,
[CommodityBcrUserId] [int] NOT NULL,
[XD] [bit] NULL,
[YZ] [bit] NULL,
[YB] [bit] NULL,
[YLWSJG] [bit] NULL,
[SCQYJYQY] [bit] NULL,
[GR] [bit] NULL,
[BM] [varchar](50) NULL,
[EmbranchmentName] [varchar](50) NULL,
[EmbranchmentBM] [varchar](50) NULL,
[EmbranchmentPhone] [varchar](50) NULL,
[BGDate] [datetime] NULL,
[UserName] [varchar](50) NULL,
[UserSex] [varchar](20) NULL,
[CSDate] [datetime] NULL,
[MZ] [varchar](50) NULL,
[TZ] [float] NULL,
[LXFS] [varchar](50) NULL,
[JZYPBLFY] [varchar](10) NULL,
[JWYBLFY] [varchar](10) NULL,
[BLFYSJMC] [varchar](50) NULL,
[BLFYSJFSSJ] [datetime] NULL,
[BLH] [varchar](50) NULL,
[BLFYMS] [varchar](200) NULL,
[BLFYJG] [varchar](10) NULL,
[BLFYJGBX] [varchar](50) NULL,
[BLFYJGZJSY] [varchar](50) NULL,
[BLFYJGSWDate] [datetime] NULL,
[YHJB] [varchar](100) NULL,
[DYHJBDYX] [varchar](20) NULL,
[DYHJBDYXBX] [varchar](50) NULL,
[GNYWLSBLFY] [varchar](10) NULL,
[GWYWLSBLFY] [varchar](10) NULL,
[GLXPJBGR] [varchar](20) NULL,
[GLXPJBGRQM] [varchar](20) NULL,
[GLXPJBGDW] [varchar](20) NULL,
[GLXPJBGDWQM] [varchar](50) NULL,
[GLXPJSJJG] [varchar](20) NULL,
[GLXPJSJJGQM] [varchar](50) NULL,
[GLXPJJCZX] [varchar](20) NULL,
[GLXPJJCZXQM] [varchar](50) NULL,
[DataVersion] [bigint] NULL,
[Deleted] [bit] NULL,
CONSTRAINT [PK_CommodityBcrUser] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[CommodityBcrUserId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分支机构ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'患者ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'CommodityBcrUserId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'新的("1"是"0"否)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'XD'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'严重("1"是"0"否)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'YZ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'一般("1"是"0"否)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'YB'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医疗卫生机构("1"是"0"否)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'YLWSJG'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产企业经营企业("1"是"0"否)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'SCQYJYQY'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'个人("1"是"0"否)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'GR'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'BM'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分支机构名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'EmbranchmentName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分支机构部门' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'EmbranchmentBM'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分支机构电话' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'EmbranchmentPhone'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'报告日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'BGDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'患者姓名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'UserName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'性别("男""女")' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'UserSex'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'出生日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'CSDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'民族' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'MZ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'体重' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'TZ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'联系方式' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'LXFS'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'家族药品不良反应/事件("有""无""不详")' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'JZYPBLFY'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'既往药品不良反应/事件情况("有""无""不详")' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'JWYBLFY'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'不良反应事件名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'BLFYSJMC'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'不良反应/事件发生时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'BLFYSJFSSJ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'病历号/门诊号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'BLH'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'不良反应/事件过程描述(包括症状、体征、临床试验等)及处理情况' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'BLFYMS'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'不良反应/事件的结果:治愈、好转、有后遗症、死亡' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'BLFYJG'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'不良反应/事件的结果中的表现' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'BLFYJGBX'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'不良反应/事件的结果中的直接死因' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'BLFYJGZJSY'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'不良反应/事件的结果中的死亡时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'BLFYJGSWDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'原患疾病' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'YHJB'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'对原患疾病的影响:不明显、病程延长、病情加重、导致后遗症、导致死亡' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'DYHJBDYX'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'对原患疾病的影响中的表现' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'DYHJBDYXBX'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'国内有无类似不良反应:有、无、不详' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'GNYWLSBLFY'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'国外有无类似不良反应:有、无、不详' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'GWYWLSBLFY'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'关联性评价报告人:肯定、很可能、可能、可能无关、待评价、无法评价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'GLXPJBGR'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'关联性评价报告人签名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'GLXPJBGRQM'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'关联性评价报告单位:肯定、很可能、可能、可能无关、待评价、无法评价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'GLXPJBGDW'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'关联性评价报告单位签名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'GLXPJBGDWQM'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'关联性评价省级药品不良反应监测机构:肯定、很可能、可能、可能无关、待评价、无法评价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'GLXPJSJJG'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'关联性评价省级药品不良反应监测机构签名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'GLXPJSJJGQM'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'关联性评价国家药品不良反应监测中心:肯定、很可能、可能、可能无关、待评价、无法评价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'GLXPJJCZX'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'关联性评价国家药品不良反应监测中心签名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrUser', @level2type=N'COLUMN',@level2name=N'GLXPJJCZXQM'
GO
/****** Object: Table [dbo].[CommodityBcrRecord] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CommodityBcrRecord](
[EmbranchmentId] [smallint] NOT NULL,
[CommodityBcrUserId] [int] NOT NULL,
[RowNum] [int] NOT NULL,
[IsHYYP] [bit] NULL,
[CommodityId] [int] NULL,
[GeneralName] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
[ProducingArea] [varchar](100) NULL,
[BatchCode] [varchar](50) NULL,
[YFYL] [varchar](50) NULL,
[YYKSSJ] [datetime] NULL,
[YYJSSJ] [datetime] NULL,
[YY] [varchar](50) NULL,
[DataVersion] [bigint] NULL,
[Deleted] [bit] NULL,
[PackingId] [int] NOT NULL,
[PackingName] [varchar](50) NULL,
CONSTRAINT [PK_CommodityBcrRecord] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[CommodityBcrUserId] ASC,
[RowNum] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分支机构ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrRecord', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'患者ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrRecord', @level2type=N'COLUMN',@level2name=N'CommodityBcrUserId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否是怀疑药品("1"是"0"否)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrRecord', @level2type=N'COLUMN',@level2name=N'IsHYYP'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrRecord', @level2type=N'COLUMN',@level2name=N'CommodityId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品名称' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrRecord', @level2type=N'COLUMN',@level2name=N'GeneralName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产厂商' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrRecord', @level2type=N'COLUMN',@level2name=N'ProducingArea'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrRecord', @level2type=N'COLUMN',@level2name=N'BatchCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用法用量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrRecord', @level2type=N'COLUMN',@level2name=N'YFYL'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用药开始时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrRecord', @level2type=N'COLUMN',@level2name=N'YYKSSJ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用药结束时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrRecord', @level2type=N'COLUMN',@level2name=N'YYJSSJ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用药原因' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrRecord', @level2type=N'COLUMN',@level2name=N'YY'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrRecord', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CommodityBcrRecord', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
/****** Object: Table [dbo].[CommodityAudit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CommodityAudit](
[EmbranchmentId] [int] NOT NULL,
[CommodityId] [int] NOT NULL,
[NewCommodityId] [int] NOT NULL,
[EmbranchmentName] [varchar](100) NOT NULL,
[CatalogId] [int] NOT NULL,
[GeneralName] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
[EnglishName] [varchar](200) NULL,
[Spec] [varchar](200) NULL,
[ProducingArea] [varchar](100) NULL,
[DoseType] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[Gmp] [bit] NULL,
[Otc] [bit] NULL,
[Import] [bit] NULL,
[Medicare] [tinyint] NULL,
[TradePrice] [money] NULL,
[RetailPrice] [money] NULL,
[UnifyCode] [varchar](50) NULL,
[SpellCode] [varchar](100) NULL,
[CustomCode] [varchar](50) NULL,
[Guid] [uniqueidentifier] NULL,
[DataVersion] [bigint] NULL,
[Disabled] [bit] NULL,
[ZhongChengYao] [bit] NULL,
[ZhongYaoCai] [bit] NULL,
[ZhongYaoCaiContent] [varchar](100) NULL,
[ZhongYaoYinPian] [bit] NULL,
[ZhongYaoYinPianContent] [varchar](100) NULL,
[HXYZJ] [bit] NULL,
[HXYLY] [bit] NULL,
[KSS] [bit] NULL,
[SHYP] [bit] NULL,
[SWZP] [bit] NULL,
[SWZPCYM] [bit] NULL,
[SWZPCXYYP] [bit] NULL,
[SWZPXZDYP] [bit] NULL,
[MZYP] [bit] NULL,
[MZYPContent] [varchar](100) NULL,
[JSYP] [bit] NULL,
[JSYPContent] [varchar](100) NULL,
[YLYDXYP] [bit] NULL,
[YLYDXYPContent] [varchar](100) NULL,
[FSXYP] [bit] NULL,
[YM] [bit] NULL,
[TXM] [varchar](60) NULL,
[BS] [int] NULL,
[IsCommodity] [bit] NULL,
[RetailDataVersion] [bigint] NULL,
[Reports] [tinyint] NULL,
[Deleted] [bit] NULL,
[CounterId] [tinyint] NULL,
[CounterName] [varchar](50) NULL,
CONSTRAINT [PK_CommodityAudit] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[CommodityId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Commodity] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Commodity](
[CommodityId] [int] NOT NULL,
[PackingId] [int] NOT NULL,
[CatalogId] [int] NOT NULL,
[GeneralName] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
[EnglishName] [varchar](200) NULL,
[Spec] [varchar](200) NULL,
[ProducingArea] [varchar](100) NULL,
[DoseType] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[Gmp] [bit] NULL,
[Otc] [bit] NULL,
[Import] [bit] NULL,
[Medicare] [tinyint] NULL,
[TradePrice] [money] NULL,
[RetailPrice] [money] NULL,
[UnifyCode] [varchar](50) NULL,
[SpellCode] [varchar](100) NULL,
[CustomCode] [varchar](50) NULL,
[Guid] [uniqueidentifier] NULL,
[DataVersion] [bigint] NULL,
[Disabled] [bit] NULL,
[ZhongChengYao] [bit] NULL,
[ZhongYaoCai] [bit] NULL,
[ZhongYaoCaiContent] [varchar](100) NULL,
[ZhongYaoYinPian] [bit] NULL,
[ZhongYaoYinPianContent] [varchar](100) NULL,
[HXYZJ] [bit] NULL,
[HXYLY] [bit] NULL,
[KSS] [bit] NULL,
[SHYP] [bit] NULL,
[SWZP] [bit] NULL,
[SWZPCYM] [bit] NULL,
[SWZPCXYYP] [bit] NULL,
[SWZPXZDYP] [bit] NULL,
[MZYP] [bit] NULL,
[MZYPContent] [varchar](100) NULL,
[JSYP] [bit] NULL,
[JSYPContent] [varchar](100) NULL,
[YLYDXYP] [bit] NULL,
[YLYDXYPContent] [varchar](100) NULL,
[FSXYP] [bit] NULL,
[YM] [bit] NULL,
[TXM] [varchar](60) NULL,
[BS] [int] NULL,
[IsCommodity] [bit] NULL,
[RetailDataVersion] [bigint] NULL,
[Reports] [tinyint] NULL,
[Deleted] [bit] NULL,
[CounterId] [tinyint] NULL,
[CounterName] [varchar](50) NULL,
[MemberPrice] [money] NULL,
[UpperLimit] [int] NULL,
[LowerLimit] [int] NULL,
[SFDAId] [int] NULL,
[TableView] [varchar](50) NULL,
[UniCodes] [varchar](100) NULL,
[StandCode] [varchar](100) NULL,
[CommodityType] [varchar](50) NULL,
[GJ] [varchar](50) NULL,
[PackingName] [varchar](50) NULL,
[CustomStr] [varchar](100) NULL,
[IsMemberPrice] [bit] NULL,
[IsDiscount] [bit] NULL,
[IsScore] [bit] NULL,
[A] [varchar](100) NULL,
[B] [varchar](100) NULL,
[C] [varchar](100) NULL,
[D] [varchar](100) NULL,
CONSTRAINT [PK_Commodity] PRIMARY KEY CLUSTERED
(
[CommodityId] ASC,
[PackingId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Commodity', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医保(0-非,1-市,2-矿市,3-矿)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Commodity', @level2type=N'COLUMN',@level2name=N'Medicare'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Commodity', @level2type=N'COLUMN',@level2name=N'CounterId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Commodity', @level2type=N'COLUMN',@level2name=N'CounterName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'会员价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Commodity', @level2type=N'COLUMN',@level2name=N'MemberPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'报警上限' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Commodity', @level2type=N'COLUMN',@level2name=N'UpperLimit'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'报警下限' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Commodity', @level2type=N'COLUMN',@level2name=N'LowerLimit'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'国药局中药品ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Commodity', @level2type=N'COLUMN',@level2name=N'SFDAId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'国产药品还是其它的药品' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Commodity', @level2type=N'COLUMN',@level2name=N'TableView'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'唯一编码(目前用批准文号)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Commodity', @level2type=N'COLUMN',@level2name=N'UniCodes'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'以后国家出的唯一编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Commodity', @level2type=N'COLUMN',@level2name=N'StandCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'产品类别' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Commodity', @level2type=N'COLUMN',@level2name=N'CommodityType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'厂商国家' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Commodity', @level2type=N'COLUMN',@level2name=N'GJ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Commodity', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否使用会员价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Commodity', @level2type=N'COLUMN',@level2name=N'IsMemberPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否打折' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Commodity', @level2type=N'COLUMN',@level2name=N'IsDiscount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否积分' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Commodity', @level2type=N'COLUMN',@level2name=N'IsScore'
GO
/****** Object: Table [dbo].[BillDetailChargeCard] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BillDetailChargeCard](
[EmbranchmentId] [smallint] NOT NULL,
[BillType] [tinyint] NOT NULL,
[BillId] [int] NOT NULL,
[RowNum] [tinyint] NOT NULL,
[CardId] [int] NULL,
[CardCode] [varchar](50) NULL,
[CustomerId] [int] NULL,
[CustomerName] [varchar](50) NULL,
[SumMoney] [decimal](18, 4) NULL,
[IsCZ] [tinyint] NULL,
[PreBalance] [decimal](18, 4) NULL,
[AfterBalance] [decimal](18, 4) NULL,
[CZEmbranchmentId] [smallint] NULL,
[CZEmbranchmentName] [varchar](50) NULL,
[ChargeDate] [smalldatetime] NULL,
[Status] [tinyint] NULL,
CONSTRAINT [PK_BillDetailCharge] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[BillType] ASC,
[BillId] ASC,
[RowNum] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[BillDetailBatchCodeAdjust] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BillDetailBatchCodeAdjust](
[EmbranchmentId] [smallint] NOT NULL,
[BillType] [tinyint] NOT NULL,
[BillId] [int] NOT NULL,
[RowNum] [tinyint] NOT NULL,
[CommodityId] [int] NOT NULL,
[PreBatchCode] [varchar](50) NOT NULL,
[PreProductDate] [smalldatetime] NULL,
[PreInvalidateDate] [smalldatetime] NULL,
[CurBatchCode] [varchar](50) NOT NULL,
[CurProductDate] [smalldatetime] NULL,
[CurInvalidateDate] [smalldatetime] NULL,
[CommodityName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[DoseTypeName] [varchar](50) NULL,
[ProducingArea] [varchar](50) NULL,
[Unit] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[CustomCode] [varchar](50) NULL,
[InOrder] [int] NULL,
[PackingId] [int] NOT NULL,
[PackingName] [varchar](50) NULL,
[CustomStr] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
CONSTRAINT [PK_BillDetailBatchCodeAdjust] PRIMARY KEY NONCLUSTERED
(
[EmbranchmentId] ASC,
[BillType] ASC,
[BillId] ASC,
[RowNum] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
CREATE CLUSTERED INDEX [IX_BillDetailBatchCodeAdjust] ON [dbo].[BillDetailBatchCodeAdjust]
(
[BillId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'原批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBatchCodeAdjust', @level2type=N'COLUMN',@level2name=N'PreBatchCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'原生产日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBatchCodeAdjust', @level2type=N'COLUMN',@level2name=N'PreProductDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'原有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBatchCodeAdjust', @level2type=N'COLUMN',@level2name=N'PreInvalidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'现批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBatchCodeAdjust', @level2type=N'COLUMN',@level2name=N'CurBatchCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'现生产日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBatchCodeAdjust', @level2type=N'COLUMN',@level2name=N'CurProductDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'现有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBatchCodeAdjust', @level2type=N'COLUMN',@level2name=N'CurInvalidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBatchCodeAdjust', @level2type=N'COLUMN',@level2name=N'CustomCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBatchCodeAdjust', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBatchCodeAdjust', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBatchCodeAdjust', @level2type=N'COLUMN',@level2name=N'CustomStr'
GO
/****** Object: Table [dbo].[ApplicationRole] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ApplicationRole](
[ApplicationId] [int] NOT NULL,
[RoleId] [int] NOT NULL,
CONSTRAINT [ApplicationRole_PK] PRIMARY KEY CLUSTERED
(
[ApplicationId] ASC,
[RoleId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [ApplicationRole_IDX1] ON [dbo].[ApplicationRole]
(
[RoleId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Application] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Application](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](255) NOT NULL,
[LoweredName] [varchar](255) NOT NULL,
[Description] [varchar](255) NULL,
CONSTRAINT [Application_PK] PRIMARY KEY NONCLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],
CONSTRAINT [Application_UC1] UNIQUE NONCLUSTERED
(
[LoweredName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[Account] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Account](
[AccountId] [int] NOT NULL,
[ClassId] [varchar](30) NOT NULL,
[ParentId] [varchar](30) NOT NULL,
[ChildNumber] [int] NOT NULL,
[ChildCount] [int] NOT NULL,
[Name] [varchar](80) NOT NULL,
[Alias] [varchar](30) NOT NULL,
[SerialNumber] [varchar](26) NOT NULL,
[Comment] [varchar](256) NOT NULL,
[CurTotal] [numeric](18, 4) NOT NULL,
[InitTotal] [numeric](18, 4) NOT NULL,
[SysFlag] [char](2) NOT NULL,
[Sysrow] [bit] NOT NULL,
[Deleted] [bit] NOT NULL,
[PinYin] [varchar](80) NOT NULL,
[Total01] [numeric](18, 4) NOT NULL,
[Total02] [numeric](18, 4) NOT NULL,
[Total03] [numeric](18, 4) NOT NULL,
[Total04] [numeric](18, 4) NOT NULL,
[Total05] [numeric](18, 4) NOT NULL,
[Total06] [numeric](18, 4) NOT NULL,
[Total07] [numeric](18, 4) NOT NULL,
[Total08] [numeric](18, 4) NOT NULL,
[Total09] [numeric](18, 4) NOT NULL,
[Total10] [numeric](18, 4) NOT NULL,
[Total11] [numeric](18, 4) NOT NULL,
[Total12] [numeric](18, 4) NOT NULL,
[Bqtotal] [numeric](18, 4) NOT NULL,
[Sumtotal] [numeric](18, 4) NOT NULL,
[CashAudit] [bit] NOT NULL,
[Direction] [bit] NOT NULL,
[ModifyDate] [binary](8) NULL,
CONSTRAINT [PK_Account] PRIMARY KEY CLUSTERED
(
[AccountId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[BillDetailAdjustRetailPrice] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BillDetailAdjustRetailPrice](
[EmbranchmentId] [smallint] NOT NULL,
[BillType] [tinyint] NOT NULL,
[BillId] [int] NOT NULL,
[RowNum] [tinyint] NOT NULL,
[CommodityId] [int] NOT NULL,
[BatchCode] [varchar](50) NULL,
[PreRetailPrice] [decimal](18, 4) NOT NULL,
[CurRetailPrice] [decimal](18, 4) NOT NULL,
[Amount] [decimal](18, 4) NOT NULL,
[RetailPriceDifference] [decimal](18, 4) NOT NULL,
[SumPostRetailPrice] [decimal](18, 4) NOT NULL,
[SumCurRetailPrice] [decimal](18, 4) NOT NULL,
[SumRetailPriceDifference] [decimal](18, 4) NOT NULL,
[CommodityName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[DoseTypeName] [varchar](50) NULL,
[ProducingArea] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[CustomCode] [varchar](50) NULL,
[InOrder] [int] NULL,
[PackingId] [int] NOT NULL,
[PackingName] [varchar](50) NULL,
[CustomStr] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
[PreMemberPrice] [decimal](18, 4) NULL,
[CurMemberPrice] [decimal](18, 4) NULL,
CONSTRAINT [PK_BillDetailAdjustRetailPrice] PRIMARY KEY NONCLUSTERED
(
[EmbranchmentId] ASC,
[BillType] ASC,
[BillId] ASC,
[RowNum] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
CREATE NONCLUSTERED INDEX [IX_BillDetailAdjustRetailPrice] ON [dbo].[BillDetailAdjustRetailPrice]
(
[BillId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailAdjustRetailPrice', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailAdjustRetailPrice', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailAdjustRetailPrice', @level2type=N'COLUMN',@level2name=N'CustomStr'
GO
/****** Object: Table [dbo].[BillDetailRetail] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BillDetailRetail](
[EmbranchmentId] [smallint] NOT NULL,
[BillType] [tinyint] NOT NULL,
[BillId] [int] NOT NULL,
[RowNum] [tinyint] NOT NULL,
[CommodityId] [int] NOT NULL,
[BatchCode] [varchar](50) NOT NULL,
[Price] [decimal](18, 4) NULL,
[Discount] [decimal](18, 4) NULL,
[DiscountPrice] [decimal](18, 4) NULL,
[Amount] [decimal](18, 4) NULL,
[SumMoney] [decimal](18, 4) NULL,
[ProductDate] [datetime] NULL,
[InvalidateDate] [datetime] NULL,
[CostPrice] [decimal](18, 4) NULL,
[CommodityName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[DoseTypeName] [varchar](50) NULL,
[ProducingArea] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[CustomCode] [varchar](50) NULL,
[InOrder] [int] NULL,
[CounterId] [tinyint] NULL,
[CounterName] [varchar](50) NULL,
[PackingId] [int] NOT NULL,
[PackingName] [varchar](50) NULL,
[CustomStr] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
[MemberPrice] [decimal](18, 4) NULL,
[ReturnPayCard] [decimal](18, 4) NULL,
[Medicare] [int] NULL,
[IsMemberPrice] [bit] NULL,
[IsDiscount] [bit] NULL,
[IsScore] [bit] NULL,
[CardDiscount] [decimal](18, 4) NULL,
CONSTRAINT [PK_BillDetailRetail] PRIMARY KEY NONCLUSTERED
(
[EmbranchmentId] ASC,
[BillType] ASC,
[BillId] ASC,
[RowNum] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
CREATE CLUSTERED INDEX [IX_BillDetailRetail] ON [dbo].[BillDetailRetail]
(
[BillId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetail', @level2type=N'COLUMN',@level2name=N'BatchCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetail', @level2type=N'COLUMN',@level2name=N'Price'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'折扣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetail', @level2type=N'COLUMN',@level2name=N'Discount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'折后价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetail', @level2type=N'COLUMN',@level2name=N'DiscountPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetail', @level2type=N'COLUMN',@level2name=N'Amount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合计金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetail', @level2type=N'COLUMN',@level2name=N'SumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetail', @level2type=N'COLUMN',@level2name=N'ProductDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetail', @level2type=N'COLUMN',@level2name=N'InvalidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成本单价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetail', @level2type=N'COLUMN',@level2name=N'CostPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetail', @level2type=N'COLUMN',@level2name=N'CounterId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetail', @level2type=N'COLUMN',@level2name=N'CounterName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetail', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetail', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetail', @level2type=N'COLUMN',@level2name=N'CustomStr'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否使用会员价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetail', @level2type=N'COLUMN',@level2name=N'IsMemberPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否打折' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetail', @level2type=N'COLUMN',@level2name=N'IsDiscount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否积分' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetail', @level2type=N'COLUMN',@level2name=N'IsScore'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'会员卡折扣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetail', @level2type=N'COLUMN',@level2name=N'CardDiscount'
GO
/****** Object: Table [dbo].[BillDetailReportSpill] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BillDetailReportSpill](
[EmbranchmentId] [smallint] NOT NULL,
[BillType] [tinyint] NOT NULL,
[BillId] [int] NOT NULL,
[RowNum] [tinyint] NOT NULL,
[CommodityId] [int] NOT NULL,
[CommodityName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[ProducingArea] [varchar](100) NULL,
[BatchCode] [varchar](50) NOT NULL,
[Price] [decimal](18, 4) NULL,
[Amount] [decimal](18, 4) NULL,
[SumMoney] [decimal](18, 4) NULL,
[RetailPrice] [decimal](18, 4) NULL,
[ProductDate] [datetime] NULL,
[InvalidateDate] [datetime] NULL,
[DoseTypeName] [varchar](50) NULL,
[Unit] [varchar](50) NULL,
[AuthorizeCode] [varchar](50) NULL,
[CustomCode] [varchar](50) NULL,
[InOrder] [int] NULL,
[SpellCode] [varchar](100) NULL,
[CounterId] [tinyint] NULL,
[CounterName] [varchar](50) NULL,
[IsChinese] [bit] NULL,
[Remark] [varchar](50) NULL,
[PackingId] [int] NOT NULL,
[PackingName] [varchar](50) NULL,
[CustomStr] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
CONSTRAINT [PK_BillDetailReportSpill] PRIMARY KEY NONCLUSTERED
(
[EmbranchmentId] ASC,
[BillType] ASC,
[BillId] ASC,
[RowNum] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
CREATE CLUSTERED INDEX [IX_BillDetailReportSpill] ON [dbo].[BillDetailReportSpill]
(
[BillId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportSpill', @level2type=N'COLUMN',@level2name=N'RowNum'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportSpill', @level2type=N'COLUMN',@level2name=N'BatchCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportSpill', @level2type=N'COLUMN',@level2name=N'Price'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportSpill', @level2type=N'COLUMN',@level2name=N'Amount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合计金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportSpill', @level2type=N'COLUMN',@level2name=N'SumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'零售单价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportSpill', @level2type=N'COLUMN',@level2name=N'RetailPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportSpill', @level2type=N'COLUMN',@level2name=N'ProductDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportSpill', @level2type=N'COLUMN',@level2name=N'InvalidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportSpill', @level2type=N'COLUMN',@level2name=N'CustomCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportSpill', @level2type=N'COLUMN',@level2name=N'CounterId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportSpill', @level2type=N'COLUMN',@level2name=N'CounterName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportSpill', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportSpill', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportSpill', @level2type=N'COLUMN',@level2name=N'CustomStr'
GO
/****** Object: Table [dbo].[BillDetailReportLoss] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BillDetailReportLoss](
[EmbranchmentId] [smallint] NOT NULL,
[BillType] [tinyint] NOT NULL,
[BillId] [int] NOT NULL,
[RowNum] [tinyint] NOT NULL,
[CommodityId] [int] NOT NULL,
[BatchCode] [varchar](50) NOT NULL,
[Price] [decimal](18, 4) NULL,
[Amount] [decimal](18, 4) NULL,
[SumMoney] [decimal](18, 4) NULL,
[ProductDate] [datetime] NULL,
[ValidateDate] [datetime] NULL,
[CommodityName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[DoseTypeName] [varchar](50) NULL,
[ProducingArea] [varchar](50) NULL,
[Unit] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[CustomCode] [varchar](50) NULL,
[InOrder] [int] NULL,
[CounterId] [tinyint] NULL,
[CounterName] [varchar](50) NULL,
[PackingId] [int] NOT NULL,
[PackingName] [varchar](50) NULL,
[CustomStr] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
CONSTRAINT [PK_BillDetailReportLoss] PRIMARY KEY NONCLUSTERED
(
[EmbranchmentId] ASC,
[BillType] ASC,
[BillId] ASC,
[RowNum] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
CREATE CLUSTERED INDEX [IX_BillDetailReportLoss] ON [dbo].[BillDetailReportLoss]
(
[BillId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportLoss', @level2type=N'COLUMN',@level2name=N'BatchCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportLoss', @level2type=N'COLUMN',@level2name=N'Price'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportLoss', @level2type=N'COLUMN',@level2name=N'Amount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合计金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportLoss', @level2type=N'COLUMN',@level2name=N'SumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportLoss', @level2type=N'COLUMN',@level2name=N'ProductDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportLoss', @level2type=N'COLUMN',@level2name=N'ValidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportLoss', @level2type=N'COLUMN',@level2name=N'CustomCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportLoss', @level2type=N'COLUMN',@level2name=N'CounterId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportLoss', @level2type=N'COLUMN',@level2name=N'CounterName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportLoss', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportLoss', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailReportLoss', @level2type=N'COLUMN',@level2name=N'CustomStr'
GO
/****** Object: Table [dbo].[BillDetailRetailReturn] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BillDetailRetailReturn](
[EmbranchmentId] [smallint] NOT NULL,
[BillType] [tinyint] NOT NULL,
[BillId] [int] NOT NULL,
[RowNum] [tinyint] NOT NULL,
[CommodityId] [int] NOT NULL,
[BatchCode] [varchar](50) NOT NULL,
[Price] [decimal](18, 4) NULL,
[Discount] [decimal](18, 4) NULL,
[DiscountPrice] [decimal](18, 4) NULL,
[Amount] [decimal](18, 4) NULL,
[SumMoney] [decimal](18, 4) NULL,
[ProductDate] [datetime] NULL,
[InvalidateDate] [datetime] NULL,
[RetailPrice] [decimal](18, 4) NULL,
[CommodityName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[DoseTypeName] [varchar](50) NULL,
[ProducingArea] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[CustomCode] [varchar](50) NULL,
[CounterId] [tinyint] NULL,
[CounterName] [varchar](50) NULL,
[PackingId] [int] NOT NULL,
[PackingName] [varchar](50) NULL,
[CustomStr] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
[MemberPrice] [decimal](18, 4) NULL,
[ReturnPayCard] [decimal](18, 4) NULL,
CONSTRAINT [PK_BillDetailRetailReturn] PRIMARY KEY NONCLUSTERED
(
[EmbranchmentId] ASC,
[BillType] ASC,
[BillId] ASC,
[RowNum] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
CREATE CLUSTERED INDEX [IX_BillDetailRetailReturn] ON [dbo].[BillDetailRetailReturn]
(
[EmbranchmentId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetailReturn', @level2type=N'COLUMN',@level2name=N'BatchCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetailReturn', @level2type=N'COLUMN',@level2name=N'Price'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'折扣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetailReturn', @level2type=N'COLUMN',@level2name=N'Discount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'折后价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetailReturn', @level2type=N'COLUMN',@level2name=N'DiscountPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetailReturn', @level2type=N'COLUMN',@level2name=N'Amount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合计金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetailReturn', @level2type=N'COLUMN',@level2name=N'SumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetailReturn', @level2type=N'COLUMN',@level2name=N'ProductDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetailReturn', @level2type=N'COLUMN',@level2name=N'InvalidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'零售单价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetailReturn', @level2type=N'COLUMN',@level2name=N'RetailPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetailReturn', @level2type=N'COLUMN',@level2name=N'CounterId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetailReturn', @level2type=N'COLUMN',@level2name=N'CounterName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetailReturn', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetailReturn', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetailReturn', @level2type=N'COLUMN',@level2name=N'CustomStr'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'会员价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetailReturn', @level2type=N'COLUMN',@level2name=N'MemberPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'返利' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailRetailReturn', @level2type=N'COLUMN',@level2name=N'ReturnPayCard'
GO
/****** Object: Table [dbo].[BillDetailDemolition] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BillDetailDemolition](
[EmbranchmentId] [smallint] NOT NULL,
[BillType] [tinyint] NOT NULL,
[BillId] [int] NOT NULL,
[RowNum] [tinyint] NOT NULL,
[DemId] [int] NOT NULL,
[CommodityId] [int] NOT NULL,
[InOrder] [int] NOT NULL,
[PackingId] [int] NOT NULL,
[BatchCode] [varchar](50) NOT NULL,
[ProductDate] [datetime] NULL,
[InvalidateDate] [datetime] NULL,
[InstockDate] [datetime] NULL,
[CostPrice] [decimal](18, 4) NULL,
[RetailPrice] [decimal](18, 4) NULL,
[Amount] [decimal](18, 4) NULL,
[FactAmount] [decimal](18, 4) NULL,
[Odds] [decimal](18, 4) NULL,
[SumCost] [decimal](18, 4) NULL,
[SumRetail] [decimal](18, 4) NULL,
[CommodityName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[DoseTypeName] [varchar](50) NULL,
[ProducingArea] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[SpellCode] [varchar](100) NULL,
[TXM] [varchar](60) NULL,
[CustomCode] [varchar](50) NULL,
[CurrentRetailPrice] [decimal](18, 4) NULL,
[IsChinese] [bit] NULL,
[CounterId] [tinyint] NULL,
[CounterName] [varchar](50) NULL,
[DataVersion] [bigint] NULL,
[PreMemberPrice] [decimal](18, 4) NULL,
[CurrentMemberPrice] [decimal](18, 4) NULL,
[Medicare] [tinyint] NULL,
[UpperLimit] [int] NULL,
[LowerLimit] [int] NULL,
[PackingName] [varchar](50) NULL,
[CustomStr] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
[Dem_CommodityId] [int] NULL,
[Dem_InOrder] [int] NULL,
[Dem_PackingId] [int] NULL,
[Dem_BatchCode] [varchar](50) NULL,
[Dem_ProductDate] [datetime] NULL,
[Dem_InvalidateDate] [datetime] NULL,
[Dem_InstockDate] [datetime] NULL,
[Dem_CostPrice] [decimal](18, 4) NULL,
[Dem_RetailPrice] [decimal](18, 4) NULL,
[Dem_Amount] [decimal](18, 4) NULL,
[Dem_FactAmount] [decimal](18, 4) NULL,
[Dem_Odds] [decimal](18, 4) NULL,
[Dem_SumCost] [decimal](18, 4) NULL,
[Dem_SumRetail] [decimal](18, 4) NULL,
[Dem_CommodityName] [varchar](100) NULL,
[Dem_Spec] [varchar](200) NULL,
[Dem_DoseTypeName] [varchar](50) NULL,
[Dem_ProducingArea] [varchar](100) NULL,
[Dem_Unit] [varchar](50) NULL,
[Dem_AuthorizeCode] [varchar](100) NULL,
[Dem_SpellCode] [varchar](100) NULL,
[Dem_TXM] [varchar](60) NULL,
[Dem_CustomCode] [varchar](50) NULL,
[Dem_CurrentRetailPrice] [decimal](18, 4) NULL,
[Dem_IsChinese] [bit] NULL,
[Dem_CounterId] [tinyint] NULL,
[Dem_CounterName] [varchar](50) NULL,
[Dem_DataVersion] [bigint] NULL,
[Dem_PreMemberPrice] [decimal](18, 4) NULL,
[Dem_CurrentMemberPrice] [decimal](18, 4) NULL,
[Dem_Medicare] [tinyint] NULL,
[Dem_UpperLimit] [int] NULL,
[Dem_LowerLimit] [int] NULL,
[Dem_PackingName] [varchar](50) NULL,
[Dem_CustomStr] [varchar](100) NULL,
[Dem_ProductName] [varchar](100) NULL,
[proportion] [int] NULL,
CONSTRAINT [PK_BillDetailDemolition] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[BillType] ASC,
[BillId] ASC,
[RowNum] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'商品Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'CommodityId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入库顺序' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'InOrder'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'商品批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'BatchCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'ProductDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'InvalidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入库时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'InstockDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成本价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'CostPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'零售价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'RetailPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Amount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'小计金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'SumCost'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'零售合计' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'SumRetail'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前零售价格' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'CurrentRetailPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是不是中药' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'IsChinese'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'CounterId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'CounterName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用于各社区店从服务器上根据版本号下拉库存' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'DataVersion'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'原会员价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'PreMemberPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前会员价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'CurrentMemberPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医保(0-非,1-市,2-矿市,3-矿)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Medicare'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'CustomStr'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'商品Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_CommodityId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入库顺序' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_InOrder'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'商品批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_BatchCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_ProductDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_InvalidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入库时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_InstockDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成本价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_CostPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'零售价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_RetailPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_Amount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'小计金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_SumCost'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'零售合计' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_SumRetail'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前零售价格' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_CurrentRetailPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是不是中药' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_IsChinese'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_CounterId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_CounterName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用于各社区店从服务器上根据版本号下拉库存' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_DataVersion'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'原会员价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_PreMemberPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前会员价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_CurrentMemberPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医保(0-非,1-市,2-矿市,3-矿)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_Medicare'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_PackingName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'Dem_CustomStr'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'拆零比例' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailDemolition', @level2type=N'COLUMN',@level2name=N'proportion'
GO
/****** Object: Table [dbo].[BillDetailSaleReturn] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BillDetailSaleReturn](
[EmbranchmentId] [smallint] NOT NULL,
[BillType] [tinyint] NOT NULL,
[BillId] [int] NOT NULL,
[RowNum] [tinyint] NOT NULL,
[CommodityId] [int] NULL,
[BatchCode] [varchar](50) NULL,
[Price] [decimal](18, 4) NULL,
[Discount] [decimal](18, 4) NULL,
[DiscountPrice] [decimal](18, 4) NULL,
[Amount] [decimal](18, 4) NULL,
[SumMoney] [decimal](18, 4) NULL,
[ProductDate] [datetime] NULL,
[ValidateDate] [datetime] NULL,
[RetailPrice] [decimal](18, 4) NULL,
[CustomCode] [varchar](50) NULL,
CONSTRAINT [PK_BillDetailSaleReturn] PRIMARY KEY NONCLUSTERED
(
[EmbranchmentId] ASC,
[BillType] ASC,
[BillId] ASC,
[RowNum] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
CREATE CLUSTERED INDEX [IX_BillDetailSaleReturn] ON [dbo].[BillDetailSaleReturn]
(
[BillId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailSaleReturn', @level2type=N'COLUMN',@level2name=N'BatchCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailSaleReturn', @level2type=N'COLUMN',@level2name=N'Price'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'折扣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailSaleReturn', @level2type=N'COLUMN',@level2name=N'Discount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'折后价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailSaleReturn', @level2type=N'COLUMN',@level2name=N'DiscountPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailSaleReturn', @level2type=N'COLUMN',@level2name=N'Amount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合计金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailSaleReturn', @level2type=N'COLUMN',@level2name=N'SumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailSaleReturn', @level2type=N'COLUMN',@level2name=N'ProductDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailSaleReturn', @level2type=N'COLUMN',@level2name=N'ValidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'零售单价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailSaleReturn', @level2type=N'COLUMN',@level2name=N'RetailPrice'
GO
/****** Object: Table [dbo].[BillDetailSaleOutStock] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BillDetailSaleOutStock](
[EmbranchmentId] [smallint] NOT NULL,
[BillType] [tinyint] NOT NULL,
[BillId] [int] NOT NULL,
[RowNum] [tinyint] NOT NULL,
[CommodityId] [int] NULL,
[BatchCode] [varchar](50) NULL,
[Price] [decimal](18, 4) NULL,
[Discount] [decimal](18, 4) NULL,
[DiscountPrice] [decimal](18, 4) NULL,
[Amount] [decimal](18, 4) NULL,
[SumMoney] [decimal](18, 4) NULL,
[ProductDate] [datetime] NULL,
[ValidateDate] [datetime] NULL,
[RetailPrice] [decimal](18, 4) NULL,
[CustomCode] [varchar](50) NULL,
CONSTRAINT [PK_BillDetailSaleOutStock] PRIMARY KEY NONCLUSTERED
(
[EmbranchmentId] ASC,
[BillType] ASC,
[BillId] ASC,
[RowNum] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
CREATE CLUSTERED INDEX [IX_BillDetailSaleOutStock] ON [dbo].[BillDetailSaleOutStock]
(
[EmbranchmentId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailSaleOutStock', @level2type=N'COLUMN',@level2name=N'BatchCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailSaleOutStock', @level2type=N'COLUMN',@level2name=N'Price'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'折扣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailSaleOutStock', @level2type=N'COLUMN',@level2name=N'Discount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'折后价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailSaleOutStock', @level2type=N'COLUMN',@level2name=N'DiscountPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailSaleOutStock', @level2type=N'COLUMN',@level2name=N'Amount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合计金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailSaleOutStock', @level2type=N'COLUMN',@level2name=N'SumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailSaleOutStock', @level2type=N'COLUMN',@level2name=N'ProductDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailSaleOutStock', @level2type=N'COLUMN',@level2name=N'ValidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'零售单价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailSaleOutStock', @level2type=N'COLUMN',@level2name=N'RetailPrice'
GO
/****** Object: Table [dbo].[Catalog] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Catalog](
[Id] [int] NOT NULL,
[CatalogType] [int] NOT NULL,
[ParentId] [int] NULL,
[CatalogCode] [varchar](50) NULL,
[CatalogName] [varchar](50) NULL,
[CatalogNumber] [varchar](50) NULL,
[CatalogComment] [varchar](50) NULL,
[Class] [int] NULL,
[Deleted] [bit] NULL,
[DataVersion] [bigint] NULL,
[CatalogTypeStr] [varchar](50) NULL,
CONSTRAINT [PK_Catalog] PRIMARY KEY CLUSTERED
(
[Id] ASC,
[CatalogType] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'1,药品 2,供应商 3,客户' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Catalog', @level2type=N'COLUMN',@level2name=N'CatalogType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Catalog', @level2type=N'COLUMN',@level2name=N'Class'
GO
/****** Object: Table [dbo].[CardTypeDiscountAndPoints] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CardTypeDiscountAndPoints](
[EmbranchmentId] [smallint] NOT NULL,
[CardTypeId] [int] NOT NULL,
[RowNum] [int] NOT NULL,
[LogoType] [tinyint] NULL,
[MoneyBegin] [decimal](18, 4) NULL,
[MoneyEnd] [decimal](18, 4) NULL,
[Discount] [decimal](18, 4) NULL,
[PointsBase] [int] NULL,
[Points] [int] NULL,
[Remark] [varchar](100) NULL,
CONSTRAINT [PK_CardTypeDiscountAndPoints] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[CardTypeId] ASC,
[RowNum] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分支Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CardTypeDiscountAndPoints', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用于区分折扣设置(1)还是积分设置(2)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CardTypeDiscountAndPoints', @level2type=N'COLUMN',@level2name=N'LogoType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'金额始' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CardTypeDiscountAndPoints', @level2type=N'COLUMN',@level2name=N'MoneyBegin'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'金额至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CardTypeDiscountAndPoints', @level2type=N'COLUMN',@level2name=N'MoneyEnd'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'折扣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CardTypeDiscountAndPoints', @level2type=N'COLUMN',@level2name=N'Discount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'积分基数' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CardTypeDiscountAndPoints', @level2type=N'COLUMN',@level2name=N'PointsBase'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'积分' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CardTypeDiscountAndPoints', @level2type=N'COLUMN',@level2name=N'Points'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CardTypeDiscountAndPoints', @level2type=N'COLUMN',@level2name=N'Remark'
GO
/****** Object: Table [dbo].[CardType] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CardType](
[EmbranchmentId] [smallint] NOT NULL,
[CardTypeId] [int] NOT NULL,
[CardTypeName] [varchar](100) NULL,
[Discount] [decimal](18, 4) NULL,
[Remark] [varchar](100) NULL,
[IsCumulativePoints] [smallint] NULL,
CONSTRAINT [PK_CardType] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[CardTypeId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分支Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CardType', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'会员卡类型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CardType', @level2type=N'COLUMN',@level2name=N'CardTypeName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'折扣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CardType', @level2type=N'COLUMN',@level2name=N'Discount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CardType', @level2type=N'COLUMN',@level2name=N'Remark'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否累计上次未积分金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CardType', @level2type=N'COLUMN',@level2name=N'IsCumulativePoints'
GO
/****** Object: Table [dbo].[CardFunctionTemp] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CardFunctionTemp](
[FuncId] [int] NOT NULL,
[FuncName] [varchar](30) NULL,
[DisplayOrder] [int] NULL,
[ParentId] [int] NULL,
[Remark] [varchar](60) NULL,
[Flag] [int] NULL,
[IsSelected] [bit] NULL,
[Tag] [bit] NULL,
CONSTRAINT [PK_CardFunctionTemp] PRIMARY KEY CLUSTERED
(
[FuncId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[BulletinEmbranchment] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[BulletinEmbranchment](
[BulletinId] [int] NOT NULL,
[EmbranchmentId] [smallint] NOT NULL,
[DataVersion] [bigint] NOT NULL,
[Deleted] [bit] NULL,
CONSTRAINT [PK_BulletinEmbranchment] PRIMARY KEY CLUSTERED
(
[BulletinId] ASC,
[EmbranchmentId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Bulletin] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Bulletin](
[BulletinId] [int] NOT NULL,
[Title] [varchar](100) NULL,
[SubTitle] [varchar](100) NULL,
[Content] [text] NULL,
[IssueTime] [datetime] NULL,
[Type] [varchar](20) NULL,
[CreaterId] [smallint] NULL,
[Deleted] [bit] NULL,
[DataVersion] [bigint] NULL,
[Readed] [bit] NULL,
CONSTRAINT [PK_Bulletin] PRIMARY KEY CLUSTERED
(
[BulletinId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'标题' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bulletin', @level2type=N'COLUMN',@level2name=N'Title'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'子标题' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bulletin', @level2type=N'COLUMN',@level2name=N'SubTitle'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'内容' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bulletin', @level2type=N'COLUMN',@level2name=N'Content'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'发布时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bulletin', @level2type=N'COLUMN',@level2name=N'IssueTime'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bulletin', @level2type=N'COLUMN',@level2name=N'Type'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建者' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bulletin', @level2type=N'COLUMN',@level2name=N'CreaterId'
GO
/****** Object: Table [dbo].[Bill] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Bill](
[EmbranchmentId] [smallint] NOT NULL,
[BillId] [int] NOT NULL,
[BillType] [tinyint] NOT NULL,
[BillFlowId] [int] NULL,
[BillCode] [varchar](50) NULL,
[CreateDate] [smalldatetime] NULL,
[CreatorId] [smallint] NULL,
[BusinessDate] [smalldatetime] NULL,
[BusinessId] [smallint] NULL,
[AuditDate] [smalldatetime] NULL,
[AuditorId] [smallint] NULL,
[ProviderId] [smallint] NULL,
[CustomerId] [int] NULL,
[CardId] [int] NULL,
[CardCode] [varchar](50) NULL,
[Status] [tinyint] NULL,
[Discount] [decimal](6, 3) NULL,
[SumMoney] [decimal](18, 4) NULL,
[FactSumMoney] [decimal](18, 4) NULL,
[InStockId] [tinyint] NULL,
[OutStockId] [tinyint] NULL,
[Summary] [varchar](100) NULL,
[Remark] [varchar](100) NULL,
[ShiftId] [int] NULL,
[Guid] [uniqueidentifier] ROWGUIDCOL NULL,
[ProviderName] [varchar](50) NULL,
[InStockName] [varchar](50) NULL,
[OutStockName] [varchar](50) NULL,
[EmbranchmentName] [varchar](50) NULL,
[BillCodeName] [varchar](50) NULL,
[BusinessName] [varchar](50) NULL,
[CustomerName] [varchar](50) NULL,
[CreatorName] [varchar](50) NULL,
[StockName] [varchar](50) NULL,
[ZYSID] [smallint] NULL,
[ZYSNAME] [varchar](50) NULL,
[FS] [int] NULL,
[IsZY] [smallint] NULL,
[CFQ] [bit] NULL,
[CFF] [decimal](18, 4) NULL,
[PayMoney] [decimal](18, 4) NULL,
[ReturnMoney] [decimal](18, 4) NULL,
[IsGD] [smallint] NULL,
[PayType] [tinyint] NULL,
[PayCard] [decimal](18, 4) NULL,
[ReturnPayCard] [decimal](18, 4) NULL,
[RemoteOper] [varchar](100) NULL,
[RemoteOperStr] [varchar](100) NULL,
[PaySYB] [decimal](18, 4) NULL,
[PayKYB] [decimal](18, 4) NULL,
[PayYB] [decimal](18, 4) NULL,
[PayCardNO] [varchar](100) NULL,
[PayCardMoneyBefore] [decimal](18, 4) NULL,
[PayCardMoneyAfter] [decimal](18, 4) NULL,
[CardDiscount] [decimal](18, 4) NULL,
[CardMessage] [varchar](100) NULL,
[PosType] [tinyint] NULL,
CONSTRAINT [PK_Bill] PRIMARY KEY NONCLUSTERED
(
[EmbranchmentId] ASC,
[BillId] ASC,
[BillType] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
CREATE CLUSTERED INDEX [IX_Bill] ON [dbo].[Bill]
(
[BillId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分支Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'BillId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据类型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'BillType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据流水Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'BillFlowId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'BillCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'CreateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建者Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'CreatorId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'业务日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'BusinessDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'业务员Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'BusinessId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'审核日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'AuditDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'审核者Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'AuditorId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'供应商Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'ProviderId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'客商Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'CustomerId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卡ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'CardId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'会员卡号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'CardCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0刚创建1草稿2复核
(1:草稿,3:待办,4:已配货,5:废弃,2 审核' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'Status'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'整单折扣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'Discount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合计金额(不算处方费)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'SumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'实际合计金额(算上处方费)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'FactSumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入库仓库Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'InStockId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'出库仓库Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'OutStockId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'摘要' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'Summary'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'Remark'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'ShiftId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'中药师ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'ZYSID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'中药师名字' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'ZYSNAME'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'付数' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'FS'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'判断是否中药 "1"是中药"0"是西药"2"是POS 3 会员卡西药单 4 会员POS ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'IsZY'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'处方权(1是有,0是无)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'CFQ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'处方费' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'CFF'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'收款(现金)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'PayMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'找零(现金)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'ReturnMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当单据是POS时,为“1”是挂单,为“0”不是挂单' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'IsGD'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'付款类型(0-现金;1-会员卡; 2卡市医保 3卡矿医保 4 市医保 5矿医保)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'PayType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'收款(会员卡消费)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'PayCard'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'会员价差价返还' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'ReturnPayCard'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'远程开票者的登录name' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'RemoteOper'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'远程开票者的社区名字' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'RemoteOperStr'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'市医保' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'PaySYB'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'矿医保' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'PayKYB'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'矿医保+市医保' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'PayYB'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'交易卡号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'PayCardNO'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卡交易前余额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'PayCardMoneyBefore'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'卡交易后余额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'PayCardMoneyAfter'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'会员卡折扣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'CardDiscount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'写卡信息' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Bill', @level2type=N'COLUMN',@level2name=N'CardMessage'
GO
/****** Object: Table [dbo].[AppRightRole] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[AppRightRole](
[ID] [int] IDENTITY(100,1) NOT NULL,
[RightId] [int] NULL,
[RoleId] [int] NULL,
CONSTRAINT [PK_AppRightRole] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[AppRight] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[AppRight](
[ID] [int] NOT NULL,
[LevelId] [varchar](500) NULL,
[PID] [varchar](500) NULL,
[RightName] [varchar](500) NULL,
[Forder] [int] NULL,
[ChildsMAX] [int] NULL,
[DELETED] [varchar](500) NULL,
[NodeType] [varchar](500) NULL,
[URL] [varchar](500) NULL,
[IPID] [int] NULL,
CONSTRAINT [PK_AppRight] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[BillDetailAdjustCostPrice] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BillDetailAdjustCostPrice](
[EmbranchmentId] [smallint] NOT NULL,
[BillType] [tinyint] NOT NULL,
[BillId] [int] NOT NULL,
[RowNum] [tinyint] NOT NULL,
[CommodityId] [int] NOT NULL,
[BatchCode] [varchar](50) NOT NULL,
[PreCostPrice] [decimal](18, 4) NOT NULL,
[CurCostPrice] [decimal](18, 4) NOT NULL,
[Amount] [decimal](18, 4) NOT NULL,
[CostPriceDifference] [decimal](18, 4) NOT NULL,
[SumPostCostPrice] [decimal](18, 4) NOT NULL,
[SumCurCostPrice] [decimal](18, 4) NOT NULL,
[SumCostPriceDifference] [decimal](18, 4) NOT NULL,
[CommodityName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[DoseTypeName] [varchar](50) NULL,
[ProducingArea] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[CustomCode] [varchar](50) NULL,
[InOrder] [int] NULL,
[PackingId] [int] NOT NULL,
[PackingName] [varchar](50) NULL,
[CustomStr] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
CONSTRAINT [PK_BillDetailAdjustCostPrice] PRIMARY KEY NONCLUSTERED
(
[EmbranchmentId] ASC,
[BillType] ASC,
[BillId] ASC,
[RowNum] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
CREATE CLUSTERED INDEX [IX_BillDetailAdjustCostPrice] ON [dbo].[BillDetailAdjustCostPrice]
(
[BillId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailAdjustCostPrice', @level2type=N'COLUMN',@level2name=N'BatchCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailAdjustCostPrice', @level2type=N'COLUMN',@level2name=N'PreCostPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'成本价差' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailAdjustCostPrice', @level2type=N'COLUMN',@level2name=N'CostPriceDifference'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'前成本合计' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailAdjustCostPrice', @level2type=N'COLUMN',@level2name=N'SumPostCostPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当前成本合计' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailAdjustCostPrice', @level2type=N'COLUMN',@level2name=N'SumCurCostPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailAdjustCostPrice', @level2type=N'COLUMN',@level2name=N'CustomCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailAdjustCostPrice', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailAdjustCostPrice', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailAdjustCostPrice', @level2type=N'COLUMN',@level2name=N'CustomStr'
GO
/****** Object: Table [dbo].[BillCommunity] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BillCommunity](
[EmbranchmentId] [smallint] NOT NULL,
[BillId] [int] NOT NULL,
[BillType] [tinyint] NOT NULL,
[BillFlowId] [int] NOT NULL,
[BillCode] [varchar](50) NOT NULL,
[CreateDate] [smalldatetime] NOT NULL,
[CreatorId] [smallint] NOT NULL,
[BusinessDate] [smalldatetime] NULL,
[BusinessId] [smallint] NULL,
[AuditDate] [smalldatetime] NULL,
[AuditorId] [smallint] NULL,
[ProviderId] [smallint] NULL,
[CustomerId] [int] NULL,
[CardId] [int] NULL,
[Status] [tinyint] NOT NULL,
[Discount] [decimal](6, 3) NULL,
[SumMoney] [decimal](18, 4) NULL,
[FactSumMoney] [decimal](18, 4) NULL,
[InStockId] [tinyint] NOT NULL,
[OutStockId] [tinyint] NULL,
[Summary] [varchar](100) NULL,
[Remark] [varchar](100) NULL,
[ShiftId] [int] NULL,
[Guid] [uniqueidentifier] NULL,
[ProviderName] [varchar](50) NULL,
[InStockName] [varchar](50) NULL,
[OutStockName] [varchar](50) NULL,
[EmbranchmentName] [varchar](50) NULL,
[BillCodeName] [varchar](50) NULL,
[BusinessName] [varchar](50) NULL,
[CustomerName] [varchar](50) NULL,
[CreatorName] [varchar](50) NULL,
[StockName] [varchar](50) NULL,
[ZYSID] [smallint] NULL,
[ZYSNAME] [varchar](50) NULL,
[FS] [int] NULL,
[IsZY] [smallint] NULL,
[CFQ] [bit] NULL,
[CFF] [decimal](18, 4) NULL,
[PayMoney] [decimal](18, 4) NULL,
[ReturnMoney] [decimal](18, 4) NULL,
[IsGD] [smallint] NULL,
[DataVersion] [bigint] NULL,
[IsCancle] [bit] NULL,
CONSTRAINT [PK_BillCommunity] PRIMARY KEY CLUSTERED
(
[EmbranchmentId] ASC,
[BillId] ASC,
[BillType] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分支Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'EmbranchmentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'BillId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据类型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'BillType'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据流水Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'BillFlowId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'BillCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'CreateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建者Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'CreatorId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'业务日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'BusinessDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'业务员Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'BusinessId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'审核日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'AuditDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'审核者Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'AuditorId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'供应商Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'ProviderId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'客商Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'CustomerId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'会员卡号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'CardId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0刚创建1草稿2复核' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'Status'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'整单折扣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'Discount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合计金额(不算处方费)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'SumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'实际合计金额(算上处方费)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'FactSumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'入库仓库Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'InStockId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'出库仓库Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'OutStockId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'摘要' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'Summary'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'Remark'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'0' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'ShiftId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'中药师ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'ZYSID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'中药师名字' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'ZYSNAME'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'付数' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'FS'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'判断是否中药 "1"是中药"0"是西药"2"是POS' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'IsZY'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'处方权(1是有,0是无)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'CFQ'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'处方费' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'CFF'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'当单据是POS时,为“1”是挂单,为“0”不是挂单' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'IsGD'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'判断这个单据是否取消“0”否“1”是' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCommunity', @level2type=N'COLUMN',@level2name=N'IsCancle'
GO
/****** Object: Table [dbo].[BillCode] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BillCode](
[Id] [int] NOT NULL,
[Name] [varchar](20) NOT NULL,
[EnglishWord] [varchar](10) NOT NULL,
[Number] [varchar](11) NOT NULL,
[BillCode] AS ([EnglishWord] + [Number]),
CONSTRAINT [PK_BillCode] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'英文单词' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCode', @level2type=N'COLUMN',@level2name=N'EnglishWord'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数字' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCode', @level2type=N'COLUMN',@level2name=N'Number'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单据编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillCode', @level2type=N'COLUMN',@level2name=N'BillCode'
GO
/****** Object: Table [dbo].[BillDetailCallBack] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BillDetailCallBack](
[EmbranchmentId] [smallint] NOT NULL,
[BillType] [tinyint] NOT NULL,
[BillId] [int] NOT NULL,
[RowNum] [tinyint] NOT NULL,
[CommodityId] [int] NOT NULL,
[BatchCode] [varchar](50) NOT NULL,
[Price] [decimal](18, 4) NULL,
[Discount] [decimal](18, 4) NULL,
[DiscountPrice] [decimal](18, 4) NULL,
[Amount] [decimal](18, 4) NULL,
[SumMoney] [decimal](18, 4) NULL,
[ProductDate] [datetime] NULL,
[InvalidateDate] [datetime] NULL,
[CostPrice] [decimal](18, 4) NULL,
[CommodityName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[DoseTypeName] [varchar](50) NULL,
[ProducingArea] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[CustomCode] [varchar](50) NULL,
[InOrder] [int] NULL,
[CounterId] [tinyint] NULL,
[CounterName] [varchar](50) NULL,
[PackingId] [int] NOT NULL,
[PackingName] [varchar](50) NULL,
[CustomStr] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
[MemberPrice] [decimal](18, 4) NULL,
[ReturnPayCard] [decimal](18, 4) NULL,
[Medicare] [int] NULL,
[CardDiscount] [decimal](18, 4) NULL,
[IsDiscount] [bit] NULL,
[IsMemberPrice] [bit] NULL,
[IsScore] [bit] NULL,
CONSTRAINT [PK_BillDetailCallBack] PRIMARY KEY NONCLUSTERED
(
[EmbranchmentId] ASC,
[BillType] ASC,
[BillId] ASC,
[RowNum] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
/****** Object: Table [dbo].[BillDetailBuyReturn] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BillDetailBuyReturn](
[EmbranchmentId] [smallint] NOT NULL,
[BillId] [int] NOT NULL,
[BillType] [tinyint] NOT NULL,
[RowNum] [tinyint] NOT NULL,
[CommodityId] [int] NOT NULL,
[BatchCode] [varchar](50) NOT NULL,
[Price] [decimal](18, 4) NULL,
[Discount] [decimal](18, 4) NULL,
[DiscountPrice] [decimal](18, 4) NULL,
[Amount] [decimal](18, 4) NULL,
[RetailPrice] [decimal](18, 4) NULL,
[SumMoney] [decimal](18, 4) NULL,
[ProductDate] [datetime] NULL,
[InvalidateDate] [datetime] NULL,
[CommodityName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[DoseTypeName] [varchar](50) NULL,
[ProducingArea] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[CustomCode] [varchar](50) NULL,
[InOrder] [int] NULL,
[CounterId] [tinyint] NULL,
[CounterName] [varchar](50) NULL,
[PackingId] [int] NOT NULL,
[PackingName] [varchar](50) NULL,
[CustomStr] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
[MemberPrice] [decimal](18, 4) NULL,
[ReturnPayCard] [decimal](18, 4) NULL,
CONSTRAINT [PK_BillDetailBuyReturn] PRIMARY KEY NONCLUSTERED
(
[EmbranchmentId] ASC,
[BillId] ASC,
[BillType] ASC,
[RowNum] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
CREATE CLUSTERED INDEX [IX_BillDetailBuyReturn] ON [dbo].[BillDetailBuyReturn]
(
[BillId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyReturn', @level2type=N'COLUMN',@level2name=N'BatchCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyReturn', @level2type=N'COLUMN',@level2name=N'Price'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'折扣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyReturn', @level2type=N'COLUMN',@level2name=N'Discount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'折扣价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyReturn', @level2type=N'COLUMN',@level2name=N'DiscountPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyReturn', @level2type=N'COLUMN',@level2name=N'Amount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合计金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyReturn', @level2type=N'COLUMN',@level2name=N'SumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyReturn', @level2type=N'COLUMN',@level2name=N'ProductDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyReturn', @level2type=N'COLUMN',@level2name=N'InvalidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyReturn', @level2type=N'COLUMN',@level2name=N'CustomCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyReturn', @level2type=N'COLUMN',@level2name=N'CounterId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyReturn', @level2type=N'COLUMN',@level2name=N'CounterName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyReturn', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyReturn', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyReturn', @level2type=N'COLUMN',@level2name=N'CustomStr'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合计金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyReturn', @level2type=N'COLUMN',@level2name=N'MemberPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合计金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyReturn', @level2type=N'COLUMN',@level2name=N'ReturnPayCard'
GO
/****** Object: Table [dbo].[BillDetailBuyInStockPlan] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BillDetailBuyInStockPlan](
[EmbranchmentId] [smallint] NOT NULL,
[BillType] [tinyint] NOT NULL,
[BillId] [int] NOT NULL,
[RowNum] [tinyint] NOT NULL,
[CommodityId] [int] NOT NULL,
[Price] [decimal](18, 4) NULL,
[Amount] [decimal](18, 4) NULL,
[SumMoney] [decimal](18, 4) NULL,
[RetailPrice] [decimal](18, 4) NULL,
[CommodityName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[DoseTypeName] [varchar](50) NULL,
[ProducingArea] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[SpellCode] [varchar](100) NULL,
[CustomCode] [varchar](50) NULL,
CONSTRAINT [PK_BillDetailBuyInStockPlan] PRIMARY KEY NONCLUSTERED
(
[EmbranchmentId] ASC,
[BillType] ASC,
[BillId] ASC,
[RowNum] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
CREATE CLUSTERED INDEX [IX_BillDetailBuyInStockPlan] ON [dbo].[BillDetailBuyInStockPlan]
(
[BillId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStockPlan', @level2type=N'COLUMN',@level2name=N'Price'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStockPlan', @level2type=N'COLUMN',@level2name=N'Amount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合计金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStockPlan', @level2type=N'COLUMN',@level2name=N'SumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'零售单价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStockPlan', @level2type=N'COLUMN',@level2name=N'RetailPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStockPlan', @level2type=N'COLUMN',@level2name=N'CustomCode'
GO
/****** Object: Table [dbo].[BillDetailBuyInStock] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BillDetailBuyInStock](
[EmbranchmentId] [smallint] NOT NULL,
[BillType] [tinyint] NOT NULL,
[BillId] [int] NOT NULL,
[RowNum] [tinyint] NOT NULL,
[CommodityId] [int] NOT NULL,
[BatchCode] [varchar](50) NOT NULL,
[Price] [decimal](18, 4) NULL,
[Discount] [decimal](6, 4) NULL,
[DiscountPrice] [decimal](18, 4) NOT NULL,
[TaxRate] [decimal](6, 4) NULL,
[TaxPrice] [char](10) NULL,
[Amount] [decimal](18, 4) NULL,
[SumMoney] [decimal](18, 4) NULL,
[SumTaxMoney] [decimal](18, 4) NULL,
[ProductDate] [smalldatetime] NULL,
[ValidateDate] [smalldatetime] NULL,
[RetailPrice] [decimal](18, 4) NULL,
[CommodityName] [varchar](100) NULL,
[Spec] [varchar](200) NULL,
[DoseTypeName] [varchar](50) NULL,
[ProducingArea] [varchar](100) NULL,
[Unit] [varchar](50) NULL,
[AuthorizeCode] [varchar](100) NULL,
[SpellCode] [varchar](100) NULL,
[TXM] [varchar](60) NULL,
[CustomCode] [varchar](50) NULL,
[IsChinese] [bit] NULL,
[CounterId] [tinyint] NULL,
[CounterName] [varchar](50) NULL,
[MemberPrice] [decimal](18, 4) NULL,
[Medicare] [tinyint] NULL,
[PackingId] [int] NOT NULL,
[PackingName] [varchar](50) NULL,
[CustomStr] [varchar](100) NULL,
[ProductName] [varchar](100) NULL,
[IsMemberPrice] [bit] NULL,
[IsDiscount] [bit] NULL,
[IsScore] [bit] NULL,
CONSTRAINT [PK_BillDetailBuyInStock] PRIMARY KEY NONCLUSTERED
(
[RowNum] ASC,
[EmbranchmentId] ASC,
[BillType] ASC,
[BillId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
CREATE NONCLUSTERED INDEX [IX_BillDetailBuyInStock] ON [dbo].[BillDetailBuyInStock]
(
[BillId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'批号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'BatchCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'Price'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'折扣' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'Discount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'折后价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'DiscountPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'税率' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'TaxRate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'税后价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'TaxPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'数量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'Amount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合计金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'SumMoney'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'ProductDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'有效期至' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'ValidateDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'零售单价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'RetailPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义编码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'CustomCode'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是不是中药' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'IsChinese'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'CounterId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'柜台名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'CounterName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'会员价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'MemberPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'医保' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'Medicare'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'PackingId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'药品包装' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'PackingName'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'自定义' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'CustomStr'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否使用会员价' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'IsMemberPrice'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否打折' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'IsDiscount'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否积分' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'BillDetailBuyInStock', @level2type=N'COLUMN',@level2name=N'IsScore'
GO
/****** Object: StoredProcedure [dbo].[billDetailBatchCodeAdjust_Audit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/**********************************************************************
Author : myc
CreateDate : 2006-8-7
Summary : 批号调整单的审核
Remark :
1 将采购入库单明细中对应的商品添加到库存表(CommodityStock)中
***********************************************************************/
CREATE PROCEDURE [dbo].[billDetailBatchCodeAdjust_Audit]
(
@BillId INT,
@ErrorMessage VARCHAR(100) OUTPUT ,
@ErrorInfoId int OUTPUT
)
AS
/*定义Bill对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @BillType TINYINT
DECLARE @BillFlowId INT
DECLARE @BillCode VARCHAR(50)
DECLARE @CreateDate SMALLDATETIME
DECLARE @CreatorId SMALLINT
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @CustomerId INT
--DECLARE @CardId INT
DECLARE @SumMoney DECIMAL(18,4)
DECLARE @Status TINYINT
DECLARE @InStockId TINYINT
DECLARE @OutStockId TINYINT
DECLARE @Summary VARCHAR(100)
DECLARE @Remark VARCHAR(100)
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @CreatorName varchar(50)
DECLARE @BusinessName varchar(50)
DECLARE @BillCodeName varchar(50)
DECLARE @StockName varchar(50)
DECLARE @EmbranchmentName varchar(50)
DECLARE @ProviderName varchar(50)
DECLARE @CustomerName varchar(50)
DECLARE @InStockName varchar(50)
DECLARE @OutStockName varchar(50)
/*定义BillDetailBatchCodeAdjust对应的局部变量*/
DECLARE @RowNum tinyint
DECLARE @CommodityId int
DECLARE @PreBatchCode varchar (50)
DECLARE @PreProductDate smalldatetime
DECLARE @PreInvalidateDate smalldatetime
DECLARE @CurBatchCode varchar (50)
DECLARE @CurProductDate smalldatetime
DECLARE @CurInvalidateDate smalldatetime
DECLARE @CommodityName varchar (100)
DECLARE @Spec varchar (200)
DECLARE @DoseTypeName varchar (50)
DECLARE @ProducingArea varchar (50)
DECLARE @Unit varchar (50)
DECLARE @AuthorizeCode varchar (100)
DECLARE @CustomCode varchar (50)
DECLARE @InOrder int
DECLARE @PackingId int
DECLARE @PackingName varchar (50)
DECLARE @CustomStr varchar (100)
DECLARE @ProductName varchar (100)
/*定义CommodityStock对应的局部变量*/
DECLARE @InvalidateDate datetime
DECLARE @InstockDate datetime
DECLARE @CostPrice decimal (18,4)
DECLARE @CostPrice_pre decimal (18,4)
DECLARE @CostPrice_pre_cur decimal (18,4)
DECLARE @FactAmount decimal (18,4)
DECLARE @RetailPrice decimal (18,4)
DECLARE @RetailPrice_pre decimal (18,4)
DECLARE @RetailPrice_pre_cur decimal (18,4)
DECLARE @Amount_cs decimal (18,4)
DECLARE @Amount_pre decimal (18,4)
DECLARE @Amount_pre_cur decimal (18,4)
DECLARE @SumCost decimal (18,4)
DECLARE @SumCost_pre decimal (18,4)
DECLARE @SumCost_pre_cur decimal (18,4)
DECLARE @SumRetail decimal (18,4)
DECLARE @SumRetail_pre decimal (18,4)
DECLARE @SumRetail_pre_cur decimal (18,4)
DECLARE @CommodityStockDataVersion bigint
DECLARE @CommodityStockOriginDateTime datetime
DECLARE @CommodityStockSynchronizeDateTime datetime
DECLARE @PreMemberPrice decimal(18,4)
DECLARE @CurMemberPrice decimal(18,4)
DECLARE @IsChinese bit
DECLARE @Bill_InStockId TINYINT
DECLARE @ProductDate_pre datetime
DECLARE @InvalidateDate_pre datetime
DECLARE @InstockDate_pre datetime
DECLARE @SpellCode_pre varchar (100)
DECLARE @IsChinese_pre bit
DECLARE @CounterId_pre tinyint
DECLARE @CounterName_pre varchar (50)
DECLARE @TXM_pre varchar(60)
DECLARE @PreMemberPrice_pre decimal(18,4)
DECLARE @CurrentMemberPrice_pre decimal(18,4)
DECLARE @Medicare_pre tinyint
DECLARE @IsMemberPrice_pre bit
DECLARE @IsDiscount_pre bit
DECLARE @IsScore_pre bit
DECLARE @ProductDate datetime
DECLARE @DoseTypeName_pre varchar(50)
DECLARE @CurrentRetailPrice decimal(18,4)
/*定义InoutStockTable对应的局部变量*/
DECLARE @Guid_is uniqueidentifier
DECLARE @StockId tinyint
DECLARE @PreCostPrice decimal(18,4)
DECLARE @PreSalePrice decimal(18,4)
DECLARE @PreBatchSalePrice decimal(18,4)
DECLARE @ChangePrice decimal(18,4)
DECLARE @PreAmount decimal(18,4)
DECLARE @ChangeAmount decimal(18,4)
DECLARE @CurAmount decimal(18,4)
DECLARE @PreCostSumMoney decimal(18,4)
DECLARE @PreSaleSumMoney decimal(18,4)
DECLARE @PreBatchSaleSumMoney decimal(18,4)
DECLARE @ChangeSumMoney decimal(18,4)
DECLARE @CurCostPrice decimal(18,4)
DECLARE @CurSalePrice decimal(18,4)
DECLARE @CurBatchSalePrice decimal(18,4)
DECLARE @CurCostSumMoney decimal(18,4)
DECLARE @CurSaleSumMoney decimal(18,4)
DECLARE @CurBatchSaleSumMoney decimal(18,4)
DECLARE @IsAmountChanged bit
DECLARE @IsMoneyChanged bit
DECLARE @DataVersion bigint
/*定义DataVersion对应的局部变量*/
DECLARE @DataVersionId int
DECLARE @Name varchar(20)
DECLARE @PreviousVersion bigint
DECLARE @CurVersion bigint
DECLARE @OriginDateTime datetime
DECLARE @SynchronizeDateTime datetime
/*根据情况对局部变量赋初始值*/
SELECT @BillType=7 --批号调整单的BillType为7
SELECT @ErrorMessage='审核成功!'
SELECT @EmbranchmentId=INTValue FROM SysData WHERE Name='EmbranchmentId'
IF @EmbranchmentId IS NULL
BEGIN
SELECT @ErrorMessage='1.未查找到对应的分支机构Id'
Select @ErrorInfoId =-1
RETURN 1
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
SELECT
@BillCode=BillCode,
@BillCodeName=BillCodeName,
@BusinessDate=BusinessDate,
@AuditDate=AuditDate,
@ProviderId=ProviderId ,
@CustomerId =CustomerId ,
@Bill_InStockId=InStockId,
@OutStockId= OutStockId ,
@CreatorName =CustomerName,
@BusinessName=BusinessName,
@StockName =StockName,
@EmbranchmentName =EmbranchmentName,
@ProviderName =ProviderName,
@CustomerName=CustomerName ,
@InStockName=InStockName,
@OutStockName=OutStockName,
@Remark=Remark
FROM Bill(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@ROWCOUNT=0
BEGIN
ROLLBACK
SELECT @ErrorMessage='2.没有找到要审核的单据'
Select @ErrorInfoId =-2
RETURN 2
END
IF @@ROWCOUNT>=2
BEGIN
ROLLBACK
SELECT @ErrorMessage='3.单据@BillId在批号调整单中多次出现'
Select @ErrorInfoId =-3
RETURN 3
END
SELECT * FROM BillDetailBatchCodeAdjust
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
if @@ROWCOUNT<=0
begin
SELECT @ErrorMessage='4.没有找到要审核的从单--批号调整单'
Select @ErrorInfoId =-4
ROLLBACK
RETURN 4
end
DECLARE Cur_BillDetailBatchCodeAdjust CURSOR FOR /*从单--批号调整单游标*/
SELECT RowNum,CommodityId,PreBatchCode,PreProductDate,PreInvalidateDate,CurBatchCode,CurProductDate,CurInvalidateDate,CommodityName,Spec,DoseTypeName,ProducingArea,
Unit,AuthorizeCode,CustomCode,InOrder,PackingId,PackingName,CustomStr,ProductName
FROM BillDetailBatchCodeAdjust
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
open Cur_BillDetailBatchCodeAdjust
fetch next from Cur_BillDetailBatchCodeAdjust
into @RowNum,@CommodityId,@PreBatchCode,@PreProductDate,@PreInvalidateDate,@CurBatchCode,@CurProductDate,@CurInvalidateDate,@CommodityName,@Spec,@DoseTypeName,@ProducingArea,
@Unit,@AuthorizeCode,@CustomCode,@InOrder,@PackingId,@PackingName,@CustomStr,@ProductName
while @@FETCH_STATUS = 0
Begin
select @CostPrice=CostPrice,@CostPrice_pre_cur=CostPrice,@Amount_cs=Amount,@Amount_pre_cur=Amount,@RetailPrice=RetailPrice,@RetailPrice_pre_cur=RetailPrice,@SumCost=SumCost,@SumCost_pre_cur=SumCost,@SumRetail=SumRetail,@SumRetail_pre_cur=SumRetail,@IsChinese=IsChinese,@PreMemberPrice=CurrentMemberPrice,@ProductDate=ProductDate,@InvalidateDate=InvalidateDate,@CurrentRetailPrice=CurrentRetailPrice
/*从库存中找相同的记录,用来做移动加权平均法来修改"成本价"*/
from CommodityStock
where DepotId=@Bill_InStockId
and EmbranchmentId=@EmbranchmentId
and CommodityId=@CommodityId
and BatchCode=@CurBatchCode
and PackingId=@PackingId
if @@rowcount<=0
begin
--新增一个当前批号的
select @CostPrice_pre=CostPrice,@Amount_pre=Amount,@RetailPrice_pre=RetailPrice,@SumCost_pre=SumCost,@IsChinese=IsChinese,@PreMemberPrice=CurrentMemberPrice
,@SumRetail_pre=SumRetail,@ProductDate_pre=ProductDate,@InvalidateDate_pre=InvalidateDate,@InstockDate_pre=InstockDate,@SpellCode_pre=SpellCode,@IsChinese_pre=IsChinese,
@CounterId_pre=CounterId,@CounterName_pre=CounterName,@TXM_pre=TXM,@PreMemberPrice_pre =PreMemberPrice,@CurrentMemberPrice_pre =CurrentMemberPrice,
@Medicare_pre=Medicare,@IsMemberPrice_pre=IsMemberPrice, @IsDiscount_pre = IsDiscount,@IsScore_pre =IsScore ,@DoseTypeName_pre=DoseTypeName,@CurrentRetailPrice=CurrentRetailPrice
from CommodityStock
where DepotId=@Bill_InStockId
and EmbranchmentId=@EmbranchmentId
and CommodityId=@CommodityId
and BatchCode=@PreBatchCode
and PackingId=@PackingId
insert into CommodityStock (DepotId, EmbranchmentId, CommodityId, BatchCode, InOrder,ProductDate, InvalidateDate, InstockDate, CostPrice, RetailPrice, Amount, FactAmount, SumCost, SumRetail,CommodityName,Spec,DoseTypeName,ProducingArea,Unit,AuthorizeCode,SpellCode,CustomCode,CurrentRetailPrice,IsChinese,CounterId,CounterName,TXM,DataVersion,PreMemberPrice,CurrentMemberPrice,Medicare,PackingId,PackingName ,CustomStr,ProductName,IsMemberPrice,IsDiscount,IsScore)
values(@Bill_InStockId, @EmbranchmentId, @CommodityId, @CurBatchCode, 1, @ProductDate_pre, @InvalidateDate_pre, @InstockDate_pre, @CostPrice_pre,@RetailPrice_pre, @Amount_pre, @Amount_pre, @SumCost_pre, @SumRetail_pre,@CommodityName,@Spec,@DoseTypeName_pre,@ProducingArea,@Unit,@AuthorizeCode,@SpellCode_pre,@CustomCode,@CurrentRetailPrice,@IsChinese_pre,@CounterId_pre,@CounterName_pre,@TXM_pre,@CommodityStockDataVersion+1,@PreMemberPrice_pre,@CurrentMemberPrice_pre,@Medicare_pre,@PackingId,@PackingName ,@CustomStr,@ProductName,@IsMemberPrice_pre,@IsDiscount_pre,@IsScore_pre)
if @@error <>0
begin
SELECT @ErrorMessage='新批号插入失败!'
Select @ErrorInfoId=-10
ROLLBACK
RETURN -1
end
--将前批号的药品在库存中置为0
Update CommodityStock Set Amount=0,FactAmount=0,SumCost=0,SumRetail=0
where DepotId=@Bill_InStockId
and EmbranchmentId=@EmbranchmentId
and CommodityId=@CommodityId
and BatchCode=@PreBatchCode
and PackingId=@PackingId
if @@error <>0
begin
SELECT @ErrorMessage='旧批号置0失败!'
Select @ErrorInfoId=-11
ROLLBACK
RETURN -1
end
select @CurVersion=CurVersion from DataVersion --版本处理部分
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-7
ROLLBACK
RETURN -1
end
Update DataVersion
set PreviousVersion=@CurVersion,CurVersion=@CurVersion+1
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-8
ROLLBACK
RETURN -1
end
INSERT INTO InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId, BillCode,BusinessDate,AuditDate, RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice,PreBatchSalePrice,ChangePrice,Discount,DiscountPrice,PreAmount, ChangeAmount, OutAmount,CurAmount , PreCostSumMoney,PreSaleSumMoney, PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney, ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion,CommodityName,Spec,Unit,ProducingArea,AuthorizeCode,DoseTypeName,CreatorName,BusinessName,BillCodeName,StockName,EmbranchmentName,ProviderName,CustomerName,InStockName,OutStockName,Remark,CustomCode,CounterId,CounterName,PackingId,PackingName,CustomStr,ProductName)
VALUES (newid(),@EmbranchmentId, @OutStockId,@BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId, @PreBatchCode,@CostPrice_pre , @RetailPrice_pre,0 ,@RetailPrice_pre ,1 ,@RetailPrice_pre ,@Amount_pre,@Amount_pre,@Amount_pre, 0, @SumCost_pre ,@SumRetail_pre, @SumRetail_pre, @SumRetail_pre, @CostPrice_pre, @RetailPrice_pre, @RetailPrice_pre, 0, 0, 0 , @ProductDate_pre, @InvalidateDate_pre, 1, 1, @ProviderId, @CustomerId, 0 , @OutStockId, @CurVersion + 1,@CommodityName,@Spec,@Unit,@ProducingArea,@AuthorizeCode,@DoseTypeName,@CreatorName,@BusinessName,@BillCodeName,@StockName,@EmbranchmentName,@ProviderName,@CustomerName,@InStockName,@OutStockName,@Remark,@CustomCode,@CounterId_pre,@CounterName_pre,@PackingId,@PackingName,@CustomStr,@ProductName)
if @@error <>0
begin
SELECT @ErrorMessage='旧批号插入InoutStockTable表失败!'
Select @ErrorInfoId=-12
ROLLBACK
RETURN -1
end
INSERT INTO InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId, BillCode,BusinessDate,AuditDate, RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice,PreBatchSalePrice,ChangePrice,Discount,DiscountPrice, PreAmount, ChangeAmount, InAmount, CurAmount , PreCostSumMoney,PreSaleSumMoney, PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney, ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion, CommodityName, Spec,Unit, ProducingArea , AuthorizeCode, DoseTypeName, CreatorName,BusinessName,BillCodeName,StockName,EmbranchmentName,ProviderName,CustomerName,InStockName,OutStockName,Remark,CustomCode,CounterId,CounterName,PackingId,PackingName,CustomStr,ProductName)
VALUES (newid(),@EmbranchmentId, @OutStockId,@BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId, @CurBatchCode,0 , 0, 0 , @RetailPrice_pre ,1 , @RetailPrice_pre , 0, @Amount_pre, @Amount_pre, @Amount_pre, 0 ,0 , 0, @SumRetail_pre, @CostPrice_pre, @RetailPrice_pre, @RetailPrice_pre, @SumCost_pre, @SumRetail_pre, @SumRetail_pre , @ProductDate_pre, @InvalidateDate_pre, 1, 1, @ProviderId, @CustomerId, @OutStockId, 0, @CurVersion + 1,@CommodityName,@Spec,@Unit,@ProducingArea,@AuthorizeCode,@DoseTypeName,@CreatorName,@BusinessName,@BillCodeName,@StockName,@EmbranchmentName,@ProviderName,@CustomerName,@InStockName,@OutStockName,@Remark,@CustomCode,@CounterId_pre,@CounterName_pre,@PackingId,@PackingName,@CustomStr,@ProductName)
if @@error <>0
begin
SELECT @ErrorMessage='新批号插入InoutStockTable表失败!'
Select @ErrorInfoId=-13
ROLLBACK
RETURN -1
end
end
else
begin
select @CostPrice_pre=CostPrice,@Amount_pre=Amount,@RetailPrice_pre=RetailPrice,@SumCost_pre=SumCost,@IsChinese=IsChinese,@PreMemberPrice=CurrentMemberPrice
,@SumRetail_pre=SumRetail,@ProductDate_pre=ProductDate,@InvalidateDate_pre=InvalidateDate,@InstockDate_pre=InstockDate,@SpellCode_pre=SpellCode,@IsChinese_pre=IsChinese,
@CounterId_pre=CounterId,@CounterName_pre=CounterName,@TXM_pre=TXM,@PreMemberPrice_pre =PreMemberPrice,@CurrentMemberPrice_pre =CurrentMemberPrice,
@Medicare_pre=Medicare,@IsMemberPrice_pre=IsMemberPrice, @IsDiscount_pre = IsDiscount,@IsScore_pre =IsScore
from CommodityStock
where DepotId=@Bill_InStockId
and EmbranchmentId=@EmbranchmentId
and CommodityId=@CommodityId
and BatchCode=@PreBatchCode
and PackingId=@PackingId
select @CostPrice=(@SumCost+@SumCost_pre)/(@Amount_pre+@Amount_cs)/*计算成本价*/
/* select @CurrentRetailPrice=(@SumRetail+@SumRetail_pre)/(@Amount_pre+@Amount_cs) 计算零售价*/
select @Amount_cs=@Amount_pre+@Amount_cs /*计算数量*/
select @SumCost=@CostPrice*@Amount_cs /*计算小计金额*/
select @SumRetail=@CurrentRetailPrice*@Amount_cs
Update CommodityStock
set CostPrice=@CostPrice,Amount=@Amount_cs, FactAmount=@Amount_cs,SumCost=@SumCost,SumRetail=@SumRetail
where DepotId=@Bill_InStockId
and EmbranchmentId=@EmbranchmentId
and CommodityId=@CommodityId
and BatchCode=@CurBatchCode
and PackingId=@PackingId
if @@error <>0
begin
SELECT @ErrorMessage='合并失败!'
Select @ErrorInfoId=-14
ROLLBACK
RETURN -1
end
--将前批号的药品在库存中置为0
Update CommodityStock Set Amount=0,FactAmount=0,SumCost=0,SumRetail=0
where DepotId=@Bill_InStockId
and EmbranchmentId=@EmbranchmentId
and CommodityId=@CommodityId
and BatchCode=@PreBatchCode
and PackingId=@PackingId
if @@error <>0
begin
SELECT @ErrorMessage='旧批号置0失败!'
Select @ErrorInfoId=-15
ROLLBACK
RETURN -1
end
select @CurVersion=CurVersion from DataVersion --版本处理部分
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-7
ROLLBACK
RETURN -1
end
Update DataVersion
set PreviousVersion=@CurVersion,CurVersion=@CurVersion+1
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-8
ROLLBACK
RETURN -1
end
INSERT INTO InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId, BillCode,BusinessDate,AuditDate, RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice,PreBatchSalePrice,ChangePrice,Discount,DiscountPrice,PreAmount, ChangeAmount, OutAmount,CurAmount , PreCostSumMoney,PreSaleSumMoney, PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney, ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion,CommodityName,Spec,Unit,ProducingArea,AuthorizeCode,DoseTypeName,CreatorName,BusinessName,BillCodeName,StockName,EmbranchmentName,ProviderName,CustomerName,InStockName,OutStockName,Remark,CustomCode,CounterId,CounterName,PackingId,PackingName,CustomStr,ProductName)
VALUES (newid(),@EmbranchmentId, @OutStockId,@BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId, @PreBatchCode,@CostPrice_pre , @RetailPrice_pre,0 ,@RetailPrice_pre ,1 ,@RetailPrice_pre ,@Amount_pre,@Amount_pre,@Amount_pre, 0, @SumCost_pre ,@SumRetail_pre, @SumRetail_pre, @SumRetail_pre, @CostPrice_pre, @RetailPrice_pre, @RetailPrice_pre, 0, 0, 0 , @ProductDate_pre, @InvalidateDate_pre, 1, 1, @ProviderId, @CustomerId, 0 , @OutStockId, @CurVersion + 1,@CommodityName,@Spec,@Unit,@ProducingArea,@AuthorizeCode,@DoseTypeName,@CreatorName,@BusinessName,@BillCodeName,@StockName,@EmbranchmentName,@ProviderName,@CustomerName,@InStockName,@OutStockName,@Remark,@CustomCode,@CounterId_pre,@CounterName_pre,@PackingId,@PackingName,@CustomStr,@ProductName)
if @@error <>0
begin
SELECT @ErrorMessage='旧批号插入InoutStockTable表失败!'
Select @ErrorInfoId=-12
ROLLBACK
RETURN -6
end
INSERT INTO InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId, BillCode,BusinessDate,AuditDate, RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice, PreBatchSalePrice, ChangePrice, Discount, DiscountPrice, PreAmount, ChangeAmount, InAmount, CurAmount , PreCostSumMoney, PreSaleSumMoney, PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney, ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion,CommodityName,Spec,Unit,ProducingArea,AuthorizeCode,DoseTypeName,CreatorName,BusinessName,BillCodeName,StockName,EmbranchmentName,ProviderName,CustomerName,InStockName,OutStockName,Remark,CustomCode,CounterId,CounterName,PackingId,PackingName,CustomStr,ProductName)
VALUES (newid(),@EmbranchmentId, @OutStockId,@BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId, @CurBatchCode,@CostPrice_pre_cur , @RetailPrice_pre_cur,@RetailPrice_pre_cur ,@RetailPrice_pre , 1 , @RetailPrice_pre ,@Amount_pre_cur ,@Amount_pre, @Amount_pre, @Amount_cs, @SumCost_pre_cur ,@SumRetail_pre_cur, @SumRetail_pre_cur, @SumRetail, @CostPrice, @RetailPrice, @RetailPrice, @SumCost, @SumRetail, @SumRetail , @ProductDate, @InvalidateDate, 1, 1, @ProviderId, @CustomerId, @InStockId , @OutStockId, @CurVersion + 1,@CommodityName,@Spec,@Unit,@ProducingArea,@AuthorizeCode,@DoseTypeName,@CreatorName,@BusinessName,@BillCodeName,@StockName,@EmbranchmentName,@ProviderName,@CustomerName,@InStockName,@OutStockName,@Remark,@CustomCode,@CounterId_pre,@CounterName_pre,@PackingId,@PackingName,@CustomStr,@ProductName)
if @@error <>0
begin
SELECT @ErrorMessage='新批号插入InoutStockTable表失败!'
Select @ErrorInfoId=-13
ROLLBACK
RETURN -1
end
end
Update Bill
set Status=2,AuditDate=getdate() where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
and Status=1
if @@error <>0
begin
SELECT @ErrorMessage='更新主单出错!'
Select @ErrorInfoId=-14
ROLLBACK
RETURN -1
end
fetch next from Cur_BillDetailBatchCodeAdjust
into @RowNum,@CommodityId,@PreBatchCode,@PreProductDate,@PreInvalidateDate,@CurBatchCode,@CurProductDate,@CurInvalidateDate,@CommodityName,@Spec,@DoseTypeName,@ProducingArea,
@Unit,@AuthorizeCode,@CustomCode,@InOrder,@PackingId,@PackingName,@CustomStr,@ProductName
End
SELECT @ErrorMessage='单据审核成功!'
Select @ErrorInfoId=1
CLOSE Cur_BillDetailBatchCodeAdjust
DEALLOCATE Cur_BillDetailBatchCodeAdjust
Commit Tran
GO
/****** Object: StoredProcedure [dbo].[billBuyReturn_Audit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/**********************************************************************
Author : qcj
CreateDate : 2006-8-18
Summary : 采购退货审核
Remark : 从库存表中将退货单明细中对应的商品删除
***********************************************************************/
CREATE PROCEDURE [dbo].[billBuyReturn_Audit]
(
@BillId INT,
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
/*定义Bill对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @BillType TINYINT
DECLARE @BillFlowId INT
DECLARE @BillCode VARCHAR(50)
DECLARE @CreateDate SMALLDATETIME
DECLARE @CreatorId SMALLINT
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @CustomerId INT
--DECLARE @CardId INT
DECLARE @Status TINYINT
DECLARE @SumMoney DECIMAL(18,4)--整个单据所有记录的合计金额
DECLARE @Summary VARCHAR(100)
DECLARE @Remark VARCHAR(100)
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @CreatorName VARCHAR(50)
DECLARE @BusinessName VARCHAR(50)
DECLARE @BillCodeName VARCHAR(50)
DECLARE @StockName VARCHAR(50)
DECLARE @EmbranchmentName VARCHAR(50)
DECLARE @ProviderName VARCHAR(50)
DECLARE @CustomerName VARCHAR(50)
DECLARE @InStockName VARCHAR(50)
DECLARE @OutStockName VARCHAR(50)
/*定义BillDetailBuyReturn对应的局部变量*/
DECLARE @RowNum tinyint
DECLARE @CommodityId int
DECLARE @BatchCode varchar(50)
DECLARE @Price decimal (18,4)
DECLARE @Amount decimal (18,4)
DECLARE @SumMoney_Detail decimal (18,4)--明细单中每条记录的合计金额
DECLARE @ProductDate smalldatetime
DECLARE @CommodityName varchar(100)
DECLARE @Spec varchar(50)
DECLARE @Unit varchar(50)
DECLARE @DoseTypeName varchar(50)
DECLARE @AuthorizeCode varchar(50)
DECLARE @ProducingArea varchar(50)
DECLARE @CustomCode varchar(50)
DECLARE @CounterId TINYINT
DECLARE @CounterName varchar(50)
DECLARE @PackingId int
DECLARE @PackingName varchar(50)
DECLARE @CustomStr varchar(100)
DECLARE @ProductName varchar(100)
/*定义CommodityStock对应的局部变量*/
DECLARE @InOrder int
DECLARE @InvalidateDate datetime
DECLARE @InstockDate datetime
DECLARE @CostPrice decimal (18,4)
DECLARE @RetailPrice decimal (18,4)
DECLARE @FactAmount decimal (18,4)
DECLARE @Amount_cs decimal (18,4)--现库存数量,便于和明细单中的数量区分,为计算成本所使用
DECLARE @Amount_pre decimal (18,4)--原库存数量
DECLARE @SumCost decimal (18,4)
DECLARE @SumRetail decimal (18,4)
DECLARE @CommodityStockDataVersion bigint
DECLARE @CommodityStockOriginDateTime datetime
DECLARE @CommodityStockSynchronizeDateTime datetime
/*定义InoutStockTable对应的局部变量*/
DECLARE @Guid_is uniqueidentifier
DECLARE @StockId tinyint
DECLARE @PreCostPrice decimal(18,4)
DECLARE @PreSalePrice decimal(18,4)
DECLARE @PreBatchSalePrice decimal(18,4)
DECLARE @ChangePrice decimal(18,4)
DECLARE @PreAmount decimal(18,4)
DECLARE @ChangeAmount decimal(18,4)
DECLARE @CurAmount decimal(18,4)
DECLARE @PreCostSumMoney decimal(18,4)
DECLARE @PreSaleSumMoney decimal(18,4)
DECLARE @PreBatchSaleSumMoney decimal(18,4)
DECLARE @ChangeSumMoney decimal(18,4)
DECLARE @CurCostPrice decimal(18,4)
DECLARE @CurSalePrice decimal(18,4)
DECLARE @CurBatchSalePrice decimal(18,4)
DECLARE @CurCostSumMoney decimal(18,4)
DECLARE @CurSaleSumMoney decimal(18,4)
DECLARE @CurBatchSaleSumMoney decimal(18,4)
DECLARE @IsAmountChanged bit
DECLARE @IsMoneyChanged bit
DECLARE @InStockId int
DECLARE @OutStockId int
DECLARE @DataVersion bigint
/*定义DataVersion对应的局部变量*/
DECLARE @DataVersionId int
DECLARE @Name varchar(20)
DECLARE @PreviousVersion bigint
DECLARE @CurVersion bigint
DECLARE @OriginDateTime datetime
DECLARE @SynchronizeDateTime datetime
/*根据情况对局部变量赋初始值*/
select @CommodityStockDataVersion=0
SELECT @BillType=2 --采购退货单的BillType为2
SELECT @ErrorMessage=NULL
SELECT @EmbranchmentId=INTValue FROM SysData WHERE Name='EmbranchmentId'
IF @EmbranchmentId IS NULL
BEGIN
SELECT @ErrorMessage='未查找到对应的分支机构Id'
Select @ErrorInfoId=-1
RETURN -1
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE BEGIN TRAN
SET NOCOUNT ON
SELECT
@EmbranchmentId=EmbranchmentId,
@BillId=BillId,
@BillType=BillType,
@BillFlowId=BillFlowId,
@BillCode=BillCode,
@CreateDate=CreateDate,
@CreatorId=CreatorId,
@BusinessDate=BusinessDate,
@BusinessId=BusinessId,
@AuditDate=AuditDate,
@AuditorId=AuditorId,
@ProviderId=ProviderId,
@CustomerId=CustomerId,
--@CardId=CardId,
@Status=@Status,
@SumMoney=SumMoney,
@InStockId=InStockId,
@OutStockId=OutStockId,
@Summary=Summary,
@Remark=Remark,
@Guid=Guid,
@CreatorName=CreatorName,
@BusinessName=BusinessName,
@BillCodeName=BillCodeName,
@StockName=StockName,
@EmbranchmentName=EmbranchmentName,
@ProviderName=ProviderName,
@CustomerName=CustomerName,
@InStockName=InStockName,
@OutStockName=OutStockName
FROM Bill(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@ROWCOUNT=0
BEGIN
ROLLBACK
SELECT @ErrorMessage='没有找到要审核的单据'
Select @ErrorInfoId=-2
RETURN
END
/*检查从单是否完整*/
SELECT RowNum,CommodityId, BatchCode, Price, Amount, SumMoney,
ProductDate, InvalidateDate
FROM BillDetailBuyReturn
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='没有找到要审核的从单'
Select @ErrorInfoId=-3
ROLLBACK
RETURN
END
/*从单游标*/
DECLARE Cur_BuyReturnDetail CURSOR FOR
SELECT RowNum,CommodityId, BatchCode, Price, Amount, SumMoney,
ProductDate, InvalidateDate, CommodityName, Spec,
Unit, ProducingArea, DoseTypeName, AuthorizeCode,CustomCode,
InOrder,CounterId,CounterName , PackingId, PackingName ,CustomStr,ProductName
FROM BillDetailBuyReturn
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
OPEN Cur_BuyReturnDetail
FETCH NEXT FROM Cur_BuyReturnDetail
INTO @RowNum,@CommodityId, @BatchCode, @Price, @Amount, @SumMoney,
@ProductDate, @InvalidateDate, @CommodityName, @Spec,
@Unit, @ProducingArea, @DoseTypeName, @AuthorizeCode,@CustomCode,
@InOrder,@CounterId,@CounterName,@PackingId, @PackingName ,@CustomStr,@ProductName
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @CostPrice = CostPrice,@Amount_pre=Amount,@Amount_cs = Amount,@RetailPrice = CurrentRetailPrice,@SumCost = SumCost,@SumRetail = SumRetail
FROM CommodityStock
WHERE DepotId=@OutStockId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and InOrder=@InOrder
and PackingId=@PackingId
/*如果库存数量大于退货数量,则更新库存表,否则,回滚*/
SELECT @Amount_cs = @Amount_cs - @Amount
SELECT @SumCost = @CostPrice * @Amount_cs
SELECT @SumRetail = @RetailPrice * @Amount_cs
IF @Amount_cs < 0
BEGIN
SELECT @ErrorMessage='库存数量不足,无法审核!'
Select @ErrorInfoId=-4
ROLLBACK
RETURN
END
ELSE
BEGIN
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
/**************************************************************************************************************************************/
/*库存表处理部分*/
UPDATE CommodityStock
SET Amount = @Amount_cs,FactAmount = @Amount_cs,SumCost = @SumCost,SumRetail=@SumRetail ,DataVersion=@CommodityStockDataVersion+1
WHERE DepotId=@OutStockId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and InOrder=@InOrder
and PackingId=@PackingId
/*************************************在社区药店系统版本处理部分**********************************************/
Update DataVersion
set PreviousVersion=@CommodityStockDataVersion,CurVersion=@CommodityStockDataVersion+1,
OriginDateTime=@CommodityStockSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-111
ROLLBACK
RETURN -1
end
/***************************************************************************************************************************/
/*版本处理部分*/
SELECT @CurVersion=CurVersion
FROM DataVersion
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-5
ROLLBACK
RETURN
END
ELSE
BEGIN
Update DataVersion
SET PreviousVersion = @CurVersion,CurVersion = @CurVersion+1
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
END
/*出入库记录处理部分*/
SELECT @PreCostSumMoney=@Amount_pre*@CostPrice
SELECT @CurSaleSumMoney=@Amount_cs*@RetailPrice
SELECT @PreSaleSumMoney=@Amount_pre*@RetailPrice
INSERT INTO InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId, BillCode,BusinessDate,AuditDate, RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice,PreBatchSalePrice,ChangePrice,Discount,DiscountPrice,PreAmount, ChangeAmount, OutAmount,CurAmount , PreCostSumMoney,PreSaleSumMoney, PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney, ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion,CommodityName,Spec,Unit,ProducingArea,AuthorizeCode,DoseTypeName,CreatorName,BusinessName,BillCodeName,StockName,EmbranchmentName,ProviderName,CustomerName,InStockName,OutStockName,Remark,CustomCode,CounterId,CounterName,PackingId,PackingName,CustomStr,ProductName)
VALUES (newid(),@EmbranchmentId, @OutStockId,@BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId, @BatchCode,@CostPrice , @RetailPrice,0 ,@Price ,1 ,@Price ,@Amount_pre,@Amount, @Amount, @Amount_cs, @PreCostSumMoney ,@PreSaleSumMoney, 0, @SumMoney, @CostPrice, @RetailPrice, 0, @SumMoney, 0, @CurSaleSumMoney , @ProductDate, @InvalidateDate, 1, 1, @ProviderId, @CustomerId, 0 , @OutStockId, @CurVersion + 1,@CommodityName,@Spec,@Unit,@ProducingArea,@AuthorizeCode,@DoseTypeName,@CreatorName,@BusinessName,@BillCodeName,@StockName,@EmbranchmentName,@ProviderName,@CustomerName,@InStockName,@OutStockName,@Remark,@CustomCode,@CounterId,@CounterName,@PackingId,@PackingName,@CustomStr,@ProductName)
END
Update Bill
SET Status=2,AuditDate=GETDATE()
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
FETCH NEXT FROM Cur_BuyReturnDetail
INTO @RowNum,@CommodityId, @BatchCode, @Price, @Amount, @SumMoney,
@ProductDate, @InvalidateDate, @CommodityName, @Spec,
@Unit, @ProducingArea, @DoseTypeName, @AuthorizeCode,@CustomCode,
@InOrder,@CounterId,@CounterName,@PackingId,@PackingName,@CustomStr,@ProductName
END
SELECT @ErrorMessage='单据审核成功!'
Select @ErrorInfoId=1
CLOSE Cur_BuyReturnDetail
DEALLOCATE Cur_BuyReturnDetail
COMMIT
GO
/****** Object: StoredProcedure [dbo].[billBuyInStock_Audit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/**********************************************************************
Author : scs
CreateDate : 2006-7-26
Summary : 采购入库单的审核
Remark :
1 将采购入库单明细中对应的商品添加到库存表(Commodity)中
***********************************************************************/
CREATE PROCEDURE [dbo].[billBuyInStock_Audit]
(
@BillId INT,
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
--set nocount on
/*定义Bill对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @BillType TINYINT
DECLARE @BillFlowId INT
DECLARE @BillCode varchar(50)
DECLARE @CreateDate SMALLDATETIME
DECLARE @CreatorId SMALLINT
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @CustomerId INT
--DECLARE @CardCode VARCHAR(50)
DECLARE @Status TINYINT
DECLARE @SumMoney DECIMAL(18,4)
DECLARE @Bill_InStockId TINYINT
DECLARE @Bill_OutStockId TINYINT
DECLARE @Summary VARCHAR(100)
DECLARE @Remark VARCHAR(100)
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @CreatorName varchar(50)
DECLARE @BusinessName varchar(50)
DECLARE @BillCodeName varchar(50)
DECLARE @StockName varchar(50)
DECLARE @EmbranchmentName varchar(50)
DECLARE @ProviderName varchar(50)
DECLARE @CustomerName varchar(50)
DECLARE @InStockName varchar(50)
DECLARE @OutStockName varchar(50)
/*定义BillDetailBuyInStock对应的局部变量*/
DECLARE @RowNum tinyint
DECLARE @CommodityId int
DECLARE @BatchCode varchar(50)
DECLARE @Price decimal (18,4)
DECLARE @Discount decimal (6,4)
DECLARE @DiscountPrice decimal (18,4)
DECLARE @TaxRate decimal (6,4)
DECLARE @TaxPrice char
DECLARE @Amount decimal (18,4)
DECLARE @SumMoney_Detail decimal (18,4)
DECLARE @SumTaxMoney decimal (18,4)
DECLARE @ProductDate smalldatetime
DECLARE @ValidateDate smalldatetime
DECLARE @RetailPrice decimal (18,4)
DECLARE @CommodityName varchar(100)
DECLARE @Spec varchar(50)
DECLARE @DoseTypeName varchar(50)
DECLARE @ProducingArea varchar(50)
DECLARE @Unit varchar(50)
DECLARE @AuthorizeCode varchar(50)
DECLARE @SpellCode varchar(50)
DECLARE @CustomCode varchar(50)
DECLARE @IsChinese bit
DECLARE @CounterId TINYINT
DECLARE @CounterName varchar(50)
DECLARE @TXM varchar(60)
DECLARE @Medicare TINYINT
DECLARE @PackingId int
DECLARE @PackingName varchar(50)
DECLARE @CustomStr varchar(100)
DECLARE @ProductName varchar(100)
DECLARE @IsMemberPrice bit
DECLARE @IsDiscount bit
DECLARE @IsScore bit
/*定义CommodityStock对应的局部变量*/
DECLARE @InOrder int
DECLARE @InOrderLast int
DECLARE @InvalidateDate datetime
DECLARE @InstockDate datetime
DECLARE @CostPrice decimal (18,4)
DECLARE @CostPrice_pre decimal (18,4)
DECLARE @FactAmount decimal (18,4)
DECLARE @RetailPrice_pre decimal (18,4)
DECLARE @Amount_cs decimal (18,4)
DECLARE @Amount_pre decimal (18,4)
DECLARE @SumCost decimal (18,4)
DECLARE @SumCost_pre decimal (18,4)
DECLARE @SumRetail decimal (18,4)
DECLARE @CommodityStockDataVersion bigint
DECLARE @CommodityStockOriginDateTime datetime
DECLARE @CommodityStockSynchronizeDateTime datetime
DECLARE @PreMemberPrice decimal(18,4)
DECLARE @CurMemberPrice decimal(18,4)
/*定义InoutStockTable对应的局部变量*/
DECLARE @Guid_is uniqueidentifier
DECLARE @StockId tinyint
DECLARE @PreCostPrice decimal(18,4)
DECLARE @PreSalePrice decimal(18,4)
DECLARE @PreBatchSalePrice decimal(18,4)
DECLARE @ChangePrice decimal(18,4)
DECLARE @PreAmount decimal(18,4)
DECLARE @ChangeAmount decimal(18,4)
DECLARE @CurAmount decimal(18,4)
DECLARE @PreCostSumMoney decimal(18,4)
DECLARE @PreSaleSumMoney decimal(18,4)
DECLARE @PreBatchSaleSumMoney decimal(18,4)
DECLARE @ChangeSumMoney decimal(18,4)
DECLARE @CurCostPrice decimal(18,4)
DECLARE @CurSalePrice decimal(18,4)
DECLARE @CurBatchSalePrice decimal(18,4)
DECLARE @CurCostSumMoney decimal(18,4)
DECLARE @CurSaleSumMoney decimal(18,4)
DECLARE @CurBatchSaleSumMoney decimal(18,4)
DECLARE @IsAmountChanged bit
DECLARE @IsMoneyChanged bit
DECLARE @InStockId int
DECLARE @OutStockId int
DECLARE @DataVersion bigint
/*定义DataVersion对应的局部变量*/
DECLARE @DataVersionId int
DECLARE @Name varchar(20)
DECLARE @PreviousVersion bigint
DECLARE @CurVersion bigint
DECLARE @OriginDateTime datetime
DECLARE @SynchronizeDateTime datetime
DECLARE @RowCount int
/*根据情况对局部变量赋初始值*/
select @CommodityStockDataVersion=0
select @ErrorMessage='OK!'
SELECT @BillType=1 --采购入库单的BillType为1
SELECT @ErrorMessage=NULL
SELECT @EmbranchmentId=INTValue FROM SysData WHERE Name='EmbranchmentId'
IF @EmbranchmentId IS NULL
BEGIN
SELECT @ErrorMessage='未查找到对应的分支机构Id'
Select @ErrorInfoId=-1
RETURN -1
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
SELECT
@EmbranchmentId=EmbranchmentId,
@BillId=BillId,
@BillType=BillType,
@BillFlowId=BillFlowId,
@BillCode=BillCode,
@CreateDate=CreateDate,
@CreatorId=CreatorId,
@BusinessDate=BusinessDate,
@BusinessId=BusinessId,
@AuditDate=AuditDate,
@AuditorId=AuditorId,
@ProviderId=ProviderId,
@CustomerId=CustomerId,
--@CardCode=CardCode,
@Status=@Status,
@SumMoney=SumMoney,
@Bill_InStockId=InStockId,
@Bill_OutStockId=OutStockId,
@Summary=Summary,
@Remark=Remark,
@Guid=Guid,
@CreatorName =CreatorName,
@BusinessName =BusinessName,
@BillCodeName =BillCodeName,
@StockName =StockName,
@EmbranchmentName =EmbranchmentName,
@ProviderName =ProviderName,
@CustomerName =CustomerName,
@InStockName =InStockName,
@OutStockName = OutStockName
FROM Bill(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@ROWCOUNT=0
BEGIN
ROLLBACK
SELECT @ErrorMessage='没有找到要审核的单据'
Select @ErrorInfoId=-2
RETURN
END
/*检查从单是否完整*/
SELECT CommodityId, BatchCode, Price, Discount, DiscountPrice, Amount, SumMoney,
ProductDate, ValidateDate,RowNum,RetailPrice,ValidateDate,IsMemberPrice,IsDiscount,IsScore
FROM BillDetailBuyInStock
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
if @@ROWCOUNT<=0
begin
SELECT @ErrorMessage='没有找到要审核的从单'
Select @ErrorInfoId=-3
ROLLBACK
RETURN -1
end
DECLARE Cur_BuyInStockDetail CURSOR FOR /*从单游标*/
SELECT CommodityId, BatchCode, Price, Discount, DiscountPrice, Amount, SumMoney,
ProductDate, ValidateDate,RowNum,RetailPrice,BatchCode,ValidateDate,CommodityName,
Spec,DoseTypeName,ProducingArea,Unit, AuthorizeCode,SpellCode,CustomCode,IsChinese,
CounterId,CounterName,TXM,MemberPrice,Medicare , PackingId, PackingName ,CustomStr,ProductName,
IsMemberPrice,IsDiscount,IsScore
FROM BillDetailBuyInStock
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
open Cur_BuyInStockDetail /*打开游标*/
fetch next from Cur_BuyInStockDetail
into @CommodityId, @BatchCode, @Price, @Discount, @DiscountPrice, @Amount, @SumMoney,
@ProductDate, @ValidateDate,@RowNum,@RetailPrice,@BatchCode ,@InvalidateDate,@CommodityName,@Spec,
@DoseTypeName,@ProducingArea,@Unit,@AuthorizeCode,@SpellCode,@CustomCode,@IsChinese,
@CounterId,@CounterName,@TXM,@CurMemberPrice,@Medicare,@PackingId, @PackingName ,@CustomStr,@ProductName,
@IsMemberPrice,@IsDiscount,@IsScore
while @@FETCH_STATUS = 0
begin
/*向库存(CommodityStock)中插入记录,要使用移动加权平均法来修改"成本价"*/
/*移动加权平均法的算法:CostPrice=((CostPrice*Amount)+(DiscountPrice*Amount)/(Amount(从单)+Amount(库存)))*/
/*SumCost=CostPrice*(Amount(从单)+Amount(库存))*/
if (@Bill_InStockId is null) or (@EmbranchmentId is null) or (@CommodityId is null)
begin
SELECT @ErrorMessage='从单数据不完整!'
Select @ErrorInfoId=-4
ROLLBACK
RETURN -1
end
select @InOrder=isnull(max(InOrder),0) from CommodityStock where CommodityId=@CommodityId and PackingId=@PackingId and BatchCode= @BatchCode
select @InOrderLast=isnull(max(InOrder),0) from CommodityStock where CommodityId=@CommodityId and PackingId=@PackingId
select @CostPrice=CostPrice,@CostPrice_pre=CostPrice,@Amount_cs=Amount,@Amount_pre=Amount,@RetailPrice_pre=RetailPrice,@SumCost=SumCost,@SumCost_pre=SumCost,@SumRetail=SumRetail,@IsChinese=IsChinese,@PreMemberPrice=CurrentMemberPrice
/*从库存中找相同的记录,用来做移动加权平均法来修改"成本价"*/
from CommodityStock
where DepotId=@Bill_InStockId
and InOrder=@InOrder
and EmbranchmentId=@EmbranchmentId
and CommodityId=@CommodityId
and BatchCode=@BatchCode
and PackingId=@PackingId
select @RowCount =@@ROWCOUNT
if @RowCount>1
begin
SELECT @ErrorMessage='库存中相同记录过多!'
Select @ErrorInfoId=-5
ROLLBACK
RETURN -1
end
if @RowCount<=0/*库存中没有对应的记录就插入,有则修改“成本价”、“数量”、“FactAmount”、“生产日期”、“有效期至”、“入库时间”、“零售价”、“零售合计”*/
begin
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
if @EmbranchmentId=-1
begin
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=-1
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
end
/**************************************************************************************************************************************/
select @CounterId=CounterId,@CounterName=CounterName from Commodity where CommodityId= @CommodityId and PackingId=@PackingId --柜台处理部分
select @CostPrice=0--CommodityStock处理部分
select @Amount_cs=0
select @CostPrice=(((@CostPrice*@Amount_cs)+(@DiscountPrice*@Amount))/(@Amount+@Amount_cs)) /*计算成本价*/
select @Amount_cs=@Amount+@Amount_cs /*计算数量*/
select @SumCost=@CostPrice*@Amount_cs /*计算小计金额*/
select @SumRetail=@RetailPrice*@Amount_cs
insert into CommodityStock (DepotId, EmbranchmentId, CommodityId, BatchCode, InOrder,ProductDate, InvalidateDate, InstockDate, CostPrice, RetailPrice, Amount, FactAmount, SumCost, SumRetail,CommodityName,Spec,DoseTypeName,ProducingArea,Unit,AuthorizeCode,SpellCode,CustomCode,CurrentRetailPrice,IsChinese,CounterId,CounterName,TXM,DataVersion,PreMemberPrice,CurrentMemberPrice,Medicare,PackingId,PackingName ,CustomStr,ProductName,IsMemberPrice,IsDiscount,IsScore)
values(@Bill_InStockId, @EmbranchmentId, @CommodityId, @BatchCode, @InOrderLast+1, @ProductDate, @InvalidateDate, @CreateDate, @CostPrice,@RetailPrice, @Amount_cs, @Amount_cs, @SumCost, @SumRetail,@CommodityName,@Spec,@DoseTypeName,@ProducingArea,@Unit,@AuthorizeCode,@SpellCode,@CustomCode,@RetailPrice,@IsChinese,@CounterId,@CounterName,@TXM,@CommodityStockDataVersion+1,@PreMemberPrice,@CurMemberPrice,@Medicare,@PackingId,@PackingName ,@CustomStr,@ProductName,@IsMemberPrice,@IsDiscount,@IsScore)
if @@error <>0
begin
SELECT @ErrorMessage='插入库存失败!'
Select @ErrorInfoId=-6
ROLLBACK
RETURN -1
end
/*************************************在社区药店系统版本处理部分**********************************************/
if @EmbranchmentId=-1
begin
Update DataVersion
set PreviousVersion=@CommodityStockDataVersion,CurVersion=@CommodityStockDataVersion+1,
OriginDateTime=@CommodityStockSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=-1
and DataVersionId=14
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-111
ROLLBACK
RETURN -1
end
end
/***************************************************************************************************************************/
select @CurVersion=CurVersion from DataVersion --版本处理部分
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-7
ROLLBACK
RETURN -1
end
Update DataVersion
set PreviousVersion=@CurVersion,CurVersion=@CurVersion+1
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-8
ROLLBACK
RETURN -1
end
--在插入InoutStockTable前将所需数据查询出来
--InoutStockTable处理部分
select @CurSaleSumMoney=@Amount_cs*@RetailPrice;
insert into InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId , BillCode, BusinessDate,AuditDate,RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice,
PreBatchSalePrice, ChangePrice, Discount, DiscountPrice, PreAmount, ChangeAmount, InAmount,CurAmount, PreCostSumMoney,PreSaleSumMoney,
PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney,
ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion, CommodityName , Spec ,
DoseTypeName , ProducingArea , Unit ,AuthorizeCode,CreatorName ,BusinessName , BillCodeName ,StockName, EmbranchmentName ,
ProviderName,CustomerName,InStockName,OutStockName,CustomCode,CounterId,CounterName ,PackingId,PackingName ,CustomStr,ProductName,IsMemberPrice)
values (newid(),@EmbranchmentId, @Bill_InStockId, @BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId, @BatchCode,0, 0, 0,
@Price, @Discount, @DiscountPrice, 0, @Amount, @Amount, @Amount_cs, 0, 0, 0, @SumMoney, @CostPrice,
@RetailPrice, 0, @SumCost, 0, @CurSaleSumMoney, @ProductDate, @InvalidateDate, 1, 1, @ProviderId, @CustomerId, @Bill_InStockId, 0,
@CurVersion+1,@CommodityName ,@Spec,@DoseTypeName,@ProducingArea,@Unit ,@AuthorizeCode, @CreatorName ,@BusinessName, @BillCodeName,
@StockName, @EmbranchmentName , @ProviderName , @CustomerName, @InStockName , @OutStockName,@CustomCode,@CounterId,@CounterName,@PackingId,@PackingName ,@CustomStr,@ProductName,@IsMemberPrice )
if @@error <>0
begin
SELECT @ErrorMessage='插入InoutStockTable出错!'
Select @ErrorInfoId=-9
ROLLBACK
RETURN -1
end
end
else
begin
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
if @EmbranchmentId=-1
begin
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=-1
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
end
/**************************************************************************************************************************************/
select @CounterId=CounterId,@CounterName=CounterName from Commodity where CommodityId= @CommodityId and PackingId=@PackingId --柜台处理部分
select @CostPrice=(((@CostPrice*@Amount_cs)+(@DiscountPrice*@Amount))/(@Amount+@Amount_cs)) /*计算成本价*/
select @Amount_cs=@Amount+@Amount_cs /*计算数量*/
select @SumCost=@CostPrice*@Amount_cs /*计算小计金额*/
select @SumRetail=@RetailPrice*@Amount_cs
Update CommodityStock
set ProductDate=@ProductDate,InvalidateDate=@InvalidateDate,InstockDate=@CreateDate,CostPrice=@CostPrice,Amount=@Amount_cs,
FactAmount=@Amount_cs,SumCost=@SumCost,RetailPrice=@RetailPrice,SumRetail=@SumRetail,CurrentRetailPrice=@RetailPrice,IsChinese=@IsChinese,
CounterId=@CounterId,CounterName=@CounterName ,DataVersion=@CommodityStockDataVersion+1,IsMemberPrice=@IsMemberPrice,
IsDiscount=@IsDiscount,IsScore=@IsScore,CustomCode=@CustomCode,PreMemberPrice=@PreMemberPrice,CurrentMemberPrice=@CurMemberPrice,
Medicare=@Medicare,PackingId=@PackingId,PackingName=@PackingName ,CustomStr=@CustomStr,ProductName=@ProductName
where DepotId=@Bill_InStockId
and EmbranchmentId=@EmbranchmentId
and CommodityId=@CommodityId
and InOrder=@InOrder
and BatchCode=@BatchCode
and PackingId=@PackingId
if @@error <>0
begin
SELECT @ErrorMessage='更新库存出错!'
Select @ErrorInfoId=-10
ROLLBACK
RETURN -1
end
/*************************************在社区药店系统版本处理部分**********************************************/
if @EmbranchmentId=-1
begin
Update DataVersion
set PreviousVersion=@CommodityStockDataVersion,CurVersion=@CommodityStockDataVersion+1,
OriginDateTime=@CommodityStockSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=-1
and DataVersionId=14
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-111
ROLLBACK
RETURN -1
end
end
/***************************************************************************************************************************/
select @CurVersion=CurVersion from DataVersion --版本处理部分
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-11
ROLLBACK
RETURN -1
end
Update DataVersion
set PreviousVersion=@CurVersion,CurVersion=@CurVersion+1
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-12
ROLLBACK
RETURN -1
end
--InoutStockTable处理部分
select @CurSaleSumMoney=@Amount_cs*@RetailPrice;
insert into InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId, BillCode, BusinessDate, AuditDate,RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice,
PreBatchSalePrice, ChangePrice, Discount, DiscountPrice, PreAmount, ChangeAmount, InAmount,CurAmount, PreCostSumMoney,PreSaleSumMoney,
PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney,
ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion, CommodityName ,Spec,
DoseTypeName,ProducingArea,Unit,AuthorizeCode,CreatorName ,BusinessName , BillCodeName ,StockName, EmbranchmentName ,
ProviderName,CustomerName,InStockName,OutStockName,CustomCode,CounterId,CounterName,PackingId,PackingName ,CustomStr,ProductName,IsMemberPrice)
values (newid(),@EmbranchmentId, @Bill_InStockId, @BillType, @BillId,@BillCode,@BusinessDate,@AuditDate, @RowNum, @CommodityId, @BatchCode,@CostPrice_pre,
@RetailPrice_pre, 0, @Price, @Discount, @DiscountPrice, @Amount_pre, @Amount, @Amount, @Amount_cs, @SumCost_pre, 0, 0,
@SumMoney, @CostPrice, @RetailPrice, 0, @SumCost, 0, @CurSaleSumMoney, @ProductDate, @InvalidateDate, 1, 1, @ProviderId,
@CustomerId, @Bill_InStockId, 0, @CurVersion+1, @CommodityName ,@Spec,@DoseTypeName,@ProducingArea,@Unit,@AuthorizeCode, @CreatorName ,
@BusinessName, @BillCodeName, @StockName, @EmbranchmentName , @ProviderName , @CustomerName, @InStockName , @OutStockName,@CustomCode,@CounterId,@CounterName,@PackingId,@PackingName ,@CustomStr,@ProductName,@IsMemberPrice)
if @@error <>0
begin
SELECT @ErrorMessage='插入InoutStockTable出错!'
Select @ErrorInfoId=-13
ROLLBACK
RETURN -1
end
end
Update Bill
set Status=2,AuditDate=getdate() where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
and Status=1
if @@error <>0
begin
SELECT @ErrorMessage='更新主单出错!'
Select @ErrorInfoId=-14
ROLLBACK
RETURN -1
end
fetch next from Cur_BuyInStockDetail
into @CommodityId, @BatchCode, @Price, @Discount, @DiscountPrice, @Amount, @SumMoney,
@ProductDate, @ValidateDate,@RowNum,@RetailPrice,@BatchCode ,@InvalidateDate,@CommodityName,@Spec,
@DoseTypeName,@ProducingArea,@Unit,@AuthorizeCode,@SpellCode,@CustomCode,@IsChinese, @CounterId,
@CounterName,@TXM,@CurMemberPrice,@Medicare,@PackingId,@PackingName ,@CustomStr,@ProductName,
@IsMemberPrice,@IsDiscount,@IsScore
end
SELECT @ErrorMessage='单据审核成功!'
Select @ErrorInfoId=1
CLOSE Cur_BuyInStockDetail
DEALLOCATE Cur_BuyInStockDetail
Commit Tran
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[bill_GetCode] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[bill_GetCode]
(
@id tinyint, --表SYSDATA的IDKEY列对应的值
@szReturn varchar (50) output --所取得的值
)
AS
set nocount on
SET TRANSACTION ISOLATION LEVEL Serializable --事务序列化
begin tran
select @szReturn=BillCode from BillCode with(updlock) where Id=@id --取得行级排他锁
if @szReturn is null
begin
rollback tran --没有取得值
return -1
end
update BillCode set Number=right(cast((10000000001+cast(Number as bigint) ) as varchar(20)),10) where Id=@id
commit tran
return 0
GO
/****** Object: Table [dbo].[ApplicationUserRole] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ApplicationUserRole](
[ApplicationId] [int] NOT NULL,
[UserId] [int] NOT NULL,
[RoleId] [int] NOT NULL,
CONSTRAINT [ApplicationUserRole_PK] PRIMARY KEY CLUSTERED
(
[ApplicationId] ASC,
[UserId] ASC,
[RoleId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[ApplicationUser] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ApplicationUser](
[ApplicationId] [int] NOT NULL,
[UserId] [int] NOT NULL,
CONSTRAINT [ApplicationUser_PK] PRIMARY KEY CLUSTERED
(
[ApplicationId] ASC,
[UserId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: StoredProcedure [dbo].[billReportSpill_Audit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/**********************************************************************
Author : myc
CreateDate : 2006-8-7
Summary : 报溢单的审核
Remark :
1 将采购入库单明细中对应的商品添加到库存表(CommodityStock)中
***********************************************************************/
CREATE PROCEDURE [dbo].[billReportSpill_Audit]
(
@BillId INT,
@ErrorMessage VARCHAR(100) OUTPUT ,
@ErrorInfoId int OUTPUT
)
AS
/*定义Bill对应的局部变量*/
DECLARE @BillType TINYINT
DECLARE @BillFlowId INT
DECLARE @BillCode VARCHAR(50)
DECLARE @CreateDate SMALLDATETIME
DECLARE @CreatorId SMALLINT
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @CustomerId INT
--DECLARE @CardId INT
DECLARE @SumMoney DECIMAL(18,4)
DECLARE @Status TINYINT
DECLARE @OutStockId TINYINT
DECLARE @Summary VARCHAR(100)
DECLARE @FactSumMoney VARCHAR(100)
DECLARE @Remark VARCHAR(100)
DECLARE @ShiftId INT
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @ProviderName VARCHAR(100)
DECLARE @InStockName VARCHAR(100)
DECLARE @OutStockName VARCHAR(100)
DECLARE @EmbranchmentName VARCHAR(100)
DECLARE @BillCodeName VARCHAR(100)
DECLARE @BusinessName VARCHAR(100)
DECLARE @CustomerName VARCHAR(100)
DECLARE @CreatorName VARCHAR(100)
DECLARE @StockName VARCHAR(100)
/*定义BillDetailReportSpill对应的局部变量*/
DECLARE @RowNum tinyint
DECLARE @Discount decimal (6,4)
DECLARE @DiscountPrice decimal (18,4)
DECLARE @TaxRate decimal (6,4)
DECLARE @TaxPrice char
DECLARE @SumMoney_ReportSpill decimal (18,4)
DECLARE @RetailPrice decimal (18,4)
DECLARE @SpellCode varchar(100)
DECLARE @CustomCode varchar(50)
DECLARE @PackingId int
DECLARE @PackingName varchar(50)
DECLARE @CustomStr varchar(100)
DECLARE @ProductName varchar(100)
/*定义CommodityStock对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @InOrder int
DECLARE @InOrderLast int
DECLARE @CommodityId int
DECLARE @BatchCode varchar(50)
DECLARE @InvalidateDate datetime
DECLARE @InstockDate datetime
DECLARE @Amount_cs decimal (18,4)
DECLARE @CostPrice decimal (18,4)
DECLARE @FactAmount decimal (18,4)
DECLARE @Odds decimal(18,4)
DECLARE @SumCost decimal (18,4)
DECLARE @ProductDate smalldatetime
DECLARE @Price decimal (18,4)
DECLARE @Amount decimal (18,4)
DECLARE @SumRetail decimal(18,4)
DECLARE @CommodityStockDataVersion bigint
DECLARE @CommodityStockOriginDateTime datetime
DECLARE @CommodityStockSynchronizeDateTime datetime
/*定义InoutStockTable对应的局部变量*/
DECLARE @Guid_is uniqueidentifier
DECLARE @StockId tinyint
DECLARE @PreCostPrice decimal(18,4)
DECLARE @PreSalePrice decimal(18,4)
DECLARE @PreBatchSalePrice decimal(18,4)
DECLARE @ChangePrice decimal(18,4)
DECLARE @PreAmount decimal(18,4)
DECLARE @ChangeAmount decimal(18,4)
DECLARE @CurAmount decimal(18,4)
DECLARE @PreCostSumMoney decimal(18,4)
DECLARE @PreSaleSumMoney decimal(18,4)
DECLARE @PreBatchSaleSumMoney decimal(18,4)
DECLARE @ChangeSumMoney decimal(18,4)
DECLARE @CurCostPrice decimal(18,4)
DECLARE @CurSalePrice decimal(18,4)
DECLARE @CurBatchSalePrice decimal(18,4)
DECLARE @CurCostSumMoney decimal(18,4)
DECLARE @CurSaleSumMoney decimal(18,4)
DECLARE @CurBatchSaleSumMoney decimal(18,4)
DECLARE @IsAmountChanged bit
DECLARE @IsMoneyChanged bit
DECLARE @InStockId int
DECLARE @DataVersion bigint
DECLARE @InAmount int
DECLARE @OutAmount int
DECLARE @CommodityName varchar(100)
DECLARE @DoseTypeName varchar(100)
DECLARE @Spec varchar(100)
DECLARE @ProducingArea varchar(100)
DECLARE @Unit varchar(100)
DECLARE @AuthorizeCode varchar(100)
/*自定义变量*/
DECLARE @RowCount int
DECLARE @CurVersion bigint
/*根据情况对局部变量赋初始值*/
select @CommodityStockDataVersion=0
SELECT @BillType=4 --报溢单的BillType为4
SELECT @ErrorMessage='审核成功!'
SELECT @EmbranchmentId=INTValue FROM SysData WHERE Name='EmbranchmentId'
IF @EmbranchmentId IS NULL
BEGIN
SELECT @ErrorMessage='1.未查找到对应的分支机构Id'
Select @ErrorInfoId=-1 RETURN 1
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
SELECT
@EmbranchmentId=EmbranchmentId,
@BillId=BillId,
@BillType=BillType,
@BillFlowId=BillFlowId,
@BillCode=BillCode,
@CreateDate=CreateDate,
@CreatorId=CreatorId,
@BusinessDate=BusinessDate,
@BusinessId=BusinessId,
@AuditDate=AuditDate,
@AuditorId=AuditorId,
@ProviderId=ProviderId,
@CustomerId=CustomerId,
--@CardId=CardId,
@Status=@Status,
@DisCount=Discount,
@SumMoney=SumMoney,
@FactSumMoney=@FactSumMoney,
@InStockId=InStockId,
@OutStockId=OutStockId,
@Summary=Summary,
@Remark=Remark,
@ShiftId=ShiftId,
@Guid=Guid,
@DisCount=DisCount,
@ProviderName=ProviderName,
@InStockName=InStockName,
@OutStockName=OutStockName,
@EmbranchmentName=EmbranchmentName,
@BillCodeName=BillCodeName,
@BusinessName=BusinessName,
@CustomerName=CustomerName,
@CreatorName=CreatorName,
@StockName=StockName
FROM Bill(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
SELECT @RowCount=@@ROWCOUNT
IF @RowCount=0
BEGIN
ROLLBACK
SELECT @ErrorMessage='2.没有找到要审核的单据'
Select @ErrorInfoId=-2
RETURN 2
END
IF @RowCount>=2
BEGIN
ROLLBACK
SELECT @ErrorMessage='3.单据@BillId在报溢单中多次出现'
Select @ErrorInfoId=-3
RETURN 3
END
SELECT * FROM BillDetailReportSpill
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
if @@ROWCOUNT<=0
begin
SELECT @ErrorMessage='4.没有找到要审核的从单--报溢单'
Select @ErrorInfoId=-4
ROLLBACK
RETURN 4
end
DECLARE Cur_BillDetailReportSpill CURSOR FOR /*从单--报溢单游标*/
SELECT EmbranchmentId,BillType,BillId,RowNum,Commodityid,BatchCode,
Price,Amount,SumMoney,ProductDate,InvalidateDate,RetailPrice,CommodityName,DoseTypeName,Spec,ProducingArea,Unit,AuthorizeCode,InOrder,SpellCode,CustomCode , PackingId, PackingName ,CustomStr,ProductName
FROM BillDetailReportSpill
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
open Cur_BillDetailReportSpill
fetch next from Cur_BillDetailReportSpill
into @EmbranchmentId,@BillType,@BillId,@RowNum,@CommodityId,@BatchCode,@Price,
@Amount,@SumMoney,@ProductDate,@InvalidateDate,@RetailPrice,@CommodityName,@DoseTypeName,@Spec,
@ProducingArea,@Unit,@AuthorizeCode,@InOrder,@SpellCode,@CustomCode,@PackingId, @PackingName ,@CustomStr,@ProductName
while @@FETCH_STATUS=0
begin
select @InOrder=isnull(max(InOrder),0) from CommodityStock where CommodityId=@CommodityId and PackingId=@PackingId and BatchCode= @BatchCode
select @InOrderLast=isnull(max(InOrder),0) from CommodityStock where CommodityId=@CommodityId and PackingId=@PackingId
select @CostPrice=CostPrice,@RetailPrice=RetailPrice,@Amount_cs=Amount,@FactAmount=FactAmount,@Odds=Odds,@SumCost=SumCost,@SumRetail=SumRetail from CommodityStock
where depotId=@InStockId
and EmbranchmentId=@EmbranchmentId
and CommodityId=@CommodityId
and BatchCode=@BatchCode
and inorder=@Inorder
and PackingId=@PackingId
SELECT @RowCount=@@ROWCOUNT
select @PreCostPrice=@CostPrice, @PreSalePrice=@RetailPrice
if @ROWCOUNT>1
begin
SELECT @ErrorMessage='5.库存中相同记录过多!'
Select @ErrorInfoId=-5
ROLLBACK
RETURN 5
end
if @ROWCOUNT<=1
begin
/*向库存(CommodityStock)中插入记录*/
if @Rowcount<1
begin
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
/**************************************************************************************************************************************/
select @CostPrice=0--CommodityStock处理部分
select @Amount_cs=0
select @CostPrice=@Price/*计算成本价*/
select @Amount_cs=@Amount+@Amount_cs /*计算数量*/
select @SumCost=@CostPrice*@Amount_cs /*计算小计金额*/
select @SumRetail=@RetailPrice*@Amount_cs
-- select @InOrder=isnull(max(InOrder)+1,0) from CommodityStock where CommodityId=@CommodityId and PackingId=@PackingId
insert into CommodityStock (DepotId, EmbranchmentId, CommodityId, BatchCode, InOrder, ProductDate, InvalidateDate, InstockDate, CostPrice, RetailPrice, Amount, FactAmount, SumCost, SumRetail, CommodityName, Spec, DoseTypeName, ProducingArea, Unit, AuthorizeCode, SpellCode ,DataVersion,CurrentRetailPrice,PackingId,PackingName,CustomCode ,CustomStr,ProductName)
values(@InStockId, @EmbranchmentId, @CommodityId, @BatchCode, @InOrderLast+1, @ProductDate, @InvalidateDate, @CreateDate, @CostPrice,@RetailPrice, @Amount_cs, @Amount_cs, @SumCost, @SumRetail,@CommodityName,@Spec,@DoseTypeName,@ProducingArea,@Unit,@AuthorizeCode,@SpellCode ,@CommodityStockDataVersion+1,@RetailPrice,@PackingId,@PackingName,@CustomCode ,@CustomStr,@ProductName)
if @@ERROR<>0
begin
SELECT @ErrorMessage='7.执行存储过程billDetailReportSpill_Audit时出错,向库存(CommodityStock)中插入记录失败'
Select @ErrorInfoId=-7
ROLLBACK
RETURN 7
end
end
else
begin/*向库存(CommodityStock)中更新数据*/
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
/**************************************************************************************************************************************/
select @SumCost=@CostPrice*@Amount_cs+@Price*@Amount
select @Amount_cs=@Amount_cs+@Amount
select @FactAmount=@FactAmount+@Amount
select @CostPrice=@SumCost/@Amount_cs
select @SumRetail=@RetailPrice*@Amount_cs
update CommodityStock
set ProductDate=@ProductDate,InvalidateDate=@InvalidateDate,SumCost=@SumCost,Amount=@Amount_cs,FactAmount=@FactAmount,CostPrice=@CostPrice,SumRetail=@SumRetail ,DataVersion=@CommodityStockDataVersion+1
where depotId=@InStockId
and EmbranchmentId=@EmbranchmentId
and CommodityId=@CommodityId
and InOrder=@InOrder
and PackingId=@PackingId
if @@ERROR<>0
begin
SELECT @ErrorMessage='7.执行存储过程billDetailReportSpill_Audit时出错,向库存(CommodityStock)中更新记录失败'
Select @ErrorInfoId=-7
ROLLBACK
RETURN 7
end
end
end
/*************************************在社区药店系统版本处理部分**********************************************/ Update DataVersion
set PreviousVersion=@CommodityStockDataVersion,CurVersion=@CommodityStockDataVersion+1,
OriginDateTime=@CommodityStockSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-111
ROLLBACK
RETURN -1
end
/***************************************************************************************************************************/
SELECT @CurVersion=CurVersion FROM DataVersion --版本处理部分
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
IF @@ROWCOUNT<>1
BEGIN
SELECT @ErrorMessage='8.取版本出错!'
Select @ErrorInfoId=-8
ROLLBACK
RETURN 8
END
UPDATE DataVersion
SET CurVersion=@CurVersion+1
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
IF @@ERROR<>0
BEGIN
SELECT @ErrorMessage='9.版本更新失败,审核不成功!'
Select @ErrorInfoId=-9
ROLLBACK
RETURN 9
END
--InoutStockTable处理部分
select @stockId=@InStockId,@ChangeAmount=@Amount,@InAmount=@Amount,@CurAmount=@Amount_cs,@InStockId=@InStockid ,@OutAmount=0
select @ChangePrice=@Price-@CostPrice,@DisCountPrice=@RetailPrice*@DisCount,@PreAmount=@Amount_cs-@Amount,@PreCostSumMoney=@PreCostPrice*@PreAmount,@CurCostPrice=@CostPrice,@CurSalePrice=@RetailPrice,@CurCostSumMoney=@CurCostPrice*@CurAmount
INSERT INTO InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId, BillCode, BusinessDate, AuditDate, RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice, PreBatchSalePrice, ChangePrice, Discount, DiscountPrice, PreAmount, ChangeAmount, CurAmount, PreCostSumMoney,PreSaleSumMoney, PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney, ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion,InAmount,OutAmount,CommodityName,DoseTypeName,Spec,ProducingArea,Unit,AuthorizeCode,ProviderName,EmbranchmentName,BillCodeName,BusinessName,CustomerName,CreatorName,StockName,CustomCode,PackingId,PackingName ,CustomStr,ProductName)
VALUES (newid(),@EmbranchmentId, @StockId, @BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId, @BatchCode,@PreCostPrice,@PreSalePrice, 0, @ChangePrice,@Discount,@DiscountPrice,@PreAmount,@ChangeAmount,@CurAmount,@PreCostSumMoney, 0, 0, @SumMoney, @CurCostPrice,@CurSalePrice, 0, @CurCostSumMoney , 0, 0, @ProductDate, @InvalidateDate, 1, 1, @ProviderId, @CustomerId, @StockId, 0, @CurVersion + 1,@InAmount,@OutAmount,@CommodityName,@DoseTypeName,@Spec,@ProducingArea,@Unit,@AuthorizeCode, @ProviderName,@EmbranchmentName,@BillCodeName,@BusinessName,@CustomerName,@CreatorName,@StockName,@CustomCode,@PackingId,@PackingName ,@CustomStr,@ProductName)
IF @@ERROR<>0
BEGIN
SELECT @ErrorMessage='10.插入InoutStockTable出错!'
Select @ErrorInfoId=-10
ROLLBACK
RETURN 10
END
fetch next from Cur_BillDetailReportSpill
into @EmbranchmentId,@BillType,@BillId,@RowNum,@CommodityId,@BatchCode,@Price,@Amount,@SumMoney,@ProductDate,@InvalidateDate,@RetailPrice,@CommodityName,@DoseTypeName,@Spec,@ProducingArea,@Unit,@AuthorizeCode,@InOrder,@SpellCode,@CustomCode,@PackingId,@PackingName ,@CustomStr,@ProductName
end
UPDATE Bill
SET Status=2,AuditDate=GETDATE()
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@error <>0 BEGIN
SELECT @ErrorMessage='8.更新主单出错!'
Select @ErrorInfoId=-11
ROLLBACK
RETURN 8
END
Select @ErrorInfoId=1 COMMIT
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[billReportLoss_Audit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/**********************************************************************
Author : zjl
CreateDate : 2006-8-8
Summary : 报损单的审核
Remark :
1 将报损单明细中对应的商品添加到库存表(CommodityStock)中
***********************************************************************/
CREATE PROCEDURE [dbo].[billReportLoss_Audit]
(
@BillId INT,
@ErrorMessage VARCHAR(100) OUTPUT ,
@ErrorInfoId int OUTPUT
)
AS
/*定义Bill对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @BillType TINYINT
DECLARE @BillFlowId INT
DECLARE @BillCode VARCHAR(50)
DECLARE @CreateDate SMALLDATETIME
DECLARE @CreatorId SMALLINT
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @CustomerId INT
--DECLARE @CardId INT
DECLARE @Status TINYINT
DECLARE @SumMoney DECIMAL(18,4)
DECLARE @InDepotId TINYINT
DECLARE @OutDepotId TINYINT
DECLARE @Summary VARCHAR(100)
DECLARE @Remark VARCHAR(100)
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @CreatorName VARCHAR(50)
DECLARE @BusinessName VARCHAR(50)
DECLARE @BillCodeName VARCHAR(50)
DECLARE @StockName VARCHAR(50)
DECLARE @EmbranchmentName VARCHAR(50)
DECLARE @ProviderName VARCHAR(50)
DECLARE @CustomerName VARCHAR(50)
DECLARE @InStockName VARCHAR(50)
DECLARE @OutStockName VARCHAR(50)
/*定义BillDetailReportLoss对应的局部变量*/
DECLARE @RowNum tinyint
DECLARE @CommodityId int
DECLARE @BatchCode varchar(50)
DECLARE @Price decimal (18,4)
DECLARE @Amount decimal (18,4)
DECLARE @SumMoney_Detail decimal (18,4)
DECLARE @ProductDate smalldatetime
DECLARE @InvalidateDate smalldatetime
DECLARE @DisCount decimal(9)
DECLARE @CommodityName varchar(100)
DECLARE @Spec varchar(50)
DECLARE @Unit varchar(50)
DECLARE @DoseTypeName varchar(50)
DECLARE @AuthorizeCode varchar(50)
DECLARE @ProducingArea varchar(50)
DECLARE @CustomCode varchar(50)
DECLARE @CounterId TINYINT
DECLARE @CounterName varchar(50)
DECLARE @PackingId int
DECLARE @PackingName varchar(50)
DECLARE @CustomStr varchar(100)
DECLARE @ProductName varchar(100)
/*定义Commodity对应的局部变量*/
DECLARE @GeneralName varchar(100)
/*定义CommodityStock对应的局部变量*/
DECLARE @InOrder int
DECLARE @InvalidDate datetime
DECLARE @InstockDate datetime
DECLARE @CostPrice decimal (18,4)
DECLARE @FactAmount decimal (18,4)
DECLARE @Amount_cs decimal (18,4)
DECLARE @SumCost decimal (18,4)
DECLARE @RetailPrice decimal(18,4)
DECLARE @SumRetail decimal(18,4)
DECLARE @CommodityStockDataVersion bigint
DECLARE @CommodityStockOriginDateTime datetime
DECLARE @CommodityStockSynchronizeDateTime datetime
/*定义InoutStockTable对应的局部变量*/
DECLARE @Guid_is uniqueidentifier
DECLARE @StockId tinyint
DECLARE @PreCostPrice decimal(18,4)
DECLARE @PreSalePrice decimal(18,4)
DECLARE @PreBatchSalePrice decimal(18,4)
DECLARE @ChangePrice decimal(18,4)
DECLARE @PreAmount decimal(18,4)
DECLARE @ChangeAmount decimal(18,4)
DECLARE @CurAmount decimal(18,4)
DECLARE @PreCostSumMoney decimal(18,4)
DECLARE @PreSaleSumMoney decimal(18,4)
DECLARE @PreBatchSaleSumMoney decimal(18,4)
DECLARE @ChangeSumMoney decimal(18,4)
DECLARE @CurCostPrice decimal(18,4)
DECLARE @CurSalePrice decimal(18,4)
DECLARE @CurBatchSalePrice decimal(18,4)
DECLARE @CurCostSumMoney decimal(18,4)
DECLARE @CurSaleSumMoney decimal(18,4)
DECLARE @CurBatchSaleSumMoney decimal(18,4)
DECLARE @IsAmountChanged bit
DECLARE @IsMoneyChanged bit
DECLARE @InStockId int
DECLARE @OutStockId int
DECLARE @DataVersion bigint
DECLARE @InAmount int
DECLARE @OutAmount int
DECLARE @DisCountPrice decimal(18,4)
/*定义DataVersion对应的局部变量*/
DECLARE @DataVersionId int
DECLARE @Name varchar(20)
DECLARE @PreviousVersion bigint
DECLARE @CurVersion bigint
DECLARE @OriginDateTime datetime
DECLARE @SynchronizeDateTime datetime
/*定义一个变量来保存行变化的情况*/
DECLARE @RowCount int
/*根据情况对局部变量赋初始值*/
select @CommodityStockDataVersion=0
SELECT @BillType=3 --报损单的BillType为3
SELECT @ErrorMessage='审核成功!'
SELECT @EmbranchmentId=INTValue FROM SysData WHERE Name='EmbranchmentId'
IF @EmbranchmentId IS NULL
BEGIN
SELECT @ErrorMessage='未查找到对应的分支机构Id'
Select @ErrorInfoId=-1
RETURN -1
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
SELECT
@EmbranchmentId=EmbranchmentId,
@BillId=BillId,
@BillType=BillType,
@BillFlowId=BillFlowId,
@BillCode=BillCode,
@CreateDate=CreateDate,
@CreatorId=CreatorId,
@BusinessDate=BusinessDate,
@BusinessId=BusinessId,
@AuditDate=AuditDate,
@AuditorId=AuditorId,
@ProviderId=ProviderId,
@CustomerId=CustomerId,
--@CardId=CardId,
@Status=@Status,
@SumMoney=SumMoney,
@InDepotId=InStockId,
@OutDepotId=OutStockId,
@Summary=Summary,
@Remark=Remark,
@Guid=Guid,
@DisCount=DisCount,
@CreatorName=CreatorName,
@BusinessName=BusinessName,
@BillCodeName=BillCodeName,
@StockName=StockName,
@EmbranchmentName=EmbranchmentName,
@ProviderName=ProviderName,
@CustomerName=CustomerName,
@InStockName=InStockName,
@OutStockName=OutStockName
FROM Bill(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@ROWCOUNT=0
BEGIN
ROLLBACK
SELECT @ErrorMessage='没有找到要审核的单据'
Select @ErrorInfoId=-2
RETURN
END
/*检查从单是否完整*/
SELECT CommodityId, BatchCode, Price, Amount, SumMoney,
ProductDate, ValidateDate
FROM BillDetailReportLoss
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
IF @@ROWCOUNT<=0
BEGIN
SELECT @ErrorMessage='没有找到要审核的从单'
Select @ErrorInfoId=-3
ROLLBACK
RETURN
END
DECLARE Cur_ReportLossDetail CURSOR FOR --从单游标
SELECT CommodityId, BatchCode, Price, Amount, SumMoney,
ProductDate, ValidateDate,RowNum, CommodityName, Spec,
Unit, ProducingArea, DoseTypeName, AuthorizeCode,CustomCode,
InOrder,CounterId,CounterName, PackingId, PackingName ,CustomStr,ProductName
FROM BillDetailReportLoss
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
OPEN Cur_ReportLossDetail --打开游标
FETCH NEXT FROM Cur_ReportLossDetail
INTO @CommodityId, @BatchCode, @Price, @Amount, @SumMoney,
@ProductDate, @InvalidateDate ,@RowNum,@CommodityName, @Spec,
@Unit, @ProducingArea, @DoseTypeName, @AuthorizeCode,@CustomCode,
@InOrder,@CounterId,@CounterName,@PackingId, @PackingName ,@CustomStr,@ProductName
WHILE @@FETCH_STATUS = 0
BEGIN
/*向库存(CommodityStock)中插入记录,要使用移动加权平均法来修改"成本价"*/
/*移动加权平均法的算法:CostPrice=((CostPrice*Amount)+(DiscountPrice*Amount)/(Amount(从单)+Amount(库存)))*/
/*SumCost=CostPrice*Amount*/
SELECT @GeneralName=GeneralName
FROM Commodity
WHERE CommodityId=@CommodityId
and PackingId=@PackingId
SELECT @CostPrice=CostPrice,@Amount_cs=Amount,@SumCost=SumCost,@RetailPrice=RetailPrice FROM CommodityStock /*从库存中找相同的记录,用来做移动加权平均法来修改"成本价"*/
WHERE DepotId=@OutDepotId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and InOrder=@InOrder
and PackingId=@PackingId
SELECT @RowCount=@@ROWCOUNT
IF @RowCount>1
BEGIN
SELECT @ErrorMessage='数据库中相同记录过多!'
Select @ErrorInfoId=-4
ROLLBACK
RETURN
END
IF @RowCount<=0 /*库存中没有对应的记录就插入,有则修改“成本价”、“数量”、“FactAmount”、“生产日期”、“有效期至”、“入库时间”*/
BEGIN
SELECT @ErrorMessage='药品仓库数量不足,编号:'+ cast(@CommodityId as varchar(100))+'品名:'+@GeneralName
Select @ErrorInfoId=-5
ROLLBACK
RETURN
END
ELSE
BEGIN
SELECT @SumCost=@CostPrice*(@Amount_cs-@Amount) /*计算小计金额*/
SELECT @Amount_cs=@Amount_cs-@Amount /*计算数量*/
SELECT @SumRetail=@RetailPrice*@Amount_cs
if(@Amount_cs<0)
BEGIN
SELECT @ErrorMessage='药品仓库数量不足,编号:'+ cast(@CommodityId as varchar(100)) +'品名:'+@GeneralName
Select @ErrorInfoId=-6
ROLLBACK
RETURN
END
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
/**************************************************************************************************************************************/
UPDATE CommodityStock
SET Amount=@Amount_cs,FactAmount=@Amount_cs,SumCost=@SumCost ,SumRetail=@SumRetail,DataVersion=@CommodityStockDataVersion+1
WHERE DepotId=@OutDepotId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and InOrder=@InOrder
and PackingId=@PackingId
IF @@ERROR<>0
BEGIN
SELECT @ErrorMessage='库存数据更新失败,审核不成功!'
Select @ErrorInfoId=-7
ROLLBACK
RETURN
END
/*************************************在社区药店系统版本处理部分**********************************************/ Update DataVersion
set PreviousVersion=@CommodityStockDataVersion,CurVersion=@CommodityStockDataVersion+1,
OriginDateTime=@CommodityStockSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-111
ROLLBACK
RETURN -1
end
/***************************************************************************************************************************/
SELECT @CurVersion=CurVersion FROM DataVersion --版本处理部分
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
IF @@ROWCOUNT<>1
BEGIN
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-8
ROLLBACK
RETURN
END
UPDATE DataVersion
SET CurVersion=@CurVersion+1
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
IF @@ERROR<>0
BEGIN
SELECT @ErrorMessage='版本更新失败,审核不成功!'
Select @ErrorInfoId=-9
ROLLBACK
RETURN
END
--InoutStockTable处理部分
select @PrecostPrice=@CostPrice,@PreSalePrice=@RetailPrice,@ChangePrice=@Price-@CostPrice,@CurCostPrice=@CostPrice,@CurSalePrice=@RetailPrice
select @StockId=@IndepotId,@InAmount=0,@OutAmount=@Amount,@InStockId=@IndepotId ,@ChangeAmount=@Amount,@CurAmount=@Amount_cs,@DisCountPrice=@RetailPrice*@DisCount,@PreAmount=@Amount_cs+@Amount,@PreCostSumMoney=@PrecostPrice*@PreAmount,@CurCostSumMoney=@CurCostPrice*@Amount_cs
INSERT INTO InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId, BillCode, BusinessDate, AuditDate, RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice, PreBatchSalePrice, ChangePrice, Discount, DiscountPrice, PreAmount, ChangeAmount, CurAmount, PreCostSumMoney,PreSaleSumMoney, PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney, ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion, InAmount, OutAmount,CommodityName,Spec,Unit,ProducingArea,AuthorizeCode,DoseTypeName,CreatorName,BusinessName,BillCodeName,StockName,EmbranchmentName,ProviderName,CustomerName,InStockName,OutStockName,Remark,CustomCode,CounterId,CounterName,PackingId,PackingName,CustomStr,ProductName)
VALUES (newid(),@EmbranchmentId, @StockId, @BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId, @BatchCode,@PrecostPrice,@PreSalePrice, 0, @ChangePrice,@Discount,@DiscountPrice,@PreAmount,@ChangeAmount, @CurAmount,@PreCostSumMoney, 0, 0, @SumMoney, @CurCostPrice, @CurSalePrice, 0, @CurCostSumMoney, 0, 0 , @ProductDate, @InvalidateDate, 1, 1, @ProviderId, @CustomerId, @InStockId, 0, @CurVersion + 1,@InAmount,@OutAmount,@CommodityName,@Spec,@Unit,@ProducingArea,@AuthorizeCode,@DoseTypeName,@CreatorName,@BusinessName,@BillCodeName,@StockName,@EmbranchmentName,@ProviderName,@CustomerName,@InStockName,@OutStockName,@Remark,@CustomCode,@CounterId,@CounterName,@PackingId,@PackingName,@CustomStr,@ProductName)
IF @@ERROR<>0
BEGIN
SELECT @ErrorMessage='插入InoutStockTable出错!'
Select @ErrorInfoId=-10
ROLLBACK
RETURN
END
END
UPDATE Bill
SET Status=2,AuditDate=GETDATE()
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@ERROR<>0
BEGIN
SELECT @ErrorMessage='主单更新失败,审核不成功!'
Select @ErrorInfoId=-11
ROLLBACK
RETURN
END
/*向InoutStockTable中插入记录*/
FETCH NEXT FROM Cur_ReportLossDetail
INTO @CommodityId, @BatchCode, @Price, @Amount, @SumMoney,
@ProductDate, @InvalidateDate ,@RowNum,@CommodityName, @Spec,
@Unit, @ProducingArea, @DoseTypeName, @AuthorizeCode,@CustomCode,
@InOrder,@CounterId,@CounterName,@PackingId,@PackingName,@CustomStr,@ProductName
END
CLOSE Cur_ReportLossDetail
DEALLOCATE Cur_ReportLossDetail
SELECT @ErrorMessage='审核成功!'
Select @ErrorInfoId=1
COMMIT TRAN
GO
/****** Object: StoredProcedure [dbo].[billNewStock_Audit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/**********************************************************************
Author : scs
CreateDate : 2006-7-26
Summary : 采购入库单的审核
Remark :
1 将采购入库单明细中对应的商品添加到库存表(Commodity)中
***********************************************************************/
CREATE PROCEDURE [dbo].[billNewStock_Audit]
(
@BillId INT,
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
--set nocount on
/*定义Bill对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @BillType TINYINT
DECLARE @BillFlowId INT
DECLARE @BillCode varchar(50)
DECLARE @CreateDate SMALLDATETIME
DECLARE @CreatorId SMALLINT
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @CustomerId INT
--DECLARE @CardId INT
DECLARE @Status TINYINT
DECLARE @SumMoney DECIMAL(18,4)
DECLARE @Bill_InStockId TINYINT
DECLARE @Bill_OutStockId TINYINT
DECLARE @Summary VARCHAR(100)
DECLARE @Remark VARCHAR(100)
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @CreatorName varchar(50)
DECLARE @BusinessName varchar(50)
DECLARE @BillCodeName varchar(50)
DECLARE @StockName varchar(50)
DECLARE @EmbranchmentName varchar(50)
DECLARE @ProviderName varchar(50)
DECLARE @CustomerName varchar(50)
DECLARE @InStockName varchar(50)
DECLARE @OutStockName varchar(50)
/*定义BillDetailBuyInStock对应的局部变量*/
DECLARE @RowNum tinyint
DECLARE @CommodityId int
DECLARE @BatchCode varchar(50)
DECLARE @Price decimal (18,4)
DECLARE @Discount decimal (6,4)
DECLARE @DiscountPrice decimal (18,4)
DECLARE @TaxRate decimal (6,4)
DECLARE @TaxPrice char
DECLARE @Amount decimal (18,4)
DECLARE @SumMoney_Detail decimal (18,4)
DECLARE @SumTaxMoney decimal (18,4)
DECLARE @ProductDate smalldatetime
DECLARE @ValidateDate smalldatetime
DECLARE @RetailPrice decimal (18,4)
DECLARE @CommodityName varchar(100)
DECLARE @Spec varchar(50)
DECLARE @DoseTypeName varchar(50)
DECLARE @ProducingArea varchar(50)
DECLARE @Unit varchar(50)
DECLARE @AuthorizeCode varchar(50)
DECLARE @SpellCode varchar(50)
DECLARE @CustomCode varchar(50)
DECLARE @PackingId int
DECLARE @PackingName varchar(50)
DECLARE @IsChinese bit
DECLARE @CustomStr varchar(100)
DECLARE @ProductName varchar(100)
DECLARE @TXM varchar(60)
DECLARE @CounterId TINYINT
DECLARE @CounterName varchar(50)
DECLARE @IsMemberPrice bit
DECLARE @IsDiscount bit
DECLARE @IsScore bit
DECLARE @Medicare TINYINT
/*定义CommodityStock对应的局部变量*/
DECLARE @InOrder int
DECLARE @InOrderLast int
DECLARE @InvalidateDate datetime
DECLARE @InstockDate datetime
DECLARE @CostPrice decimal (18,4)
DECLARE @CostPrice_pre decimal (18,4)
DECLARE @FactAmount decimal (18,4)
DECLARE @RetailPrice_pre decimal (18,4)
DECLARE @Amount_cs decimal (18,4)
DECLARE @Amount_pre decimal (18,4)
DECLARE @SumCost decimal (18,4)
DECLARE @SumCost_pre decimal (18,4)
DECLARE @SumRetail decimal (18,4)
DECLARE @CommodityStockDataVersion bigint
DECLARE @CommodityStockOriginDateTime datetime
DECLARE @CommodityStockSynchronizeDateTime datetime
DECLARE @PreMemberPrice decimal(18,4)
DECLARE @CurMemberPrice decimal(18,4)
/*定义InoutStockTable对应的局部变量*/
DECLARE @Guid_is uniqueidentifier
DECLARE @StockId tinyint
DECLARE @PreCostPrice decimal(18,4)
DECLARE @PreSalePrice decimal(18,4)
DECLARE @PreBatchSalePrice decimal(18,4)
DECLARE @ChangePrice decimal(18,4)
DECLARE @PreAmount decimal(18,4)
DECLARE @ChangeAmount decimal(18,4)
DECLARE @CurAmount decimal(18,4)
DECLARE @PreCostSumMoney decimal(18,4)
DECLARE @PreSaleSumMoney decimal(18,4)
DECLARE @PreBatchSaleSumMoney decimal(18,4)
DECLARE @ChangeSumMoney decimal(18,4)
DECLARE @CurCostPrice decimal(18,4)
DECLARE @CurSalePrice decimal(18,4)
DECLARE @CurBatchSalePrice decimal(18,4)
DECLARE @CurCostSumMoney decimal(18,4)
DECLARE @CurSaleSumMoney decimal(18,4)
DECLARE @CurBatchSaleSumMoney decimal(18,4)
DECLARE @IsAmountChanged bit
DECLARE @IsMoneyChanged bit
DECLARE @InStockId int
DECLARE @OutStockId int
DECLARE @DataVersion bigint
/*定义DataVersion对应的局部变量*/
DECLARE @DataVersionId int
DECLARE @Name varchar(20)
DECLARE @PreviousVersion bigint
DECLARE @CurVersion bigint
DECLARE @OriginDateTime datetime
DECLARE @SynchronizeDateTime datetime
DECLARE @RowCount int
/*根据情况对局部变量赋初始值*/
select @CommodityStockDataVersion=0
select @ErrorMessage='OK!'
SELECT @BillType=10 --期初库存单的BillType为10
SELECT @ErrorMessage=NULL
SELECT @EmbranchmentId=INTValue FROM SysData WHERE Name='EmbranchmentId'
IF @EmbranchmentId IS NULL
BEGIN
SELECT @ErrorMessage='未查找到对应的分支机构Id'
Select @ErrorInfoId=-1
RETURN -1
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
SELECT
@EmbranchmentId=EmbranchmentId,
@BillId=BillId,
@BillType=BillType,
@BillFlowId=BillFlowId,
@BillCode=BillCode,
@CreateDate=CreateDate,
@CreatorId=CreatorId,
@BusinessDate=BusinessDate,
@BusinessId=BusinessId,
@AuditDate=AuditDate,
@AuditorId=AuditorId,
@ProviderId=ProviderId,
@CustomerId=CustomerId,
--@CardId=CardId,
@Status=@Status,
@SumMoney=SumMoney,
@Bill_InStockId=InStockId,
@Bill_OutStockId=OutStockId,
@Summary=Summary,
@Remark=Remark,
@Guid=Guid,
@CreatorName =CreatorName,
@BusinessName =BusinessName,
@BillCodeName =BillCodeName,
@StockName =StockName,
@EmbranchmentName =EmbranchmentName,
@ProviderName =ProviderName,
@CustomerName =CustomerName,
@InStockName =InStockName,
@OutStockName = OutStockName
FROM Bill(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@ROWCOUNT=0
BEGIN
ROLLBACK
SELECT @ErrorMessage='没有找到要审核的单据'
Select @ErrorInfoId=-2
RETURN
END
/*检查从单是否完整*/
SELECT CommodityId, BatchCode, Price, Discount, DiscountPrice, Amount, SumMoney,
ProductDate, ValidateDate,RowNum,RetailPrice,ValidateDate
FROM NewStock
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
if @@ROWCOUNT<=0
begin
SELECT @ErrorMessage='没有找到要审核的从单'
Select @ErrorInfoId=-3
ROLLBACK
RETURN -1
end
DECLARE Cur_NewStock CURSOR FOR /*从单游标*/
SELECT CommodityId, BatchCode, Price, Discount, DiscountPrice, Amount, SumMoney,
ProductDate, ValidateDate,RowNum,RetailPrice,BatchCode,ValidateDate,CommodityName,Spec,DoseTypeName,ProducingArea,Unit,
AuthorizeCode,SpellCode,CustomCode , PackingId, PackingName ,IsChinese,CustomStr,ProductName,TXM,IsMemberPrice,
IsDiscount,IsScore,CounterId,CounterName,MemberPrice,Medicare
FROM NewStock
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
open Cur_NewStock /*打开游标*/
fetch next from Cur_NewStock
into @CommodityId, @BatchCode, @Price, @Discount, @DiscountPrice, @Amount, @SumMoney,
@ProductDate, @ValidateDate,@RowNum,@RetailPrice,@BatchCode ,@InvalidateDate,@CommodityName,@Spec,
@DoseTypeName,@ProducingArea,@Unit,@AuthorizeCode,@SpellCode,@CustomCode,@PackingId, @PackingName,
@IsChinese,@CustomStr,@ProductName,@TXM,@IsMemberPrice,@IsDiscount,@IsScore,@CounterId,@CounterName,@CurMemberPrice,@Medicare
while @@FETCH_STATUS = 0
begin
/*向库存(CommodityStock)中插入记录,要使用移动加权平均法来修改"成本价"*/
/*移动加权平均法的算法:CostPrice=((CostPrice*Amount)+(DiscountPrice*Amount)/(Amount(从单)+Amount(库存)))*/
/*SumCost=CostPrice*(Amount(从单)+Amount(库存))*/
if (@Bill_InStockId is null) or (@EmbranchmentId is null) or (@CommodityId is null)
begin
SELECT @ErrorMessage='从单数据不完整!'
Select @ErrorInfoId=-4
ROLLBACK
RETURN -1
end
select @InOrder=isnull(max(InOrder),0) from CommodityStock where CommodityId=@CommodityId and PackingId=@PackingId and BatchCode= @BatchCode
select @InOrderLast=isnull(max(InOrder),0) from CommodityStock where CommodityId=@CommodityId and PackingId=@PackingId
select @CostPrice=CostPrice,@CostPrice_pre=CostPrice,@Amount_cs=Amount,@Amount_pre=Amount,@RetailPrice_pre=RetailPrice,@SumCost=SumCost,@SumCost_pre=SumCost,@SumRetail=SumRetail/*从库存中找相同的记录,用来做移动加权平均法来修改"成本价"*/
from CommodityStock
where DepotId=@Bill_InStockId
and InOrder=@InOrder
and EmbranchmentId=@EmbranchmentId
and CommodityId=@CommodityId
and BatchCode=@BatchCode
and PackingId=@PackingId
select @RowCount =@@ROWCOUNT
if @RowCount>1
begin
SELECT @ErrorMessage='库存中相同记录过多!'
Select @ErrorInfoId=-5
ROLLBACK
RETURN -1
end
if @RowCount<=0/*库存中没有对应的记录就插入,有则修改“成本价”、“数量”、“FactAmount”、“生产日期”、“有效期至”、“入库时间”、“零售价”、“零售合计”*/
begin
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
/**************************************************************************************************************************************/
select @CounterId=CounterId,@CounterName=CounterName from Commodity where CommodityId= @CommodityId and PackingId=@PackingId --柜台处理部分
select @CostPrice=0--CommodityStock处理部分
select @Amount_cs=0
select @CostPrice=(((@CostPrice*@Amount_cs)+(@DiscountPrice*@Amount))/(@Amount+@Amount_cs)) /*计算成本价*/
select @Amount_cs=@Amount+@Amount_cs /*计算数量*/
select @SumCost=@CostPrice*@Amount_cs /*计算小计金额*/
select @SumRetail=@RetailPrice*@Amount_cs
insert into CommodityStock (DepotId, EmbranchmentId, CommodityId, BatchCode, InOrder,ProductDate, InvalidateDate, InstockDate, CostPrice, RetailPrice, Amount, FactAmount, SumCost, SumRetail,CommodityName,Spec,DoseTypeName,ProducingArea,Unit,AuthorizeCode,SpellCode,CustomCode,CurrentRetailPrice,DataVersion,CounterId,CounterName,PreMemberPrice,CurrentMemberPrice,Medicare,PackingId,PackingName,IsChinese,CustomStr,ProductName,TXM,IsMemberPrice,IsDiscount,IsScore)
values(@Bill_InStockId, @EmbranchmentId, @CommodityId, @BatchCode, @InOrderLast+1, @ProductDate, @InvalidateDate, @CreateDate, @CostPrice,@RetailPrice, @Amount_cs, @Amount_cs, @SumCost, @SumRetail,@CommodityName,@Spec,@DoseTypeName,@ProducingArea,@Unit,@AuthorizeCode,@SpellCode,@CustomCode,@RetailPrice,@CommodityStockDataVersion+1,@CounterId,@CounterName,@PreMemberPrice,@CurMemberPrice,@Medicare,@PackingId,@PackingName,@IsChinese,@CustomStr,@ProductName,@TXM,@IsMemberPrice,@IsDiscount,@IsScore)
if @@error <>0
begin
SELECT @ErrorMessage='插入库存失败!'
Select @ErrorInfoId=-6
ROLLBACK
RETURN -1
end
/*************************************在社区药店系统版本处理部分**********************************************/
Update DataVersion
set PreviousVersion=@CommodityStockDataVersion,CurVersion=@CommodityStockDataVersion+1,
OriginDateTime=@CommodityStockSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-111
ROLLBACK
RETURN -1
end
/***************************************************************************************************************************/
select @CurVersion=CurVersion from DataVersion --版本处理部分
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-7
ROLLBACK
RETURN -1
end
Update DataVersion
set PreviousVersion=@CurVersion,CurVersion=@CurVersion+1
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-8
ROLLBACK
RETURN -1
end
--在插入InoutStockTable前将所需数据查询出来
--InoutStockTable处理部分
insert into InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId , BillCode, BusinessDate,AuditDate,RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice,
PreBatchSalePrice, ChangePrice, Discount, DiscountPrice, OriginalAmount, ChangeAmount,CurAmount, PreCostSumMoney,PreSaleSumMoney,
PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney,
ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion, CommodityName , Spec ,
DoseTypeName , ProducingArea , Unit ,AuthorizeCode,CreatorName ,BusinessName , BillCodeName ,StockName, EmbranchmentName ,
ProviderName,CustomerName,InStockName,OutStockName,CustomCode ,PackingId,PackingName,CustomStr,ProductName)
values (newid(),@EmbranchmentId, @Bill_InStockId, @BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId, @BatchCode,0, 0, 0,
@RetailPrice, @Discount, @DiscountPrice, @Amount, @Amount, @Amount_cs, 0, 0, 0, @SumMoney, @CostPrice,
@RetailPrice, 0, @SumCost, 0, 1, @ProductDate, @InvalidateDate, 1, 1, @ProviderId, @CustomerId, @Bill_InStockId, 0,
@CurVersion+1,@CommodityName ,@Spec,@DoseTypeName,@ProducingArea,@Unit ,@AuthorizeCode, @CreatorName ,@BusinessName, @BillCodeName,
@StockName, @EmbranchmentName , @ProviderName , @CustomerName, @InStockName , @OutStockName,@CustomCode ,@PackingId,@PackingName,@CustomStr,@ProductName)
if @@error <>0
begin
SELECT @ErrorMessage='插入InoutStockTable出错!'
Select @ErrorInfoId=-9
ROLLBACK
RETURN -1
end
end
else
begin
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
/**************************************************************************************************************************************/
select @CounterId=CounterId,@CounterName=CounterName from Commodity where CommodityId= @CommodityId and PackingId=@PackingId --柜台处理部分
select @CostPrice=(((@CostPrice*@Amount_cs)+(@DiscountPrice*@Amount))/(@Amount+@Amount_cs)) /*计算成本价*/
select @Amount_cs=@Amount+@Amount_cs /*计算数量*/
select @SumCost=@CostPrice*@Amount_cs /*计算小计金额*/
select @SumRetail=@RetailPrice*@Amount_cs
Update CommodityStock
set ProductDate=@ProductDate,InvalidateDate=@InvalidateDate,InstockDate=@CreateDate,CostPrice=@CostPrice,Amount=@Amount_cs,FactAmount=@Amount_cs,
SumCost=@SumCost,RetailPrice=@RetailPrice,CurrentRetailPrice=@RetailPrice,SumRetail=@SumRetail,CounterId=@CounterId,CounterName=@CounterName,
DataVersion=@CommodityStockDataVersion+1,IsChinese=@IsChinese,IsMemberPrice=@IsMemberPrice,
IsDiscount=@IsDiscount,IsScore=@IsScore,CustomCode=@CustomCode,PreMemberPrice=@PreMemberPrice,CurrentMemberPrice=@CurMemberPrice,
Medicare=@Medicare,PackingId=@PackingId,PackingName=@PackingName ,CustomStr=@CustomStr,ProductName=@ProductName
where DepotId=@Bill_InStockId
and EmbranchmentId=@EmbranchmentId
and CommodityId=@CommodityId
and InOrder=@InOrder
and BatchCode=@BatchCode
and PackingId=@PackingId
if @@error <>0
begin
SELECT @ErrorMessage='更新库存出错!'
Select @ErrorInfoId=-10
ROLLBACK
RETURN -1
end
/*************************************在社区药店系统版本处理部分**********************************************/
Update DataVersion
set PreviousVersion=@CommodityStockDataVersion,CurVersion=@CommodityStockDataVersion+1,
OriginDateTime=@CommodityStockSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-111
ROLLBACK
RETURN -1
end
/***************************************************************************************************************************/
select @CurVersion=CurVersion from DataVersion --版本处理部分
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-11
ROLLBACK
RETURN -1
end
Update DataVersion
set PreviousVersion=@CurVersion,CurVersion=@CurVersion+1
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-12
ROLLBACK
RETURN -1
end
--InoutStockTable处理部分
insert into InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId, BillCode, BusinessDate, AuditDate,RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice,
PreBatchSalePrice, ChangePrice, Discount, DiscountPrice, OriginalAmount, ChangeAmount,CurAmount, PreCostSumMoney,PreSaleSumMoney,
PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney,
ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion, CommodityName ,Spec,
DoseTypeName,ProducingArea,Unit,AuthorizeCode,CreatorName ,BusinessName , BillCodeName ,StockName, EmbranchmentName ,
ProviderName,CustomerName,InStockName,OutStockName,CustomCode,PackingId,PackingName,CustomStr,ProductName)
values (newid(),@EmbranchmentId, @Bill_InStockId, @BillType, @BillId,@BillCode,@BusinessDate,@AuditDate, @RowNum, @CommodityId, @BatchCode,@CostPrice_pre,
@RetailPrice_pre, 0, @RetailPrice, @Discount, @DiscountPrice, @Amount, @Amount, @Amount_cs, @SumCost_pre, 0, 0,
@SumMoney, @CostPrice, @RetailPrice, 0, @SumCost, 0, 1, @ProductDate, @InvalidateDate, 1, 1, @ProviderId,
@CustomerId, @Bill_InStockId, 0, @CurVersion+1, @CommodityName ,@Spec,@DoseTypeName,@ProducingArea,@Unit,@AuthorizeCode, @CreatorName ,
@BusinessName, @BillCodeName, @StockName, @EmbranchmentName , @ProviderName , @CustomerName, @InStockName , @OutStockName,@CustomCode,@PackingId,@PackingName,@CustomStr,@ProductName)
if @@error <>0
begin
SELECT @ErrorMessage='插入InoutStockTable出错!'
Select @ErrorInfoId=-13
ROLLBACK
RETURN -1
end
end
Update Bill
set Status=2,AuditDate=getdate()
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
and Status=1
if @@error <>0
begin
SELECT @ErrorMessage='更新主单出错!'
Select @ErrorInfoId=-14
ROLLBACK
RETURN -1
end
fetch next from Cur_NewStock
into @CommodityId, @BatchCode, @Price, @Discount, @DiscountPrice, @Amount, @SumMoney,
@ProductDate, @ValidateDate,@RowNum,@RetailPrice,@BatchCode ,@InvalidateDate,@CommodityName,@Spec,
@DoseTypeName,@ProducingArea,@Unit,@AuthorizeCode,@SpellCode,@CustomCode,@PackingId, @PackingName,
@IsChinese,@CustomStr,@ProductName,@TXM,@IsMemberPrice,@IsDiscount,@IsScore,@CounterId,@CounterName,@CurMemberPrice,@Medicare
end
SELECT @ErrorMessage='单据审核成功!'
Select @ErrorInfoId=1
CLOSE Cur_NewStock
DEALLOCATE Cur_NewStock
Commit Tran
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[billDetailRetailReturnCard_Audit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[billDetailRetailReturnCard_Audit]
(
@BillId INT,
@ErrorMessage VARCHAR(100) OUTPUT ,
@ErrorInfoId int OUTPUT
)
AS
SET NOCOUNT ON
/*定义Bill对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @BillType TINYINT
DECLARE @BillFlowId INT
DECLARE @BillCode varchar(50)
DECLARE @CreateDate SMALLDATETIME
DECLARE @CreatorId SMALLINT
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @CustomerId INT
DECLARE @CardId INT
DECLARE @CardCode VARCHAR(50)
DECLARE @Status TINYINT
DECLARE @SumMoney DECIMAL(18,4)
DECLARE @InDepotId TINYINT
DECLARE @OutDepotId TINYINT
DECLARE @Summary VARCHAR(100)
DECLARE @Remark VARCHAR(100)
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @CreatorName VARCHAR(50)
DECLARE @BusinessName VARCHAR(50)
DECLARE @BillCodeName VARCHAR(50)
DECLARE @StockName VARCHAR(50)
DECLARE @EmbranchmentName VARCHAR(50)
DECLARE @ProviderName VARCHAR(50)
DECLARE @CustomerName VARCHAR(50)
DECLARE @InStockName VARCHAR(50)
DECLARE @OutStockName VARCHAR(50)
DECLARE @SumReturnPayCard decimal(18,4)
DECLARE @SumPayCard decimal(18,4)
DECLARE @PayCardMoneyBefore decimal(18,4)
DECLARE @PayCardMoneyAfter decimal(18,4)
/*定义BillDetailRetailReturn对应的局部变量*/
DECLARE @RowNum tinyint
DECLARE @CommodityId int
DECLARE @BatchCode varchar(50)
DECLARE @Price decimal (18,4)
DECLARE @Discount decimal (6,4)
DECLARE @DiscountPrice decimal (18,4)
DECLARE @TaxRate decimal (6,4)
DECLARE @TaxPrice char
DECLARE @Amount decimal (18,4)
DECLARE @SumMoney_Detail decimal (18,4)
DECLARE @SumTaxMoney decimal (18,4)
DECLARE @ProductDate smalldatetime
DECLARE @InvalidateDate smalldatetime
DECLARE @RetailPrice decimal (18,4)
DECLARE @CommodityName varchar(100)
DECLARE @Spec varchar(50)
DECLARE @Unit varchar(50)
DECLARE @DoseTypeName varchar(50)
DECLARE @AuthorizeCode varchar(50)
DECLARE @ProducingArea varchar(50)
DECLARE @CustomCode varchar(50)
DECLARE @CounterId TINYINT
DECLARE @CounterName varchar(50)
DECLARE @PackingId int
DECLARE @PackingName varchar(50)
DECLARE @CustomStr varchar(100)
DECLARE @ProductName varchar(100)
DECLARE @ReturnPayCard decimal(18,4)
DECLARE @MemberPrice decimal(18,4)
/*定义Commodity对应的局部变量*/
DECLARE @GeneralName varchar(100)
/*定义CommodityStock对应的局部变量*/
DECLARE @InOrder int
DECLARE @InvalidDate datetime
DECLARE @InstockDate datetime
DECLARE @CostPrice decimal (18,4)
DECLARE @CostPrice_pre decimal (18,4)
DECLARE @FactAmount decimal (18,4)
DECLARE @RetailPrice_pre decimal (18,4)
DECLARE @Amount_cs decimal (18,4)
DECLARE @Amount_pre decimal (18,4)
DECLARE @SumCost decimal (18,4)
DECLARE @SumCost_pre decimal (18,4)
DECLARE @SumRetail decimal (18,4)
DECLARE @CommodityStockDataVersion bigint
DECLARE @CommodityStockOriginDateTime datetime
DECLARE @CommodityStockSynchronizeDateTime datetime
DECLARE @CurrentMemberPrice decimal(18,4)
/*定义InoutStockTable对应的局部变量*/
DECLARE @Guid_is uniqueidentifier
DECLARE @StockId tinyint
DECLARE @PreCostPrice decimal(18,4)
DECLARE @PreSalePrice decimal(18,4)
DECLARE @PreBatchSalePrice decimal(18,4)
DECLARE @ChangePrice decimal(18,4)
DECLARE @PreAmount decimal(18,4)
DECLARE @ChangeAmount decimal(18,4)
DECLARE @CurAmount decimal(18,4)
DECLARE @PreCostSumMoney decimal(18,4)
DECLARE @PreSaleSumMoney decimal(18,4)
DECLARE @PreBatchSaleSumMoney decimal(18,4)
DECLARE @ChangeSumMoney decimal(18,4)
DECLARE @CurCostPrice decimal(18,4)
DECLARE @CurSalePrice decimal(18,4)
DECLARE @CurBatchSalePrice decimal(18,4)
DECLARE @CurCostSumMoney decimal(18,4)
DECLARE @CurSaleSumMoney decimal(18,4)
DECLARE @CurBatchSaleSumMoney decimal(18,4)
DECLARE @IsAmountChanged bit
DECLARE @IsMoneyChanged bit
DECLARE @InStockId int
DECLARE @OutStockId int
DECLARE @DataVersion bigint
DECLARE @PayCard decimal(18,4)
DECLARE @CostMemberPrice decimal(18,4)
/*定义DataVersion对应的局部变量*/
DECLARE @DataVersionId int
DECLARE @Name varchar(20)
DECLARE @PreviousVersion bigint
DECLARE @CurVersion bigint
DECLARE @OriginDateTime datetime
DECLARE @SynchronizeDateTime datetime
DECLARE @CardCurVersion bigint
DECLARE @CardSynchronizeDateTime datetime
DECLARE @RowCount int
/*根据情况对局部变量赋初始值*/
select @CommodityStockDataVersion=0
SELECT @BillType=26 --零售退货单的BillType为6
SELECT @ErrorMessage=NULL
SELECT @EmbranchmentId=INTValue FROM SysData WHERE Name='EmbranchmentId'
IF @EmbranchmentId IS NULL
BEGIN
SELECT @ErrorMessage='未查找到对应的分支机构Id'
Select @ErrorInfoId=-1
RETURN -1
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
SELECT
@EmbranchmentId=EmbranchmentId,
@BillId=BillId,
@BillType=BillType,
@BillFlowId=BillFlowId,
@BillCode=BillCode,
@CreateDate=CreateDate,
@CreatorId=CreatorId,
@BusinessDate=BusinessDate,
@BusinessId=BusinessId,
@AuditDate=AuditDate,
@AuditorId=AuditorId,
@ProviderId=ProviderId,
@CustomerId=CustomerId,
@CardId=CardId,
@CardCode=CardCode,
@Status=@Status,
@SumMoney=SumMoney,
@InDepotId=InStockId,
@OutDepotId=OutStockId,
@Summary=Summary,
@Remark=Remark,
@Guid=Guid,
@CreatorName=CreatorName,
@BusinessName=BusinessName,
@BillCodeName=BillCodeName,
@StockName=StockName,
@EmbranchmentName=EmbranchmentName,
@ProviderName=ProviderName,
@CustomerName=CustomerName,
@InStockName=InStockName,
@OutStockName=OutStockName,
@SumPayCard=PayCard,
@SumReturnPayCard=ReturnPayCard,
@PayCardMoneyBefore=PayCardMoneyBefore,
@PayCardMoneyAfter=PayCardMoneyAfter
FROM Bill(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@ROWCOUNT=0
BEGIN
ROLLBACK
SELECT @ErrorMessage='没有找到要审核的单据'
Select @ErrorInfoId=-2
RETURN
END
/*检查从单是否完整*/
SELECT CommodityId, BatchCode, Price, Discount, DiscountPrice, Amount, SumMoney,
ProductDate, InvalidateDate,RowNum,RetailPrice,CommodityName, Spec,
Unit, ProducingArea, DoseTypeName, AuthorizeCode
FROM BillDetailRetailReturn
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
IF @@ROWCOUNT<=0
BEGIN
SELECT @ErrorMessage='没有找到要审核的从单'
Select @ErrorInfoId=-3
ROLLBACK
RETURN -1
END
DECLARE Cur_BillDetailRetailReturn CURSOR FOR /*从单游标*/
SELECT CommodityId, BatchCode, Price, Discount, DiscountPrice, Amount, SumMoney,
ProductDate, InvalidateDate,RowNum,RetailPrice,CommodityName, Spec,
Unit, ProducingArea, DoseTypeName, AuthorizeCode,CustomCode,
CounterId,CounterName , PackingId, PackingName,CustomStr,ProductName,ReturnPayCard,MemberPrice
FROM BillDetailRetailReturn
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
OPEN Cur_BillDetailRetailReturn /*打开游标*/
FETCH NEXT FROM Cur_BillDetailRetailReturn
INTO @CommodityId, @BatchCode, @Price, @Discount, @DiscountPrice, @Amount, @SumMoney,
@ProductDate, @InvalidateDate,@RowNum,@RetailPrice,@CommodityName, @Spec,
@Unit, @ProducingArea, @DoseTypeName, @AuthorizeCode,@CustomCode,@CounterId,@CounterName,@PackingId, @PackingName ,@CustomStr,@ProductName,@ReturnPayCard,@MemberPrice
WHILE @@FETCH_STATUS = 0
BEGIN
/*向库存(CommodityStock)中插入记录,要使用移动加权平均法来修改"成本价"*/
/*移动加权平均法的算法:CostPrice=((CostPrice*Amount)+(DiscountPrice*Amount)/(Amount(从单)+Amount(库存)))*/
/*SumCost=CostPrice*(Amount(从单)+Amount(库存))*/
IF (@InDepotId IS NULL) or (@EmbranchmentId IS NULL) OR (@CommodityId IS NULL)-- OR (@BatchCode IS NULL)
BEGIN
SELECT @ErrorMessage='从单数据不完整!'
Select @ErrorInfoId=-4
ROLLBACK
RETURN -1
END
SELECT @GeneralName=GeneralName
FROM Commodity
WHERE CommodityId=@CommodityId
select * from CommodityStock--检查库存中是否有多条相同的药品记录,如果有则取DepotId、EmbranchmentId=@EmbranchmentId、CommodityId=@CommodityId、 BatchCode=@BatchCode、RetailPrice相同的药品用于更新
WHERE DepotId=@InDepotId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and PackingId=@PackingId
SELECT @RowCount =@@ROWCOUNT
if @RowCount=1
begin
SELECT @InOrder=InOrder,@CostPrice=CostPrice,@CostPrice_pre=CostPrice,@Amount_cs=Amount,@Amount_pre=Amount,@RetailPrice_pre=CurrentRetailPrice,@SumCost=SumCost,@SumCost_pre=SumCost,@SumRetail=SumRetail,@CurrentMemberPrice=CurrentMemberPrice/*从库存中找相同的记录,用来做移动加权平均法来修改"成本价"*/
FROM CommodityStock
WHERE DepotId=@InDepotId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and PackingId=@PackingId
end
if @RowCount>1
begin
SELECT @InOrder=InOrder,@CostPrice=CostPrice,@CostPrice_pre=CostPrice,@Amount_cs=Amount,@Amount_pre=Amount,@RetailPrice_pre=CurrentRetailPrice,@SumCost=SumCost,@SumCost_pre=SumCost,@SumRetail=SumRetail,@CurrentMemberPrice=CurrentMemberPrice/*从库存中找相同的记录,用来做移动加权平均法来修改"成本价"*/
FROM CommodityStock
WHERE DepotId=@InDepotId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and CurrentRetailPrice=@RetailPrice
and PackingId=@PackingId
if @@rowcount<>1--检查退货的价格和库存中的记录是否相同
begin
SELECT top 1 @InOrder=InOrder,@CostPrice=CostPrice,@CostPrice_pre=CostPrice,@Amount_cs=Amount,@Amount_pre=Amount,@RetailPrice_pre=CurrentRetailPrice,@SumCost=SumCost,@SumCost_pre=SumCost,@SumRetail=SumRetail,@CurrentMemberPrice=CurrentMemberPrice/*从库存中找相同的记录,用来做移动加权平均法来修改"成本价"*/
FROM CommodityStock
WHERE DepotId=@InDepotId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and PackingId=@PackingId
end
end
IF @RowCount<=0/*库存中没有对应的记录就插入,有则修改“成本价”、“数量”、“FactAmount”、“生产日期”、“有效期至”、“入库时间”、“零售价”、“零售合计”*/
BEGIN
SELECT @ErrorMessage='编号:' +@CustomCode+' 名称:' + @GeneralName +' 批号为:' + @BatchCode +'的药品在库存中没有,请检查编批是否正确!'
Select @ErrorInfoId=-5
ROLLBACK
RETURN -1
END
ELSE
BEGIN
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
/**************************************************************************************************************************************/
SELECT @Amount_cs=@Amount+@Amount_cs /*计算数量*/
SELECT @SumCost=@CostPrice*@Amount_cs /*计算小计金额*/
SELECT @SumRetail=@RetailPrice_pre*@Amount_cs /*计算小计金额*/
UPDATE CommodityStock
SET Amount=@Amount_cs,FactAmount=@Amount_cs,SumCost=@SumCost,SumRetail=@SumRetail ,DataVersion=@CommodityStockDataVersion+1
WHERE DepotId=@InDepotId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and InOrder=@InOrder
and PackingId=@PackingId
IF @@error <>0
BEGIN
SELECT @ErrorMessage='更新库存出错!'
Select @ErrorInfoId=-6
ROLLBACK
RETURN -1
END
/*************************************在社区药店系统版本处理部分**********************************************/ Update DataVersion
set PreviousVersion=@CommodityStockDataVersion,CurVersion=@CommodityStockDataVersion+1,
OriginDateTime=@CommodityStockSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-111
ROLLBACK
RETURN -1
end
/***************************************************************************************************************************/
SELECT @CurVersion=CurVersion FROM DataVersion --版本处理部分
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
IF @@ROWCOUNT<>1
BEGIN
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-7
ROLLBACK
RETURN -1
END
UPDATE DataVersion
SET PreviousVersion=@CurVersion,CurVersion=@CurVersion+1
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
IF @@error <>0
BEGIN
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-8
ROLLBACK
RETURN -1
END
SELECT @CardCurVersion=CurVersion,
@CardSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=15
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId =-9
ROLLBACK TRAN RETAIL
RETURN
END
UPDATE DataVersion
SET PreviousVersion=@CardCurVersion,CurVersion=@CardCurVersion+1,
OriginDateTime=@CardSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=15
if @@error <>0
begin
SELECT @ErrorMessage='更新版本失败!'
Select @ErrorInfoId=-10
ROLLBACK
RETURN -1
end
--InoutStockTable处理部分
SELECT @CurCostSumMoney=@Amount*@CostPrice
SELECT @CurSaleSumMoney=@Amount*@DiscountPrice*@Discount
SELECT @PayCard=@DiscountPrice*@Amount
SELECT @CostMemberPrice=@MemberPrice*@Amount
SELECT @ChangeSumMoney=@MemberPrice*@Amount
INSERT INTO InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId, BillCode,BusinessDate,AuditDate, RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice, PreBatchSalePrice, ChangePrice, Discount, DiscountPrice, PreAmount, ChangeAmount, InAmount,CurAmount, PreCostSumMoney,PreSaleSumMoney, PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney, ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion,CommodityName,Spec,Unit,ProducingArea,AuthorizeCode,DoseTypeName,CreatorName,BusinessName,BillCodeName,StockName,EmbranchmentName,ProviderName,CustomerName,InStockName,OutStockName,Remark,CustomCode,CounterId,CounterName,PackingId,PackingName,CustomStr,ProductName,CardId,CardCode,PayCard,ReturnPayCard,CostMemberPrice,SumPayCard,SumReturnPayCard,PayCardMoneyBefore,PayCardMoneyAfter,CurMemberPrice,CardDataVersion)
VALUES (newid(),@EmbranchmentId, @InDepotId, @BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId, @BatchCode,@CostPrice_pre, @RetailPrice_pre, 0, @RetailPrice, @Discount, @DiscountPrice, @Amount_pre, @Amount, @Amount, @Amount_cs, @SumCost_pre, 0, 0, @ChangeSumMoney, @CostPrice, @RetailPrice, 0, @CurCostSumMoney, 0, @CurSaleSumMoney , @ProductDate, @InvalidateDate, 1, 1, @ProviderId, @CustomerId, @InDepotId, 0, @CurVersion + 1,@CommodityName,@Spec,@Unit,@ProducingArea,@AuthorizeCode,@DoseTypeName,@CreatorName,@BusinessName,@BillCodeName,@StockName,@EmbranchmentName,@ProviderName,@CustomerName,@InStockName,@OutStockName,@Remark,@CustomCode,@CounterId,@CounterName,@PackingId,@PackingName,@CustomStr,@ProductName,@CardId,@CardCode,@PayCard,@ReturnPayCard,@CostMemberPrice,@SumPayCard,@SumReturnPayCard,@PayCardMoneyBefore,@PayCardMoneyAfter,@MemberPrice,@CardCurVersion+1)
IF @@error <>0 BEGIN
SELECT @ErrorMessage='插入InoutStockTable出错!'
Select @ErrorInfoId=-9
ROLLBACK
RETURN -1
END
END
UPDATE Bill
SET Status=2,AuditDate=GETDATE()
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@error <>0
BEGIN
SELECT @ErrorMessage='更新主单出错!'
Select @ErrorInfoId=-10
ROLLBACK
RETURN -1
END
FETCH NEXT FROM Cur_BillDetailRetailReturn
INTO @CommodityId, @BatchCode, @Price, @Discount, @DiscountPrice, @Amount, @SumMoney,
@ProductDate, @InvalidateDate,@RowNum,@RetailPrice,@CommodityName, @Spec,
@Unit, @ProducingArea, @DoseTypeName, @AuthorizeCode,@CustomCode,@CounterId,@CounterName,@PackingId,@PackingName,@CustomStr,@ProductName,@ReturnPayCard,@MemberPrice
END
CLOSE Cur_BillDetailRetailReturn
DEALLOCATE Cur_BillDetailRetailReturn
COMMIT TRAN
SELECT @ErrorMessage='审核成功!'
Select @ErrorInfoId=1
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[billDetailRetailReturn_Audit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[billDetailRetailReturn_Audit]
(
@BillId INT,
@ErrorMessage VARCHAR(100) OUTPUT ,
@ErrorInfoId int OUTPUT
)
AS
SET NOCOUNT ON
/*定义Bill对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @BillType TINYINT
DECLARE @BillFlowId INT
DECLARE @BillCode varchar(50)
DECLARE @CreateDate SMALLDATETIME
DECLARE @CreatorId SMALLINT
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @CustomerId INT
--DECLARE @CardId INT
DECLARE @Status TINYINT
DECLARE @SumMoney DECIMAL(18,4)
DECLARE @InDepotId TINYINT
DECLARE @OutDepotId TINYINT
DECLARE @Summary VARCHAR(100)
DECLARE @Remark VARCHAR(100)
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @CreatorName VARCHAR(50)
DECLARE @BusinessName VARCHAR(50)
DECLARE @BillCodeName VARCHAR(50)
DECLARE @StockName VARCHAR(50)
DECLARE @EmbranchmentName VARCHAR(50)
DECLARE @ProviderName VARCHAR(50)
DECLARE @CustomerName VARCHAR(50)
DECLARE @InStockName VARCHAR(50)
DECLARE @OutStockName VARCHAR(50)
/*定义BillDetailRetailReturn对应的局部变量*/
DECLARE @RowNum tinyint
DECLARE @CommodityId int
DECLARE @BatchCode varchar(50)
DECLARE @Price decimal (18,4)
DECLARE @Discount decimal (6,4)
DECLARE @DiscountPrice decimal (18,4)
DECLARE @TaxRate decimal (6,4)
DECLARE @TaxPrice char
DECLARE @Amount decimal (18,4)
DECLARE @SumMoney_Detail decimal (18,4)
DECLARE @SumTaxMoney decimal (18,4)
DECLARE @ProductDate smalldatetime
DECLARE @InvalidateDate smalldatetime
DECLARE @RetailPrice decimal (18,4)
DECLARE @CommodityName varchar(100)
DECLARE @Spec varchar(50)
DECLARE @Unit varchar(50)
DECLARE @DoseTypeName varchar(50)
DECLARE @AuthorizeCode varchar(50)
DECLARE @ProducingArea varchar(50)
DECLARE @CustomCode varchar(50)
DECLARE @CounterId TINYINT
DECLARE @CounterName varchar(50)
DECLARE @PackingId int
DECLARE @PackingName varchar(50)
DECLARE @CustomStr varchar(100)
DECLARE @ProductName varchar(100)
/*定义Commodity对应的局部变量*/
DECLARE @GeneralName varchar(100)
/*定义CommodityStock对应的局部变量*/
DECLARE @InOrder int
DECLARE @InvalidDate datetime
DECLARE @InstockDate datetime
DECLARE @CostPrice decimal (18,4)
DECLARE @CostPrice_pre decimal (18,4)
DECLARE @FactAmount decimal (18,4)
DECLARE @RetailPrice_pre decimal (18,4)
DECLARE @Amount_cs decimal (18,4)
DECLARE @Amount_pre decimal (18,4)
DECLARE @SumCost decimal (18,4)
DECLARE @SumCost_pre decimal (18,4)
DECLARE @SumRetail decimal (18,4)
DECLARE @CommodityStockDataVersion bigint
DECLARE @CommodityStockOriginDateTime datetime
DECLARE @CommodityStockSynchronizeDateTime datetime
/*定义InoutStockTable对应的局部变量*/
DECLARE @Guid_is uniqueidentifier
DECLARE @StockId tinyint
DECLARE @PreCostPrice decimal(18,4)
DECLARE @PreSalePrice decimal(18,4)
DECLARE @PreBatchSalePrice decimal(18,4)
DECLARE @ChangePrice decimal(18,4)
DECLARE @PreAmount decimal(18,4)
DECLARE @ChangeAmount decimal(18,4)
DECLARE @CurAmount decimal(18,4)
DECLARE @PreCostSumMoney decimal(18,4)
DECLARE @PreSaleSumMoney decimal(18,4)
DECLARE @PreBatchSaleSumMoney decimal(18,4)
DECLARE @ChangeSumMoney decimal(18,4)
DECLARE @CurCostPrice decimal(18,4)
DECLARE @CurSalePrice decimal(18,4)
DECLARE @CurBatchSalePrice decimal(18,4)
DECLARE @CurCostSumMoney decimal(18,4)
DECLARE @CurSaleSumMoney decimal(18,4)
DECLARE @CurBatchSaleSumMoney decimal(18,4)
DECLARE @IsAmountChanged bit
DECLARE @IsMoneyChanged bit
DECLARE @InStockId int
DECLARE @OutStockId int
DECLARE @DataVersion bigint
/*定义DataVersion对应的局部变量*/
DECLARE @DataVersionId int
DECLARE @Name varchar(20)
DECLARE @PreviousVersion bigint
DECLARE @CurVersion bigint
DECLARE @OriginDateTime datetime
DECLARE @SynchronizeDateTime datetime
DECLARE @RowCount int
/*根据情况对局部变量赋初始值*/
select @CommodityStockDataVersion=0
SELECT @BillType=6 --零售退货单的BillType为6
SELECT @ErrorMessage=NULL
SELECT @EmbranchmentId=INTValue FROM SysData WHERE Name='EmbranchmentId'
IF @EmbranchmentId IS NULL
BEGIN
SELECT @ErrorMessage='未查找到对应的分支机构Id'
Select @ErrorInfoId=-1
RETURN -1
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
SELECT
@EmbranchmentId=EmbranchmentId,
@BillId=BillId,
@BillType=BillType,
@BillFlowId=BillFlowId,
@BillCode=BillCode,
@CreateDate=CreateDate,
@CreatorId=CreatorId,
@BusinessDate=BusinessDate,
@BusinessId=BusinessId,
@AuditDate=AuditDate,
@AuditorId=AuditorId,
@ProviderId=ProviderId,
@CustomerId=CustomerId,
--@CardId=CardId,
@Status=@Status,
@SumMoney=SumMoney,
@InDepotId=InStockId,
@OutDepotId=OutStockId,
@Summary=Summary,
@Remark=Remark,
@Guid=Guid,
@CreatorName=CreatorName,
@BusinessName=BusinessName,
@BillCodeName=BillCodeName,
@StockName=StockName,
@EmbranchmentName=EmbranchmentName,
@ProviderName=ProviderName,
@CustomerName=CustomerName,
@InStockName=InStockName,
@OutStockName=OutStockName
FROM Bill(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@ROWCOUNT=0
BEGIN
ROLLBACK
SELECT @ErrorMessage='没有找到要审核的单据'
Select @ErrorInfoId=-2
RETURN
END
/*检查从单是否完整*/
SELECT CommodityId, BatchCode, Price, Discount, DiscountPrice, Amount, SumMoney,
ProductDate, InvalidateDate,RowNum,RetailPrice,CommodityName, Spec,
Unit, ProducingArea, DoseTypeName, AuthorizeCode
FROM BillDetailRetailReturn
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
IF @@ROWCOUNT<=0
BEGIN
SELECT @ErrorMessage='没有找到要审核的从单'
Select @ErrorInfoId=-3
ROLLBACK
RETURN -1
END
DECLARE Cur_BillDetailRetailReturn CURSOR FOR /*从单游标*/
SELECT CommodityId, BatchCode, Price, Discount, DiscountPrice, Amount, SumMoney,
ProductDate, InvalidateDate,RowNum,RetailPrice,CommodityName, Spec,
Unit, ProducingArea, DoseTypeName, AuthorizeCode,CustomCode,
CounterId,CounterName , PackingId, PackingName,CustomStr,ProductName
FROM BillDetailRetailReturn
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
OPEN Cur_BillDetailRetailReturn /*打开游标*/
FETCH NEXT FROM Cur_BillDetailRetailReturn
INTO @CommodityId, @BatchCode, @Price, @Discount, @DiscountPrice, @Amount, @SumMoney,
@ProductDate, @InvalidateDate,@RowNum,@RetailPrice,@CommodityName, @Spec,
@Unit, @ProducingArea, @DoseTypeName, @AuthorizeCode,@CustomCode,@CounterId,@CounterName,@PackingId, @PackingName ,@CustomStr,@ProductName
WHILE @@FETCH_STATUS = 0
BEGIN
/*向库存(CommodityStock)中插入记录,要使用移动加权平均法来修改"成本价"*/
/*移动加权平均法的算法:CostPrice=((CostPrice*Amount)+(DiscountPrice*Amount)/(Amount(从单)+Amount(库存)))*/
/*SumCost=CostPrice*(Amount(从单)+Amount(库存))*/
IF (@InDepotId IS NULL) or (@EmbranchmentId IS NULL) OR (@CommodityId IS NULL)-- OR (@BatchCode IS NULL)
BEGIN
SELECT @ErrorMessage='从单数据不完整!'
Select @ErrorInfoId=-4
ROLLBACK
RETURN -1
END
SELECT @GeneralName=GeneralName
FROM Commodity
WHERE CommodityId=@CommodityId
select * from CommodityStock--检查库存中是否有多条相同的药品记录,如果有则取DepotId、EmbranchmentId=@EmbranchmentId、CommodityId=@CommodityId、 BatchCode=@BatchCode、RetailPrice相同的药品用于更新
WHERE DepotId=@InDepotId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and PackingId=@PackingId
SELECT @RowCount =@@ROWCOUNT
if @RowCount=1
begin
SELECT @InOrder=InOrder,@CostPrice=CostPrice,@CostPrice_pre=CostPrice,@Amount_cs=Amount,@Amount_pre=Amount,@RetailPrice_pre=CurrentRetailPrice,@SumCost=SumCost,@SumCost_pre=SumCost,@SumRetail=SumRetail/*从库存中找相同的记录,用来做移动加权平均法来修改"成本价"*/
FROM CommodityStock
WHERE DepotId=@InDepotId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and PackingId=@PackingId
end
if @RowCount>1
begin
SELECT @InOrder=InOrder,@CostPrice=CostPrice,@CostPrice_pre=CostPrice,@Amount_cs=Amount,@Amount_pre=Amount,@RetailPrice_pre=CurrentRetailPrice,@SumCost=SumCost,@SumCost_pre=SumCost,@SumRetail=SumRetail/*从库存中找相同的记录,用来做移动加权平均法来修改"成本价"*/
FROM CommodityStock
WHERE DepotId=@InDepotId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and RetailPrice=@RetailPrice
and PackingId=@PackingId
if @@rowcount<>1--检查退货的价格和库存中的记录是否相同
begin
SELECT top 1 @InOrder=InOrder,@CostPrice=CostPrice,@CostPrice_pre=CostPrice,@Amount_cs=Amount,@Amount_pre=Amount,@RetailPrice_pre=CurrentRetailPrice,@SumCost=SumCost,@SumCost_pre=SumCost,@SumRetail=SumRetail/*从库存中找相同的记录,用来做移动加权平均法来修改"成本价"*/
FROM CommodityStock
WHERE DepotId=@InDepotId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and PackingId=@PackingId
end
end
IF @RowCount<=0/*库存中没有对应的记录就插入,有则修改“成本价”、“数量”、“FactAmount”、“生产日期”、“有效期至”、“入库时间”、“零售价”、“零售合计”*/
BEGIN
SELECT @ErrorMessage='编号:' +@CustomCode+' 名称:' + @GeneralName +' 批号为:' + @BatchCode +'的药品在库存中没有,请检查编批是否正确!'
Select @ErrorInfoId=-5
ROLLBACK
RETURN -1
END
ELSE
BEGIN
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
/**************************************************************************************************************************************/
SELECT @Amount_cs=@Amount+@Amount_cs /*计算数量*/
SELECT @SumCost=@CostPrice*@Amount_cs /*计算小计金额*/
SELECT @SumRetail=@RetailPrice_pre*@Amount_cs /*计算小计金额*/
UPDATE CommodityStock
SET Amount=@Amount_cs,FactAmount=@Amount_cs,SumCost=@SumCost,SumRetail=@SumRetail ,DataVersion=@CommodityStockDataVersion+1
WHERE DepotId=@InDepotId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and InOrder=@InOrder
and PackingId=@PackingId
IF @@error <>0
BEGIN
SELECT @ErrorMessage='更新库存出错!'
Select @ErrorInfoId=-6
ROLLBACK
RETURN -1
END
/*************************************在社区药店系统版本处理部分**********************************************/ Update DataVersion
set PreviousVersion=@CommodityStockDataVersion,CurVersion=@CommodityStockDataVersion+1,
OriginDateTime=@CommodityStockSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-111
ROLLBACK
RETURN -1
end
/***************************************************************************************************************************/
SELECT @CurVersion=CurVersion FROM DataVersion --版本处理部分
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
IF @@ROWCOUNT<>1
BEGIN
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-7
ROLLBACK
RETURN -1
END
UPDATE DataVersion
SET PreviousVersion=@CurVersion,CurVersion=@CurVersion+1
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
IF @@error <>0
BEGIN
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-8
ROLLBACK
RETURN -1
END
--InoutStockTable处理部分
SELECT @CurCostSumMoney=@Amount*@CostPrice
SELECT @CurSaleSumMoney=@Amount*@DiscountPrice*@Discount
INSERT INTO InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId, BillCode,BusinessDate,AuditDate, RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice, PreBatchSalePrice, ChangePrice, Discount, DiscountPrice, PreAmount, ChangeAmount, InAmount,CurAmount, PreCostSumMoney,PreSaleSumMoney, PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney, ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion,CommodityName,Spec,Unit,ProducingArea,AuthorizeCode,DoseTypeName,CreatorName,BusinessName,BillCodeName,StockName,EmbranchmentName,ProviderName,CustomerName,InStockName,OutStockName,Remark,CustomCode,CounterId,CounterName,PackingId,PackingName,CustomStr,ProductName)
VALUES (newid(),@EmbranchmentId, @InDepotId, @BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId, @BatchCode,@CostPrice_pre, @RetailPrice_pre, 0, @RetailPrice, @Discount, @DiscountPrice, @Amount_pre, @Amount, @Amount, @Amount_cs, @SumCost_pre, 0, 0, @SumMoney, @CostPrice, @RetailPrice, 0, @CurCostSumMoney, 0, @CurSaleSumMoney , @ProductDate, @InvalidateDate, 1, 1, @ProviderId, @CustomerId, @InDepotId, 0, @CurVersion + 1,@CommodityName,@Spec,@Unit,@ProducingArea,@AuthorizeCode,@DoseTypeName,@CreatorName,@BusinessName,@BillCodeName,@StockName,@EmbranchmentName,@ProviderName,@CustomerName,@InStockName,@OutStockName,@Remark,@CustomCode,@CounterId,@CounterName,@PackingId,@PackingName,@CustomStr,@ProductName)
IF @@error <>0 BEGIN
SELECT @ErrorMessage='插入InoutStockTable出错!'
Select @ErrorInfoId=-9
ROLLBACK
RETURN -1
END
END
UPDATE Bill
SET Status=2,AuditDate=GETDATE()
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@error <>0
BEGIN
SELECT @ErrorMessage='更新主单出错!'
Select @ErrorInfoId=-10
ROLLBACK
RETURN -1
END
FETCH NEXT FROM Cur_BillDetailRetailReturn
INTO @CommodityId, @BatchCode, @Price, @Discount, @DiscountPrice, @Amount, @SumMoney,
@ProductDate, @InvalidateDate,@RowNum,@RetailPrice,@CommodityName, @Spec,
@Unit, @ProducingArea, @DoseTypeName, @AuthorizeCode,@CustomCode,@CounterId,@CounterName,@PackingId,@PackingName,@CustomStr,@ProductName
END
CLOSE Cur_BillDetailRetailReturn
DEALLOCATE Cur_BillDetailRetailReturn
COMMIT TRAN
SELECT @ErrorMessage='审核成功!'
Select @ErrorInfoId=1
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[BillDetailChargeCard_Audit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/**********************************************************************
Author : lcc
CreateDate : 2010-1-17
Summary : 会员卡充值单据审核
***********************************************************************/
CREATE PROCEDURE [dbo].[BillDetailChargeCard_Audit]
(
@BillId INT,
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
/*定义Bill对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @BillType TINYINT
DECLARE @BillCode varchar(50)
DECLARE @CreateDate SMALLDATETIME
DECLARE @CreatorId SMALLINT
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @Status TINYINT
DECLARE @Summary VARCHAR(100)
DECLARE @Remark VARCHAR(100)
DECLARE @CreatorName varchar(50)
DECLARE @BusinessName varchar(50)
DECLARE @BillCodeName varchar(50)
DECLARE @EmbranchmentName varchar(50)
DECLARE @ProviderName varchar(50)
/*定义BillDetailChargeCard 对应的局部变量*/
DECLARE @CardCode VARCHAR(50)
DECLARE @IsCZ TINYINT
DECLARE @RowNum TINYINT
/*定义会员卡对应的局部变量*/
DECLARE @row_Balance NUMERIC(18,4)
DECLARE @row_SumConsumed NUMERIC(18,4)
DECLARE @row_SumAllMoney NUMERIC(18,4)
DECLARE @row_old_Balance NUMERIC(18,4)
DECLARE @row_old_row_SumConsumed NUMERIC(18,4)
DECLARE @row_old_SumAllMoney NUMERIC(18,4)
DECLARE @afterMoney NUMERIC(18,4)
DECLARE @CardChangeMoney NUMERIC(18,4)
DECLARE @CustomerId INT
DECLARE @CustomerName VARCHAR(50)
DECLARE @Balance DECIMAL(18,4)
DECLARE @SumConsumed DECIMAL(18,4)
DECLARE @CardTypeId INT
DECLARE @CardLevelId TINYINT
DECLARE @CardLevelName VARCHAR(50)
/*根据情况对局部变量赋初始值*/
SELECT @ErrorMessage='OK!'
SELECT @ErrorInfoId=1
SELECT @BillType=16
SELECT @EmbranchmentId=INTValue FROM SysData WHERE Name='EmbranchmentId'
IF @EmbranchmentId IS NULL
BEGIN
SELECT @ErrorMessage='未查找到对应的分支机构Id'
Select @ErrorInfoId=-5
RETURN -5
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
SELECT
@EmbranchmentId=EmbranchmentId,
@BillId=BillId,
@BillType=BillType,
@BillCode=BillCode,
@CreateDate=CreateDate,
@CreatorId=CreatorId,
@BusinessDate=BusinessDate,
@BusinessId=BusinessId,
@AuditDate=AuditDate,
@AuditorId=AuditorId,
@ProviderId=ProviderId,
@CustomerId=CustomerId,
@Status=@Status,
@Summary=Summary,
@Remark=Remark,
@CreatorName =CreatorName,
@BusinessName =BusinessName,
@BillCodeName =BillCodeName,
@EmbranchmentName =EmbranchmentName,
@ProviderName =ProviderName,
@CustomerName =CustomerName
FROM Bill(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@ROWCOUNT=0
BEGIN
SELECT @ErrorMessage='没有找到要审核的主单'
SELECT @ErrorInfoId=-1
RETURN-1
ROLLBACK
END
/*检查从单是否完整*/
SELECT * FROM BillDetailChargeCard
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
IF @@ROWCOUNT=0
BEGIN
SELECT @ErrorMessage='没有找到要审核的从单'
SELECT @ErrorInfoId=-2
ROLLBACK
RETURN -2
END
DECLARE Cur_BillDetailChargeCard CURSOR FOR /*从单游标*/
SELECT CardCode,IsCZ,RowNum
FROM BillDetailChargeCard
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
OPEN Cur_BillDetailChargeCard /*打开游标*/
FETCH NEXT FROM Cur_BillDetailChargeCard
INTO @CardCode,@IsCZ,@RowNum
while @@FETCH_STATUS = 0
BEGIN
SELECT @row_old_Balance=Balance,@row_old_row_SumConsumed=SumConsumed,@row_old_SumAllMoney=SumAllMoney,@CustomerId=CustomerId,@CustomerName=CustomerName,@CardTypeId=CardTypeId,@CardTypeId=CardLevelId from MemberCard
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
IF(@@ROWCOUNT<0)
BEGIN
SELECT @ErrorMessage='没有找到此卡'
SELECT @ErrorInfoId=-3
ROLLBACK
RETURN -3
END
IF(@IsCZ=2)
BEGIN
SELECT @ErrorMessage='此卡已经充值'
SELECT @ErrorInfoId=-3
ROLLBACK
RETURN -3
END
UPDATE MemberCard SET IsCZ=1
IF(@@ERROR<>0)
BEGIN
SELECT @ErrorMessage='更新会员卡失败'
SELECT @ErrorInfoId=-4
ROLLBACK
RETURN -4
END
UPDATE BillDetailChargeCard
SET Status=2
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND RowNum=@RowNum
AND Status=1
FETCH NEXT FROM Cur_BillDetailChargeCard
INTO @CardCode,@IsCZ,@RowNum
END
UPDATE Bill
SET Status=2,AuditDate=getdate()
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@error <>0
BEGIN
SELECT @ErrorMessage='更新主单出错!'
SELECT @ErrorInfoId=-6
ROLLBACK
RETURN -6
END
CLOSE Cur_BillDetailChargeCard
DEALLOCATE Cur_BillDetailChargeCard
SELECT @ErrorMessage='充值单据审核成功!'
Select @ErrorInfoId=1
Commit TRAN
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[billDetailRetail_POS_Audit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/**********************************************************************
Author : qcj
CreateDate : 2006-8-18
Summary : 零售单的审核
Remark : 从库存表中将零售单明细中对应的商品删除
***********************************************************************/
CREATE PROCEDURE [dbo].[billDetailRetail_POS_Audit]
(
@BillId INT,
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
/*定义Bill对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @BillType TINYINT
DECLARE @BillFlowId INT
DECLARE @BillCode VARCHAR(50)
DECLARE @CreateDate SMALLDATETIME
DECLARE @CreatorId SMALLINT
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @CustomerId INT
DECLARE @CardCode VARCHAR(50)
DECLARE @Status TINYINT
DECLARE @SumMoney DECIMAL(18,4)--整个单据所有记录的合计金额
DECLARE @Discount DECIMAL(18,4)--整单折扣
DECLARE @Summary VARCHAR(100)
DECLARE @Remark VARCHAR(100)
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @CreatorName VARCHAR(50)
DECLARE @BusinessName VARCHAR(50)
DECLARE @BillCodeName VARCHAR(50)
DECLARE @StockName VARCHAR(50)
DECLARE @EmbranchmentName VARCHAR(50)
DECLARE @CustomerName VARCHAR(50)
DECLARE @InStockName VARCHAR(50)
DECLARE @OutStockName VARCHAR(50)
DECLARE @PayMoney DECIMAL(18,4)--付现
DECLARE @ReturnMoney DECIMAL(18,4)--找零
DECLARE @PayType TINYINT--零售单付款类型
DECLARE @PayCard DECIMAL(18,4)--会员卡消费
DECLARE @SumPayCard DECIMAL(18,4)
DECLARE @SumReturnPayCard DECIMAL(18,4)
DECLARE @PayCardMoneyBefore DECIMAL(18,4)
DECLARE @PayCardMoneyAfter DECIMAL(18,4)
DECLARE @PaySYB DECIMAL(18,4)
DECLARE @PayKYB DECIMAL(18,4)
DECLARE @PayYB DECIMAL(18,4)
/*定义BillDetailRetail对应的局部变量*/
DECLARE @RowNum tinyint
DECLARE @CommodityId int
DECLARE @BatchCode varchar(50)
DECLARE @Price decimal (18,4)
DECLARE @Discount_Detail decimal (6,4)--明细单中每条记录的折扣
DECLARE @DiscountPrice decimal (18,4)
DECLARE @Amount decimal (18,4)
DECLARE @SumMoney_Detail decimal (18,4)--明细单中每条记录的合计金额
DECLARE @ProductDate smalldatetime
DECLARE @CostPrice_Detail decimal (18,4)
DECLARE @CommodityName varchar(100)
DECLARE @Spec varchar(50)
DECLARE @Unit varchar(50)
DECLARE @DoseTypeName varchar(50)
DECLARE @AuthorizeCode varchar(50)
DECLARE @ProducingArea varchar(50)
DECLARE @CustomCode varchar(50)
DECLARE @CounterId TINYINT
DECLARE @CounterName varchar(50)
DECLARE @PackingId int
DECLARE @PackingName varchar(50)
DECLARE @CustomStr varchar(100)
DECLARE @ProductName varchar(100)
DECLARE @MemberPrice decimal(18,4)
DECLARE @ReturnPayCard decimal (18,4)
/*定义CommodityStock对应的局部变量*/
DECLARE @InOrder int
DECLARE @InvalidateDate datetime
DECLARE @InstockDate datetime
DECLARE @CostPrice decimal (18,4)
DECLARE @RetailPrice decimal (18,4)
DECLARE @FactAmount decimal (18,4)
DECLARE @Amount_cs decimal (18,4)--现库存数量,便于和明细单中的数量区分,为计算成本所使用
DECLARE @Amount_pre decimal (18,4)--原库存数量
DECLARE @SumCost decimal (18,4)
DECLARE @SumRetail decimal (18,4)
DECLARE @DepotId int
DECLARE @InvalidateDate_CS datetime
DECLARE @Spec_CS varchar (50)
DECLARE @DoseTypeName_CS varchar (50)
DECLARE @Unit_CS varchar (50)
DECLARE @AuthorizeCode_CS varchar (50)
DECLARE @CommodityStockDataVersion bigint
DECLARE @CommodityStockOriginDateTime datetime
DECLARE @CommodityStockSynchronizeDateTime datetime
DECLARE @Medicare TINYINT
DECLARE @BatchCode_CS varchar(50)
/*定义InoutStockTable对应的局部变量*/
DECLARE @Guid_is uniqueidentifier
DECLARE @StockId tinyint
DECLARE @PreCostPrice decimal(18,4)
DECLARE @PreSalePrice decimal(18,4)
DECLARE @PreBatchSalePrice decimal(18,4)
DECLARE @ChangePrice decimal(18,4)
DECLARE @PreAmount decimal(18,4)
DECLARE @ChangeAmount decimal(18,4)
DECLARE @CurAmount decimal(18,4)
DECLARE @PreCostSumMoney decimal(18,4)
DECLARE @PreSaleSumMoney decimal(18,4)
DECLARE @PreBatchSaleSumMoney decimal(18,4)
DECLARE @ChangeSumMoney decimal(18,4)
DECLARE @CurCostPrice decimal(18,4)
DECLARE @CurSalePrice decimal(18,4)
DECLARE @CurBatchSalePrice decimal(18,4)
DECLARE @CurCostSumMoney decimal(18,4)
DECLARE @CurSaleSumMoney decimal(18,4)
DECLARE @CurBatchSaleSumMoney decimal(18,4)
DECLARE @IsAmountChanged bit
DECLARE @IsMoneyChanged bit
DECLARE @InStockId int
DECLARE @OutStockId int
DECLARE @DataVersion bigint
DECLARE @CostMemberPrice decimal(18,4)
DECLARE @IsMedicare int
/*定义DataVersion对应的局部变量*/
DECLARE @DataVersionId int
DECLARE @Name varchar(20)
DECLARE @PreviousVersion bigint
DECLARE @CurVersion bigint
DECLARE @OriginDateTime datetime
DECLARE @SynchronizeDateTime datetime
DECLARE @CardCurVersion bigint
DECLARE @CardSynchronizeDateTime datetime
DECLARE @SumAmount decimal (18,4)
/*根据情况对局部变量赋初始值*/
select @CommodityStockDataVersion=0
SELECT @BillType=5 --零售单的BillType为5
SELECT @ErrorMessage=NULL
SELECT @EmbranchmentId=INTValue FROM SysData WHERE Name='EmbranchmentId'
IF @EmbranchmentId IS NULL
BEGIN
SELECT @ErrorMessage='未查找到对应的分支机构Id'
Select @ErrorInfoId =-1
RETURN -1
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
DECLARE @transactionCount INT /*事务记数*/
SELECT @transactionCount = @@trancount
IF @transactionCount = 0 /*判断事务记数,根据情况确定使用保存点或者新建一个事务*/
BEGIN TRAN RETAIL
ELSE SAVE TRAN RETAIL
SET NOCOUNT ON
Select *
FROM Bill
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=2
IF @@ROWCOUNT>0
BEGIN
ROLLBACK TRAN RETAIL
SELECT @ErrorMessage='单据已审核!'
Select @ErrorInfoId =-100
RETURN
END
update Bill set PayYB=PayKYB+PaySYB
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
SELECT
@EmbranchmentId=EmbranchmentId,
@BillId=BillId,
@BillType=BillType,
@BillFlowId=BillFlowId,
@BillCode=BillCode,
@CreateDate=CreateDate,
@CreatorId=CreatorId,
@BusinessDate=BusinessDate,
@BusinessId=BusinessId,
@AuditDate=AuditDate,
@AuditorId=AuditorId,
@ProviderId=ProviderId,
@CustomerId=CustomerId,
@CardCode=CardCode,
@Status=@Status,
@SumMoney=SumMoney,
@Discount=Discount,
@InStockId=InStockId,
@OutStockId=OutStockId,
@Summary=Summary,
@Remark=Remark,
@Guid=Guid,
@CreatorName=CreatorName,
@BusinessName=BusinessName,
@BillCodeName=BillCodeName,
@StockName=StockName,
@EmbranchmentName=EmbranchmentName,
@CustomerName=CustomerName,
@InStockName=InStockName,
@OutStockName=OutStockName,
@PayType=PayType,
@PayCard=PayCard,
@PayMoney=PayMoney,
@ReturnMoney=ReturnMoney,
@SumPayCard=PayCard,
@SumReturnPayCard=ReturnPayCard,
@PayCardMoneyBefore=PayCardMoneyBefore,
@PayCardMoneyAfter=PayCardMoneyAfter,
@PaySYB=PaySYB,
@PayKYB=PayKYB,
@PayYB=PayYB
FROM Bill(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@ROWCOUNT=0
BEGIN
ROLLBACK TRAN RETAIL
SELECT @ErrorMessage='没有找到要审核的单据'
Select @ErrorInfoId =-2
RETURN
END
/*检查从单是否完整*/
SELECT CommodityId, BatchCode, Price,Discount,DiscountPrice, Amount, SumMoney,
ProductDate, InvalidateDate,CostPrice,RowNum
FROM BillDetailRetail(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='没有找到要审核的从单'
Select @ErrorInfoId =-3
ROLLBACK TRAN RETAIL
RETURN
END
/*从单游标*/
DECLARE Cur_BillDetailRetail CURSOR FOR
SELECT CommodityId, BatchCode, Price,Discount,DiscountPrice, Amount, SumMoney,
ProductDate, InvalidateDate,CostPrice,RowNum, CommodityName, Spec,
Unit, ProducingArea, DoseTypeName, AuthorizeCode,InOrder,CustomCode,
CounterId,CounterName, PackingId, PackingName ,CustomStr,ProductName,MemberPrice,ReturnPayCard
FROM BillDetailRetail
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
OPEN Cur_BillDetailRetail
FETCH NEXT FROM Cur_BillDetailRetail
INTO @CommodityId, @BatchCode, @Price,@Discount_Detail,@DiscountPrice, @Amount, @SumMoney,
@ProductDate, @InvalidateDate,@CostPrice,@RowNum, @CommodityName, @Spec,
@Unit, @ProducingArea, @DoseTypeName, @AuthorizeCode,@InOrder,@CustomCode,
@CounterId,@CounterName,@PackingId, @PackingName ,@CustomStr,@ProductName,@MemberPrice,@ReturnPayCard
WHILE @@FETCH_STATUS = 0
BEGIN
--根据从单中药品ID,检查库存中此药品的总数量是否大于或等于从单此药品开的数量
--如果库存中的数量大于或等于从单中开的数量,则更新库存表,否则回滚
Select @SumAmount=Sum(Amount) From CommodityStock(UPDLOCK) where EmbranchmentId=@EmbranchmentId and CommodityId=@CommodityId
and PackingId=@PackingId
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage=@CommodityName+'检测库存失败!'
Select @ErrorInfoId =-4
ROLLBACK TRAN RETAIL
RETURN
END
if @SumAmount<@Amount
begin
SELECT @ErrorMessage=@CommodityName+'库存不足!'
Select @ErrorInfoId =-5
ROLLBACK TRAN RETAIL
RETURN
end
/*库存游标*/
DECLARE Cur_CommodityStock CURSOR FOR
Select DepotId,InOrder,CostPrice,Amount,Amount, CurrentRetailPrice, SumCost, SumRetail ,InvalidateDate ,Spec ,DoseTypeName,Unit ,AuthorizeCode,Medicare,BatchCode
From CommodityStock
where EmbranchmentId=@EmbranchmentId and CommodityId=@CommodityId
and Amount>0
and PackingId=@PackingId
order by InstockDate
open Cur_CommodityStock
FETCH NEXT FROM Cur_CommodityStock
INTO @DepotId ,@InOrder,@CostPrice,@Amount_pre,@Amount_cs ,@RetailPrice ,@SumCost ,@SumRetail,@InvalidateDate_CS ,@Spec_CS ,@DoseTypeName_CS,@Unit_CS ,@AuthorizeCode_CS,@Medicare,@BatchCode_CS
WHILE ((@@FETCH_STATUS = 0) and (@Amount>0))
begin
if (@Amount_cs>=@Amount)
begin
--SELECT @ChangeSumMoney=@Amount*@Price
SELECT @Amount_cs = @Amount_cs - @Amount
SELECT @SumCost = @CostPrice * @Amount_cs
SELECT @SumRetail = @RetailPrice * @Amount_cs
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
/**************************************************************************************************************************************/
UPDATE CommodityStock
SET Amount = @Amount_cs,FactAmount = @Amount_cs,SumCost = @SumCost,SumRetail=@SumRetail,DataVersion=@CommodityStockDataVersion+1
WHERE DepotId=@OutStockId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
and InOrder=@InOrder
and PackingId=@PackingId
if @@error <>0
begin
SELECT @ErrorMessage=@CommodityName+'更新库存失败!'
Select @ErrorInfoId=-6
ROLLBACK
RETURN -1
end
/*************************************在社区药店系统版本处理部分**********************************************/
Update DataVersion
set PreviousVersion=@CommodityStockDataVersion,CurVersion=@CommodityStockDataVersion+1,
OriginDateTime=@CommodityStockSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@error <>0 begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-111
ROLLBACK
RETURN -1
end
/***************************************************************************************************************************/
/*版本处理部分*/
SELECT @CurVersion=CurVersion
FROM DataVersion
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId =-7
ROLLBACK TRAN RETAIL
RETURN
END
ELSE
BEGIN
Update DataVersion
SET PreviousVersion = @CurVersion,CurVersion = @CurVersion+1
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
if @@error <>0
begin
SELECT @ErrorMessage=@CommodityName+'更新版本失败!'
Select @ErrorInfoId=-8
ROLLBACK
RETURN -1
end
END
IF(@PayType=1 or @PayType=2 or @PayType=3)
BEGIN
SELECT @CardCurVersion=CurVersion,
@CardSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=15
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId =-9
ROLLBACK TRAN RETAIL
RETURN
END
UPDATE DataVersion
SET PreviousVersion=@CardCurVersion,CurVersion=@CardCurVersion+1,
OriginDateTime=@CardSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=15
if @@error <>0
begin
SELECT @ErrorMessage='更新版本失败!'
Select @ErrorInfoId=-9
ROLLBACK
RETURN -1
end
END
/*出入库记录处理部分*/
SELECT @PreCostSumMoney=@Amount_pre*@CostPrice
SELECT @PreSaleSumMoney=@Amount_pre*@RetailPrice
SELECT @CurCostSumMoney=@Amount*@CostPrice
SELECT @CurSaleSumMoney=@Amount*@DiscountPrice
SELECT @ChangeSumMoney=@Amount*@DiscountPrice*@Discount--@Discount为整单折扣,@Discount_Detail为明细单品折扣
SELECT @CostMemberPrice=@Amount*@MemberPrice
IF(@PayType=1 or @PayType=2 or @PayType=3)
BEGIN
SELECT @PayCard=@RetailPrice*@Amount
SELECT @ReturnPayCard=(@RetailPrice-@MemberPrice)*@Amount
SELECT @ChangeSumMoney=@MemberPrice*@Amount
END
ELSE
BEGIN
SELECT @PayCard=0
SELECT @ReturnPayCard=0
END
select @IsMedicare=0
if @PayType>=2
begin
select @IsMedicare=1
end
INSERT INTO InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId,BillCode, BusinessDate,AuditDate, RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice,PreBatchSalePrice,ChangePrice,Discount,DiscountPrice,PreAmount, ChangeAmount, OutAmount,CurAmount , PreCostSumMoney,PreSaleSumMoney, PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney, ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion,CommodityName,Spec,Unit,ProducingArea,AuthorizeCode,DoseTypeName,CreatorName,BusinessName,BillCodeName,StockName,EmbranchmentName,CustomerName,InStockName,OutStockName,Remark,CustomCode,CounterId,CounterName,IsZY,EntireDisCount,PayType,CardCode,Medicare,PayCard,PackingId,PackingName,CustomStr,ProductName, IsMedicare,ReturnPayCard,CostMemberPrice,SumPayCard,SumReturnPayCard,PayMoney,ReturnMoney,PayCardMoneyBefore,PayCardMoneyAfter,CurMemberPrice,CardDataVersion,PaySYB,PayKYB,PayYB)
VALUES (newid(),@EmbranchmentId, @OutStockId,@BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId, @BatchCode_CS,@CostPrice , @RetailPrice,0 ,@Price ,@Discount_Detail ,@DiscountPrice ,@Amount_pre,@Amount, @Amount, @Amount_cs , @PreCostSumMoney ,@PreSaleSumMoney, 0, @ChangeSumMoney, @CostPrice, @Price, 0, @CurCostSumMoney, 0, @CurSaleSumMoney , @ProductDate, @InvalidateDate_CS, 1, 1, @ProviderId, @CustomerId, 0 , @OutStockId,@CurVersion + 1,@CommodityName,@Spec_CS,@Unit_CS,@ProducingArea,@AuthorizeCode_CS,@DoseTypeName_CS,@CreatorName,@BusinessName,@BillCodeName,@StockName,@EmbranchmentName,@CustomerName,@InStockName,@OutStockName,@Remark,@CustomCode,@CounterId,@CounterName,2,@Discount,@PayType,@CardCode,@Medicare,@PayCard,@PackingId,@PackingName,@CustomStr,@ProductName,@IsMedicare,@ReturnPayCard,@CostMemberPrice,@SumPayCard,@SumReturnPayCard,@PayMoney,@ReturnMoney,@PayCardMoneyBefore,@PayCardMoneyAfter,@MemberPrice,@CardCurVersion+1,@PaySYB,@PayKYB,@PayYB)
if @@error <>0
begin
SELECT @ErrorMessage=@CommodityName+'出入库记录处理失败!'
Select @ErrorInfoId=-9
ROLLBACK
RETURN -1
end
SELECT @Amount=@Amount-@Amount_pre
end
else
begin
SELECT @Amount_cs = @Amount_cs - @Amount_cs
SELECT @SumCost = @CostPrice * @Amount_cs
SELECT @SumRetail = @RetailPrice * @Amount_cs
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
/**************************************************************************************************************************************/
UPDATE CommodityStock
SET Amount = @Amount_cs,FactAmount = @Amount_cs,SumCost = @SumCost,SumRetail=@SumRetail,DataVersion=@CommodityStockDataVersion+1
WHERE DepotId=@OutStockId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
and InOrder=@InOrder
and PackingId=@PackingId
if @@error <>0
begin
SELECT @ErrorMessage=@CommodityName+'更新库存失败!'
Select @ErrorInfoId=-10
ROLLBACK
RETURN -1
end
/*************************************在社区药店系统版本处理部分**********************************************/ Update DataVersion
set PreviousVersion=@CommodityStockDataVersion,CurVersion=@CommodityStockDataVersion+1,
OriginDateTime=@CommodityStockSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-111
ROLLBACK
RETURN -1
end
/***************************************************************************************************************************/
/*版本处理部分*/
SELECT @CurVersion=CurVersion
FROM DataVersion
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId =-11
ROLLBACK TRAN RETAIL
RETURN
END
ELSE
BEGIN
Update DataVersion
SET PreviousVersion = @CurVersion,CurVersion = @CurVersion+1
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
if @@error <>0
begin
SELECT @ErrorMessage=@CommodityName+'更新版本失败!'
Select @ErrorInfoId=-12
ROLLBACK
RETURN -1
end
END
IF(@PayType=1 or @PayType=2 or @PayType=3)
BEGIN
SELECT @CardCurVersion=CurVersion,
@CardSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=15
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId =-9
ROLLBACK TRAN RETAIL
RETURN
END
UPDATE DataVersion
SET PreviousVersion=@CardCurVersion,CurVersion=@CardCurVersion+1,
OriginDateTime=@CardSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=15
if @@error <>0
begin
SELECT @ErrorMessage='更新版本失败!'
Select @ErrorInfoId=-10
ROLLBACK
RETURN -1
end
END
/*出入库记录处理部分*/
SELECT @PreCostSumMoney=@Amount_pre*@CostPrice
SELECT @PreSaleSumMoney=@Amount_pre*@RetailPrice
SELECT @CurCostSumMoney=@Amount_pre*@CostPrice
SELECT @CurSaleSumMoney=@Amount_pre*@DiscountPrice
SELECT @ChangeSumMoney=@Amount_pre*@DiscountPrice*@Discount--@Discount为整单折扣,@Discount_Detail为明细单品折扣
SELECT @CostMemberPrice=@MemberPrice*@Amount_pre
IF(@PayType=1 or @PayType=2 or @PayType=3)
BEGIN
SELECT @PayCard=@RetailPrice*@Amount_pre
SELECT @ReturnPayCard=(@RetailPrice-@MemberPrice)*@Amount_pre
SELECT @ChangeSumMoney=@MemberPrice*@Amount_pre
END
ELSE
BEGIN
SELECT @PayCard=0
SELECT @ReturnPayCard=0
END
select @IsMedicare=0
if @PayType>=2
begin
select @IsMedicare=1
end
INSERT INTO InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId, BillCode, BusinessDate, AuditDate, RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice,PreBatchSalePrice,ChangePrice,Discount, DiscountPrice,PreAmount, ChangeAmount, OutAmount, CurAmount , PreCostSumMoney,PreSaleSumMoney, PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney, ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion,CommodityName,Spec,Unit,ProducingArea,AuthorizeCode,DoseTypeName,CreatorName,BusinessName,BillCodeName,StockName,EmbranchmentName,CustomerName,InStockName,OutStockName,Remark,CustomCode,CounterId,CounterName,IsZY,EntireDisCount,PayType,CardCode,Medicare,PayCard,PackingId,PackingName,CustomStr,ProductName,IsMedicare,CostMemberPrice,ReturnPayCard,SumPayCard,SumReturnPayCard,PayMoney,ReturnMoney,PayCardMoneyBefore,PayCardMoneyAfter,CurMemberPrice,CardDataVersion,PaySYB,PayKYB,PayYB)
VALUES (newid(),@EmbranchmentId, @OutStockId,@BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId, @BatchCode_CS,@CostPrice , @RetailPrice,0 , @Price , @Discount_Detail ,@Price , @Amount_pre, @Amount_pre, @Amount_pre, @Amount_cs , @PreCostSumMoney ,@PreSaleSumMoney, 0, @ChangeSumMoney, @CostPrice, @Price, 0, @CurCostSumMoney, 0, @CurSaleSumMoney , @ProductDate, @InvalidateDate_CS, 1, 1, @ProviderId, @CustomerId, 0 , @OutStockId,@CurVersion + 1,@CommodityName,@Spec_CS,@Unit_CS,@ProducingArea,@AuthorizeCode_CS,@DoseTypeName_CS,@CreatorName,@BusinessName,@BillCodeName,@StockName,@EmbranchmentName,@CustomerName,@InStockName,@OutStockName,@Remark,@CustomCode,@CounterId,@CounterName,2,@Discount,@PayType,@CardCode,@Medicare,@PayCard,@PackingId,@PackingName,@CustomStr,@ProductName,@IsMedicare,@CostMemberPrice,@ReturnPayCard,@SumPayCard,@SumReturnPayCard,@PayMoney,@ReturnMoney,@PayCardMoneyBefore,@PayCardMoneyAfter,@MemberPrice,@CardCurVersion+1,@PaySYB,@PayKYB,@PayYB)
if @@error <>0
begin
SELECT @ErrorMessage=@CommodityName+'出入库记录处理失败!'
Select @ErrorInfoId=-13
ROLLBACK
RETURN -1
end
SELECT @Amount=@Amount-@Amount_pre
end
FETCH NEXT FROM Cur_CommodityStock
INTO @DepotId ,@InOrder,@CostPrice,@Amount_pre,@Amount_cs ,@RetailPrice ,@SumCost ,@SumRetail,@InvalidateDate_CS ,@Spec_CS ,@DoseTypeName_CS,@Unit_CS ,@AuthorizeCode_CS,@Medicare,@BatchCode_CS
end
CLOSE Cur_CommodityStock
DEALLOCATE Cur_CommodityStock/*结束库存游标*/
FETCH NEXT FROM Cur_BillDetailRetail
INTO @CommodityId, @BatchCode, @Price,@Discount_Detail,@DiscountPrice, @Amount, @SumMoney,
@ProductDate, @InvalidateDate,@CostPrice,@RowNum, @CommodityName, @Spec,
@Unit, @ProducingArea, @DoseTypeName, @AuthorizeCode,@InOrder,@CustomCode,
@CounterId,@CounterName ,@PackingId, @PackingName ,@CustomStr,@ProductName,@MemberPrice,@ReturnPayCard
END
Update Bill
SET Status=2,AuditDate=GETDATE()
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
if @@error <>0
begin
SELECT @ErrorMessage='更新主单失败!'
Select @ErrorInfoId=-14
ROLLBACK
RETURN -1
end
SELECT @ErrorMessage='收款成功!'
Select @ErrorInfoId =1
CLOSE Cur_BillDetailRetail
DEALLOCATE Cur_BillDetailRetail
COMMIT TRAN RETAIL
GO
/****** Object: StoredProcedure [dbo].[billDetailDemolition_Audit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[billDetailDemolition_Audit]
(
@BillId INT,
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
--set nocount on
/*定义Bill对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @BillType TINYINT
DECLARE @BillFlowId INT
DECLARE @BillCode varchar(50)
DECLARE @CreateDate SMALLDATETIME
DECLARE @CreatorId SMALLINT
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @CustomerId INT
--DECLARE @CardCode VARCHAR(50)
DECLARE @Status TINYINT
DECLARE @SumMoney DECIMAL(18,4)
DECLARE @Bill_InStockId TINYINT
DECLARE @Bill_OutStockId TINYINT
DECLARE @Summary VARCHAR(100)
DECLARE @Remark VARCHAR(100)
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @CreatorName varchar(50)
DECLARE @BusinessName varchar(50)
DECLARE @BillCodeName varchar(50)
DECLARE @StockName varchar(50)
DECLARE @EmbranchmentName varchar(50)
DECLARE @ProviderName varchar(50)
DECLARE @CustomerName varchar(50)
DECLARE @InStockName varchar(50)
DECLARE @OutStockName varchar(50)
/*定义BillDetailDemolition对应的局部变量*/
DECLARE @RowNum tinyint
DECLARE @DemId int
DECLARE @CommodityId int
DECLARE @InOrder_Dem int
DECLARE @PackingId int
DECLARE @BatchCode varchar(50)
DECLARE @ProductDate_Dem datetime
DECLARE @InvalidateDate_Dem datetime
DECLARE @InstockDate_Dem datetime
DECLARE @CostPrice_Dem DECIMAL(18,4)
DECLARE @RetailPrice DECIMAL(18,4)
DECLARE @Amount DECIMAL(18,4)
DECLARE @FactAmount_Dem DECIMAL(18,4)
DECLARE @Odds DECIMAL(18,4)
DECLARE @SumCost_Dem DECIMAL(18,4)
DECLARE @SumRetail_Dem DECIMAL(18,4)
DECLARE @CommodityName varchar(100)
DECLARE @Spec varchar(200)
DECLARE @DoseTypeName varchar(50)
DECLARE @ProducingArea varchar(100)
DECLARE @Unit varchar(50)
DECLARE @AuthorizeCode varchar(100)
DECLARE @SpellCode varchar(100)
DECLARE @TXM varchar(60)
DECLARE @CustomCode varchar(50)
DECLARE @CurrentRetailPrice DECIMAL(18,4)
DECLARE @IsChinese bit
DECLARE @CounterId tinyint
DECLARE @CounterName varchar(50)
DECLARE @DataVersion_Dem bigint
DECLARE @PreMemberPrice_Dem DECIMAL(18,4)
DECLARE @CurrentMemberPrice DECIMAL(18,4)
DECLARE @Medicare tinyint
DECLARE @UpperLimit int
DECLARE @LowerLimit int
DECLARE @PackingName varchar(50)
DECLARE @CustomStr varchar(50)
DECLARE @ProductName varchar(100)
DECLARE @Dem_CommodityId int
DECLARE @Dem_InOrder int
DECLARE @Dem_PackingId int
DECLARE @Dem_BatchCode varchar(50)
DECLARE @Dem_ProductDate datetime
DECLARE @Dem_InvalidateDate datetime
DECLARE @Dem_InstockDate datetime
DECLARE @Dem_CostPrice DECIMAL(18,4)
DECLARE @Dem_RetailPrice DECIMAL(18,4)
DECLARE @Dem_Amount DECIMAL(18,4)
DECLARE @Dem_FactAmount DECIMAL(18,4)
DECLARE @Dem_Odds DECIMAL(18,4)
DECLARE @Dem_SumCost DECIMAL(18,4)
DECLARE @Dem_SumRetail DECIMAL(18,4)
DECLARE @Dem_CommodityName varchar(100)
DECLARE @Dem_Spec varchar(200)
DECLARE @Dem_DoseTypeName varchar(50)
DECLARE @Dem_ProducingArea varchar(100)
DECLARE @Dem_Unit varchar(50)
DECLARE @Dem_AuthorizeCode varchar(100)
DECLARE @Dem_SpellCode varchar(100)
DECLARE @Dem_TXM varchar(60)
DECLARE @Dem_CustomCode varchar(50)
DECLARE @Dem_CurrentRetailPrice DECIMAL(18,4)
DECLARE @Dem_IsChinese bit
DECLARE @Dem_CounterId tinyint
DECLARE @Dem_CounterName varchar(50)
DECLARE @Dem_DataVersion bigint
DECLARE @Dem_PreMemberPrice DECIMAL(18,4)
DECLARE @Dem_CurrentMemberPrice DECIMAL(18,4)
DECLARE @Dem_Medicare tinyint
DECLARE @Dem_UpperLimit int
DECLARE @Dem_LowerLimit int
DECLARE @Dem_PackingName varchar(50)
DECLARE @Dem_CustomStr varchar(100)
DECLARE @Dem_ProductName varchar(100)
DECLARE @proportion int
/*定义CommodityStock对应的局部变量*/
DECLARE @InOrder int
DECLARE @InOrderLast int
DECLARE @InvalidateDate datetime
DECLARE @InstockDate datetime
DECLARE @CostPrice decimal (18,4)
DECLARE @CostPrice_pre decimal (18,4)
DECLARE @FactAmount decimal (18,4)
DECLARE @RetailPrice_pre decimal (18,4)
DECLARE @Amount_cs decimal (18,4)
DECLARE @Amount_pre decimal (18,4)
DECLARE @SumCost decimal (18,4)
DECLARE @SumCost_pre decimal (18,4)
DECLARE @SumRetail decimal (18,4)
DECLARE @CommodityStockDataVersion bigint
DECLARE @CommodityStockOriginDateTime datetime
DECLARE @CommodityStockSynchronizeDateTime datetime
DECLARE @PreMemberPrice decimal(18,4)
DECLARE @CurMemberPrice decimal(18,4)
/*定义InoutStockTable对应的局部变量*/
DECLARE @Guid_is uniqueidentifier
DECLARE @StockId tinyint
DECLARE @PreCostPrice decimal(18,4)
DECLARE @PreSalePrice decimal(18,4)
DECLARE @PreBatchSalePrice decimal(18,4)
DECLARE @ChangePrice decimal(18,4)
DECLARE @PreAmount decimal(18,4)
DECLARE @ChangeAmount decimal(18,4)
DECLARE @CurAmount decimal(18,4)
DECLARE @PreCostSumMoney decimal(18,4)
DECLARE @PreSaleSumMoney decimal(18,4)
DECLARE @PreBatchSaleSumMoney decimal(18,4)
DECLARE @ChangeSumMoney decimal(18,4)
DECLARE @CurCostPrice decimal(18,4)
DECLARE @CurSalePrice decimal(18,4)
DECLARE @CurBatchSalePrice decimal(18,4)
DECLARE @CurCostSumMoney decimal(18,4)
DECLARE @CurSaleSumMoney decimal(18,4)
DECLARE @CurBatchSaleSumMoney decimal(18,4)
DECLARE @IsAmountChanged bit
DECLARE @IsMoneyChanged bit
DECLARE @InStockId int
DECLARE @OutStockId int
DECLARE @DataVersion bigint
/*定义DataVersion对应的局部变量*/
DECLARE @DataVersionId int
DECLARE @Name varchar(20)
DECLARE @PreviousVersion bigint
DECLARE @CurVersion bigint
DECLARE @OriginDateTime datetime
DECLARE @SynchronizeDateTime datetime
DECLARE @RowCount int
/*根据情况对局部变量赋初始值*/
select @CommodityStockDataVersion=0
select @ErrorMessage='OK!'
SELECT @BillType=25 --药品拆零单的BillType为25
SELECT @ErrorMessage=NULL
SELECT @EmbranchmentId=INTValue FROM SysData WHERE Name='EmbranchmentId'
IF @EmbranchmentId IS NULL
BEGIN
SELECT @ErrorMessage='未查找到对应的分支机构Id'
Select @ErrorInfoId=-1
RETURN -1
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
SELECT
@EmbranchmentId=EmbranchmentId,
@BillId=BillId,
@BillType=BillType,
@BillFlowId=BillFlowId,
@BillCode=BillCode,
@CreateDate=CreateDate,
@CreatorId=CreatorId,
@BusinessDate=BusinessDate,
@BusinessId=BusinessId,
@AuditDate=AuditDate,
@AuditorId=AuditorId,
@ProviderId=ProviderId,
@CustomerId=CustomerId,
@Status=@Status,
@SumMoney=SumMoney,
@Bill_InStockId=InStockId,
@Bill_OutStockId=OutStockId,
@Summary=Summary,
@Remark=Remark,
@Guid=Guid,
@CreatorName =CreatorName,
@BusinessName =BusinessName,
@BillCodeName =BillCodeName,
@StockName =StockName,
@EmbranchmentName =EmbranchmentName,
@ProviderName =ProviderName,
@CustomerName =CustomerName,
@InStockName =InStockName,
@OutStockName = OutStockName
FROM Bill(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@ROWCOUNT=0
BEGIN
ROLLBACK
SELECT @ErrorMessage='没有找到要审核的单据'
Select @ErrorInfoId=-2
RETURN
END
/*检查从单是否完整*/
SELECT *
FROM BillDetailDemolition
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
if @@ROWCOUNT<=0
begin
SELECT @ErrorMessage='没有找到要审核的从单'
Select @ErrorInfoId=-3
ROLLBACK
RETURN -1
end
DECLARE Cur_BillDetailDemolition CURSOR FOR /*从单游标*/
SELECT RowNum,DemId,CommodityId,InOrder,PackingId,BatchCode ,ProductDate,InvalidateDate,InstockDate,CostPrice,RetailPrice,Amount,FactAmount,
Odds,SumCost,SumRetail,CommodityName,Spec,DoseTypeName,ProducingArea,Unit ,AuthorizeCode ,SpellCode,TXM,CustomCode,
CurrentRetailPrice,IsChinese,CounterId, CounterName,DataVersion,PreMemberPrice,CurrentMemberPrice,Medicare,UpperLimit,LowerLimit,PackingName ,
CustomStr,ProductName,Dem_CommodityId,Dem_InOrder,Dem_PackingId ,Dem_BatchCode,Dem_ProductDate ,Dem_InvalidateDate,
Dem_InstockDate,Dem_CostPrice ,Dem_RetailPrice ,Dem_Amount ,Dem_FactAmount ,Dem_Odds,Dem_SumCost ,Dem_SumRetail ,Dem_CommodityName,
Dem_Spec,Dem_DoseTypeName ,Dem_ProducingArea ,Dem_Unit ,Dem_AuthorizeCode ,Dem_SpellCode ,Dem_TXM ,Dem_CustomCode ,
Dem_CurrentRetailPrice ,Dem_IsChinese ,Dem_CounterId ,Dem_CounterName,Dem_DataVersion,Dem_PreMemberPrice,Dem_CurrentMemberPrice,
Dem_Medicare ,Dem_UpperLimit,Dem_LowerLimit,Dem_PackingName ,Dem_CustomStr ,Dem_ProductName,proportion
FROM BillDetailDemolition
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
open Cur_BillDetailDemolition /*打开游标*/
fetch next from Cur_BillDetailDemolition
into @RowNum ,@DemId ,@CommodityId,@InOrder_Dem ,@PackingId ,@BatchCode,@ProductDate_Dem ,@InvalidateDate_Dem,@InstockDate_Dem,@CostPrice_Dem,@RetailPrice,@Amount ,@FactAmount_Dem,
@Odds ,@SumCost_Dem ,@SumRetail_Dem,@CommodityName,@Spec ,@DoseTypeName ,@ProducingArea , @Unit , @AuthorizeCode , @SpellCode,@TXM, @CustomCode,
@CurrentRetailPrice,@IsChinese, @CounterId , @CounterName , @DataVersion_Dem,@PreMemberPrice_Dem ,@CurrentMemberPrice, @Medicare, @UpperLimit , @LowerLimit , @PackingName ,
@CustomStr , @ProductName , @Dem_CommodityId , @Dem_InOrder, @Dem_PackingId ,@Dem_BatchCode, @Dem_ProductDate,@Dem_InvalidateDate ,
@Dem_InstockDate ,@Dem_CostPrice , @Dem_RetailPrice,@Dem_Amount , @Dem_FactAmount ,@Dem_Odds,@Dem_SumCost, @Dem_SumRetail , @Dem_CommodityName,
@Dem_Spec , @Dem_DoseTypeName , @Dem_ProducingArea , @Dem_Unit , @Dem_AuthorizeCode , @Dem_SpellCode , @Dem_TXM , @Dem_CustomCode,
@Dem_CurrentRetailPrice , @Dem_IsChinese, @Dem_CounterId, @Dem_CounterName, @Dem_DataVersion, @Dem_PreMemberPrice , @Dem_CurrentMemberPrice,
@Dem_Medicare, @Dem_UpperLimit, @Dem_LowerLimit , @Dem_PackingName , @Dem_CustomStr,@Dem_ProductName,@proportion
while @@FETCH_STATUS = 0
begin
SELECT @CostPrice = CostPrice,@Amount_pre = Amount,@Amount_cs = Amount,@RetailPrice = CurrentRetailPrice,
@SumCost = SumCost,@SumRetail = SumRetail,@Medicare = Medicare
FROM CommodityStock
WHERE DepotId=@Bill_OutStockId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and InOrder=@InOrder_Dem
and PackingId=@PackingId
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='检测库存失败!'
Select @ErrorInfoId =-10
ROLLBACK TRAN RETAIL
RETURN
END
SELECT @Amount_cs = @Amount_cs - @Amount
SELECT @SumCost = @CostPrice * @Amount_cs
SELECT @SumRetail = @RetailPrice * @Amount_cs
/*如果库存数量大于销售数量,则更新库存表,否则,回滚*/
IF @Amount_cs < 0
BEGIN
SELECT @ErrorMessage='库存数量不足,无法审核!'
Select @ErrorInfoId =-4
ROLLBACK TRAN RETAIL
RETURN
END
ELSE
BEGIN
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
/**************************************************************************************************************************************/
/*库存表处理部分*/
UPDATE CommodityStock
SET Amount = @Amount_cs,FactAmount = @Amount_cs,SumCost = @SumCost,SumRetail=@SumRetail ,DataVersion=@CommodityStockDataVersion+1
WHERE DepotId=@Bill_OutStockId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and InOrder=@InOrder_Dem
and PackingId=@PackingId
/*************************************在社区药店系统版本处理部分**********************************************/
Update DataVersion
set PreviousVersion=@CommodityStockDataVersion,CurVersion=@CommodityStockDataVersion+1,
OriginDateTime=@CommodityStockSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-111
ROLLBACK
RETURN -1
end
/***************************************************************************************************************************/
/*版本处理部分*/
SELECT @CurVersion=CurVersion
FROM DataVersion
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId =-5
ROLLBACK TRAN RETAIL
RETURN
END
ELSE
BEGIN
Update DataVersion
SET PreviousVersion = @CurVersion,CurVersion = @CurVersion+1
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
END
/*出入库记录处理部分*/
SELECT @PreCostSumMoney=@Amount_pre*@CostPrice
SELECT @PreSaleSumMoney=@Amount_pre*@RetailPrice
SELECT @CurCostSumMoney=@Amount_cs*@CostPrice
SELECT @CurSaleSumMoney=@Amount_cs*@RetailPrice
SELECT @ChangeSumMoney=@Amount*@RetailPrice
INSERT INTO InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId,BillCode, BusinessDate,AuditDate, RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice,PreBatchSalePrice,ChangePrice,Discount,DiscountPrice,PreAmount, ChangeAmount, OutAmount,CurAmount , PreCostSumMoney,PreSaleSumMoney, PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney, ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion,CommodityName,Spec,Unit,ProducingArea,AuthorizeCode,DoseTypeName,CreatorName,BusinessName,BillCodeName,StockName,EmbranchmentName,CustomerName,InStockName,OutStockName,Remark,CustomCode,CounterId,CounterName,IsZY,EntireDisCount,PayType,CardCode,Medicare,PayCard,PackingId,PackingName,CustomStr,ProductName)
VALUES (newid(),@EmbranchmentId, @Bill_OutStockId,@BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId, @BatchCode,@CostPrice , @RetailPrice,0 ,@RetailPrice ,1 ,@RetailPrice ,@Amount_pre,@Amount, @Amount, @Amount_cs , @PreCostSumMoney ,@PreSaleSumMoney, 0, @ChangeSumMoney, @CostPrice, @RetailPrice, 0, @CurCostSumMoney, 0, @CurSaleSumMoney , @ProductDate_Dem, @InvalidateDate_Dem, 1, 1, @ProviderId, @CustomerId, 0 , @OutStockId,@CurVersion + 1,@CommodityName,@Spec,@Unit,@ProducingArea,@AuthorizeCode,@DoseTypeName,@CreatorName,@BusinessName,@BillCodeName,@StockName,@EmbranchmentName,@CustomerName,@InStockName,@OutStockName,@Remark,@CustomCode,@CounterId,@CounterName,0,1,0,'',@Medicare,0,@PackingId,@PackingName,@CustomStr,@ProductName)
--拆零药品增加
--如果有相同编批的,就在库存中找相同编批最大号,在上面加数量
--如果没有相同编批的,就在库存中找此药的最大order号,insert到库存中
select @InOrder=isnull(max(InOrder),0) from CommodityStock where CommodityId=@Dem_CommodityId and PackingId=@Dem_PackingId and BatchCode= @Dem_BatchCode
select @InOrderLast=isnull(max(InOrder),0) from CommodityStock where CommodityId=@Dem_CommodityId and PackingId=@Dem_PackingId
select @CostPrice=CostPrice,@CostPrice_pre=CostPrice,@Amount_cs=Amount,@Amount_pre=Amount,@RetailPrice_pre=RetailPrice,@SumCost=SumCost,@SumCost_pre=SumCost,@SumRetail=SumRetail,@IsChinese=IsChinese,@PreMemberPrice=CurrentMemberPrice,@PreSaleSumMoney=SumRetail
/*从库存中找相同的记录,用来做移动加权平均法来修改"成本价"*/
from CommodityStock
where DepotId=@Bill_OutStockId
and InOrder=@InOrder
and EmbranchmentId=@EmbranchmentId
and CommodityId=@Dem_CommodityId
and BatchCode=@Dem_BatchCode
and PackingId=@Dem_PackingId
select @RowCount =@@ROWCOUNT
if @RowCount>1
begin
SELECT @ErrorMessage='库存中相同记录过多!'
Select @ErrorInfoId=-5
ROLLBACK
RETURN -1
end
if @RowCount<=0/*库存中没有对应的记录就插入,有则修改“成本价”、“数量”、“FactAmount”、“生产日期”、“有效期至”、“入库时间”、“零售价”、“零售合计”*/
begin
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
if @EmbranchmentId=-1
begin
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=-1
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
end
/**************************************************************************************************************************************/
select @CostPrice=0--CommodityStock处理部分
select @Amount_cs=0
select @CostPrice=(((@CostPrice*@Amount_cs)+(@Dem_CostPrice*@Dem_Amount))/(@Dem_Amount+@Amount_cs)) /*计算成本价*/
select @Amount_cs=@Dem_Amount+@Amount_cs /*计算数量*/
select @SumCost=@CostPrice*@Amount_cs /*计算小计金额*/
select @SumRetail=@Dem_RetailPrice*@Amount_cs
insert into CommodityStock (DepotId, EmbranchmentId, CommodityId, BatchCode, InOrder,ProductDate, InvalidateDate, InstockDate, CostPrice, RetailPrice, Amount, FactAmount, SumCost, SumRetail,CommodityName,Spec,DoseTypeName,ProducingArea,Unit,AuthorizeCode,SpellCode,CustomCode,CurrentRetailPrice,IsChinese,CounterId,CounterName,TXM,DataVersion,PreMemberPrice,CurrentMemberPrice,Medicare,PackingId,PackingName ,CustomStr,ProductName)
values(@Bill_OutStockId, @EmbranchmentId, @Dem_CommodityId, @Dem_BatchCode, @InOrderLast+1, @Dem_ProductDate, @Dem_InvalidateDate, @CreateDate, @CostPrice,@Dem_RetailPrice, @Amount_cs, @Amount_cs, @SumCost, @SumRetail,@Dem_CommodityName,@Dem_Spec,@Dem_DoseTypeName,@Dem_ProducingArea,@Dem_Unit,@Dem_AuthorizeCode,@Dem_SpellCode,@Dem_CustomCode,@Dem_RetailPrice,@Dem_IsChinese,@Dem_CounterId,@Dem_CounterName,@Dem_TXM,@CommodityStockDataVersion+1,@Dem_PreMemberPrice,@Dem_CurrentMemberPrice,@Dem_Medicare,@Dem_PackingId,@Dem_PackingName ,@Dem_CustomStr,@Dem_ProductName)
if @@error <>0
begin
SELECT @ErrorMessage='插入库存失败!'
Select @ErrorInfoId=-6
ROLLBACK
RETURN -1
end
/*************************************在社区药店系统版本处理部分**********************************************/
if @EmbranchmentId=-1
begin
Update DataVersion
set PreviousVersion=@CommodityStockDataVersion,CurVersion=@CommodityStockDataVersion+1,
OriginDateTime=@CommodityStockSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=-1
and DataVersionId=14
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-111
ROLLBACK
RETURN -1
end
end
/***************************************************************************************************************************/
select @CurVersion=CurVersion from DataVersion --版本处理部分
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-7
ROLLBACK
RETURN -1
end
Update DataVersion
set PreviousVersion=@CurVersion,CurVersion=@CurVersion+1
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-8
ROLLBACK
RETURN -1
end
--在插入InoutStockTable前将所需数据查询出来
--InoutStockTable处理部分
select @CurSaleSumMoney=@Amount_cs*@Dem_RetailPrice;
insert into InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId , BillCode, BusinessDate,AuditDate,RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice,
PreBatchSalePrice, ChangePrice, Discount, DiscountPrice, PreAmount, ChangeAmount, InAmount,CurAmount, PreCostSumMoney,PreSaleSumMoney,
PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney,
ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion, CommodityName , Spec ,
DoseTypeName , ProducingArea , Unit ,AuthorizeCode,CreatorName ,BusinessName , BillCodeName ,StockName, EmbranchmentName ,
ProviderName,CustomerName,InStockName,OutStockName,CustomCode,CounterId,CounterName ,PackingId,PackingName ,CustomStr,ProductName)
values (newid(),@EmbranchmentId, @Bill_OutStockId, @BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @Dem_CommodityId, @Dem_BatchCode,0, 0, 0,
@Dem_RetailPrice, 1, @Dem_RetailPrice, 0, @Dem_Amount, @Dem_Amount, @Amount_cs, 0, 0, 0, @SumMoney, @CostPrice,
@Dem_RetailPrice, 0, @SumCost, 0, @CurSaleSumMoney, @Dem_ProductDate, @Dem_InvalidateDate, 1, 1, @ProviderId, @CustomerId, @Bill_InStockId, 0,
@CurVersion+1,@Dem_CommodityName ,@Dem_Spec,@Dem_DoseTypeName,@Dem_ProducingArea,@Dem_Unit ,@Dem_AuthorizeCode, @CreatorName ,@BusinessName, @BillCodeName,
@StockName, @EmbranchmentName , @ProviderName , @CustomerName, @InStockName , @OutStockName,@Dem_CustomCode,@Dem_CounterId,@Dem_CounterName,@Dem_PackingId,@Dem_PackingName ,@Dem_CustomStr,@Dem_ProductName )
if @@error <>0
begin
SELECT @ErrorMessage='插入InoutStockTable出错!'
Select @ErrorInfoId=-9
ROLLBACK
RETURN -1
end
end
else
begin
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
if @EmbranchmentId=-1
begin
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=-1
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
end
/**************************************************************************************************************************************/
select @CostPrice=(((@CostPrice*@Amount_cs)+(@Dem_CostPrice*@Dem_Amount))/(@Dem_Amount+@Amount_cs)) /*计算成本价*/
select @Amount_cs=@Dem_Amount+@Amount_cs /*计算数量*/
select @SumCost=@CostPrice*@Amount_cs /*计算小计金额*/
select @SumRetail=@Dem_RetailPrice*@Amount_cs
Update CommodityStock
set ProductDate=@Dem_ProductDate,InvalidateDate=@InvalidateDate,InstockDate=@CreateDate,CostPrice=@CostPrice,Amount=@Amount_cs,FactAmount=@Amount_cs,SumCost=@SumCost,RetailPrice=@Dem_RetailPrice,SumRetail=@SumRetail,CurrentRetailPrice=@Dem_RetailPrice,IsChinese=@Dem_IsChinese,CounterId=@Dem_CounterId,CounterName=@Dem_CounterName ,DataVersion=@CommodityStockDataVersion+1
where DepotId=@Bill_InStockId
and EmbranchmentId=@EmbranchmentId
and CommodityId=@Dem_CommodityId
and InOrder=@InOrder
and BatchCode=@Dem_BatchCode
and PackingId=@Dem_PackingId
if @@error <>0
begin
SELECT @ErrorMessage='更新库存出错!'
Select @ErrorInfoId=-10
ROLLBACK
RETURN -1
end
/*************************************在社区药店系统版本处理部分**********************************************/
if @EmbranchmentId=-1
begin
Update DataVersion
set PreviousVersion=@CommodityStockDataVersion,CurVersion=@CommodityStockDataVersion+1,
OriginDateTime=@CommodityStockSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=-1
and DataVersionId=14
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-111
ROLLBACK
RETURN -1
end
end
/***************************************************************************************************************************/
select @CurVersion=CurVersion from DataVersion --版本处理部分
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-11
ROLLBACK
RETURN -1
end
Update DataVersion
set PreviousVersion=@CurVersion,CurVersion=@CurVersion+1
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-12
ROLLBACK
RETURN -1
end
--InoutStockTable处理部分
select @CurSaleSumMoney=@Amount_cs*@Dem_RetailPrice;
insert into InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId , BillCode, BusinessDate,AuditDate,RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice,
PreBatchSalePrice, ChangePrice, Discount, DiscountPrice, PreAmount, ChangeAmount, InAmount,CurAmount, PreCostSumMoney,PreSaleSumMoney,
PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney,
ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion, CommodityName , Spec ,
DoseTypeName , ProducingArea , Unit ,AuthorizeCode,CreatorName ,BusinessName , BillCodeName ,StockName, EmbranchmentName ,
ProviderName,CustomerName,InStockName,OutStockName,CustomCode,CounterId,CounterName ,PackingId,PackingName ,CustomStr,ProductName)
values (newid(),@EmbranchmentId, @Bill_InStockId, @BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @Dem_CommodityId, @Dem_BatchCode,@CostPrice_pre, @RetailPrice_pre, @RetailPrice_pre,
@Dem_RetailPrice, 1, @Dem_RetailPrice, @Amount_pre, @Dem_Amount, @Dem_Amount, @Amount_cs,@SumCost_pre, @PreSaleSumMoney, 0, @SumMoney, @CostPrice,
@Dem_RetailPrice, 0, @SumCost, 0, @CurSaleSumMoney, @Dem_ProductDate, @Dem_InvalidateDate, 1, 1, @ProviderId, @CustomerId, @Bill_InStockId, 0,
@CurVersion+1,@Dem_CommodityName ,@Dem_Spec,@Dem_DoseTypeName,@Dem_ProducingArea,@Dem_Unit ,@Dem_AuthorizeCode, @CreatorName ,@BusinessName, @BillCodeName,
@StockName, @EmbranchmentName , @ProviderName , @CustomerName, @InStockName , @OutStockName,@Dem_CustomCode,@Dem_CounterId,@Dem_CounterName,@Dem_PackingId,@Dem_PackingName ,@Dem_CustomStr,@Dem_ProductName )
if @@error <>0
begin
SELECT @ErrorMessage='插入InoutStockTable出错!'
Select @ErrorInfoId=-13
ROLLBACK
RETURN -1
end
end
END
Update Bill
SET Status=2,AuditDate=GETDATE()
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
fetch next from Cur_BillDetailDemolition
into @RowNum ,@DemId ,@CommodityId,@InOrder_Dem ,@PackingId ,@BatchCode,@ProductDate_Dem ,@InvalidateDate_Dem,@InstockDate_Dem,@CostPrice_Dem,@RetailPrice,@Amount ,@FactAmount_Dem,
@Odds ,@SumCost_Dem ,@SumRetail_Dem,@CommodityName,@Spec ,@DoseTypeName ,@ProducingArea , @Unit , @AuthorizeCode , @SpellCode,@TXM, @CustomCode,
@CurrentRetailPrice,@IsChinese, @CounterId , @CounterName , @DataVersion_Dem,@PreMemberPrice_Dem ,@CurrentMemberPrice, @Medicare, @UpperLimit , @LowerLimit , @PackingName ,
@CustomStr , @ProductName , @Dem_CommodityId , @Dem_InOrder, @Dem_PackingId ,@Dem_BatchCode, @Dem_ProductDate,@Dem_InvalidateDate ,
@Dem_InstockDate ,@Dem_CostPrice , @Dem_RetailPrice,@Dem_Amount , @Dem_FactAmount ,@Dem_Odds,@Dem_SumCost, @Dem_SumRetail , @Dem_CommodityName,
@Dem_Spec , @Dem_DoseTypeName , @Dem_ProducingArea , @Dem_Unit , @Dem_AuthorizeCode , @Dem_SpellCode , @Dem_TXM , @Dem_CustomCode,
@Dem_CurrentRetailPrice , @Dem_IsChinese, @Dem_CounterId, @Dem_CounterName, @Dem_DataVersion, @Dem_PreMemberPrice , @Dem_CurrentMemberPrice,
@Dem_Medicare, @Dem_UpperLimit, @Dem_LowerLimit , @Dem_PackingName , @Dem_CustomStr,@Dem_ProductName,@proportion
end
SELECT @ErrorMessage='药品拆零成功!'
Select @ErrorInfoId =1
CLOSE Cur_BillDetailDemolition
DEALLOCATE Cur_BillDetailDemolition
COMMIT TRAN
GO
/****** Object: StoredProcedure [dbo].[BillDetailAdjustCostPrice_Audit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[BillDetailAdjustCostPrice_Audit]
(
@BillId INT,
@ErrorMessage VARCHAR(100) OUTPUT ,
@ErrorInfoId int OUTPUT
)
AS
set nocount on
/*定义Bill对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @BillType TINYINT
DECLARE @BillFlowId INT
DECLARE @BillCode varchar(50)
DECLARE @CreateDate SMALLDATETIME
DECLARE @CreatorId SMALLINT
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @CustomerId INT
--DECLARE @CardId INT
DECLARE @Status TINYINT
DECLARE @SumMoney DECIMAL(18,4)
DECLARE @Bill_InStockId TINYINT
DECLARE @Bill_OutStockId TINYINT
DECLARE @Summary VARCHAR(100)
DECLARE @Remark VARCHAR(100)
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @CreatorName varchar(50)
DECLARE @BusinessName varchar(50)
DECLARE @BillCodeName varchar(50)
DECLARE @StockName varchar(50)
DECLARE @EmbranchmentName varchar(50)
DECLARE @ProviderName varchar(50)
DECLARE @CustomerName varchar(50)
DECLARE @InStockName varchar(50)
DECLARE @OutStockName varchar(50)
/*定义BillDetailAdjustCostPrice对应的局部变量*/
DECLARE @RowNum tinyint
DECLARE @CommodityId int
DECLARE @BatchCode varchar(50)
DECLARE @PreCostPrice_b decimal (18,4)
DECLARE @CurCostPrice_b decimal (18,4)
DECLARE @Amount decimal (18,4)
DECLARE @CostPriceDifference decimal (18,4)
DECLARE @SumPostCostPrice decimal (18,4)
DECLARE @SumCurCostPrice decimal (18,4)
DECLARE @SumCostPriceDifference decimal (18,4)
DECLARE @CommodityName varchar(100)
DECLARE @Spec varchar(50)
DECLARE @DoseTypeName varchar(50)
DECLARE @ProducingArea varchar(50)
DECLARE @Unit varchar(50)
DECLARE @AuthorizeCode varchar(50)
DECLARE @CustomCode varchar(50)
DECLARE @PackingId int
DECLARE @PackingName varchar(50)
DECLARE @CustomStr varchar(100)
DECLARE @ProductName varchar(100)
/*定义CommodityStock对应的局部变量*/
DECLARE @InOrder int
DECLARE @InvalidateDate datetime
DECLARE @InstockDate datetime
DECLARE @CostPrice decimal (18,4)
DECLARE @CostPrice_pre decimal (18,4)
DECLARE @FactAmount decimal (18,4)
DECLARE @RetailPrice_pre decimal (18,4)
DECLARE @Amount_cs decimal (18,4)
DECLARE @Amount_pre decimal (18,4)
DECLARE @SumCost decimal (18,4)
DECLARE @SumCost_pre decimal (18,4)
DECLARE @SumRetail decimal (18,4)
DECLARE @CommodityStockDataVersion bigint
DECLARE @CommodityStockOriginDateTime datetime
DECLARE @CommodityStockSynchronizeDateTime datetime
/*定义InoutStockTable对应的局部变量*/
DECLARE @Guid_is uniqueidentifier
DECLARE @StockId tinyint
DECLARE @PreCostPrice decimal(18,4)
DECLARE @PreSalePrice decimal(18,4)
DECLARE @PreBatchSalePrice decimal(18,4)
DECLARE @ChangePrice decimal(18,4)
DECLARE @PreAmount decimal(18,4)
DECLARE @ChangeAmount decimal(18,4)
DECLARE @CurAmount decimal(18,4)
DECLARE @PreCostSumMoney decimal(18,4)
DECLARE @PreSaleSumMoney decimal(18,4)
DECLARE @PreBatchSaleSumMoney decimal(18,4)
DECLARE @ChangeSumMoney decimal(18,4)
DECLARE @CurCostPrice decimal(18,4)
DECLARE @CurSalePrice decimal(18,4)
DECLARE @CurBatchSalePrice decimal(18,4)
DECLARE @CurCostSumMoney decimal(18,4)
DECLARE @CurSaleSumMoney decimal(18,4)
DECLARE @CurBatchSaleSumMoney decimal(18,4)
DECLARE @IsAmountChanged bit
DECLARE @IsMoneyChanged bit
DECLARE @InStockId int
DECLARE @OutStockId int
DECLARE @DataVersion bigint
/*定义DataVersion对应的局部变量*/
DECLARE @DataVersionId int
DECLARE @Name varchar(20)
DECLARE @PreviousVersion bigint
DECLARE @CurVersion bigint
DECLARE @OriginDateTime datetime
DECLARE @SynchronizeDateTime datetime
DECLARE @RowCount int
/*根据情况对局部变量赋初始值*/
select @CommodityStockDataVersion=0
select @ErrorMessage='单据已审核!'
SELECT @BillType=8 --成本调价单的BillType为8
SELECT @EmbranchmentId=INTValue FROM SysData WHERE Name='EmbranchmentId'
IF @EmbranchmentId IS NULL
BEGIN
SELECT @ErrorMessage='未查找到对应的分支机构Id'
Select @ErrorInfoId=-1
RETURN -1
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
SELECT
@EmbranchmentId=EmbranchmentId,
@BillId=BillId,
@BillType=BillType,
@BillFlowId=BillFlowId,
@BillCode=BillCode,
@CreateDate=CreateDate,
@CreatorId=CreatorId,
@BusinessDate=BusinessDate,
@BusinessId=BusinessId,
@AuditDate=AuditDate,
@AuditorId=AuditorId,
@ProviderId=ProviderId,
@CustomerId=CustomerId,
--@CardId=CardId,
@Status=@Status,
@SumMoney=SumMoney,
@Bill_InStockId=InStockId,
@Bill_OutStockId=OutStockId,
@Summary=Summary,
@Remark=Remark,
@Guid=Guid,
@CreatorName =CreatorName,
@BusinessName =BusinessName,
@BillCodeName =BillCodeName,
@StockName =StockName,
@EmbranchmentName =EmbranchmentName,
@ProviderName =ProviderName,
@CustomerName =CustomerName,
@InStockName =InStockName,
@OutStockName = OutStockName
FROM Bill(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@ROWCOUNT=0
BEGIN
ROLLBACK
SELECT @ErrorMessage='没有找到要审核的单据'
Select @ErrorInfoId=-2
RETURN-1
END
/*检查从单是否完整*/
SELECT *
FROM BillDetailAdjustCostPrice
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
if @@ROWCOUNT<=0
begin
SELECT @ErrorMessage='没有找到要审核的从单'
Select @ErrorInfoId=-3
ROLLBACK
RETURN -1
end
DECLARE Cur_BillDetailAdjustCostPrice CURSOR FOR /*从单游标*/
SELECT RowNum,CommodityId, BatchCode, PreCostPrice, CurCostPrice,Amount,CostPriceDifference,SumPostCostPrice,SumCurCostPrice,SumCostPriceDifference,CommodityName,Spec,DoseTypeName,ProducingArea,Unit, AuthorizeCode,CustomCode,InOrder , PackingId, PackingName ,CustomStr,ProductName
FROM BillDetailAdjustCostPrice
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
open Cur_BillDetailAdjustCostPrice /*打开游标*/
fetch next from Cur_BillDetailAdjustCostPrice
into @RowNum,@CommodityId, @BatchCode, @PreCostPrice_b, @CurCostPrice_b, @Amount, @CostPriceDifference,
@SumPostCostPrice, @SumCurCostPrice,@SumCostPriceDifference ,@CommodityName,@Spec,
@DoseTypeName,@ProducingArea,@Unit,@AuthorizeCode,@CustomCode,@InOrder,@PackingId, @PackingName ,@CustomStr,@ProductName
while @@FETCH_STATUS = 0
begin
if (@Bill_InStockId is null) or (@EmbranchmentId is null) or (@CommodityId is null)
begin
SELECT @ErrorMessage='从单数据不完整!'
Select @ErrorInfoId=-4
ROLLBACK
RETURN -1
end
select @CostPrice=CostPrice,@CostPrice_pre=CostPrice,@Amount_cs=Amount,@Amount_pre=Amount,@RetailPrice_pre=RetailPrice,@SumCost=SumCost,@SumCost_pre=SumCost,@SumRetail=SumRetail
from CommodityStock
where DepotId=@Bill_InStockId
and EmbranchmentId=@EmbranchmentId
and CommodityId=@CommodityId
and BatchCode=@BatchCode
and InOrder=@InOrder
and PackingId=@PackingId
select @RowCount =@@ROWCOUNT
if @RowCount<>1
begin
SELECT @ErrorMessage='无法在库存中定位记录!'
Select @ErrorInfoId=-5
ROLLBACK
RETURN -1
end
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
/**************************************************************************************************************************************/
Update CommodityStock /*修改库存中对应的记录*/
set CostPrice=@CurCostPrice_b ,SumCost=Amount*@CurCostPrice_b,DataVersion=@CommodityStockDataVersion+1
where DepotId=@Bill_InStockId
and EmbranchmentId=@EmbranchmentId
and CommodityId=@CommodityId
and BatchCode=@BatchCode
and InOrder=@InOrder
and PackingId=@PackingId
if @@error <>0
begin
SELECT @ErrorMessage='更新库存出错!'
Select @ErrorInfoId=-6
ROLLBACK
RETURN -1
end
/*************************************在社区药店系统版本处理部分**********************************************/ Update DataVersion
set PreviousVersion=@CommodityStockDataVersion,CurVersion=@CommodityStockDataVersion+1,
OriginDateTime=@CommodityStockSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-111
ROLLBACK
RETURN -1
end
/***************************************************************************************************************************/
select @CurVersion=CurVersion from DataVersion --版本处理部分
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-7
ROLLBACK
RETURN -1
end
Update DataVersion
set PreviousVersion=@CurVersion,CurVersion=@CurVersion+1
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-8
ROLLBACK
RETURN -1
end
--InoutStockTable处理部分
insert into InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId, BillCode,BusinessDate,AuditDate, RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice,
PreBatchSalePrice, ChangePrice, Discount, DiscountPrice, PreAmount, ChangeAmount, CurAmount, PreCostSumMoney, PreSaleSumMoney,
PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney,
CurSaleSumMoney, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion,
CommodityName , Spec , DoseTypeName , ProducingArea , Unit ,AuthorizeCode,CreatorName ,BusinessName , BillCodeName ,StockName,
EmbranchmentName , ProviderName,CustomerName,InStockName,OutStockName,CustomCode,PackingId,PackingName,CustomStr,ProductName)
values (newid(),@EmbranchmentId, @Bill_InStockId, @BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId, @BatchCode,
@PreCostPrice_b, @RetailPrice_pre, 0, @RetailPrice_pre, 1, @RetailPrice_pre, @Amount, @Amount, @Amount, @SumPostCostPrice,
@SumRetail, 0, @CurCostPrice_b, @CurCostPrice_b, @RetailPrice_pre, 0, @SumPostCostPrice, 0,
@RetailPrice_pre*@Amount , @InvalidateDate, 1, 1, @ProviderId, @CustomerId, @Bill_InStockId, 0, @CurVersion + 1,
@CommodityName ,@Spec,@DoseTypeName,@ProducingArea,@Unit ,@AuthorizeCode, @CreatorName ,@BusinessName, @BillCodeName,
@StockName, @EmbranchmentName , @ProviderName , @CustomerName, @InStockName , @OutStockName,@CustomCode,@PackingId,@PackingName,@CustomStr,@ProductName)
if @@error <>0
begin
SELECT @ErrorMessage='插入InoutStockTable出错!'
Select @ErrorInfoId=-9
ROLLBACK
RETURN -1
end
Update Bill
set Status=2,AuditDate=getdate()
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
and Status=1
if @@error <>0
begin
SELECT @ErrorMessage='更新主单出错!'
Select @ErrorInfoId=-10
ROLLBACK
RETURN -1
end
fetch next from Cur_BillDetailAdjustCostPrice
into @RowNum,@CommodityId, @BatchCode, @PreCostPrice_b, @CurCostPrice_b, @Amount, @CostPriceDifference,
@SumPostCostPrice, @SumCurCostPrice,@SumCostPriceDifference ,@CommodityName,@Spec,
@DoseTypeName,@ProducingArea,@Unit,@AuthorizeCode,@CustomCode,@InOrder,@PackingId,@PackingName,@CustomStr,@ProductName
end
CLOSE Cur_BillDetailAdjustCostPrice
DEALLOCATE Cur_BillDetailAdjustCostPrice
Select @ErrorInfoId=1
Commit Tran
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[BillDetailAdjustRetailPrice_Audit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[BillDetailAdjustRetailPrice_Audit]
(
@BillId INT,
@ErrorMessage VARCHAR(100) OUTPUT ,
@ErrorInfoId int OUTPUT
)
AS
set nocount on
/*定义Bill对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @BillType TINYINT
DECLARE @BillFlowId INT
DECLARE @BillCode varchar(50)
DECLARE @CreateDate SMALLDATETIME
DECLARE @CreatorId SMALLINT
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @CustomerId INT
--DECLARE @CardId INT
DECLARE @Status TINYINT
DECLARE @SumMoney DECIMAL(18,4)
DECLARE @Bill_InStockId TINYINT
DECLARE @Bill_OutStockId TINYINT
DECLARE @Summary VARCHAR(100)
DECLARE @Remark VARCHAR(100)
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @CreatorName varchar(50)
DECLARE @BusinessName varchar(50)
DECLARE @BillCodeName varchar(50)
DECLARE @StockName varchar(50)
DECLARE @EmbranchmentName varchar(50)
DECLARE @ProviderName varchar(50)
DECLARE @CustomerName varchar(50)
DECLARE @InStockName varchar(50)
DECLARE @OutStockName varchar(50)
/*定义BillDetailAdjustRetailPrice对应的局部变量*/
DECLARE @RowNum tinyint
DECLARE @CommodityId int
DECLARE @BatchCode varchar(50)
DECLARE @PreRetailPrice_b decimal (18,4)
DECLARE @CurRetailPrice_b decimal (18,4)
DECLARE @Amount decimal (18,4)
DECLARE @RetailPriceDifference decimal (18,4)
DECLARE @SumPostRetailPrice decimal (18,4)
DECLARE @SumCurRetailPrice decimal (18,4)
DECLARE @SumRetailPriceDifference decimal (18,4)
DECLARE @CommodityName varchar(100)
DECLARE @Spec varchar(50)
DECLARE @DoseTypeName varchar(50)
DECLARE @ProducingArea varchar(50)
DECLARE @Unit varchar(50)
DECLARE @AuthorizeCode varchar(50)
DECLARE @CustomCode varchar(50)
DECLARE @PackingId int
DECLARE @PackingName varchar(50)
DECLARE @CustomStr varchar(100)
DECLARE @ProductName varchar(100)
DECLARE @PreMemberPrice decimal(18,4)
DECLARE @CurMemberPrice decimal(18,4)
/*定义CommodityStock对应的局部变量*/
DECLARE @InOrder int
DECLARE @InvalidateDate datetime
DECLARE @InstockDate datetime
DECLARE @RetailPrice decimal (18,4)
DECLARE @RetailCostPrice_pre decimal (18,4)
DECLARE @FactAmount decimal (18,4)
DECLARE @RetailPrice_pre decimal (18,4)
DECLARE @Amount_cs decimal (18,4)
DECLARE @Amount_pre decimal (18,4)
DECLARE @SumRetail decimal (18,4)
DECLARE @SumRetail_pre decimal (18,4)
DECLARE @Current_RetailPrice decimal(18,4)
DECLARE @CommodityStockDataVersion bigint
DECLARE @CommodityStockOriginDateTime datetime
DECLARE @CommodityStockSynchronizeDateTime datetime
/*定义InoutStockTable对应的局部变量*/
DECLARE @Guid_is uniqueidentifier
DECLARE @StockId tinyint
DECLARE @PreRetailPrice decimal(18,4)
DECLARE @PreSalePrice decimal(18,4)
DECLARE @PreBatchSalePrice decimal(18,4)
DECLARE @ChangePrice decimal(18,4)
DECLARE @PreAmount decimal(18,4)
DECLARE @ChangeAmount decimal(18,4)
DECLARE @CurAmount decimal(18,4)
DECLARE @PreRetailSumMoney decimal(18,4)
DECLARE @PreSaleSumMoney decimal(18,4)
DECLARE @PreBatchSaleSumMoney decimal(18,4)
DECLARE @ChangeSumMoney decimal(18,4)
DECLARE @CurRetailPrice decimal(18,4)
DECLARE @CurSalePrice decimal(18,4)
DECLARE @CurBatchSalePrice decimal(18,4)
DECLARE @CurRetailSumMoney decimal(18,4)
DECLARE @CurSaleSumMoney decimal(18,4)
DECLARE @CurBatchSaleSumMoney decimal(18,4)
DECLARE @IsAmountChanged bit
DECLARE @IsMoneyChanged bit
DECLARE @InStockId int
DECLARE @OutStockId int
DECLARE @DataVersion bigint
/*定义DataVersion对应的局部变量*/
DECLARE @DataVersionId int
DECLARE @Name varchar(20)
DECLARE @PreviousVersion bigint
DECLARE @CurVersion bigint
DECLARE @OriginDateTime datetime
DECLARE @SynchronizeDateTime datetime
DECLARE @RowCount int
/*根据情况对局部变量赋初始值*/
select @CommodityStockDataVersion=0
select @ErrorMessage='单据已审核!'
SELECT @BillType=11 --成本调价单的BillType为8
SELECT @EmbranchmentId=INTValue FROM SysData WHERE Name='EmbranchmentId'
IF @EmbranchmentId IS NULL
BEGIN
SELECT @ErrorMessage='未查找到对应的分支机构Id'
Select @ErrorInfoId=-1
RETURN -1
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
SELECT
@EmbranchmentId=EmbranchmentId,
@BillId=BillId,
@BillType=BillType,
@BillFlowId=BillFlowId,
@BillCode=BillCode,
@CreateDate=CreateDate,
@CreatorId=CreatorId,
@BusinessDate=BusinessDate,
@BusinessId=BusinessId,
@AuditDate=AuditDate,
@AuditorId=AuditorId,
@ProviderId=ProviderId,
@CustomerId=CustomerId,
--@CardId=CardId,
@Status=@Status,
@SumMoney=SumMoney,
@Bill_InStockId=InStockId,
@Bill_OutStockId=OutStockId,
@Summary=Summary,
@Remark=Remark,
@Guid=Guid,
@CreatorName =CreatorName,
@BusinessName =BusinessName,
@BillCodeName =BillCodeName,
@StockName =StockName,
@EmbranchmentName =EmbranchmentName,
@ProviderName =ProviderName,
@CustomerName =CustomerName,
@InStockName =InStockName,
@OutStockName = OutStockName
FROM Bill(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@ROWCOUNT=0
BEGIN
ROLLBACK
SELECT @ErrorMessage='没有找到要审核的单据'
Select @ErrorInfoId=-2
RETURN-1
END
/*检查从单是否完整*/
SELECT *
FROM BillDetailAdjustRetailPrice
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
if @@ROWCOUNT<=0
begin
SELECT @ErrorMessage='没有找到要审核的从单'
Select @ErrorInfoId=-3
ROLLBACK
RETURN -1
end
DECLARE Cur_BillDetailAdjustRetailPrice CURSOR FOR /*从单游标*/
SELECT RowNum,CommodityId, BatchCode, PreRetailPrice, CurRetailPrice,Amount,RetailPriceDifference,SumPostRetailPrice,SumCurRetailPrice,SumRetailPriceDifference,
CommodityName,Spec,DoseTypeName,ProducingArea,Unit, AuthorizeCode,CustomCode,InOrder, PackingId, PackingName ,CustomStr,ProductName,PreMemberPrice,CurMemberPrice
FROM BillDetailAdjustRetailPrice
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
open Cur_BillDetailAdjustRetailPrice /*打开游标*/
fetch next from Cur_BillDetailAdjustRetailPrice
into @RowNum,@CommodityId, @BatchCode, @PreRetailPrice_b, @CurRetailPrice_b, @Amount, @RetailPriceDifference,
@SumPostRetailPrice, @SumCurRetailPrice,@SumRetailPriceDifference ,@CommodityName,@Spec,
@DoseTypeName,@ProducingArea,@Unit,@AuthorizeCode,@CustomCode,@InOrder,@PackingId, @PackingName ,
@CustomStr,@ProductName,@PreMemberPrice,@CurMemberPrice
while @@FETCH_STATUS = 0
begin
if (@Bill_InStockId is null) or (@EmbranchmentId is null) or (@CommodityId is null)
begin
SELECT @ErrorMessage='从单数据不完整!'
Select @ErrorInfoId=-4
ROLLBACK
RETURN -1
end
select @RetailPrice=RetailPrice,@RetailPrice_pre=RetailPrice,@Amount_cs=Amount,@Amount_pre=Amount,@RetailPrice_pre=RetailPrice,@SumRetail=SumRetail,@SumRetail_pre=SumRetail,@Current_RetailPrice=CurrentRetailPrice
from CommodityStock
where DepotId=@Bill_InStockId
and EmbranchmentId=@EmbranchmentId
and CommodityId=@CommodityId
and PackingId=@PackingId
select @RowCount =@@ROWCOUNT
if @RowCount>0
begin
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
/**************************************************************************************************************************************/
Update CommodityStock /*修改库存中对应的记录*/
set CurrentRetailPrice=@CurRetailPrice_b,SumRetail=@CurRetailPrice_b*Amount,RetailPrice=@Current_RetailPrice,DataVersion=@CommodityStockDataVersion+1,PreMemberPrice=@PreMemberPrice,CurrentMemberPrice=@CurMemberPrice
where EmbranchmentId=@EmbranchmentId
and CommodityId=@CommodityId
and PackingId=@PackingId
if @@error <>0
begin
SELECT @ErrorMessage='更新库存价格出错!'
Select @ErrorInfoId=-6
ROLLBACK
RETURN -1
end
/*************************************在社区药店系统版本处理部分**********************************************/ Update DataVersion
set PreviousVersion=@CommodityStockDataVersion,CurVersion=@CommodityStockDataVersion+1,
OriginDateTime=@CommodityStockSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-111
ROLLBACK
RETURN -1
end
/***************************************************************************************************************************/
end
Update Commodity /*修改商品中对应的记录*/
set RetailPrice=@CurRetailPrice_b,MemberPrice=@CurMemberPrice
where CommodityId=@CommodityId
and PackingId=@PackingId
if @@error<>0
begin
SELECT @ErrorMessage='更新商品价格出错!'
Select @ErrorInfoId=-6
ROLLBACK
RETURN -1
end
--InoutStockTable处理部分
insert into InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId, BillCode,BusinessDate,AuditDate, RowNum, CommodityId, PreCostPrice, PreSalePrice,
PreBatchSalePrice, ChangePrice, Discount, DiscountPrice, PreAmount, ChangeAmount, CurAmount, PreCostSumMoney, PreSaleSumMoney,
PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney,
CurSaleSumMoney, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion,
CommodityName , Spec , DoseTypeName , ProducingArea , Unit ,AuthorizeCode,CreatorName ,BusinessName , BillCodeName ,StockName,
EmbranchmentName , ProviderName,CustomerName,InStockName,OutStockName,CustomCode ,PackingId,PackingName,CustomStr,ProductName,PreMemberPrice,CurMemberPrice)
values (newid(),@EmbranchmentId, @Bill_InStockId, @BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId,
@PreRetailPrice_b, @RetailPrice_pre, 0, @RetailPrice_pre, 1, @RetailPrice_pre, @Amount, @Amount, @Amount, @SumPostRetailPrice,
@SumRetail, 0, @CurRetailPrice_b, @CurRetailPrice_b, @RetailPrice_pre, 0, @SumPostRetailPrice, 0,
@RetailPrice_pre*@Amount , @InvalidateDate, 1, 1, @ProviderId, @CustomerId, @Bill_InStockId, 0, @CurVersion + 1,
@CommodityName ,@Spec,@DoseTypeName,@ProducingArea,@Unit ,@AuthorizeCode, @CreatorName ,@BusinessName, @BillCodeName,
@StockName, @EmbranchmentName , @ProviderName , @CustomerName, @InStockName , @OutStockName,@CustomCode ,@PackingId,@PackingName,
@CustomStr,@ProductName,@PreMemberPrice,@CurMemberPrice)
if @@error <>0
begin
SELECT @ErrorMessage='插入InoutStockTable出错!'
Select @ErrorInfoId=-9
ROLLBACK
RETURN -1
end
Update Bill
set Status=2,AuditDate=getdate()
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
and Status=1
if @@error <>0
begin
SELECT @ErrorMessage='更新主单出错!'
Select @ErrorInfoId=-10
ROLLBACK
RETURN -1
end
fetch next from Cur_BillDetailAdjustRetailPrice
into @RowNum,@CommodityId, @BatchCode, @PreRetailPrice_b, @CurRetailPrice_b, @Amount, @RetailPriceDifference,
@SumPostRetailPrice, @SumCurRetailPrice,@SumRetailPriceDifference ,@CommodityName,@Spec,
@DoseTypeName,@ProducingArea,@Unit,@AuthorizeCode,@CustomCode,@InOrder,@PackingId,@PackingName,@CustomStr,@ProductName,
@PreMemberPrice,@CurMemberPrice
end
CLOSE Cur_BillDetailAdjustRetailPrice
DEALLOCATE Cur_BillDetailAdjustRetailPrice
Select @ErrorInfoId=1
Commit Tran
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[CleanRetailBill] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[CleanRetailBill] AS
/*此存储过程的功能*/
/*1、在开始盘点前把零售单和零售退货单没有审核的删除(零售挂单除外)*/
declare @EmbranchmentId SMALLINT
declare @BillType tinyint
declare @BillId int
declare @IsGD SMALLINT
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
declare Cur_bill cursor for
select EmbranchmentId,BillId,BillType,IsGD
from bill
where (BillType=5 or BillType=6 ) and Status=1
open Cur_bill /*打开游标*/
fetch next from Cur_bill
into @EmbranchmentId ,@BillId,@BillType,@IsGD
while @@FETCH_STATUS = 0
begin
if (@BillType=5)/*零售单必须检查是否是挂单,如果是挂单就不删除,如果不是挂单就删除*/
begin
if (@IsGD=0)
begin
Delete bill where EmbranchmentId=@EmbranchmentId and BillId=@BillId and BillType=@BillType/*删除主单*/
if @@error <>0
begin
ROLLBACK
RETURN -1
end
Delete BillDetailRetail where EmbranchmentId=@EmbranchmentId and BillId=@BillId and BillType=@BillType/*删除从单*/
if @@error <>0
begin
ROLLBACK
RETURN -1
end
end
end
if (@BillType=6)
begin
Delete bill where EmbranchmentId=@EmbranchmentId and BillId=@BillId and BillType=@BillType/*删除主单*/
if @@error <>0
begin
ROLLBACK
RETURN -1
end
Delete BillDetailRetailReturn where EmbranchmentId=@EmbranchmentId and BillId=@BillId and BillType=@BillType/*删除从单*/
if @@error <>0
begin
ROLLBACK
RETURN -1
end
end
fetch next from Cur_bill
into @EmbranchmentId ,@BillId,@BillType,@IsGD
end
CLOSE Cur_bill
DEALLOCATE Cur_bill
Commit Tran
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[CreaterSuperviseEmbranchment] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[CreaterSuperviseEmbranchment]
(
@embranchmentId int,
@economyKind varchar(20),
@workMethod varchar(50),
@enterpriseKind varchar(10),
@guid uniqueidentifier,
@dataVersion bigint
) AS
--取得每个版本号的最大值
DECLARE @DoseType BIGINT
DECLARE @WorkScope BIGINT
DECLARE @Catalog BIGINT
DECLARE @Bulletin BIGINT
DECLARE @BulletinEmbranchment BIGINT
DECLARE @Commodity BIGINT
DECLARE @Provider BIGINT
SELECT @DoseType=MAX(DataVersion)
FROM DoseType
SELECT @WorkScope=MAX(DataVersion)
FROM WorkScope
SELECT @Catalog=MAX(DataVersion)
FROM Catalog
SELECT @Bulletin=MAX(DataVersion)
FROM Bulletin
SELECT @BulletinEmbranchment=MAX(DataVersion)
FROM BulletinEmbranchment
SELECT @Commodity=MAX(DataVersion)
FROM Commodity
SELECT @Provider=MAX(DataVersion)
FROM Provider
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
SET NOCOUNT ON
begin
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)
values (@embranchmentId,1,'InoutStockTable',0,0,3,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)
values (@embranchmentId,2,'DoseType',0,@DoseType,100,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)
values (@embranchmentId,3,'Embranchment',0,0,100,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)
values (@embranchmentId,4,'WorkScope',0,@WorkScope,100,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)
values (@embranchmentId,5,'Catalog',0,@Catalog,100,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)
values (@embranchmentId,6,'Bulletin',0,@Bulletin,100,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)
values (@embranchmentId,7,'BulletinEmbranchment',0,@BulletinEmbranchment,100,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)
values (@embranchmentId,8,'Commodity',0,@Commodity,20,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)
values (@embranchmentId,9,'Provider',0,@Provider,10,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)
values (@embranchmentId,10,'RetailCommodity',0,0,10,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
END
insert into Embranchment (EmbranchmentId,EconomyKind,WorkMethod,EnterpriseKind,Guid,DataVersion)
values(@embranchmentId,@economyKind,@workMethod,@enterpriseKind,@guid,0)
IF @@ERROR<>0
BEGIN
ROLLBACK
END
end
COMMIT
GO
/****** Object: StoredProcedure [dbo].[CreaterEmbranchment2] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters
-- command (Ctrl-Shift-M) to fill in the parameter
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[CreaterEmbranchment2]
(
@EmbranchmentId int OUTPUT,
@Name varchar(50),
@Guid uniqueidentifier
)
AS
Declare @Sequence_NextId int
BEGIN
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
select @Sequence_NextId=Sequence_NextId from Sequences(UPDLOCK) where Sequence_Name like 'Embranchment'
IF @@ROWCOUNT=0 /*在Sequences表中未找到Embranchment这条记录*/
BEGIN
ROLLBACK
SELECT @EmbranchmentId=0
RETURN
END
select @EmbranchmentId=@Sequence_NextId+1
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)values (@EmbranchmentId,1,'InoutStockTable',0,0,100,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
SELECT @EmbranchmentId=0
RETURN
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)values (@EmbranchmentId,3,'Embranchment',0,1,100,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
SELECT @EmbranchmentId=0
RETURN
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)values (@EmbranchmentId,10,'RetailCommodity',0,0,100,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
SELECT @EmbranchmentId=0
RETURN
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)values (@EmbranchmentId,11,'EmbranchmentEmployee',0,0,10,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
SELECT @EmbranchmentId=0
RETURN
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)values (@EmbranchmentId,12,'CommodityBcrUser',0,0,10,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
SELECT @EmbranchmentId=0
RETURN
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)values (@EmbranchmentId,13,'KyylqxEvent',0,0,10,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
SELECT @EmbranchmentId=0
RETURN
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)values (@EmbranchmentId,14,'Shift',0,0,10,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
SELECT @EmbranchmentId=0
RETURN
END
insert into Embranchment (EmbranchmentId,Code,Name,DataVersion,Guid,Enable)
values(@EmbranchmentId,@EmbranchmentId,@Name,1,@Guid,1)
IF @@ERROR<>0
BEGIN
ROLLBACK
SELECT @EmbranchmentId=0
RETURN
END
Update Sequences Set Sequence_NextId=@EmbranchmentId where Sequence_Name like 'Embranchment'
IF @@ERROR<>0
BEGIN
ROLLBACK
SELECT @EmbranchmentId=0
RETURN
END
commit tran
END
GO
/****** Object: StoredProcedure [dbo].[CreaterEmbranchment] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[CreaterEmbranchment]
(
@EmbranchmentId int,
@EconomyKind varchar(20),
@WorkMethod varchar(50),
@EnterpriseKind varchar(10),
@Guid uniqueidentifier,
@DataVersion bigint
) AS
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
SET NOCOUNT ON
begin
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)values (@embranchmentId,1,'InoutStockTable',0,0,100,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)values (@embranchmentId,3,'Embranchment',0,0,100,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)values (@embranchmentId,10,'RetailCommodity',0,0,100,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)values (@embranchmentId,11,'EmbranchmentEmployee',0,0,10,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)values (@embranchmentId,12,'CommodityBcrUser',0,0,10,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)values (@embranchmentId,13,'KyylqxEvent',0,0,10,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
END
insert into dataversion (EmbranchmentId,DataVersionId,Name,PreviousVersion,CurVersion,MaxSenderRecord,OriginDateTime,SynchronizeDateTime,Remark)values (@embranchmentId,14,'Shift',0,0,10,getDate(),getDate(),'初始数据')
IF @@ERROR<>0
BEGIN
ROLLBACK
END
/*insert into Embranchment (EmbranchmentId,EconomyKind,WorkMethod,EnterpriseKind,Guid,DataVersion)
values(@embranchmentId,@economyKind,@workMethod,@enterpriseKind,@guid,0)
IF @@ERROR<>0
BEGIN
ROLLBACK
END*/
end
COMMIT
GO
/****** Object: StoredProcedure [dbo].[DeleteCommodityConvert] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[DeleteCommodityConvert]
(
@NewCommodityId int,
@NewPackingId int,
@NewGeneralName varchar (100),
@NewProductName varchar (100),
@NewSpec varchar (200),
@NewProducingArea varchar (100),
@NewDoseType varchar (50),
@NewAuthorizeCode varchar (100),
@NewSpellCode varchar (100),
@NewCustomCode varchar (50),
@NewUnit varchar(50),
@NewTXM varchar (60),
@OldCommodityId int,
@OldPackingId int,
@OldGeneralName varchar (100),
@OldProductName varchar (100),
@OldSpec varchar (200),
@OldProducingArea varchar (100),
@OldDoseType varchar (50),
@OldAuthorizeCode varchar (100),
@OldSpellCode varchar (100),
@OldCustomCode varchar (50),
@OldUnit varchar(50),
@OldTXM varchar (60),
@OldPackingName varchar (60),
@OldRetailPrice decimal(18,4),
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
BEGIN TRAN
--删除CommodityRelation中的对应关系
delete from CommodityRelation where NewCommodityId=@NewCommodityId and NewPackingId=@NewPackingId and OldCommodityId=@OldCommodityId and OldPackingId=@OldPackingId
if @@error <>0
begin
select @ErrorMessage='删除CommodityRelation失败!'
select @ErrorInfoId=-1
rollback
return -1
end
--删除Commodity中的药品
if (@NewCommodityId>0)
begin
delete from Commodity where CommodityId=@NewCommodityId and PackingId=@NewPackingId
if @@error <>0
begin
select @ErrorMessage='删除Commodity失败!'
select @ErrorInfoId=-1
rollback
return -1
end
end
else
begin
delete from Commodity where CommodityId=@OldCommodityId and PackingId=@OldPackingId
if @@error <>0
begin
select @ErrorMessage='删除Commodity失败!'
select @ErrorInfoId=-1
rollback
return -1
end
end
--将CommodityOld中的Deleted设为'0'
Update CommodityOld Set Deleted=0 where CommodityId=@OldCommodityId and PackingId=@OldPackingId
if @@error <>0
begin
select @ErrorMessage='更新CommodityOld失败!'
select @ErrorInfoId=-1
rollback
return -1
end
select @ErrorMessage='删除成功!'
select @ErrorInfoId=1
Commit Tran
return 0
GO
/****** Object: StoredProcedure [dbo].[dataVersionIni] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[dataVersionIni] AS
declare @sql varchar(300)
declare @TableName varchar(50)
declare @NextTableName varchar(50)
select Name from DataVersion
declare SelectTableCursor cursor for
select Name from dataVersion
open SelectTableCursor
select @TableName='@TableName'
fetch next from selectTableCursor into @TableName
while(@@fetch_Status=0)
begin
select @sql='update dataVersion set PreviousVersion=CurVersion,CurVersion=(select isnull(max(dataVersion),0) from '+@TableName+') where name='+char(39)+@TableName+char(39)
update dataversion set synchronizedatetime = getdate() where dataversionid = 1
if(@TableName='RetailCommodity')
begin
update dataVersion set PreviousVersion=CurVersion,CurVersion=isnull((select max(RetailDataVersion) from Commodity ),0)-1 where name='RetailCommodity'
end
else
begin
if(@TableName='Commodity')
begin
update dataVersion set PreviousVersion=CurVersion,CurVersion=isnull((select max(DataVersion) from CommodityStandard),0)+1 where name='Commodity'
end
else
begin
if (@TableName<>'SynchronizePrice')
begin
exec(@sql)
end
end
end
print @TableName
print @sql
select @sql=replace(@sql,@TableName,@NextTableName)
select @NextTableName=@TableName
fetch next from selectTableCursor into @TableName
end
close selectTableCursor
deallocate selectTableCursor
GO
/****** Object: StoredProcedure [dbo].[catalog_Update] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[catalog_Update]
(
@CatalogType int,
@catalogCode varchar(50),
@CatalogName varchar(50),
@CatalogComment varchar(50),
@CatalogNumber varchar(50),
@Id int
)
AS
BEGIN
DECLARE @DataVersion bigint
DECLARE @PreviousVersion BIGINT
DECLARE @SynchronizeDateTime datetime
DECLARE @OriginDateTime datetime
SELECT @DataVersion=CurVersion ,
@PreviousVersion=CurVersion ,
@OriginDateTime=SynchronizeDateTime,
@SynchronizeDateTime=GETDATE()
FROM DataVersion WHERE DataVersionId=5
SET @DataVersion=@DataVersion+1
END
BEGIN TRAN
UPDATE Catalog
SET
CatalogCode=@catalogCode,
CatalogName=@CatalogName,
CatalogNumber=@CatalogNumber,
CatalogComment=@CatalogComment,
DataVersion=@DataVersion
WHERE Id = @Id and CatalogType=@CatalogType
IF @@ERROR!=0 --成功执行,返回0
BEGIN
ROLLBACK TRAN
RETURN 1
END
UPDATE CatalogPedigree
SET
DataVersion=@DataVersion
WHERE ChildId=@Id AND CatalogType=@CatalogType
IF @@ERROR!=0 --成功执行,返回0
BEGIN
ROLLBACK TRAN
RETURN 1
END
UPDATE DataVersion
SET
PreviousVersion=@PreviousVersion,
CurVersion=@DataVersion,
OriginDateTime=@OriginDateTime,
SynchronizeDateTime=@SynchronizeDateTime
WHERE DataVersionId=5
IF @@ERROR!=0 --成功执行,返回0
BEGIN
ROLLBACK TRAN
RETURN 1
END
COMMIT TRAN
GO
/****** Object: StoredProcedure [dbo].[catalog_Insert] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[catalog_Insert]
(
@CatalogType int,
@ParentId int,
@Deleted int,
@catalogCode varchar(50),
@CatalogName varchar(50),
@CatalogComment varchar(50),
@CatalogNumber varchar(50),
@Id int output
)
AS
BEGIN
DECLARE @iMaxId int
DECLARE @PreviousVersion bigint
DECLARE @SynchronizeDateTime datetime
DECLARE @OriginDateTime datetime
DECLARE @DataVersion bigint
DECLARE @iMaxDataVersion bigint --find out max Id in table Catalog according to CatalogType
DECLARE @Class int --当前插入数据的层次
/*设置事务隔离级别*/
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
/*开始事务*/
BEGIN TRANSACTION
/*取得当前最大的Id*/
SELECT
@iMaxId=ISnULL(MAX(Id),0),
@iMaxDataVersion=ISnUll(MAX(DataVersion),0)
FROM Catalog
--WHERE CatalogType=@CatalogType
SELECT @Class=0
SELECT @iMaxId=@iMaxId+1
SELECT @iMaxDataVersion=@iMaxDataVersion+1
/*返回当前的Id*/
SET @Id=@iMaxId
SET @DataVersion=@iMaxDataVersion
/*向表Catalog插入数据*/
insert into Catalog
(
Id,
CatalogType,
ParentId,
Class,
Deleted,
CatalogCode,
CatalogName,
CatalogNumber,
CatalogComment,
DataVersion
)
VALUES
(
@Id,
@CatalogType,
@ParentId,
@Class,
@Deleted,
@CatalogCode,
@CatalogName,
@CatalogNumber,
@CatalogComment,
@DataVersion
)
/*取得当前数据所在级别Class*/
SELECT
@Class=ISnULL(MAX(ParentClass),0)
FROM CatalogPedigree
WHERE ParentId=@ParentId
AND CatalogType=@CatalogType
SET @Class=@Class+1
/*向CatalogPedigree表中插入直接父层数据*/
INSERT INTO CatalogPedigree
(
CatalogType,
ParentId,
Deleted,
ChildId,
ParentClass,
ChildClass,
DataVersion
)
VALUES
(
@CatalogType,
@ParentId,
@Deleted,
@iMaxId,
@Class-1,
@Class,
@DataVersion
)
IF @@ERROR!=0
BEGIN
ROLLBACK TRAN
END
/*向CatalogPedigree表中插入间接父层数据*/
INSERT INTO CatalogPedigree
(
CatalogType,
ParentId,
ChildId,
ParentClass,
ChildClass,
DataVersion
)
SELECT
CatalogType,
ParentId,
@iMaxId,
ParentClass,
@Class,
@iMaxDataVersion
FROM CatalogPedigree
WHERE ChildId=@ParentId
AND CatalogType=@CatalogType
AND ParentId!=0
IF @@ERROR!=0
BEGIN
ROLLBACK TRAN
END
SELECT @PreviousVersion=CurVersion,
@OriginDateTime=SynchronizeDateTime
FROM DataVersion
WHERE DataVersionId=5
SET @SynchronizeDateTime=GetDate()
UPDATE DataVersion
SET
PreviousVersion=@PreviousVersion,
CurVersion=@iMAXDataVersion,
OriginDateTime=@OriginDateTime,
SynchronizeDateTime=@SynchronizeDateTime
WHERE DataVersionId=5
IF @@ERROR!=0
BEGIN
ROLLBACK TRAN
END
/*提交事务*/
COMMIT TRANSACTION
END
GO
/****** Object: StoredProcedure [dbo].[catalog_Delete] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[catalog_Delete]
(
@Id int,
@CatalogType int,
@RetValue int OUTPUT --0 成功删除 -1 不是最底级
)
AS
DECLARE @iMAXDataVersion bigint
DECLARE @PreviousVersion bigint
DECLARE @selfChildCount INT
DECLARE @SynchronizeDateTime datetime
DECLARE @OriginDateTime datetime
SELECT @selfChildCount=COUNT(*) from CatalogPedigree WHERE ParentId=@Id AND ParentClass!=ChildClass
IF @selfChildCount>0
BEGIN
SET @retValue=-1
RETURN -1
END
SELECT @iMAXDataVersion=ISnUll(MAX(DataVersion),0)
FROM Catalog
WHERE Id=@Id And CatalogType=@CatalogType
SET @iMAXDataVersion=@iMAXDataVersion+1
SELECT @PreviousVersion=CurVersion,
@OriginDateTime=SynchronizeDateTime,
@SynchronizeDateTime=GETDATE()
FROM DataVersion
WHERE DataVersionId=5
BEGIN TRAN
UPDATE CatalogPedigree
SET
Deleted=1,
DataVersion=@iMAXDataVersion
WHERE ChildId=@Id and CatalogType=@CatalogType
IF @@ERROR!=0 --成功执行,返回0
BEGIN
ROLLBACK TRAN
RETURN 1
END
UPDATE Catalog
SET
Deleted=1,
DataVersion=@iMAXDataVersion
WHERE Id=@Id And CatalogType=@CatalogType
IF @@ERROR!=0
BEGIN
ROLLBACK TRAN
RETURN 1
END
UPDATE DataVersion
SET
PreviousVersion=@PreviousVersion,
CurVersion=@iMAXDataVersion,
OriginDateTime=@OriginDateTime,
SynchronizeDateTime=@SynchronizeDateTime
WHERE DataVersionId=5
IF @@ERROR!=0
BEGIN
ROLLBACK TRAN
RETURN 1
END
COMMIT TRAN
SET @retValue=0
GO
/****** Object: StoredProcedure [dbo].[ConversionData_Ini_Audit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[ConversionData_Ini_Audit]
(
@CommodityId_Old_pra INT,
@CommodityId_New_pra INT,
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
DECLARE @CommodityId_Z INT
DECLARE @CommodityId_Old INT
DECLARE @CommodityName_Old varchar(100)
DECLARE @Spec_Old varchar(200)
DECLARE @ProducingArea_Old varchar(100)
DECLARE @AuthorizeCode_Old varchar(100)
DECLARE @RetailPrice_Old decimal (18,4)
DECLARE @DoseTypeName_Old varchar(50)
DECLARE @Unit_Old varchar(50)
DECLARE @SpellCode_Old varchar(100)
DECLARE @CustomCode_Old varchar(50)
DECLARE @CommodityId_New INT
Delete CommodityStock where Amount<=0 and FactAmount<=0
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
DECLARE Cur_CommodityStock CURSOR FOR
SELECT distinct c1.CommodityId
FROM CommodityStock c1 INNER JOIN CommodityStock c2
ON c1.CommodityId = c2.Commodityid AND
(c1.CommodityName != c2.CommodityName or c1.Spec!=c2.Spec
or c1.ProducingArea!=c2.ProducingArea
or c1.AuthorizeCode!=c2.AuthorizeCode)
open Cur_CommodityStock
fetch next from Cur_CommodityStock
into @CommodityId_Z
while @@FETCH_STATUS = 0
begin
DECLARE Cur_CommodityStock_child CURSOR FOR
Select CommodityId,CommodityName,Spec,ProducingArea,AuthorizeCode from CommodityStock
where CommodityId=@CommodityId_Z group by CommodityId,CommodityName,Spec,ProducingArea,AuthorizeCode
open Cur_CommodityStock_child
fetch next from Cur_CommodityStock_child
into @CommodityId_Old , @CommodityName_Old ,@Spec_Old , @ProducingArea_Old ,@AuthorizeCode_Old
while @@FETCH_STATUS = 0
begin
Select * from Commodity
where CommodityId=@CommodityId_Old and GeneralName=@CommodityName_Old and Spec=@Spec_Old
and ProducingArea=@ProducingArea_Old and AuthorizeCode=@AuthorizeCode_Old
if @@rowcount<=0
begin
Select @CommodityId_New=Sequence_NextId from Sequences where Sequence_Name='RetailCommodity'
if @@error <>0
begin
SELECT @ErrorMessage='取CommodityId失败!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
--新建基本信息
Select @RetailPrice_Old=RetailPrice,@DoseTypeName_Old=DoseTypeName,@Unit_Old=Unit,@SpellCode_Old=SpellCode,@CustomCode_Old=CustomCode from CommodityStock
where CommodityId=@CommodityId_Old and CommodityName=@CommodityName_Old and Spec=@Spec_Old
and ProducingArea=@ProducingArea_Old and AuthorizeCode=@AuthorizeCode_Old
Insert into Commodity (CommodityId,CatalogId,GeneralName,ProductName,Spec,ProducingArea,DoseType,AuthorizeCode,Unit,RetailPrice,SpellCode, CustomCode)
values(@CommodityId_New,1,@CommodityName_Old,@CommodityName_Old,@Spec_Old,@ProducingArea_Old,@DoseTypeName_Old,@AuthorizeCode_Old,
@Unit_Old,@RetailPrice_Old,@SpellCode_Old,@CustomCode_Old)
--更新各从单
Update BillDetailAdjustCostPrice Set CommodityId=@CommodityId_New
where CommodityId=@CommodityId_Old and CommodityName=@CommodityName_Old and Spec=@Spec_Old
and ProducingArea=@ProducingArea_Old and AuthorizeCode=@AuthorizeCode_Old
if @@error <>0
begin
SELECT @ErrorMessage='更新BillDetailAdjustCostPrice失败!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
Update BillDetailAdjustRetailPrice Set CommodityId=@CommodityId_New
where CommodityId=@CommodityId_Old and CommodityName=@CommodityName_Old and Spec=@Spec_Old
and ProducingArea=@ProducingArea_Old and AuthorizeCode=@AuthorizeCode_Old
if @@error <>0
begin
SELECT @ErrorMessage='更新BillDetailAdjustRetailPrice失败!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
Update BillDetailBatchCodeAdjust Set CommodityId=@CommodityId_New
where CommodityId=@CommodityId_Old and CommodityName=@CommodityName_Old and Spec=@Spec_Old
and ProducingArea=@ProducingArea_Old and AuthorizeCode=@AuthorizeCode_Old
if @@error <>0
begin
SELECT @ErrorMessage='更新BillDetailBatchCodeAdjust失败!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
Update BillDetailBuyInStock Set CommodityId=@CommodityId_New
where CommodityId=@CommodityId_Old and CommodityName=@CommodityName_Old and Spec=@Spec_Old
and ProducingArea=@ProducingArea_Old and AuthorizeCode=@AuthorizeCode_Old
if @@error <>0
begin
SELECT @ErrorMessage='更新 BillDetailBuyInStockt失败!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
Update BillDetailBuyInStockPlan Set CommodityId=@CommodityId_New
where CommodityId=@CommodityId_Old and CommodityName=@CommodityName_Old and Spec=@Spec_Old
and ProducingArea=@ProducingArea_Old and AuthorizeCode=@AuthorizeCode_Old
if @@error <>0
begin
SELECT @ErrorMessage='更新BillDetailBuyInStockPlan失败!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
Update BillDetailBuyReturn Set CommodityId=@CommodityId_New
where CommodityId=@CommodityId_Old and CommodityName=@CommodityName_Old and Spec=@Spec_Old
and ProducingArea=@ProducingArea_Old and AuthorizeCode=@AuthorizeCode_Old
if @@error <>0
begin
SELECT @ErrorMessage='更新BillDetailBuyReturn失败!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
Update BillDetailReportLoss Set CommodityId=@CommodityId_New
where CommodityId=@CommodityId_Old and CommodityName=@CommodityName_Old and Spec=@Spec_Old
and ProducingArea=@ProducingArea_Old and AuthorizeCode=@AuthorizeCode_Old
if @@error <>0
begin
SELECT @ErrorMessage='更新BillDetailReportLoss失败!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
Update BillDetailReportSpill Set CommodityId=@CommodityId_New
where CommodityId=@CommodityId_Old and CommodityName=@CommodityName_Old and Spec=@Spec_Old
and ProducingArea=@ProducingArea_Old and AuthorizeCode=@AuthorizeCode_Old
if @@error <>0
begin
SELECT @ErrorMessage='更新BillDetailReportSpill失败!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
Update BillDetailRetail Set CommodityId=@CommodityId_New
where CommodityId=@CommodityId_Old and CommodityName=@CommodityName_Old and Spec=@Spec_Old
and ProducingArea=@ProducingArea_Old and AuthorizeCode=@AuthorizeCode_Old
if @@error <>0
begin
SELECT @ErrorMessage='更新BillDetailRetail失败!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
Update BillDetailRetailReturn Set CommodityId=@CommodityId_New
where CommodityId=@CommodityId_Old and CommodityName=@CommodityName_Old and Spec=@Spec_Old
and ProducingArea=@ProducingArea_Old and AuthorizeCode=@AuthorizeCode_Old
if @@error <>0
begin
SELECT @ErrorMessage='更新BillDetailRetailReturn失败!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
--转换库存
Update CommodityStock Set CommodityId=@CommodityId_New
where CommodityId=@CommodityId_Old and CommodityName=@CommodityName_Old and Spec=@Spec_Old
and ProducingArea=@ProducingArea_Old and AuthorizeCode=@AuthorizeCode_Old
if @@error <>0
begin
SELECT @ErrorMessage='更新CommodityStock失败!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
--转换InoutStock
Update InoutStockTable Set CommodityId=@CommodityId_New
where CommodityId=@CommodityId_Old and CommodityName=@CommodityName_Old and Spec=@Spec_Old
and ProducingArea=@ProducingArea_Old and AuthorizeCode=@AuthorizeCode_Old
if @@error <>0
begin
SELECT @ErrorMessage='更新InoutStockTable失败!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
Update Sequences Set Sequence_NextId =Sequence_NextId-1 from Sequences where Sequence_Name='RetailCommodity'
if @@error <>0
begin
SELECT @ErrorMessage='更新Sequences失败!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
end
fetch next from Cur_CommodityStock_child
into @CommodityId_Old , @CommodityName_Old ,@Spec_Old , @ProducingArea_Old ,@AuthorizeCode_Old
end
Close Cur_CommodityStock_child
fetch next from Cur_CommodityStock
into @CommodityId_Z
end
Delete CommodityStandard where CommodityId<1000000
if @@error <>0
begin
SELECT @ErrorMessage='删除CommodityStandard失败!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
Update SysData Set Intvalue=1 where Name='ConversionData_Ini'
if @@error <>0
begin
SELECT @ErrorMessage='更新SysData失败!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
Close Cur_CommodityStock
SELECT @ErrorMessage='初始化成功!'
Select @ErrorInfoId=0
Commit Tran
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[ConversionData_Auto_Child2_Audit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ConversionData_Auto_Child2_Audit]
(
@CommodityId int,
@CommodityName varchar(100),
@DoseTypeName varchar(50),
@Spec varchar(200),
@Unit varchar(50),
@ProducingArea varchar(100),
@RetailPrice decimal (18,4),
@AuthorizeCode varchar(50),
@SpellCode varchar(100),
@CustomCode varchar (50),
@TXM varchar (60) ,
@PackingId INT
)
as
DECLARE @CommodityId_Old int
DECLARE @GeneralName_Old varchar(100)
DECLARE @ProductName_Old varchar(100)
DECLARE @Spec_Old varchar(200)
DECLARE @DoseType_Old varchar(50)
DECLARE @ProducingArea_Old varchar(100)
DECLARE @Unit_Old varchar(50)
DECLARE @AuthorizeCode_Old varchar(50)
DECLARE @SpellCode_Old varchar(100)
DECLARE @TXM_Old varchar (60)
DECLARE @CustomCode_Old varchar (50)
DECLARE @RetailPrice_Old decimal (18,4)
DECLARE @CommodityId_New int
DECLARE @GeneralName_New varchar(100)
DECLARE @ProductName_New varchar(100)
DECLARE @EnglishName_New varchar(200)
DECLARE @Spec_New varchar(200)
DECLARE @ProducingArea_New varchar(100)
DECLARE @DoseType_New varchar(50)
DECLARE @AuthorizeCode_New varchar(50)
DECLARE @Unit_New varchar(50)
DECLARE @SpellCode_New varchar(100)
DECLARE @CustomCode_New varchar(50)
DECLARE @TXM_New varchar(60)
DECLARE @ZhongChengYao_New bit
DECLARE @ZhongYaoCai_New bit
DECLARE @ZhongYaoCaiContent_New varchar(100)
DECLARE @ZhongYaoYinPian_New bit
DECLARE @ZhongYaoYinPianContent_New varchar(100)
DECLARE @HXYZJ_New bit
DECLARE @HXYLY_New bit
DECLARE @KSS_New bit
DECLARE @SHYP_New bit
DECLARE @SWZP_New bit
DECLARE @SWZPCYM_New bit
DECLARE @SWZPCXYYP_New bit
DECLARE @SWZPXZDYP_New bit
DECLARE @MZYP_New bit
DECLARE @MZYPContent_New varchar (100)
DECLARE @JSYP_New bit
DECLARE @JSYPContent_New varchar(100)
DECLARE @YLYDXYP_New bit
DECLARE @YLYDXYPContent_New varchar(100)
DECLARE @FSXYP_New bit
DECLARE @YM_New bit
DECLARE @Import_New bit
DECLARE @DataVersion_New bigint
DECLARE @SFDAId_New int
DECLARE @TableView_New varchar(50)
DECLARE @UniCodes_New varchar(100)
DECLARE @StandCode_New varchar(100)
DECLARE @CommodityType_New varchar(50)
DECLARE @GJ_New varchar(50)
DECLARE @PackingId_Max int
DECLARE @PackingId_Old int
Select @CommodityId_Old =@CommodityId
Select @GeneralName_Old=@CommodityName
Select @ProductName_Old= @CommodityName
Select @Spec_Old=@Spec
Select @DoseType_Old =@DoseTypeName
Select @ProducingArea_Old=@ProducingArea
Select @Unit_Old=@Unit
Select @AuthorizeCode_Old=@AuthorizeCode
Select @SpellCode_Old=@SpellCode
Select @TXM_Old=@TXM
Select @CustomCode_Old=@CustomCode
Select @RetailPrice_Old= @RetailPrice
Select @PackingId_Old=@PackingId
Begin tran
Select @CommodityId_New=CommodityId, @GeneralName_New=GeneralName, @ProductName_New=ProductName, @EnglishName_New=EnglishName,
@Spec_New=Spec, @ProducingArea_New=ProducingArea,@DoseType_New=DoseType, @AuthorizeCode_New=AuthorizeCode, @Unit_New=Unit,
@SpellCode_New=SpellCode, @CustomCode_New=CustomCode,@TXM_New=TXM,@ZhongChengYao_New=ZhongChengYao,
@ZhongYaoCai_New=ZhongYaoCai, @ZhongYaoCaiContent_New =ZhongYaoCaiContent,@ZhongYaoYinPian_New=ZhongYaoYinPian,
@ZhongYaoYinPianContent_New=ZhongYaoYinPianContent, @HXYZJ_New=HXYZJ, @HXYLY_New =HXYLY, @KSS_New =KSS,
@SHYP_New =SHYP, @SWZP_New =SWZP, @SWZPCYM_New=SWZPCYM, @SWZPCXYYP_New=SWZPCXYYP,
@SWZPXZDYP_New=SWZPXZDYP, @MZYP_New=MZYP , @MZYPContent_New=MZYPContent, @JSYP_New=JSYP,
@JSYPContent_New=JSYPContent, @YLYDXYP_New=YLYDXYP, @YLYDXYPContent_New=YLYDXYPContent,
@FSXYP_New=FSXYP, @YM_New=YM,@Import_New=Import,@DataVersion_New=DataVersion,@SFDAId_New=SFDAId,
@TableView_New=TableView,@UniCodes_New=UniCodes,@StandCode_New=StandCode,@CommodityType_New=CommodityType,
@GJ_New=GJ
from CommodityStandard where CommodityId>1000000 and AuthorizeCode=@AuthorizeCode_Old
if @@RowCount>0
begin
Select @PackingId_Max=isnull(max(PackingId),-1) +1 from Commodity where CommodityId=@CommodityId_New
Select CommodityId from Commodity where CommodityId=@CommodityId_Old
if @@RowCount >0
begin
Update Commodity Set CommodityId=@CommodityId_New,GeneralName=@GeneralName_New,ProductName=@ProductName_New,EnglishName=@EnglishName_New,
Spec= @Spec_New , ProducingArea= @ProducingArea_New ,DoseType= @DoseType_New, AuthorizeCode =@AuthorizeCode_New, SpellCode= @SpellCode_New,
ZhongChengYao=@ZhongChengYao_New , ZhongYaoCai=@ZhongYaoCai_New, ZhongYaoCaiContent=@ZhongYaoCaiContent_New ,
ZhongYaoYinPian=@ZhongYaoYinPian_New,ZhongYaoYinPianContent=@ZhongYaoYinPianContent_New, HXYZJ=@HXYZJ_New,
HXYLY= @HXYLY_New , KSS=@KSS_New , SHYP=@SHYP_New , SWZP=@SWZP_New , SWZPCYM=@SWZPCYM_New,
SWZPCXYYP=@SWZPCXYYP_New, SWZPXZDYP=@SWZPXZDYP_New, MZYP=@MZYP_New , MZYPContent=@MZYPContent_New,
JSYP=@JSYP_New, JSYPContent=@JSYPContent_New, YLYDXYP=@YLYDXYP_New, YLYDXYPContent=@YLYDXYPContent_New,
FSXYP=@FSXYP_New, YM=@YM_New,Import=@Import_New,DataVersion=@DataVersion_New,SFDAId=@SFDAId_New,
TableView=@TableView_New,UniCodes=@UniCodes_New,StandCode=@StandCode_New,CommodityType=@CommodityType_New,
GJ=@GJ_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
end
else
begin
Insert into Commodity (CommodityId,CatalogId,GeneralName,ProductName,EnglishName,Spec,ProducingArea,DoseType,AuthorizeCode,Unit,Gmp,Otc,Import,
TradePrice,RetailPrice,SpellCode,CustomCode,DataVersion,Disabled,ZhongChengYao, ZhongYaoCai,ZhongYaoCaiContent,
ZhongYaoYinPian,ZhongYaoYinPianContent,HXYZJ,HXYLY,KSS,SHYP,SWZP,SWZPCYM,SWZPCXYYP,SWZPXZDYP,MZYP,
MZYPContent,JSYP,JSYPContent,YLYDXYP,YLYDXYPContent,FSXYP,YM,TXM,BS,Reports,Deleted,SFDAId,TableView,
UniCodes,StandCode,CommodityType, GJ,PackingId)
values(@CommodityId_New,1,@GeneralName_New,@ProductName_New,@EnglishName_New,@Spec_New,@ProducingArea_New,
@DoseType_New, @AuthorizeCode_New,@Unit_Old,0,0,@Import_New,0,@RetailPrice_Old,@SpellCode_New,@CustomCode_Old,
@DataVersion_New,0 , @ZhongChengYao_New, @ZhongYaoCai_New,@ZhongYaoCaiContent_New,
@ZhongYaoYinPian_New , @ZhongYaoYinPianContent_New ,@HXYZJ_New , @HXYLY_New , @KSS_New , @SHYP_New,
@SWZP_New , @SWZPCYM_New , @SWZPCXYYP_New ,@SWZPXZDYP_New , @MZYP_New, @MZYPContent_New,
@JSYP_New , @JSYPContent_New , @YLYDXYP_New , @YLYDXYPContent_New ,@FSXYP_New ,@YM_New,@TXM_Old,1,0,0,
@SFDAId_New,@TableView_New,@UniCodes_New,@StandCode_New,@CommodityType_New,@GJ_New,@PackingId_Max)
if @@error <>0
begin
ROLLBACK
RETURN
end
end
--转换各从单
Update BillDetailAdjustCostPrice Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
Update BillDetailAdjustRetailPrice Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
Update BillDetailBatchCodeAdjust Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
Update BillDetailBuyInStock Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,
SpellCode=@SpellCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
Update BillDetailBuyInStockPlan Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,
SpellCode=@SpellCode_New
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
Update BillDetailBuyReturn Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
Update BillDetailReportLoss Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
Update BillDetailReportSpill Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,
SpellCode=@SpellCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
Update BillDetailRetail Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
Update BillDetailRetailReturn Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
--转换库存
Update CommodityStock Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,
SpellCode=@SpellCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
--转换InoutStock
Update InoutStockTable Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
--插入ConversionDataTable
insert into ConversionDataTable(CommodityId_Old,GeneralName_Old,ProductName_Old,Spec_Old,
ProducingArea_Old,DoseType_Old,AuthorizeCode_Old,Unit_Old,SpellCode_Old,CustomCode_Old,
TXM_Old,CommodityId_New,GeneralName_New,ProductName_New,EnglishName_New,Spec_New,
ProducingArea_New,DoseType_New, AuthorizeCode_New,Unit_New,SpellCode_New,CustomCode_New,
TXM_New,PackingId_Old,PackingId_New)
values(@CommodityId_Old,@GeneralName_Old,@ProductName_Old,@Spec_Old,
@ProducingArea_Old,@DoseType_Old,@AuthorizeCode_Old,@Unit_Old,@SpellCode_Old,@CustomCode_Old,
@TXM_Old,@CommodityId_New,@GeneralName_New,@ProductName_New,@EnglishName_New,@Spec_New,
@ProducingArea_New,@DoseType_New,@AuthorizeCode_New,@Unit_New,@SpellCode_New,@CustomCode_New,
@TXM_New,@PackingId_Old,@PackingId_Max)
if @@error <>0
begin
ROLLBACK
RETURN
end
end
Commit tran
return 0
GO
/****** Object: StoredProcedure [dbo].[ConversionData_Auto_Child_Audit] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[ConversionData_Auto_Child_Audit]
(
@CommodityId_Old int,
@GeneralName_Old varchar(100),
@ProductName_Old varchar(100),
@Spec_Old varchar(200),
@DoseType_Old varchar(50),
@ProducingArea_Old varchar(100),
@Unit_Old varchar(50),
@AuthorizeCode_Old varchar(50),
@SpellCode_Old varchar(100),
@TXM_Old varchar (60) ,
@CustomCode_Old varchar (50),
@RetailPrice_Old decimal (18,4)
)
as
DECLARE @CommodityId_New int
DECLARE @GeneralName_New varchar(100)
DECLARE @ProductName_New varchar(100)
DECLARE @EnglishName_New varchar(200)
DECLARE @Spec_New varchar(200)
DECLARE @ProducingArea_New varchar(100)
DECLARE @DoseType_New varchar(50)
DECLARE @AuthorizeCode_New varchar(50)
DECLARE @Unit_New varchar(50)
DECLARE @SpellCode_New varchar(100)
DECLARE @CustomCode_New varchar(50)
DECLARE @TXM_New varchar(60)
DECLARE @ZhongChengYao_New bit
DECLARE @ZhongYaoCai_New bit
DECLARE @ZhongYaoCaiContent_New varchar(100)
DECLARE @ZhongYaoYinPian_New bit
DECLARE @ZhongYaoYinPianContent_New varchar(100)
DECLARE @HXYZJ_New bit
DECLARE @HXYLY_New bit
DECLARE @KSS_New bit
DECLARE @SHYP_New bit
DECLARE @SWZP_New bit
DECLARE @SWZPCYM_New bit
DECLARE @SWZPCXYYP_New bit
DECLARE @SWZPXZDYP_New bit
DECLARE @MZYP_New bit
DECLARE @MZYPContent_New varchar (100)
DECLARE @JSYP_New bit
DECLARE @JSYPContent_New varchar(100)
DECLARE @YLYDXYP_New bit
DECLARE @YLYDXYPContent_New varchar(100)
DECLARE @FSXYP_New bit
DECLARE @YM_New bit
DECLARE @Import_New bit
DECLARE @DataVersion_New bigint
DECLARE @SFDAId_New int
DECLARE @TableView_New varchar(50)
DECLARE @UniCodes_New varchar(100)
DECLARE @StandCode_New varchar(100)
DECLARE @CommodityType_New varchar(50)
DECLARE @GJ_New varchar(50)
Begin tran
Select @CommodityId_New=CommodityId, @GeneralName_New=GeneralName, @ProductName_New=ProductName, @EnglishName_New=EnglishName,
@Spec_New=Spec, @ProducingArea_New=ProducingArea,@DoseType_New=DoseType, @AuthorizeCode_New=AuthorizeCode, @Unit_New=Unit,
@SpellCode_New=SpellCode, @CustomCode_New=CustomCode,@TXM_New=TXM,@ZhongChengYao_New=ZhongChengYao,
@ZhongYaoCai_New=ZhongYaoCai, @ZhongYaoCaiContent_New =ZhongYaoCaiContent,@ZhongYaoYinPian_New=ZhongYaoYinPian,
@ZhongYaoYinPianContent_New=ZhongYaoYinPianContent, @HXYZJ_New=HXYZJ, @HXYLY_New =HXYLY, @KSS_New =KSS,
@SHYP_New =SHYP, @SWZP_New =SWZP, @SWZPCYM_New=SWZPCYM, @SWZPCXYYP_New=SWZPCXYYP,
@SWZPXZDYP_New=SWZPXZDYP, @MZYP_New=MZYP , @MZYPContent_New=MZYPContent, @JSYP_New=JSYP,
@JSYPContent_New=JSYPContent, @YLYDXYP_New=YLYDXYP, @YLYDXYPContent_New=YLYDXYPContent,
@FSXYP_New=FSXYP, @YM_New=YM,@Import_New=Import,@DataVersion_New=DataVersion,@SFDAId_New=SFDAId,
@TableView_New=TableView,@UniCodes_New=UniCodes,@StandCode_New=StandCode,@CommodityType_New=CommodityType,
@GJ_New=GJ
from CommodityStandard where CommodityId>1000000 and AuthorizeCode=@AuthorizeCode_Old
if @@RowCount>0
begin
Select CommodityId from Commodity where CommodityId=@CommodityId_New
if @@rowcount<=0
begin
Select CommodityId from Commodity where CommodityId=@CommodityId_Old
if @@RowCount >0
begin
Update Commodity Set CommodityId=@CommodityId_New,GeneralName=@GeneralName_New,ProductName=@ProductName_New,EnglishName=@EnglishName_New,
Spec= @Spec_New , ProducingArea= @ProducingArea_New ,DoseType= @DoseType_New, AuthorizeCode =@AuthorizeCode_New, SpellCode= @SpellCode_New,
ZhongChengYao=@ZhongChengYao_New , ZhongYaoCai=@ZhongYaoCai_New, ZhongYaoCaiContent=@ZhongYaoCaiContent_New ,
ZhongYaoYinPian=@ZhongYaoYinPian_New,ZhongYaoYinPianContent=@ZhongYaoYinPianContent_New, HXYZJ=@HXYZJ_New,
HXYLY= @HXYLY_New , KSS=@KSS_New , SHYP=@SHYP_New , SWZP=@SWZP_New , SWZPCYM=@SWZPCYM_New,
SWZPCXYYP=@SWZPCXYYP_New, SWZPXZDYP=@SWZPXZDYP_New, MZYP=@MZYP_New , MZYPContent=@MZYPContent_New,
JSYP=@JSYP_New, JSYPContent=@JSYPContent_New, YLYDXYP=@YLYDXYP_New, YLYDXYPContent=@YLYDXYPContent_New,
FSXYP=@FSXYP_New, YM=@YM_New,Import=@Import_New,DataVersion=@DataVersion_New,SFDAId=@SFDAId_New,
TableView=@TableView_New,UniCodes=@UniCodes_New,StandCode=@StandCode_New,CommodityType=@CommodityType_New,
GJ=@GJ_New
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
end
else
begin
Insert into Commodity (CommodityId,CatalogId,GeneralName,ProductName,EnglishName,Spec,ProducingArea,DoseType,AuthorizeCode,Unit,Gmp,Otc,Import,
TradePrice,RetailPrice,SpellCode,CustomCode,DataVersion,Disabled,ZhongChengYao, ZhongYaoCai,ZhongYaoCaiContent,
ZhongYaoYinPian,ZhongYaoYinPianContent,HXYZJ,HXYLY,KSS,SHYP,SWZP,SWZPCYM,SWZPCXYYP,SWZPXZDYP,MZYP,
MZYPContent,JSYP,JSYPContent,YLYDXYP,YLYDXYPContent,FSXYP,YM,TXM,BS,Reports,Deleted,SFDAId,TableView,
UniCodes,StandCode,CommodityType, GJ)
values(@CommodityId_New,1,@GeneralName_New,@ProductName_New,@EnglishName_New,@Spec_New,@ProducingArea_New,
@DoseType_New, @AuthorizeCode_New,@Unit_Old,0,0,@Import_New,0,@RetailPrice_Old,@SpellCode_New,@CustomCode_Old,
@DataVersion_New,0 , @ZhongChengYao_New, @ZhongYaoCai_New,@ZhongYaoCaiContent_New,
@ZhongYaoYinPian_New , @ZhongYaoYinPianContent_New ,@HXYZJ_New , @HXYLY_New , @KSS_New , @SHYP_New,
@SWZP_New , @SWZPCYM_New , @SWZPCXYYP_New ,@SWZPXZDYP_New , @MZYP_New, @MZYPContent_New,
@JSYP_New , @JSYPContent_New , @YLYDXYP_New , @YLYDXYPContent_New ,@FSXYP_New ,@YM_New,@TXM_Old,1,0,0,
@SFDAId_New,@TableView_New,@UniCodes_New,@StandCode_New,@CommodityType_New,@GJ_New)
if @@error <>0
begin
ROLLBACK
RETURN
end
end
--转换各从单
Update BillDetailAdjustCostPrice Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
Update BillDetailAdjustRetailPrice Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
Update BillDetailBatchCodeAdjust Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
Update BillDetailBuyInStock Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,
SpellCode=@SpellCode_New
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
Update BillDetailBuyInStockPlan Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,
SpellCode=@SpellCode_New
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
Update BillDetailBuyReturn Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
Update BillDetailReportLoss Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
Update BillDetailReportSpill Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,
SpellCode=@SpellCode_New
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
Update BillDetailRetail Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
Update BillDetailRetailReturn Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
--转换库存
Update CommodityStock Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,
SpellCode=@SpellCode_New
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
--转换InoutStock
Update InoutStockTable Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New
where CommodityId=@CommodityId_Old
if @@error <>0
begin
ROLLBACK
RETURN
end
--插入ConversionDataTable
insert into ConversionDataTable(CommodityId_Old,GeneralName_Old,ProductName_Old,Spec_Old,
ProducingArea_Old,DoseType_Old,AuthorizeCode_Old,Unit_Old,SpellCode_Old,CustomCode_Old,
TXM_Old,CommodityId_New,GeneralName_New,ProductName_New,EnglishName_New,Spec_New,
ProducingArea_New,DoseType_New, AuthorizeCode_New,Unit_New,SpellCode_New,CustomCode_New,
TXM_New)
values(@CommodityId_Old,@GeneralName_Old,@ProductName_Old,@Spec_Old,
@ProducingArea_Old,@DoseType_Old,@AuthorizeCode_Old,@Unit_Old,@SpellCode_Old,@CustomCode_Old,
@TXM_Old,@CommodityId_New,@GeneralName_New,@ProductName_New,@EnglishName_New,@Spec_New,
@ProducingArea_New,@DoseType_New,@AuthorizeCode_New,@Unit_New,@SpellCode_New,@CustomCode_New,
@TXM_New)
if @@error <>0
begin
ROLLBACK
RETURN
end
end
end
Commit tran
return 0
GO
/****** Object: StoredProcedure [dbo].[sequencesIni] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[sequencesIni] AS
declare @sql nvarchar(500)
declare @IdName varchar(50)
declare @TableName varchar(50)
declare @colValue varchar(50)
declare @NextId int
declare upSequencesCursor cursor for select Sequence_Name,Sequence_NextId from sequences for update of sequence_NextId
open upSequencesCursor
fetch upSequencesCursor into @TableName,@NextId
while(@@fetch_status=0)
begin
--字符串处理部分
select @TableName=ltrim(@TableName)
select @TableName=rtrim(@TableName)
if(@TableName like '%Id')
begin
set @TableName=substring(@TableName,1,len(@TableName)-2)
end
select * from Sequences
declare @count int
select @IdName ='%Id'
select @Count=count(*) from syscolumns where id=object_id(@TableName) and name like @IdName
if(@count>0)
begin
select @IdName =@TableName+'Id'
select @count=count(*) from syscolumns where id=object_id(@TableName) and name like @IdName
if(@count>0)
begin
if(@count=1)
begin
select @IdName=name from syscolumns where id=object_id(@TableName) and name like @IdName
set @sql='set @colValue= (select '+'isnull(max('+@IdName+'),1) from '+@TableName+')'
print @TableName
print @colValue
print @sql
exec sp_executesql @sql,N'@colValue int output',@colValue output
set @sql='update Sequences set sequence_NextId='+@colValue+'+1 where current of upSequencesCursor'
print @TableName
print @colValue
print @sql
exec(@sql)
end
end
else
begin
print '在'+@TableName+'中没有找到对应的ID号'
exec('update Sequences set sequence_NextId=1 where current of upSequencesCursor')
end
end
else
begin
print '在'+@TableName+'中没有找到对应的ID号'
exec('update Sequences set sequence_NextId=1 where current of upSequencesCursor')
end
print '------------------------------------------------------------------------------------'
fetch upSequencesCursor into @TableName,@NextId
end
close upSequencesCursor
deallocate upSequencesCursor
update Sequences set sequence_NextId=(select isnull(min(commodityId),0)-1 from commodity) where sequence_Name='RetailCommodity'
GO
/****** Object: StoredProcedure [dbo].[medicineMis] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[medicineMis]
(
@CatalogType int,
@ParentId int,
@CatalogName varchar(50),
@CatalogComment varchar(50),
@CatalogNumber varchar(50),
@Id int output
)
AS
BEGIN
DECLARE @iMaxId int --find out max Id in table Catalog according to CatalogType
DECLARE @Class int --当前插入数据的层次
/*设置事务隔离级别*/
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
/*开始事务*/
BEGIN TRANSACTION
/*取得当前最大的Id*/
SELECT
@iMaxId=ISnULL(MAX(Id),0)
FROM Catalog
WHERE CatalogType=@CatalogType
SELECT @iMaxId=@iMaxId+1
/*返回当前的Id*/
SET @Id=@iMaxId
/*向表Catalog插入数据*/
insert into Catalog
(
Id,
CatalogType,
ParentId,
CatalogName,
CatalogNumber,
CatalogComment
)
VALUES
(
@Id,
@CatalogType,
@ParentId,
@CatalogName,
@CatalogNumber,
@CatalogComment
)
/*取得当前数据所在级别Class*/
SELECT
@Class=ISnULL(MAX(ParentClass),0)
FROM CatalogPedigree
WHERE ParentId=@ParentId
AND CatalogType=@CatalogType
SET @Class=@Class+1
/*向CatalogPedigree表中插入直接父层数据*/
INSERT INTO CatalogPedigree
(
CatalogType,
ParentId,
ChildId,
ParentClass,
ChildClass
)
VALUES
(
@CatalogType,
@ParentId,
@iMaxId,
@Class-1,
@Class
)
/*向CatalogPedigree表中插入间接父层数据*/
INSERT INTO CatalogPedigree
(
CatalogType,
ParentId,
ChildId,
ParentClass,
ChildClass
)
SELECT
CatalogType,
ParentId,
@iMaxId,
ParentClass,
@Class
FROM CatalogPedigree
WHERE ChildId=@ParentId
AND CatalogType=@CatalogType
AND ParentId!=0
/*提交事务*/
COMMIT TRANSACTION
END
GO
/****** Object: StoredProcedure [dbo].[GetNewSequenceId] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[GetNewSequenceId]
(
@Name varchar(50), --表SYSDATA的IDKEY列对应的值
@NextId int output --所取得的值
)
AS
BEGIN
set nocount on
SET TRANSACTION ISOLATION LEVEL Serializable --事务序列化
begin tran
select @NextId=Sequence_NextId from Sequences with(updlock) where Sequence_Name=@Name --取得行级排他锁
if @NextId is null
begin
rollback tran --没有取得值
return -1
end
update Sequences set Sequence_NextId=Sequence_NextId+1 where Sequence_Name=@Name
commit tran
return 0
END
GO
/****** Object: StoredProcedure [dbo].[GetNewBill] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[GetNewBill]
(
@BillType TINYINT,
@Sequence_Name VARCHAR(50),
@BillCode VARCHAR(50) OUTPUT ,
@BillCode_Name VARCHAR(50) OUTPUT,
@BillId INT OUTPUT ,
@ErrorInfoId INT OUTPUT ,
@ErrorMessage VARCHAR(100) OUTPUT --所取得的值
)
AS
SELECT ErrorMessage=''
SET NOCOUNT ON
SET TRANSACTION ISOLATION LEVEL Serializable --事务序列化
BEGIN TRAN
SELECT @BillId=Sequence_NextId FROM Sequences WITH (UPDLOCK) WHERE Sequence_Name=@Sequence_Name
IF @@ROWCOUNT=0
BEGIN
SELECT @ErrorInfoId=-1
SELECT @ErrorMessage='没有找到'+@Sequence_Name+'对应的记录'
ROLLBACK TRAN
RETURN -1
END
UPDATE Sequences SET Sequence_NextId=Sequence_NextId+1 WHERE Sequence_Name=@Sequence_Name
IF @@ERROR<>0
BEGIN
SELECT @ErrorInfoId=-2
SELECT @ErrorMessage='更新Sequence出错'
ROLLBACK TRAN
RETURN -2
END
SELECT @BillCode=BillCode, @BillCode_Name=Name FROM BillCode WITH (UPDLOCK) WHERE Id=@BillType --取得行级排他锁
IF @BillCode IS NULL
BEGIN
SELECT @ErrorInfoId=-3
SELECT @ErrorMessage='没有找到单据类型'+@BillType+'对应的BillCode记录'
ROLLBACK TRAN
RETURN -3
END
UPDATE BillCode SET Number=RIGHT(CAST((100000000001+CAST(Number AS BIGINT) ) AS VARCHAR(20)),11) WHERE Id=@BillType
IF @@ERROR<>0
BEGIN
SELECT @ErrorInfoId=-4
SELECT @ErrorMessage='更新BillCode出错'
ROLLBACK TRAN
RETURN -4
END
COMMIT TRAN
SELECT @ErrorInfoId=1
SELECT @ErrorMessage='初始化单据成功'
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[ConvertInOutStock] Script Date: 03/02/2011 16:53:46 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[ConvertInOutStock]
(
@EmbranchmentId int,
@BillType tinyint,
@BillId int,
@BillCode varchar(50),
@BusinessDate smalldatetime,
@AuditDate smalldatetime,
@RowNum tinyint,
@CommodityId int,
@BatchCode varchar(50),
@PreAmount decimal(18,4),
@ChangeAmount decimal(18,4),
@InAmount decimal(18,4),
@OutAmount decimal(18,4),
@CurAmount decimal(18,4),
@PreCostSumMoney decimal(18,4),
@PreSaleSumMoney decimal(18,4),
@ChangeSumMoney decimal(18,4),
@CurCostPrice decimal(18,4),
@CurSalePrice decimal(18,4),
@ProductDate smalldatetime,
@InvalidateDate smalldatetime,
@ProviderId int,
@InStockId int,
@OutStockId int,
@CommodityName varchar(100),
@Spec varchar(200),
@DoseTypeName varchar(50),
@ProducingArea varchar(100),
@Unit varchar(50),
@CreatorName varchar(50),
@BusinessName varchar(50),
@BillCodeName varchar(50),
@EmbranchmentName varchar(50),
@ProviderName varchar(50),
@InStockName varchar(50),
@OutStockName varchar(50),
@AuthorizeCode varchar(100),
@CustomCode varchar(50),
@PackingId int,
@PackingName varchar(50),
@ErrorMessage VARCHAR(300) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
DECLARE @NewCommodityId int
DECLARE @NewPackingId int
DECLARE @CurVersion bigint
DECLARE @NewGeneralName varchar (100)
DECLARE @NewSpec varchar (200)
DECLARE @NewDoseType varchar (50)
DECLARE @NewProducingArea varchar (100)
DECLARE @NewUnit varchar(50)
DECLARE @OldPackingName varchar (60)
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
--根据CommodityId、PackingId在CommodityRelation中查找对应的记录,如果有就转换,没有则不转
Select @NewCommodityId=NewCommodityId,@NewPackingId=NewPackingId,@NewGeneralName=NewGeneralName,@NewSpec=NewSpec,@NewDoseType=NewDoseType,@NewProducingArea=NewProducingArea,@OldPackingName=OldPackingName from CommodityRelation where OldCommodityId=@CommodityId and OldPackingId=@PackingId
if @@ROWCOUNT>0
begin
Select @EmbranchmentId=EmbranchmentId,@EmbranchmentName=Name from Embranchment
select @CurVersion=CurVersion from DataVersion --版本处理部分
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@ROWCOUNT<>1
begin
select @ErrorMessage='品名:'+@CommodityName+' 规格:'+@Spec+' 产地:'+@ProducingArea+' 包装:'+@PackingName+'取版本出错!'
select @ErrorInfoId=-1
rollback
return -1
end
if (@NewCommodityId>0)--通过对应关系转换来的
begin
insert into InoutStockTable(EmbranchmentId,BillType,BillId,BillCode,PreCostPrice,BusinessDate,AuditDate,RowNum,CommodityId,BatchCode,PreAmount,ChangeAmount,InAmount,OutAmount,CurAmount,PreCostSumMoney,PreSaleSumMoney,ChangeSumMoney,CurCostPrice,CurSalePrice,ProductDate,InvalidateDate,ProviderId,InStockId,OutStockId,CommodityName,Spec,DoseTypeName,ProducingArea,Unit,CreatorName,BusinessName,BillCodeName, EmbranchmentName,ProviderName,InStockName,OutStockName,AuthorizeCode,CustomCode,PackingId,PackingName,DataVersion)
values(@EmbranchmentId,@BillType,@BillId,@BillCode,'0',@BusinessDate,@AuditDate,@RowNum,@NewCommodityId,@BatchCode,@PreAmount,@ChangeAmount,@InAmount,@OutAmount,@CurAmount,@PreCostSumMoney,@PreSaleSumMoney,@ChangeSumMoney,@CurCostPrice,@CurSalePrice,@ProductDate,@InvalidateDate,@ProviderId,@InStockId,@OutStockId,@NewGeneralName,@NewSpec,@NewDoseType,@NewProducingArea,@NewUnit,@CreatorName,@BusinessName,@BillCodeName, @EmbranchmentName,@ProviderName,@InStockName,@OutStockName,@AuthorizeCode,@CustomCode,@NewPackingId,@OldPackingName,@CurVersion+1)
if @@error <>0
begin
select @ErrorMessage='品名:'+@CommodityName+' 规格:'+@Spec+' 产地:'+@ProducingArea+' 包装:'+@PackingName+'插入库存出错'
select @ErrorInfoId=-1
rollback
return -1
end
end
else--直接转换来的
begin
insert into InoutStockTable(EmbranchmentId,BillType,BillId,BillCode,PreCostPrice,BusinessDate,AuditDate,RowNum,CommodityId,BatchCode,PreAmount,ChangeAmount,InAmount,OutAmount,CurAmount,PreCostSumMoney,PreSaleSumMoney,ChangeSumMoney,CurCostPrice,CurSalePrice,ProductDate,InvalidateDate,ProviderId,InStockId,OutStockId,CommodityName,Spec,DoseTypeName,ProducingArea,Unit,CreatorName,BusinessName,BillCodeName, EmbranchmentName,ProviderName,InStockName,OutStockName,AuthorizeCode,CustomCode,PackingId,PackingName,DataVersion)
values(@EmbranchmentId,@BillType,@BillId,@BillCode,'0',@BusinessDate,@AuditDate,@RowNum,@CommodityId,@BatchCode,@PreAmount,@ChangeAmount,@InAmount,@OutAmount,@CurAmount,@PreCostSumMoney,@PreSaleSumMoney,@ChangeSumMoney,@CurCostPrice,@CurSalePrice,@ProductDate,@InvalidateDate,@ProviderId,@InStockId,@OutStockId,@CommodityName,@Spec,@DoseTypeName,@ProducingArea,@Unit,@CreatorName,@BusinessName,@BillCodeName, @EmbranchmentName,@ProviderName,@InStockName,@OutStockName,@AuthorizeCode,@CustomCode,@PackingId,@PackingName,@CurVersion+1)
if @@error <>0
begin
select @ErrorMessage='品名:'+@CommodityName+' 规格:'+@Spec+' 产地:'+@ProducingArea+' 包装:'+@PackingName+'插入库存出错'
select @ErrorInfoId=-1
rollback
return -1
end
end
Update DataVersion
set PreviousVersion=@CurVersion,CurVersion=@CurVersion+1
where EmbranchmentId=@EmbranchmentId
and DataVersionId=1
if @@error <>0
begin
select @ErrorMessage='更新版本出错!'
select @ErrorInfoId=-1
rollback
return -1
end
end
else
begin
select @ErrorMessage='品名:'+@CommodityName+' 规格:'+@Spec+' 产地:'+@ProducingArea+' 包装:'+@PackingName+'无法找到对应关系'
select @ErrorInfoId=-1
rollback
return -1
end
select @ErrorMessage='转换成功!'
select @ErrorInfoId=1
commit Tran
return 0
GO
/****** Object: StoredProcedure [dbo].[ConvertCommodity] Script Date: 03/02/2011 16:53:47 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ConvertCommodity]
(
@NewCommodityId int,
@NewPackingId int,
@NewGeneralName varchar (100),
@NewProductName varchar (100),
@NewSpec varchar (200),
@NewProducingArea varchar (100),
@NewDoseType varchar (50),
@NewAuthorizeCode varchar (100),
@NewSpellCode varchar (100),
@NewCustomCode varchar (50),
@NewUnit varchar(50),
@NewTXM varchar (60),
@OldCommodityId int,
@OldPackingId int,
@OldGeneralName varchar (100),
@OldProductName varchar (100),
@OldSpec varchar (200),
@OldProducingArea varchar (100),
@OldDoseType varchar (50),
@OldAuthorizeCode varchar (100),
@OldSpellCode varchar (100),
@OldCustomCode varchar (50),
@OldUnit varchar(50),
@OldTXM varchar (60),
@OldPackingName varchar (60),
@OldRetailPrice decimal(18,4),
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
DECLARE @MaxPackingId int
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
Select * from CommodityRelation where OldCommodityId=@OldCommodityId and OldPackingId=@OldPackingId
if @@ROWCOUNT>0
begin
select @ErrorMessage='此药品之前已被转换,无法转换此药品!'
select @ErrorInfoId=-1
rollback
return -1
end
if (@NewCommodityId>0)--对应转换
begin
select * from CommodityRelation where NewCommodityId=@NewCommodityId--取最大PackingId
if @@ROWCOUNT>0
begin
select @MaxPackingId=isnull(max(NewPackingId),0)+1 from CommodityRelation(UPDLOCK) where NewCommodityId=@NewCommodityId
end
else
begin
select @MaxPackingId=0
end
--插入CommodityRelation
insert into CommodityRelation(NewCommodityId,NewPackingId,NewGeneralName,NewProductName,NewSpec,NewProducingArea,NewDoseType,NewAuthorizeCode,NewSpellCode,NewCustomCode,NewUnit,NewTXM,OldCommodityId,OldPackingId,OldGeneralName,OldProductName,OldSpec,OldProducingArea,OldDoseType,OldAuthorizeCode,OldSpellCode,OldCustomCode,OldUnit,OldTXM,OldPackingName,OldRetailPrice)
values(@NewCommodityId,@MaxPackingId,@NewGeneralName,@NewProductName,@NewSpec,@NewProducingArea,@NewDoseType,@NewAuthorizeCode,@NewSpellCode,@NewCustomCode,@NewUnit,@NewTXM,@OldCommodityId,@OldPackingId,@OldGeneralName,@OldProductName,@OldSpec,@OldProducingArea,@OldDoseType,@OldAuthorizeCode,@OldSpellCode,@OldCustomCode,@OldUnit,@OldTXM,@OldPackingName,@OldRetailPrice)
if @@error <>0
begin
select @ErrorMessage='插入CommodityRelation失败!'
select @ErrorInfoId=-2
rollback
return -1
end
--插入Commodity
insert into Commodity(CommodityId,PackingId,CatalogId,GeneralName,ProductName,Spec,ProducingArea,DoseType,AuthorizeCode,SpellCode,CustomCode,Unit,TXM,PackingName,RetailPrice,Deleted)
values(@NewCommodityId,@MaxPackingId,'1',@NewGeneralName,@NewProductName,@NewSpec,@NewProducingArea,@NewDoseType,@NewAuthorizeCode,@NewSpellCode,@OldCustomCode,@OldUnit,@OldTXM,@OldPackingName,@OldRetailPrice,0)
if @@error <>0
begin
select @ErrorMessage='插入Commodity失败!'
select @ErrorInfoId=-2
rollback
return -1
end
--将CommodityOld中的记录删除
Update CommodityOld Set Deleted=1 where CommodityId=@OldCommodityId and PackingId=@OldPackingId
if @@error <>0
begin
select @ErrorMessage='更新CommodityOld失败!'
select @ErrorInfoId=-2
rollback
return -1
end
end
else
begin--直接转换
--插入CommodityRelation
insert into CommodityRelation(NewCommodityId,NewPackingId,NewGeneralName,NewProductName,NewSpec,NewProducingArea,NewDoseType,NewAuthorizeCode,NewSpellCode,NewCustomCode,NewUnit,NewTXM,OldCommodityId,OldPackingId,OldGeneralName,OldProductName,OldSpec,OldProducingArea,OldDoseType,OldAuthorizeCode,OldSpellCode,OldCustomCode,OldUnit,OldTXM,OldPackingName,OldRetailPrice)
values(@NewCommodityId,@NewPackingId,@NewGeneralName,@NewProductName,@NewSpec,@NewProducingArea,@NewDoseType,@NewAuthorizeCode,@NewSpellCode,@NewCustomCode,@NewUnit,@NewTXM,@OldCommodityId,@OldPackingId,@OldGeneralName,@OldProductName,@OldSpec,@OldProducingArea,@OldDoseType,@OldAuthorizeCode,@OldSpellCode,@OldCustomCode,@OldUnit,@OldTXM,@OldPackingName,@OldRetailPrice)
if @@error <>0
begin
select @ErrorMessage='插入CommodityRelation失败!'
select @ErrorInfoId=-3
rollback
return -1
end
--插入Commodity
insert into Commodity(CommodityId,PackingId,CatalogId,GeneralName,ProductName,Spec,ProducingArea,DoseType,AuthorizeCode,SpellCode,CustomCode,Unit,TXM,PackingName,RetailPrice,Deleted)
values(@OldCommodityId,@OldPackingId,'1',@OldGeneralName,@OldProductName,@OldSpec,@OldProducingArea,@OldDoseType,@OldAuthorizeCode,@OldSpellCode,@OldCustomCode,@OldUnit,@OldTXM,@OldPackingName,@OldRetailPrice,0)
if @@error <>0
begin
select @ErrorMessage='插入Commodity失败!'
select @ErrorInfoId=-3
rollback
return -1
end
--将CommodityOld中的记录删除
Update CommodityOld Set Deleted=1 where CommodityId=@OldCommodityId and PackingId=@OldPackingId
if @@error <>0
begin
select @ErrorMessage='更新CommodityOld失败!'
select @ErrorInfoId=-3
rollback
return -1
end
end
select @ErrorMessage='转换成功!'
select @ErrorInfoId=1
commit Tran
return 0
GO
/****** Object: StoredProcedure [dbo].[getData] Script Date: 03/02/2011 16:53:47 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE procedure [dbo].[getData] as
DECLARE @EmbranchmentId int
DECLARE @Sypzspbid int
DECLARE @Gspbh varchar(50)
DECLARE @Zdrid smallint
DECLARE @Zdrmc varchar(50)
DECLARE @Rq datetime
DECLARE @Spid int
DECLARE @Spm varchar(50)
DECLARE @Tymc varchar(50)
DECLARE @Jx varchar(50)
DECLARE @Py varchar(50)
DECLARE @Gg varchar(50)
DECLARE @Dw varchar(50)
DECLARE @Cctj varchar(50)
DECLARE @Zycf varchar(50)
DECLARE @Zlbz varchar(50)
DECLARE @Yxq varchar(50)
DECLARE @Pzwh varchar(50)
DECLARE @Sccs varchar(50)
DECLARE @Scxkzh varchar(50)
DECLARE @Xxdz varchar(50)
DECLARE @Yyzzh varchar(50)
DECLARE @Gmpzsh varchar(50)
DECLARE @Rzsj datetime
DECLARE @Zsyxq datetime
DECLARE @Sdkhrid smallint
DECLARE @Sdkhrmc varchar(50)
DECLARE @Wtsyxq datetime
DECLARE @Kcjl varchar(50)
DECLARE @Cpph varchar(50)
DECLARE @Ccjybgsh varchar(50)
DECLARE @Syjyjl varchar(50)
DECLARE @Syjybgsh varchar(50)
DECLARE @Ccj decimal(9)
DECLARE @Ghj decimal(9)
DECLARE @Pfj decimal(9)
DECLARE @Lsj decimal(9)
DECLARE @SFYPZZMWJ bit
DECLARE @SFYBZ bit
DECLARE @Sqly char(30)
DECLARE @Sqrid smallint
DECLARE @Sqrmc varchar(50)
DECLARE @Sqrrq datetime
DECLARE @Scbyj char(30)
DECLARE @Scbjlid smallint
DECLARE @Scbjlmc varchar(50)
DECLARE @Scbjlrq datetime
DECLARE @Zgbyj char(30)
DECLARE @Zgbjlid smallint
DECLARE @Zgbjlmc varchar(50)
DECLARE @Zgbjlrq datetime
DECLARE @Zjlyj char(30)
DECLARE @Zjlid smallint
DECLARE @Zjlmc varchar(50)
DECLARE @Zjlrq datetime
select @EmbranchmentId=1
select @SypzspbID=isnull((select max(SypzspbID)+1 from Sypzspb ),0)
select @Gspbh=Null
select @Zdrid=76
select @Zdrmc='明永成'
select @Rq='2006-10-30 11:41:56'
select @Spid=0
select @Spm=''
select @Tymc=''
select @Jx=''
select @Py=''
select @Gg=''
select @Dw=''
select @Cctj=''
select @Zycf=''
select @Zlbz=''
select @Yxq='2006-10-30 11:41:56'
select @Pzwh=''
select @Sccs=''
select @Scxkzh=''
select @Xxdz=''
select @Yyzzh=''
select @Gmpzsh=''
select @Rzsj='2007-06-22'
select @Zsyxq='2006-10-30 11:41:56'
select @Sdkhrid=0
select @Sdkhrmc='乔长君'
select @Wtsyxq='2006-10-30 14:06:34'
select @Kcjl=''
select @Cpph=''
select @Ccjybgsh=0
select @Syjyjl='合格'
select @Syjybgsh=''
select @Ccj=0
select @Ghj=0
select @Pfj=0
select @Lsj=0
select @SFYPZZMWJ=0
select @SFYBZ=0
select @Sqly=''
select @Sqrid=0
select @Sqrmc=''
select @Sqrrq=''
select @Scbyj=''
select @Scbjlid=0
select @Scbjlmc=''
select @Scbjlrq='2006-10-30 14:06:34'
select @Zgbyj=''
select @Zgbjlid=0
select @Zgbjlmc=''
select @Zgbjlrq='2006-10-30 14:06:34'
select @Zjlyj=''
select @Zjlid=0
select @Zjlmc=0
select @Zjlrq='2006-10-30 14:06:34'
DECLARE Cur_CommodityStock cursor for
SELECT Commodity.CommodityId,Commodity.ProductName, Commodity.GeneralName,Commodity.DoseType,Commodity.SpellCode,Commodity.Spec,Commodity.Unit,CommodityStock.InvalidateDate,Commodity.AuthorizeCode,Commodity.ProducingArea,CommodityStock.BatchCode,Commodity.RetailPrice
FROM Commodity INNER JOIN CommodityStock on Commodity.CommodityId=CommodityStock.CommodityId
open Cur_CommodityStock
fetch next from Cur_CommodityStock into @Spid,@Spm,@Tymc,@Jx,@Py,@Gg,@Dw,@Yxq,@Pzwh,@Sccs,@Cpph,@Lsj
while @@fetch_status=0
begin
select @SypzspbID=isnull((select max(SypzspbID)+1 from Sypzspb ),0)
INSERT INTO Sypzspb(EmbranchmentId,SypzspbID,GSPBH,ZDRID,ZDRMC,RQ,SPID,SPM,TYMC,JX,PY,GG,DW,CCTJ,ZYCF,ZLBZ,YXQ,PZWH,SCCS,SCXKZH,XXDZ,YYZZH,GMPZSH,RZSJ,ZSYXQ,SDKHRID,SDKHRMC,WTSYXQ,KCJL,CPPH,CCJYBGSH,SYJYJL,SYJYBGSH,CCJ,GHJ,PFJ,LSJ,SFYPZZMWJ,SFYBZ,SQLY,SQRID,SQRMC,SQRRQ,SCBYJ,SCBJLID,SCBJLMC,SCBJLRQ,ZGBYJ,ZGBJLID,ZGBJLMC,ZGBJLRQ,ZJLYJ,ZJLID,ZJLMC,ZJLRQ)
VALUES(@EmbranchmentId,@Sypzspbid,@Gspbh,@Zdrid,@Zdrmc,@Rq,@Spid,@Spm,@Tymc,@Jx,@Py,@Gg,@Dw,@Cctj,@Zycf,@Zlbz,@Yxq,@Pzwh,@Sccs,@Scxkzh,@Xxdz,@Yyzzh,@Gmpzsh,@Rzsj,@Zsyxq,@Sdkhrid,@Sdkhrmc,@Wtsyxq,@Kcjl,@Cpph,@Ccjybgsh,@Syjyjl,@Syjybgsh,@Ccj,@Ghj,@Pfj,@Lsj,@SFYPZZMWJ,@SFYBZ,@Sqly,@Sqrid,@Sqrmc,@Sqrrq,@Scbyj,@Scbjlid,@Scbjlmc,@Scbjlrq,@Zgbyj,@Zgbjlid,@Zgbjlmc,@Zgbjlrq,@Zjlyj,@Zjlid,@Zjlmc,@Zjlrq)
fetch next from Cur_CommodityStock into @Spid,@Spm,@Tymc,@Jx,@Py,@Gg,@Dw,@Yxq,@Pzwh,@Sccs,@Cpph,@Lsj
end
GO
/****** Object: UserDefinedFunction [dbo].[GetCertificateNo] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION [dbo].[GetCertificateNo]
(@CustomerId int)
RETURNS VARCHAR(50)
AS
BEGIN
DECLARE @CertificateNo VARCHAR(50)
SELECT @CertificateNo=CertificateNo FROM Customer
where CustomerId=@CustomerId
RETURN @CertificateNo
END
GO
/****** Object: UserDefinedFunction [dbo].[GetCardTypeName] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION [dbo].[GetCardTypeName]
(@CardTypeId int )
RETURNS VARCHAR(50)
AS
BEGIN
DECLARE @CardTypeName VARCHAR(50)
SELECT @CardTypeName=CardTypeName FROM CardType
where CardTypeId=@CardTypeId
RETURN @CardTypeName
END
GO
/****** Object: StoredProcedure [dbo].[foo] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE procedure [dbo].[foo]
@fs smallint, --实际的付数
@billId int
as
declare @commodityId int, --內部變量
@batchCode char(50),
@Amount int,
@Amounta int
begin
--先嚐試從調課表中搜索資料並對實時課表進行更新操作
select @Amount=Amount from billDetailRetail
where BillId=@billId
update billDetailRetail
set Amount=@Amount* @fs
where billId=@billId
select @Amount =Amount from billDetailRetail
where billId=8733
--如果返回結果為0,說明調課表中沒有相關記錄,這時就從課程表中搜尋相關記錄進行插入操作
--if @@RowCount=0
begin
DECLARE my_cursor CURSOR FOR --定義一個游標,用於循環處理
select commodityid,batchCode,Amount from billDetailRetail
where billId =@billId
OPEN my_cursor --打開游標
FETCH NEXT FROM my_cursor --將查尋結果存放在變量中以便處理
INTO @commodityId,@batchCode,@Amount
WHILE @@FETCH_STATUS = 0 --Fetch語句順利執行時循環處理
BEGIN
--執行更新操作
select @Amounta=Amount from commodityStock
where commodityId=@commodityId
and batchCode=@batchCode
--and Amount<>0
print cast(@Amount as char)
update commodityStock
set Amount=@Amounta-@Amount+1
where commodityId=@commodityId
and batchCode=@batchCode
--and Amount<>0
update commodityStock
set FactAmount=Amount,
SumCost=CostPrice*Amount,
SumRetail=RetailPrice*Amount
where commodityId=@commodityId
and batchCode=@batchCode
-- and Amount<>0
if @@error<>0
begin
raiserror('error',16,1) --異常處理
rollback transaction
end
FETCH NEXT FROM my_cursor --繼續處理下一條記錄
INTO @commodityId,@batchCode,@Amount
end
CLOSE my_cursor --關閉遊標
DEALLOCATE my_cursor --釋放遊標
end
end
Print 'already create'
GO
/****** Object: StoredProcedure [dbo].[CheckMonthReckoning_Audit] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[CheckMonthReckoning_Audit]
(
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
as
DECLARE @IYear smallint
DECLARE @IMonth smallint
SELECT @IYear = DATEPART(yy, GETDATE())
SELECT @IMonth = DATEPART(mm, GETDATE())
Select * from MonthReckoning where IYear=@IYear and IMonth=@IMonth
if @@rowcount>0
begin
Select @ErrorMessage='本月已经月结!'
Select @ErrorInfoId=-1
RETURN -1
end
Select * from MonthReckoning where (IYear=@IYear and IMonth>@IMonth) or (IYear>@IYear )
if @@rowcount>0
begin
Select @ErrorMessage='本月后面的月份已经月结!'
Select @ErrorInfoId=-2
RETURN -2
end
Select @ErrorMessage='可以月结!'
Select @ErrorInfoId=1
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[CheckCard] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[CheckCard]
(
@CardCode VARCHAR(50),
@BillType TINYINT,
@BillId INT,
@EmbranchmentId INT,
@ChangeMoney DECIMAL(18,4),
@ErrorInfoId INT OUTPUT,
@ErrorInfoMessage VARCHAR(100) OUTPUT
)
AS
DECLARE @EmbranchmentChangeMoney DECIMAL(18,4)
DECLARE @DiffMoney DECIMAL(18,4)
DECLARE @SubValue DECIMAL(18,4)
DECLARE @Shadiness BIT
DECLARE @Remark VARCHAR(50)
DECLARE @CheckOut BIT
SELECT @Shadiness=0
SELECT @ErrorInfoId=1
SELECT @ErrorInfoMessage=''
SELECT @Remark=''
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE --事务序列化
BEGIN TRAN
SELECT EmbranchmentId,BillType,BillId,CardCode,ChangeMoney FROM MemberCardChangeLogTemp
WHERE EmbranchmentId=@EmbranchmentId
AND BillId=@BillId
AND BillType=@BillType
AND CardCode=@CardCode
SELECT @EmbranchmentChangeMoney=ChangeMoney FROM MemberCardChangeLog
WHERE EmbranchmentId=@EmbranchmentId
AND BillId=@BillId
AND BillType=@BillType
AND CardCode=@CardCode
IF @@ROWCOUNT=0
BEGIN
IF @BillType=5
BEGIN
--计算总消费额
UPDATE MemberCard
SET SumConsumed = ISNULL(SumConsumed,0)+@ChangeMoney
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)+@ChangeMoney
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
END
IF @BillType=31
BEGIN
--累计返利总额
UPDATE MemberCard
SET ReturnPayCard=ISNULL(ReturnPayCard,0)+@ChangeMoney
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)+@ChangeMoney
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
END
IF (@BillType=26)
BEGIN
--计算总退货额
UPDATE MemberCard
SET ReturnCard = ISNULL(ReturnCard,0) + @ChangeMoney
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)+@ChangeMoney
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
END
IF(@BillType=32)
BEGIN
--累计取消返利总额
UPDATE MemberCard
SET CancelReturnPayCard=ISNULL(CancelReturnPayCard,0)+@ChangeMoney
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)+@ChangeMoney
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
END
IF @@ERROR<>0
BEGIN
SELECT @ErrorInfoId=-2
SELECT @ErrorInfoMessage='更新会员卡失败'
ROLLBACK
RETURN -2
END
END
ELSE
BEGIN
IF @ChangeMoney!=@EmbranchmentChangeMoney
BEGIN
SELECT @DiffMoney=@EmbranchmentChangeMoney-@ChangeMoney
SELECT @SubValue=abs(@EmbranchmentChangeMoney)-abs(@ChangeMoney)
SELECT @Remark='次条消费记录卡内改变金额和终端不一致'
SELECT @Shadiness=1
SELECT @CheckOut=1
IF @BillType=5
BEGIN
--计算总消费额
UPDATE MemberCard
SET SumConsumed = ISNULL(SumConsumed,0)-@SubValue
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)+@SubValue
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
END
IF @BillType=31
BEGIN
--累计返利总额
UPDATE MemberCard
SET ReturnPayCard=ISNULL(ReturnPayCard,0)-@SubValue
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)-@SubValue
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
END
IF (@BillType=26)
BEGIN
--计算总退货额
UPDATE MemberCard
SET ReturnCard = ISNULL(ReturnCard,0) -@SubValue
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)-@SubValue
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
END
IF(@BillType=32)
BEGIN
--累计取消返利总额
UPDATE MemberCard
SET CancelReturnPayCard=ISNULL(CancelReturnPayCard,0)-@SubValue
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)+@SubValue
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
END
IF @@ERROR<>0
BEGIN
SELECT @ErrorInfoId=-3
SELECT @ErrorInfoMessage='更新会员卡失败'
ROLLBACK
RETURN -3
END
END
ELSE
BEGIN
SELECT @Remark='卡中改变金额和终端一致'
SELECT @Shadiness=0
SELECT @DiffMoney=0
SELECT @CheckOut=1
END
UPDATE MemberCardChangeLog SET CheckOut=@CheckOut, CardChangeMoney=@ChangeMoney,DiffMoney=@DiffMoney,Shadiness=@Shadiness,Remark=@Remark
IF @@ERROR<>0
BEGIN
SELECT @ErrorInfoId=-4
SELECT @ErrorInfoMessage='更新终端库失败'
ROLLBACK
RETURN -4
END
END
INSERT INTO MemberCardChangeLogTemp(Guid,EmbranchmentId,BillId,BillType,CardCode,ChangeMoney,DiffMoney,Shadiness,Remark)
VALUES(NEWID(),@EmbranchmentId,@BillId,@BillType,@CardCode,@ChangeMoney,@DiffMoney,@Shadiness,@Remark)
IF @@ERROR<>0
BEGIN
SELECT @ErrorInfoId=-5
SELECT @ErrorInfoMessage='写卡库失败'
ROLLBACK
RETURN -5
END
-- Success. Commit the transaction.
SELECT @ErrorInfoMessage = '会员卡更新成功'
SELECT @ErrorInfoId=1
COMMIT TRAN
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[ChargeCard_Audit] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/**********************************************************************
Author : lcc
CreateDate : 2010-1-17
Summary : 会员卡充值单据审核
***********************************************************************/
CREATE PROCEDURE [dbo].[ChargeCard_Audit]
(
@CardCode VARCHAR(50) ,
@CZEmbranchmentId SMALLINT,
@CZEmbranchmentName VARCHAR(50),
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
/*定义Bill对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @BillId INT
DECLARE @BillType TINYINT
DECLARE @BillCode varchar(50)
DECLARE @CreateDate SMALLDATETIME
DECLARE @CreatorId SMALLINT
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @Status TINYINT
DECLARE @Summary VARCHAR(100)
DECLARE @Remark VARCHAR(100)
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @CreatorName varchar(50)
DECLARE @BusinessName varchar(50)
DECLARE @BillCodeName varchar(50)
DECLARE @EmbranchmentName varchar(50)
DECLARE @ProviderName varchar(50)
/*定义BillDetailChargeCard 对应的局部变量*/
DECLARE @ChangeMoney DECIMAL(18,4)
DECLARE @SumMoney DECIMAL(18,4)
/*定义会员卡对应的局部变量*/
DECLARE @row_Balance NUMERIC(18,4)
DECLARE @row_SumConsumed NUMERIC(18,4)
DECLARE @row_SumAllMoney NUMERIC(18,4)
DECLARE @row_old_Balance NUMERIC(18,4)
DECLARE @row_old_row_SumConsumed NUMERIC(18,4)
DECLARE @row_old_SumAllMoney NUMERIC(18,4)
DECLARE @afterMoney NUMERIC(18,4)
DECLARE @CardChangeMoney NUMERIC(18,4)
DECLARE @CustomerId INT
DECLARE @CustomerName VARCHAR(50)
DECLARE @Balance DECIMAL(18,4)
DECLARE @SumConsumed DECIMAL(18,4)
DECLARE @CardTypeId INT
DECLARE @CardLevelId TINYINT
DECLARE @CardLevelName VARCHAR(50)
DECLARE @RowCount int
/*根据情况对局部变量赋初始值*/
SELECT @ErrorMessage='OK!'
SELECT @ErrorInfoId=1
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
/*检查从单是否完整*/
SELECT * FROM BillDetailChargeCard
WHERE CardCode=@CardCode
AND IsCZ=1
AND Status=2
IF @@ROWCOUNT<=0
BEGIN
SELECT @ErrorMessage='没有找到要充值的从单'
SELECT @ErrorInfoId=-1
ROLLBACK
RETURN -1
END
SELECT
@EmbranchmentId=EmbranchmentId,
@BillId=BillId,
@BillType=BillType,
@BillCode=BillCode,
@CreateDate=CreateDate,
@CreatorId=CreatorId,
@BusinessDate=BusinessDate,
@BusinessId=BusinessId,
@AuditDate=AuditDate,
@AuditorId=AuditorId,
@ProviderId=ProviderId,
@CustomerId=CustomerId,
@Status=@Status,
@Summary=Summary,
@Remark=Remark,
@CreatorName =CreatorName,
@BusinessName =BusinessName,
@BillCodeName =BillCodeName,
@EmbranchmentName =EmbranchmentName,
@ProviderName =ProviderName,
@CustomerName =CustomerName
FROM Bill(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=2
IF @@ROWCOUNT=0
BEGIN
SELECT @ErrorMessage='没有找到要审核的主单'
SELECT @ErrorInfoId=-2
ROLLBACK
RETURN -2
END
SELECT @row_old_Balance=Balance,@row_old_row_SumConsumed=SumConsumed,@row_old_SumAllMoney=SumAllMoney,@CustomerId=CustomerId,@CustomerName=CustomerName,@CardTypeId=CardTypeId,@CardTypeId=CardLevelId from MemberCard
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
IF(@@ROWCOUNT<0)
BEGIN
SELECT @ErrorMessage='没有找到此卡'
SELECT @ErrorInfoId=-3
ROLLBACK
RETURN -3
END
DECLARE Cur_BillDetailChargeCard CURSOR FOR /*从单游标*/
SELECT SumMoney
FROM BillDetailChargeCard
WHERE CardCode=@CardCode
AND IsCZ=1
AND Status=2
OPEN Cur_BillDetailChargeCard /*打开游标*/
FETCH NEXT FROM Cur_BillDetailChargeCard
INTO @ChangeMoney
while @@FETCH_STATUS = 0
BEGIN
SELECT @row_Balance=@row_old_Balance+@ChangeMoney
IF(@BillType=16)
BEGIN
UPDATE MemberCard
SET SumAllMoney=SumAllMoney+@ChangeMoney
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
UPDATE MemberCard
SET Balance=Balance+abs(@ChangeMoney)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
IF(@@ERROR<>0)
BEGIN
SELECT @ErrorMessage='会员卡更新失败'
SELECT @ErrorInfoId=-4
ROLLBACK
RETURN -4
END
INSERT INTO MemberCardChangeLog (Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,PayMoney,DataVersion,ReturnPayCard)
VALUES(NEWID(),@BillId,@EmbranchmentId,@EmbranchmentName,@CardCode,0,@CardTypeId,@CardLevelId,@BillType,@BillCode,@BillCodeName,@row_old_Balance,@ChangeMoney,@row_Balance,@CustomerId,@CustomerName,@BusinessId,@BusinessName,GETDATE(),@Remark,0,0,0)
IF(@@ERROR<>0)
BEGIN
SELECT @ErrorMessage='会员卡日志插入失败'
SELECT @ErrorInfoId=-5
ROLLBACK
RETURN -5
END
END
FETCH NEXT FROM Cur_BillDetailChargeCard
INTO @ChangeMoney
END
UPDATE BillDetailChargeCard SET IsCZ=2,CZEmbranchmentId=@CZEmbranchmentId,CZEmbranchmentName=@CZEmbranchmentName,ChargeDate=GETDATE()
WHERE CardCode=@CardCode AND IsCZ=1
IF(@@ERROR<>0)
BEGIN
SELECT @ErrorMessage='更新充值记录失败'
SELECT @ErrorInfoId=-6
ROLLBACK
RETURN -6
END
CLOSE Cur_BillDetailChargeCard
DEALLOCATE Cur_BillDetailChargeCard
SELECT @ErrorMessage='数据同步成功!'
Select @ErrorInfoId=1
Commit TRAN
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[ChangeValue] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[ChangeValue]
AS
Declare @CommodityId int
Declare @T int
Declare @DataVersion bigint
select @CommodityId=0,@DataVersion=0
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
Declare Cur_ChangeValue Cursor for
select CommodityId from Commodity
open Cur_ChangeValue
fetch next from Cur_ChangeValue
into @T
while @@Fetch_status=0
begin
Update Commodity
set CommodityId=@CommodityId,DataVersion=@DataVersion
where CommodityId=@T
select @CommodityId=@CommodityId+1,@DataVersion=@DataVersion+1
fetch next from Cur_ChangeValue
into @T
end
Commit Tran
GO
/****** Object: StoredProcedure [dbo].[ChangeDataVersion] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[ChangeDataVersion]
AS
Declare @T int
Declare @DataVersion bigint
select @DataVersion=0
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
Declare Cur_ChangeValue Cursor for
select CommodityId from Commodity
open Cur_ChangeValue
fetch next from Cur_ChangeValue
into @T
while @@Fetch_status=0
begin
Update Commodity
set DataVersion=@DataVersion
where CommodityId=@T
select @DataVersion=@DataVersion+1
fetch next from Cur_ChangeValue
into @T
end
Commit Tran
GO
/****** Object: StoredProcedure [dbo].[FoodBillBuyInStock_Audit] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[FoodBillBuyInStock_Audit]
(
@EmbranchmentId smallint,
@BillId INT,
@BillType tinyint,
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
/*定义FoodBill对应的局部变量*/
DECLARE @EmbranchmentName varchar(50)
DECLARE @BillCode varchar(50)
DECLARE @CreateDate smalldatetime
DECLARE @CreatorId int
DECLARE @BusinessDate smalldatetime
DECLARE @BusinessId int
DECLARE @AuditDate smalldatetime
DECLARE @AuditorId int
DECLARE @ProviderId int
DECLARE @Status tinyint
DECLARE @SumMoney decimal(18, 4)
DECLARE @Remark varchar(100)
DECLARE @ProviderName varchar(50)
DECLARE @BillCodeName varchar(50)
DECLARE @BusinessName varchar(50)
DECLARE @CreatorName varchar(50)
DECLARE @AuditorName varchar(50)
DECLARE @AccepttorId int
DECLARE @AccepttorName varchar(50)
DECLARE @ProviderTel varchar(50)
/*定义FoodBillDetailBuyInStock对应的局部变量*/
DECLARE @RowNum tinyint
DECLARE @FoodId int
DECLARE @BatchCode varchar(50)
DECLARE @Price decimal(18, 4)
DECLARE @PackingId int
DECLARE @PackingName varchar(50)
DECLARE @ProductName varchar(100)
DECLARE @Spec varchar(200)
DECLARE @ProducingArea varchar(100)
DECLARE @SpellCode varchar(100)
DECLARE @CustomCode varchar(50)
DECLARE @TXM varchar(60)
DECLARE @RetailPrice money
DECLARE @Amount decimal(18, 4)
DECLARE @SumMoneyDetail decimal(18, 4)
DECLARE @ProductDate smalldatetime
DECLARE @ValidateDate smalldatetime
DECLARE @QualityStatus varchar(50)
DECLARE @HasBill bit
DECLARE @BuyTime smalldatetime
/*业务处理*/
SELECT
@BillCode = BillCode,
@CreateDate = CreateDate,
@CreatorId =CreatorId ,
@BusinessDate =BusinessDate,
@BusinessId =BusinessId ,
@AuditDate =AuditDate ,
@AuditorId =AuditorId ,
@ProviderId = ProviderId,
@Status =Status,
@SumMoney =SumMoney,
@Remark =Remark,
@ProviderName =ProviderName ,
@BillCodeName =BillCodeName,
@BusinessName =BusinessName ,
@CreatorName =CreatorName,
@AuditorName =AuditorName,
@AccepttorId=AccepttorId,
@AccepttorName=AccepttorName,
@ProviderTel=ProviderTel
FROM FoodBill
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@ROWCOUNT=0
BEGIN
SELECT @ErrorMessage='没有找到要审核的单据'
Select @ErrorInfoId=-1
RETURN -1
END
/*检查从单是否完整*/
SELECT *
FROM FoodBillDetailBuyInStock
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
if @@ROWCOUNT<=0
begin
SELECT @ErrorMessage='没有找到要审核的从单'
Select @ErrorInfoId=-2
RETURN -1
end
DECLARE Cur_FoodBillDetailBuyInStock CURSOR FOR /*从单游标*/
SELECT RowNum,FoodId ,BatchCode,Price,PackingId ,PackingName,ProductName,Spec,ProducingArea ,SpellCode,
CustomCode,TXM ,RetailPrice,Amount,SumMoney,ProductDate,ValidateDate,QualityStatus,HasBill,BuyTime
FROM FoodBillDetailBuyInStock
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
open Cur_FoodBillDetailBuyInStock /*打开游标*/
fetch next from Cur_FoodBillDetailBuyInStock
into @RowNum,@FoodId ,@BatchCode,@Price,@PackingId ,@PackingName,@ProductName,@Spec,@ProducingArea ,@SpellCode,
@CustomCode,@TXM ,@RetailPrice,@Amount,@SumMoneyDetail,@ProductDate,@ValidateDate,@QualityStatus,@HasBill,@BuyTime
while @@FETCH_STATUS = 0
begin
Insert into FoodInoutStockTable(Guid,EmbranchmentId,EmbranchmentName,BillId,BillCode,RowNum,FoodId,PackingId,
PackingName,BusinessId,BusinessDate,BusinessName,ProductName,Spec,Amout,BatchCode,ProductDate,
ValidateDate,ProviderName,Remark,SumMoney,CreatorId,CreatorName,CreatorDate,AccepttorId,AccepttorName,
QualityStatus,HasBill,BuyTime,ProviderTel)
values(newid(),@EmbranchmentId,@EmbranchmentName,@BillId,@BillCode,@RowNum,@FoodId,@PackingId,
@PackingName,@BusinessId,@BusinessDate,@BusinessName,@ProductName,@Spec,@Amount,@BatchCode,@ProductDate,
@ValidateDate,@ProviderName,@Remark,@SumMoney,@CreatorId,@CreatorName,@CreateDate,@AccepttorId,@AccepttorName,
@QualityStatus,@HasBill,@BuyTime,@ProviderTel)
if @@error <>0
begin
SELECT @ErrorMessage='插入库存失败!'
Select @ErrorInfoId=-3
RETURN -1
end
Update FoodBill Set Status=2
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
if @@error <>0
begin
SELECT @ErrorMessage='修改单据失败!'
Select @ErrorInfoId=-3
RETURN -1
end
fetch next from Cur_FoodBillDetailBuyInStock
into @RowNum,@FoodId ,@BatchCode,@Price,@PackingId ,@PackingName,@ProductName,@Spec,@ProducingArea ,@SpellCode,
@CustomCode,@TXM ,@RetailPrice,@Amount,@SumMoneyDetail,@ProductDate,@ValidateDate,@QualityStatus,@HasBill,@BuyTime
end
SELECT @ErrorMessage='审核成功!'
Select @ErrorInfoId=0
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[ConversionData_Audit] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[ConversionData_Audit]
(
@CommodityId_Old_pra INT,
@CommodityId_New_pra INT,
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
DECLARE @CommodityId_Old int
DECLARE @GeneralName_Old varchar(100)
DECLARE @ProductName_Old varchar(100)
DECLARE @EnglishName_Old varchar(200)
DECLARE @Spec_Old varchar(200)
DECLARE @ProducingArea_Old varchar(100)
DECLARE @DoseType_Old varchar(50)
DECLARE @AuthorizeCode_Old varchar(50)
DECLARE @Unit_Old varchar(50)
DECLARE @SpellCode_Old varchar(100)
DECLARE @CustomCode_Old varchar (50)
DECLARE @TXM_Old varchar (60)
DECLARE @ZhongChengYao_Old bit
DECLARE @ZhongYaoCai_Old bit
DECLARE @ZhongYaoCaiContent_Old varchar(100)
DECLARE @ZhongYaoYinPian_Old bit
DECLARE @ZhongYaoYinPianContent_Old varchar(100)
DECLARE @HXYZJ_Old bit
DECLARE @HXYLY_Old bit
DECLARE @KSS_Old bit
DECLARE @SHYP_Old bit
DECLARE @SWZP_Old bit
DECLARE @SWZPCYM_Old bit
DECLARE @SWZPCXYYP_Old bit
DECLARE @SWZPXZDYP_Old bit
DECLARE @MZYP_Old bit
DECLARE @MZYPContent_Old varchar (100)
DECLARE @JSYP_Old bit
DECLARE @JSYPContent_Old varchar(100)
DECLARE @YLYDXYP_Old bit
DECLARE @YLYDXYPContent_Old varchar(100)
DECLARE @FSXYP_Old bit
DECLARE @YM_Old bit
DECLARE @Import_Old bit
DECLARE @RetailPrice_Old decimal (18,4)
DECLARE @PackingId_Old int
DECLARE @PackingId_Max int
DECLARE @CommodityId_New int
DECLARE @GeneralName_New varchar(100)
DECLARE @ProductName_New varchar(100)
DECLARE @EnglishName_New varchar(200)
DECLARE @Spec_New varchar(200)
DECLARE @ProducingArea_New varchar(100)
DECLARE @DoseType_New varchar(50)
DECLARE @AuthorizeCode_New varchar(50)
DECLARE @Unit_New varchar(50)
DECLARE @SpellCode_New varchar(100)
DECLARE @CustomCode_New varchar(50)
DECLARE @TXM_New varchar(60)
DECLARE @ZhongChengYao_New bit
DECLARE @ZhongYaoCai_New bit
DECLARE @ZhongYaoCaiContent_New varchar(100)
DECLARE @ZhongYaoYinPian_New bit
DECLARE @ZhongYaoYinPianContent_New varchar(100)
DECLARE @HXYZJ_New bit
DECLARE @HXYLY_New bit
DECLARE @KSS_New bit
DECLARE @SHYP_New bit
DECLARE @SWZP_New bit
DECLARE @SWZPCYM_New bit
DECLARE @SWZPCXYYP_New bit
DECLARE @SWZPXZDYP_New bit
DECLARE @MZYP_New bit
DECLARE @MZYPContent_New varchar (100)
DECLARE @JSYP_New bit
DECLARE @JSYPContent_New varchar(100)
DECLARE @YLYDXYP_New bit
DECLARE @YLYDXYPContent_New varchar(100)
DECLARE @FSXYP_New bit
DECLARE @YM_New bit
DECLARE @Import_New bit
DECLARE @DataVersion_New bigint
DECLARE @SFDAId_New int
DECLARE @TableView_New varchar(50)
DECLARE @UniCodes_New varchar(100)
DECLARE @StandCode_New varchar(100)
DECLARE @CommodityType_New varchar(50)
DECLARE @GJ_New varchar(50)
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
Select CommodityId from CommodityStock (UPDLOCK) where CommodityId=@CommodityId_Old_pra
if @@RowCount<=0
Begin
RollBack
Select @ErrorMessage='没有找到要转换的库存数据'
Select @ErrorInfoId=-1
Return
end
Select @CommodityId_New=CommodityId, @GeneralName_New=GeneralName, @ProductName_New=ProductName, @EnglishName_New=EnglishName,
@Spec_New=Spec, @ProducingArea_New=ProducingArea,@DoseType_New=DoseType, @AuthorizeCode_New=AuthorizeCode, @Unit_New=Unit,
@SpellCode_New=SpellCode, @CustomCode_New=CustomCode,@TXM_New=TXM,@ZhongChengYao_New=ZhongChengYao,
@ZhongYaoCai_New=ZhongYaoCai, @ZhongYaoCaiContent_New =ZhongYaoCaiContent,@ZhongYaoYinPian_New=ZhongYaoYinPian,
@ZhongYaoYinPianContent_New=ZhongYaoYinPianContent, @HXYZJ_New=HXYZJ, @HXYLY_New =HXYLY, @KSS_New =KSS,
@SHYP_New =SHYP, @SWZP_New =SWZP, @SWZPCYM_New=SWZPCYM, @SWZPCXYYP_New=SWZPCXYYP,
@SWZPXZDYP_New=SWZPXZDYP, @MZYP_New=MZYP , @MZYPContent_New=MZYPContent, @JSYP_New=JSYP,
@JSYPContent_New=JSYPContent, @YLYDXYP_New=YLYDXYP, @YLYDXYPContent_New=YLYDXYPContent,
@FSXYP_New=FSXYP, @YM_New=YM,@Import_New=Import,@DataVersion_New=DataVersion,@SFDAId_New=SFDAId,
@TableView_New=TableView,@UniCodes_New=UniCodes,@StandCode_New=StandCode,@CommodityType_New=CommodityType,
@GJ_New=GJ
from CommodityStandard (UPDLOCK) where CommodityId=@CommodityId_New_pra
if @@RowCount<=0
Begin
RollBack
Select @ErrorMessage='没有找到要转换的新数据'
Select @ErrorInfoId=-2
Return
end
--转换基本信息
Select @PackingId_Max=isnull(max(PackingId),-1) +1 from Commodity where CommodityId=@CommodityId_New_pra
Select @CommodityId_Old=CommodityId, @GeneralName_Old=GeneralName, @ProductName_Old=ProductName, @EnglishName_Old=EnglishName,
@Spec_Old=Spec, @ProducingArea_Old=ProducingArea,@DoseType_Old=DoseType, @AuthorizeCode_Old=AuthorizeCode, @Unit_Old=Unit,
@SpellCode_Old=SpellCode, @CustomCode_Old=CustomCode,@TXM_Old=TXM,@RetailPrice_Old=RetailPrice
from Commodity where CommodityId=@CommodityId_Old_pra
if @@rowcount <=0
begin
Select @Unit_Old=Unit, @RetailPrice_Old=RetailPrice,@CustomCode_Old=CustomCode,@TXM_Old=TXM
from CommodityStock where CommodityId=@CommodityId_Old_pra
end
Delete Commodity where CommodityId=@CommodityId_Old_pra
Insert into Commodity (CommodityId,CatalogId,GeneralName,ProductName,EnglishName,Spec,ProducingArea,DoseType,AuthorizeCode,Unit,Gmp,Otc,Import,
TradePrice,RetailPrice,SpellCode,CustomCode,DataVersion,Disabled,ZhongChengYao, ZhongYaoCai,ZhongYaoCaiContent,
ZhongYaoYinPian,ZhongYaoYinPianContent,HXYZJ,HXYLY,KSS,SHYP,SWZP,SWZPCYM,SWZPCXYYP,SWZPXZDYP,MZYP,
MZYPContent,JSYP,JSYPContent,YLYDXYP,YLYDXYPContent,FSXYP,YM,TXM,BS,Reports,Deleted,SFDAId,TableView,
UniCodes,StandCode,CommodityType, GJ,PackingId)
values(@CommodityId_New,1,@GeneralName_New,@ProductName_New,@EnglishName_New,@Spec_New,@ProducingArea_New,
@DoseType_New, @AuthorizeCode_New,@Unit_Old,0,0,@Import_New,0,@RetailPrice_Old,@SpellCode_New,@CustomCode_Old,
@DataVersion_New,0 , @ZhongChengYao_New, @ZhongYaoCai_New,@ZhongYaoCaiContent_New,
@ZhongYaoYinPian_New , @ZhongYaoYinPianContent_New ,@HXYZJ_New , @HXYLY_New , @KSS_New , @SHYP_New,
@SWZP_New , @SWZPCYM_New , @SWZPCXYYP_New ,@SWZPXZDYP_New , @MZYP_New, @MZYPContent_New,
@JSYP_New , @JSYPContent_New , @YLYDXYP_New , @YLYDXYPContent_New ,@FSXYP_New ,@YM_New,@TXM_Old,1,0,0,
@SFDAId_New,@TableView_New,@UniCodes_New,@StandCode_New,@CommodityType_New,@GJ_New,@PackingId_Max)
if @@error <>0
begin
SELECT @ErrorMessage='插入Commodity失败!'
Select @ErrorInfoId=-4
ROLLBACK
RETURN
end
--转换各从单
Update BillDetailAdjustCostPrice Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old_pra
if @@error <>0
begin
SELECT @ErrorMessage='更新BillDetailAdjustCostPrice失败!'
Select @ErrorInfoId=-7
ROLLBACK
RETURN
end
Update BillDetailAdjustRetailPrice Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old_pra
if @@error <>0
begin
SELECT @ErrorMessage='更新BillDetailAdjustRetailPrice失败!'
Select @ErrorInfoId=-7
ROLLBACK
RETURN
end
Update BillDetailBatchCodeAdjust Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old_pra
if @@error <>0
begin
SELECT @ErrorMessage='更新BillDetailBatchCodeAdjust失败!'
Select @ErrorInfoId=-7
ROLLBACK
RETURN
end
Update BillDetailBuyInStock Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,
SpellCode=@SpellCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old_pra
if @@error <>0
begin
SELECT @ErrorMessage='更新BillDetailBuyInStock失败!'
Select @ErrorInfoId=-7
ROLLBACK
RETURN
end
Update BillDetailBuyInStockPlan Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,
SpellCode=@SpellCode_New
where CommodityId=@CommodityId_Old_pra
if @@error <>0
begin
SELECT @ErrorMessage='更新BillDetailBuyInStockPlan失败!'
Select @ErrorInfoId=-7
ROLLBACK
RETURN
end
Update BillDetailBuyReturn Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old_pra
if @@error <>0
begin
SELECT @ErrorMessage='更新BillDetailBuyReturn失败!'
Select @ErrorInfoId=-7
ROLLBACK
RETURN
end
Update BillDetailReportLoss Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old_pra
if @@error <>0
begin
SELECT @ErrorMessage='更新BillDetailReportLoss失败!'
Select @ErrorInfoId=-7
ROLLBACK
RETURN
end
Update BillDetailReportSpill Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,
SpellCode=@SpellCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old_pra
if @@error <>0
begin
SELECT @ErrorMessage='更新BillDetailReportSpill失败!'
Select @ErrorInfoId=-7
ROLLBACK
RETURN
end
Update BillDetailRetail Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old_pra
if @@error <>0
begin
SELECT @ErrorMessage='更新BillDetailRetail失败!'
Select @ErrorInfoId=-7
ROLLBACK
RETURN
end
Update BillDetailRetailReturn Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old_pra
if @@error <>0
begin
SELECT @ErrorMessage='更新BillDetailRetailReturn失败!'
Select @ErrorInfoId=-7
ROLLBACK
RETURN
end
--转换库存
Update CommodityStock Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,
SpellCode=@SpellCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old_pra
if @@error <>0
begin
SELECT @ErrorMessage='更新CommodityStock失败!'
Select @ErrorInfoId=-8
ROLLBACK
RETURN
end
--转换InoutStock
Update InoutStockTable Set CommodityId=@CommodityId_New,CommodityName=@GeneralName_New,Spec=@Spec_New,
DoseTypeName=@DoseType_New,ProducingArea=@ProducingArea_New,AuthorizeCode=@AuthorizeCode_New,PackingId=@PackingId_Max
where CommodityId=@CommodityId_Old_pra
if @@error <>0
begin
SELECT @ErrorMessage='更新InoutStockTable失败!'
Select @ErrorInfoId=-10
ROLLBACK
RETURN
end
--插入ConversionDataTable
insert into ConversionDataTable(CommodityId_Old,GeneralName_Old,ProductName_Old,EnglishName_Old,Spec_Old,
ProducingArea_Old,DoseType_Old,AuthorizeCode_Old,Unit_Old,SpellCode_Old,CustomCode_Old,
TXM_Old,CommodityId_New,GeneralName_New,ProductName_New,EnglishName_New,Spec_New,
ProducingArea_New,DoseType_New, AuthorizeCode_New,Unit_New,SpellCode_New,CustomCode_New,
TXM_New,PackingId_Old,PackingId_New)
values(@CommodityId_Old,@GeneralName_Old,@ProductName_Old,@EnglishName_Old,@Spec_Old,
@ProducingArea_Old,@DoseType_Old,@AuthorizeCode_Old,@Unit_Old,@SpellCode_Old,@CustomCode_Old,
@TXM_Old,@CommodityId_New,@GeneralName_New,@ProductName_New,@EnglishName_New,@Spec_New,
@ProducingArea_New,@DoseType_New,@AuthorizeCode_New,@Unit_New,@SpellCode_New,@CustomCode_New,
@TXM_New,0,@PackingId_Max)
if @@error <>0
begin
SELECT @ErrorMessage='插入ConversionDataTable失败!'
Select @ErrorInfoId=-11
ROLLBACK
RETURN
end
SELECT @ErrorMessage='数据转换成功!'
Select @ErrorInfoId=0
Commit Tran
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[UpdateCommodity_TXM] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[UpdateCommodity_TXM] AS
DECLARE @TXM varchar(100)
DECLARE @CommodityId int
DECLARE @PackingId int
BEGIN TRAN
DECLARE C_TXM cursor for Select CommodityId,PackingId from Commodity
open C_TXM
fetch next from C_TXM
into @CommodityId,@PackingId
while @@FETCH_STATUS = 0
begin
select @TXM = TXM from CommodityStock where CommodityId = @CommodityId and PackingId = @PackingId
Update Commodity set TXM=@TXM where CommodityId = @CommodityId and PackingId = @PackingId
fetch next from C_TXM
into @CommodityId,@PackingId
end
CLOSE C_TXM
DEALLOCATE C_TXM
COMMIT
GO
/****** Object: StoredProcedure [dbo].[UpdateCardTemp] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[UpdateCardTemp]
(
@Code VARCHAR(50),
@BillType TINYINT,
@EmbranchmentId INT,
@ChangeMoney DECIMAL(18,4),--消费时为实收款
@BusinessDate DATETIME,
@ErrorInfoId INT OUTPUT,
@ErrorMessage VARCHAR(100) OUTPUT
)
AS
DECLARE @UPDATECARD_ERROE INT
DECLARE @INSERTLOG_ERROR INT
DECLARE @guid uniqueidentifier
DECLARE @BillCodeName VARCHAR(50)
DECLARE @row_Balance NUMERIC(18,4)
DECLARE @row_SumConsumed NUMERIC(18,4)
DECLARE @row_SumAllMoney NUMERIC(18,4)
DECLARE @row_old_Balance NUMERIC(18,4)
DECLARE @row_old_row_SumConsumed NUMERIC(18,4)
DECLARE @row_old_SumAllMoney NUMERIC(18,4)
IF(@BillType=5)
BEGIN
SELECT @BillCodeName='会员卡消费'
END
IF(@BillType=26)
BEGIN
SELECT @BillCodeName='会员卡退货'
END
IF(@BillType=31)
BEGIN
SELECT @BillCodeName='会员卡返利'
END
IF(@BillType=32)
BEGIN
SELECT @BillCodeName='会员卡取消返利'
END
SELECT @row_old_Balance=Balance,@row_old_row_SumConsumed=SumConsumed,@row_old_SumAllMoney=SumAllMoney from MemberCard
WHERE Code = @Code and ISNULL( Deleted,0)<>1
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE --事务序列化
BEGIN TRAN
IF (@BillType=5)
BEGIN
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)-abs(@ChangeMoney)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--计算总消费额
UPDATE MemberCard
SET SumConsumed = ISNULL(SumConsumed,0)+abs( @ChangeMoney)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF(@BillType=31)
BEGIN
--返利
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)+abs(@ChangeMoney)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--累计返利总额
UPDATE MemberCard
SET ReturnPayCard=ISNULL(ReturnPayCard,0)+abs(@ChangeMoney)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF(@BillType=32)
BEGIN
--取消返利
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)-abs(@ChangeMoney)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--累计取消返利总额
UPDATE MemberCard
SET CancelReturnPayCard=ISNULL(CancelReturnPayCard,0)+abs(@ChangeMoney)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF (@BillType=26)
BEGIN
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)+abs(@ChangeMoney)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--计算总退货额
UPDATE MemberCard
SET ReturnCard = ISNULL(ReturnCard,0) + abs(@ChangeMoney)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
SELECT @row_Balance=Balance,@row_SumConsumed=SumConsumed,@row_SumAllMoney=SumAllMoney from MemberCard
WHERE Code = @Code and ISNULL( Deleted,0)<>1
SELECT @UPDATECARD_ERROE = @@ERROR
SELECT @guid=NEWID()
IF ( @BillType=5 )
BEGIN
INSERT INTO MemberCardChangeLogTemp(Guid, EmbranchmentId, CardCode, BillType, BillCodeName,PreMoney, ChangeMoney, Balance,BusinessDate)
VALUES(@guid,@EmbranchmentId,@Code,@BillType,@BillCodeName,@row_old_Balance, -abs(@ChangeMoney), @row_old_Balance-abs(@ChangeMoney),@BusinessDate)
END
IF ( @BillType=26 )
BEGIN
INSERT INTO MemberCardChangeLogTemp(Guid, EmbranchmentId, CardCode, BillType, BillCodeName,PreMoney, ChangeMoney, Balance,BusinessDate)
VALUES(@guid,@EmbranchmentId,@Code,@BillType,@BillCodeName,@row_old_Balance, abs(@ChangeMoney), @row_old_Balance-abs(@ChangeMoney),@BusinessDate)
END
IF(@BillType=31)
BEGIN
INSERT INTO MemberCardChangeLogTemp(Guid, EmbranchmentId, CardCode, BillType, BillCodeName,PreMoney, ChangeMoney, Balance,BusinessDate)
VALUES(@guid,@EmbranchmentId,@Code,@BillType,@BillCodeName,@row_old_Balance, abs(@ChangeMoney), @row_old_Balance-abs(@ChangeMoney),@BusinessDate)
END
IF ( @BillType=32 )
BEGIN
INSERT INTO MemberCardChangeLogTemp(Guid, EmbranchmentId, CardCode, BillType, BillCodeName,PreMoney, ChangeMoney, Balance,BusinessDate)
VALUES(@guid,@EmbranchmentId,@Code,@BillType,@BillCodeName,@row_old_Balance, -abs(@ChangeMoney), @row_old_Balance-abs(@ChangeMoney),@BusinessDate)
END
SELECT @INSERTLOG_ERROR = @@ERROR
-- Test the error values.
IF @UPDATECARD_ERROE = 0 AND @INSERTLOG_ERROR = 0
BEGIN
-- Success. Commit the transaction.
SELECT @ErrorMessage = '会员卡消费成功' --cast(@guid as varchar(60))
SELECT @ErrorInfoId=1
COMMIT TRAN
END
ELSE
BEGIN
-- An error occurred. Indicate which operation(s) failed and roll back the transaction.
IF @UPDATECARD_ERROE <> 0
SELECT @ErrorMessage = '会员卡更新失败'
SELECT @ErrorInfoId=-2
IF @INSERTLOG_ERROR <> 0
SELECT @ErrorMessage = '写日志失败'
SELECT @ErrorInfoId=-3
ROLLBACK TRAN
END
GO
/****** Object: StoredProcedure [dbo].[UpdateCardByMoneyTransferred_PT] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[UpdateCardByMoneyTransferred_PT]
(
@BillType TINYINT,
--@CardId INT,
@BillCode VARCHAR(50),
@BillCodeName VARCHAR(50),
@Code VARCHAR(50),
@Score INT,
@CustomerId INT,
@CustomerName VARCHAR(50),
@Balance DECIMAL(18,4),
@SumConsumed DECIMAL(18,4),
@CardTypeId INT,
@CardLevelId TINYINT,
@CardLevelName VARCHAR(50),
@Status TINYINT,
@Password VARCHAR(20),
@Foregift DECIMAL(18,4),
@Discount DECIMAL(18,4),
@BeginTime DATETIME,
@CancelTime DATETIME,
@SuspendTime DATETIME,
@LimitCount INT,
@UsedCount INT,
@PreMoney DECIMAL(18,4),
@ChangeMoney DECIMAL(18,4),--消费时为实收款
@Remark VARCHAR(255),
@Deleted BIT,
@BusinessId INT,
@BusinessName VARCHAR(50),
@BusinessDate DATETIME,
@ErrorInfoId INT OUTPUT,
@ErrorMessage VARCHAR(100) OUTPUT,
@BillId INT,
@EmbranchmentId INT,
@EmbranchmentName VARCHAR(50),
@SpellCode VARCHAR(50),
@DataVersion BIGINT,
@SumAllMoney DECIMAL(18,4),
@orderno INT OUTPUT,
@PayCard DECIMAL(18,4),
@ReturnPayCard DECIMAL(18,4),
@PayMoney DECIMAL(18,4),
@ReturnMoney DECIMAL(18,4),
@PayKYB DECIMAL(18,4),
@PaySYB DECIMAL(18,4),
@PayYB DECIMAL(18,4),
@PayCardMoneyBefore DECIMAL(18,4),
@PayCardMoneyAfter DECIMAL(18,4),
@PayTypeStr VARCHAR(50),
@Code_CZ VARCHAR(50)
)
AS
DECLARE @old_Balance NUMERIC(18,4)
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE --事务序列化
BEGIN TRAN
select *
from MemberCard
where Code=@Code_CZ
if @@ROWCOUNT<=0
begin
SELECT @ErrorMessage='没有找到储值卡!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
Update MemberCard Set IsTransferred=0
where Code=@Code_CZ
select @old_Balance=Balance
from MemberCard
where Code = @Code
if @@ROWCOUNT<=0
begin
SELECT @ErrorMessage='没有找到此卡!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
UPDATE MemberCard
SET Balance=@Balance+@ChangeMoney,SumAllMoney=@SumAllMoney
WHERE Code = @Code
if @@error <>0
begin
SELECT @ErrorMessage='更新此卡出错!'
Select @ErrorInfoId=-2
ROLLBACK
RETURN -1
end
Update MemberCardChangeLog Set IsTransferred=0
where CardCode=@Code_CZ and BillId=@BillId and CardTypeId=91 and BillType=27 and IsCZ=1
INSERT INTO MemberCardChangeLog (Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,PayMoney,DataVersion,ReturnPayCard ,IsTransferred,IsHC,IsCZ)
VALUES(newid(),@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,@BillCodeName,@old_Balance,@ChangeMoney,@Balance+@ChangeMoney,@CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark,@PayMoney,@DataVersion,0,0,0,0)
if @@error <>0
begin
SELECT @ErrorMessage='插入MemberCardChangeLog出错!'
Select @ErrorInfoId=-3
ROLLBACK
RETURN -1
end
SELECT @ErrorMessage='操作成功!'
Select @ErrorInfoId=1
Commit Tran
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[UpdateCardByMoneyTransferred_HC] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[UpdateCardByMoneyTransferred_HC]
(
@BillId int,
@EmbranchmentId int,
@EmbranchmentName varchar(50),
@CardCode varchar(50),
@CardTypeId int,
@BillType tinyint,
@BillCode varchar(50),
@BillCodeName varchar(50),
@PreMoney decimal(18,4),
@ChangeMoney decimal (18,4),
@Balance decimal(18,4),
@CustomerId int,
@CustomerName varchar(50),
@BusinessId int,
@BusinessName varchar(50),
@BusinessDate smalldatetime,
@Remark varchar(255),
@IsTransferred bit,
@IsHC bit,
@IsCZ bit,
@PreBillId int,
@PreEmbranchmentId int,
@ErrorInfoId INT OUTPUT,
@ErrorMessage VARCHAR(100) OUTPUT
)
AS
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE --事务序列化
BEGIN TRAN
Update MemberCard Set IsTransferred=0,Balance=@Balance
where Code = @CardCode
if @@error <>0
begin
SELECT @ErrorMessage='更新MemberCard出错!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
Update MemberCardChangeLog Set IsHC=1,PreBillId=@BillId,PreEmbranchmentId=@EmbranchmentId
where BillId=@PreBillId and EmbranchmentId =@PreEmbranchmentId and CardCode =@CardCode AND CardTypeId = 91 AND BillType = 27 AND IsTransferred = 1 AND IsHC = 0 AND IsCZ = 1
INSERT INTO MemberCardChangeLog (Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode, CardTypeId, BillType, BillCode, BillCodeName, PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,PayMoney,DataVersion,ReturnPayCard,IsTransferred,IsHC,IsCZ,PreBillId,PreEmbranchmentId)
VALUES(newid(),@BillId,@EmbranchmentId,@EmbranchmentName,@CardCode ,@CardTypeId,@BillType,@BillCode,@BillCodeName,@PreMoney,@ChangeMoney,@Balance,@CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark,0, 0, 0, 0, 0, 1,@PreBillId, @PreEmbranchmentId)
if @@error <>0
begin
SELECT @ErrorMessage='插入MemberCardChangeLog出错!'
Select @ErrorInfoId=-3
ROLLBACK
RETURN -1
end
SELECT @ErrorMessage='操作成功!'
Select @ErrorInfoId=1
Commit Tran
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[UpdateCardByMoneyTransferred_CZ] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[UpdateCardByMoneyTransferred_CZ]
(
@BillType TINYINT,
--@CardId INT,
@BillCode VARCHAR(50),
@BillCodeName VARCHAR(50),
@Code VARCHAR(50),
@Score INT,
@CustomerId INT,
@CustomerName VARCHAR(50),
@Balance DECIMAL(18,4),
@SumConsumed DECIMAL(18,4),
@CardTypeId INT,
@CardLevelId TINYINT,
@CardLevelName VARCHAR(50),
@Status TINYINT,
@Password VARCHAR(20),
@Foregift DECIMAL(18,4),
@Discount DECIMAL(18,4),
@BeginTime DATETIME,
@CancelTime DATETIME,
@SuspendTime DATETIME,
@LimitCount INT,
@UsedCount INT,
@PreMoney DECIMAL(18,4),
@ChangeMoney DECIMAL(18,4),--消费时为实收款
@Remark VARCHAR(255),
@Deleted BIT,
@BusinessId INT,
@BusinessName VARCHAR(50),
@BusinessDate DATETIME,
@ErrorInfoId INT OUTPUT,
@ErrorMessage VARCHAR(100) OUTPUT,
@BillId INT,
@EmbranchmentId INT,
@EmbranchmentName VARCHAR(50),
@SpellCode VARCHAR(50),
@DataVersion BIGINT,
@SumAllMoney DECIMAL(18,4),
@orderno INT OUTPUT,
@PayCard DECIMAL(18,4),
@ReturnPayCard DECIMAL(18,4),
@PayMoney DECIMAL(18,4),
@ReturnMoney DECIMAL(18,4),
@PayKYB DECIMAL(18,4),
@PaySYB DECIMAL(18,4),
@PayYB DECIMAL(18,4),
@PayCardMoneyBefore DECIMAL(18,4),
@PayCardMoneyAfter DECIMAL(18,4),
@PayTypeStr VARCHAR(50),
@Code_CZ VARCHAR(50)
)
AS
DECLARE @old_Balance NUMERIC(18,4)
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE --事务序列化
BEGIN TRAN
select @old_Balance=Balance
from MemberCard
where Code = @Code
if @@ROWCOUNT<=0
begin
SELECT @ErrorMessage='没有找到此卡!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
UPDATE MemberCard
SET Balance=@Balance-@ChangeMoney,IsTransferred=1
WHERE Code = @Code
if @@error <>0
begin
SELECT @ErrorMessage='更新此卡出错!'
Select @ErrorInfoId=-2
ROLLBACK
RETURN -1
end
INSERT INTO MemberCardChangeLog (Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,PayMoney,DataVersion,ReturnPayCard,IsTransferred,IsHC,IsCZ)
VALUES(newid(),@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,@BillCodeName,@old_Balance,@ChangeMoney,@Balance-@ChangeMoney,@CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark,@PayMoney,@DataVersion,0,1,0,1)
if @@error <>0
begin
SELECT @ErrorMessage='插入MemberCardChangeLog出错!'
Select @ErrorInfoId=-3
ROLLBACK
RETURN -1
end
SELECT @ErrorMessage='操作成功!'
Select @ErrorInfoId=1
Commit Tran
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[UpdateCard] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[UpdateCard]
(
@BillType TINYINT,
@CardId INT,
@BillCode VARCHAR(50),
@BillCodeName VARCHAR(50),
@Code VARCHAR(50),
@Score INT,
@CustomerId INT,
@CustomerName VARCHAR(50),
@Balance DECIMAL(18,4),
@SumConsumed DECIMAL(18,4),
@CardTypeId INT,
@CardLevelId TINYINT,
@CardLevelName VARCHAR(50),
@Status TINYINT,
@Password VARCHAR(20),
@Foregift DECIMAL(18,4),
@Discount DECIMAL(18,4),
@BeginTime DATETIME,
@CancelTime DATETIME,
@SuspendTime DATETIME,
@LimitCount INT,
@UsedCount INT,
@PreMoney DECIMAL(18,4),
@ChangeMoney DECIMAL(18,4),--消费时为实收款
@Remark VARCHAR(255),
@Deleted BIT,
@BusinessId INT,
@BusinessName VARCHAR(50),
@BusinessDate DATETIME,
@ErrorInfoId INT OUTPUT,
@ErrorMessage VARCHAR(100) OUTPUT,
@BillId INT,
@EmbranchmentId INT,
@EmbranchmentName VARCHAR(50),
@SpellCode VARCHAR(50),
@DataVersion BIGINT,
@SumAllMoney DECIMAL(18,4),
@orderno INT OUTPUT,
@PayCard DECIMAL(18,4),
@ReturnPayCard DECIMAL(18,4),
@PayMoney DECIMAL(18,4),
@ReturnMoney DECIMAL(18,4),
@PayKYB DECIMAL(18,4),
@PaySYB DECIMAL(18,4),
@PayYB DECIMAL(18,4),
@PayCardMoneyBefore DECIMAL(18,4),
@PayCardMoneyAfter DECIMAL(18,4),
@PayTypeStr VARCHAR(50),
@Code_CZ VARCHAR(50),
@ReturnCard DECIMAL(18,4),
@CancelReturnPayCard DECIMAL(18,4),
@MissCash DECIMAL(18,4),
@YBConsumed DECIMAL(18,4),
@ProviderId INT
)
AS
DECLARE @UPDATECARD_ERROE INT
DECLARE @INSERTLOG_ERROR INT
DECLARE @guid UNIQUEIDENTIFIER
DECLARE @row_old_Balance NUMERIC(18,4)
DECLARE @row_old_row_SumConsumed NUMERIC(18,4)
DECLARE @row_old_SumAllMoney NUMERIC(18,4)
DECLARE @afterMoney NUMERIC(18,4)
/*定义DataVersion对应的局部变量*/
DECLARE @DataVersionId INT
DECLARE @Name VARCHAR(20)
DECLARE @PreviousVersion BIGINT
DECLARE @CurVersion BIGINT
DECLARE @OriginDateTime DATETIME
DECLARE @SynchronizeDateTime DATETIME
SELECT @row_old_Balance=0
SELECT @Remark='卡中改变金额与终端库中一致'
IF(@BillType=17 OR @BillType=22)
BEGIN
SELECT @ChangeMoney=-abs(@ChangeMoney)
END
ELSE
BEGIN
SELECT @ChangeMoney=abs(@ChangeMoney)
END
IF( @BillType!=29)
BEGIN
SELECT @row_old_Balance=Balance,@row_old_row_SumConsumed=SumConsumed,@row_old_SumAllMoney=SumAllMoney from MemberCard
WHERE Code = @Code and ISNULL( Deleted,0)<>1
IF @@ROWCOUNT=0
BEGIN
SELECT @ErrorInfoId=-1
SELECT @ErrorMessage='此卡尚未发出'
RETURN -1
END
IF @@ROWCOUNT>0
BEGIN
SELECT @ErrorInfoId=-2
SELECT @ErrorMessage='此卡多次发出'
RETURN -2
END
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE --事务序列化
BEGIN TRAN
IF (@BillType=14)
BEGIN
UPDATE MemberCard
SET CustomerId = @CustomerId,CustomerName = @CustomerName,Score = @Score, SumConsumed = @Sumconsumed,CardTypeId = @CardTypeId,CardLevelId = @CardLevelId,CardLevelName = @CardLevelName,Status = @Status,Password = @Password,Foregift = @Foregift,Discount = 1,BeginTime = @BeginTime,CancelTime = @CancelTime,SuspendTime = @SuspendTime,LimitCount = @LimitCount,UsedCount = @UsedCount,Remark = @Remark,Deleted = @Deleted,SpellCode=@SpellCode,DataVersion=@DataVersion,SumAllMoney=@SumAllMoney
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF(@BillType=15)
BEGIN
UPDATE MemberCard SET Password = @Password
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF(@BillType=18)
BEGIN
UPDATE MemberCard SET Status=@Status
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF(@BillType=19)
BEGIN
UPDATE MemberCard SET Status=@Status
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF (@BillType=20)
BEGIN
UPDATE MemberCard
SET CustomerId = @CustomerId,CustomerName = @CustomerName,Score = @Score, SumConsumed = @Sumconsumed,CardTypeId = @CardTypeId,CardLevelId = @CardLevelId,CardLevelName = @CardLevelName,Status = @Status,Password = @Password,Foregift = @Foregift,Discount = 1,BeginTime = @BeginTime,CancelTime = @CancelTime,SuspendTime = @SuspendTime,LimitCount = @LimitCount,UsedCount = @UsedCount,Remark = @Remark,Deleted = @Deleted,SpellCode=@SpellCode,DataVersion=@DataVersion,SumAllMoney=@SumAllMoney
WHERE Code = @Code and ISNULL( Deleted,0)<>1
UPDATE MemberCard
SET Balance=Balance+abs(@ChangeMoney)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF (@BillType=16)
BEGIN
UPDATE MemberCard
SET SumAllMoney=SumAllMoney+abs(@ChangeMoney)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
UPDATE MemberCard
SET Balance=Balance+abs(@ChangeMoney)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF(@BillType=33)
BEGIN
UPDATE MemberCard
SET Balance=0,Foregift=0,Deleted=1
WHERE Code=@Code AND ISNULL(Deleted,0)<>1
END
IF(@BillType=17)
BEGIN
UPDATE MemberCard
SET DrawCard=ISNULL(DrawCard,0)+abs(@ChangeMoney)
WHERE Code=@Code AND ISNULL(Deleted,0)<>1
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)-abs(@ChangeMoney)
WHERE Code=@Code AND ISNULL(Deleted,0)<>1
END
IF(@BillType=22)
BEGIN
UPDATE MemberCard
SET deleted=1
WHERE Code = @Code and ISNULL( Deleted,0)<>1
UPDATE MembercardChangeLog SET Deleted=1
WHERE CardCode=@Code and ISNULL( Deleted,0)<>1
UPDATE InoutStockTableCard SET Deleted=1
WHERE CardCode=@Code and ISNULL(Deleted,0)<>1
END
IF (@BillType=5)
BEGIN
--计算总消费额
UPDATE MemberCard
SET SumConsumed = ISNULL(SumConsumed,0)+abs( @PayCard)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)-abs(@PayCard)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--累计返利总额
UPDATE MemberCard
SET ReturnPayCard=ISNULL(ReturnPayCard,0)+abs(@ReturnPayCard)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--返利
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)+abs(@ReturnPayCard)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--累计透支消费时,补的现金
UPDATE MemberCard
SET MissCash=ISNULL(MissCash,0)+abs(@PayMoney-@ReturnMoney)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--累计医保消费
UPDATE MemberCard
SET YBConsumed=ISNULL(YBConsumed,0)+ ( @PayKYB+@PaySYB )
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF (@BillType=26)
BEGIN
--计算总退货额
UPDATE MemberCard
SET ReturnCard = ISNULL(ReturnCard,0) + abs(@PayCard)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)+abs(@PayCard)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--累计取消返利总额
UPDATE MemberCard
SET CancelReturnPayCard=ISNULL(CancelReturnPayCard,0)+abs(@ReturnPayCard)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--取消返利
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)-abs(@ReturnPayCard)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
SELECT @UPDATECARD_ERROE=@@ERROR
IF @UPDATECARD_ERROE<>0
BEGIN
SELECT @ErrorInfoId=-3
SELECT @ErrorMessage=-3
ROLLBACK
RETURN -3
END
SELECT @guid=NEWID()
SELECT @CurVersion=CurVersion,
@SynchronizeDateTime = SynchronizeDateTime
FROM DataVersion(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=18
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='取版本出错!'
SELECT @ErrorInfoId =-15
ROLLBACK
RETURN -15
END
IF(@BillType!=33 AND @BillType!=5 AND @BillType!=26)
BEGIN
SELECT @CurVersion=@CurVersion+1
INSERT INTO MemberCardChangeLog (Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,PayMoney,PayCard,ReturnPayCard,PaySYB,PayKYB,PayYB,PayTypeStr,ProviderId,DataVersion,CheckOut,CardChangeMoney,DiffMoney,Shadiness)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,@BillCodeName,@row_old_Balance,@ChangeMoney,@row_old_Balance+@ChangeMoney,@CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark,0,0,0,0,0,0,'',@ProviderId,@CurVersion,1,@ChangeMoney,0,0)
END
ELSE
BEGIN
IF(@BillType=33)
BEGIN
SELECT @CurVersion=@CurVersion+1
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,ReturnPayCard, PayCard ,PayMoney,ProviderId,DataVersion,CheckOut,CardChangeMoney,DiffMoney,Shadiness)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,'转出押金',@Balance, -abs(@Foregift),@Balance, @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, 0, 0,0,@ProviderId, @CurVersion,1,-abs(@Foregift),0,0)
SELECT @CurVersion=@CurVersion+1
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,ReturnPayCard, PayCard, ReturnMoney,PayMoney,ProviderId,DataVersion,CheckOut,CardChangeMoney,DiffMoney,Shadiness)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,'转出余额',@Balance, -abs(@Balance), 0, @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, 0, 0, 0,0,@ProviderId,@CurVersion,1, -abs(@Balance),0,0)
END
IF ( @BillType=5 )
BEGIN
SELECT @CurVersion=@CurVersion+1
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance,CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,ReturnPayCard, PayCard,PayKYB,PaySYB ,PayYB, PayTypeStr,PayMoney,ProviderId,DataVersion,CheckOut,CardChangeMoney,DiffMoney,Shadiness)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,@BillCodeName,@row_old_Balance, -abs(@PayCard), @row_old_Balance-abs(@PayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, abs(@ReturnPayCard), @PayCard,@PayKYB,@PaySYB,@PayKYB+@PaySYB,@PayTypeStr,@PayMoney-@ReturnMoney,@ProviderId,@CurVersion,1,-abs(@PayCard),0,0)
SELECT @CurVersion=@CurVersion+1
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName, PreMoney, ChangeMoney,Balance,CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, ReturnPayCard, PayCard ,PayKYB,PaySYB,PayYB, PayTypeStr,PayMoney,ProviderId,DataVersion,CheckOut,CardChangeMoney,DiffMoney,Shadiness)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,31,@BillCode, '返利', @row_old_Balance-abs(@PayCard), abs(@ReturnPayCard),@row_old_Balance-abs(@PayCard)+abs(@ReturnPayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark , 0, 0,0,0, 0,@PayTypeStr,0,@ProviderId,@CurVersion,1,abs(@ReturnPayCard),0,0)
END
IF( @BillType=26 )
BEGIN
--记录销退
SELECT @CurVersion=@CurVersion+1
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,ReturnPayCard, PayCard,PayKYB,PaySYB ,PayYB, PayTypeStr,PayMoney,ProviderId,DataVersion,CheckOut,CardChangeMoney,DiffMoney,Shadiness)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,@BillCodeName,@row_old_Balance, +abs(@PayCard), @row_old_Balance+abs(@PayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, abs(@ReturnPayCard), -abs(@PayCard), 0,0,0,@PayTypeStr,0,@ProviderId,@CurVersion,1,+abs(@PayCard),0,0)
--取消返利
SELECT @CurVersion=@CurVersion+1
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName, PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, ReturnPayCard, PayCard, PayKYB,PaySYB ,PayYB, PayTypeStr,PayMoney,ProviderId,DataVersion,CheckOut,CardChangeMoney,DiffMoney,Shadiness)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,32,@BillCode, '取消返利', @row_old_Balance+abs(@PayCard), -abs(@ReturnPayCard), @row_old_Balance+abs(@PayCard)-abs(@ReturnPayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark ,0,0,0,0,0,@PayTypeStr,0,@ProviderId,@CurVersion,1,-abs(@ReturnPayCard),0,0)
END
END
SELECT @INSERTLOG_ERROR = @@ERROR
IF @INSERTLOG_ERROR <> 0
BEGIN
SELECT @ErrorMessage = '写日志失败'
SELECT @ErrorInfoId=-14
ROLLBACK TRAN
RETURN -14
END
UPDATE DataVersion
SET PreviousVersion=@CurVersion,CurVersion=@CurVersion,
OriginDateTime=@SynchronizeDateTime, SynchronizeDateTime=getDate()
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=18
IF @@ERROR <>0
BEGIN
SELECT @ErrorMessage='更新版本失败!'
SELECT @ErrorInfoId=-16
ROLLBACK
RETURN -16
END
-- Success. Commit the transaction.
SELECT @ErrorMessage = '会员卡更新成功'
SELECT @ErrorInfoId=1
COMMIT TRAN
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[UpdateBillDetailRetail] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[UpdateBillDetailRetail]
AS
DECLARE @EmbranchmentId smallint
DECLARE @BillType tinyint
DECLARE @BillId int
DECLARE @RowNum tinyint
DECLARE @CommodityId int
DECLARE @CommodityName varchar(100)
DECLARE @Spec varchar(50)
DECLARE @DoseTypeName varchar(50)
DECLARE @ProducingArea varchar(50)
DECLARE @Unit varchar(50)
DECLARE @AuthorizeCode varchar(50)
BEGIN TRAN
SET NOCOUNT ON
DECLARE Cur_BillDetailBuyInStock cursor for
SELECT EmbranchmentId,BillType,BillId,RowNum,CommodityId
FROM BillDetailRetail
open Cur_BillDetailBuyInStock
FETCH NEXT FROM Cur_BillDetailBuyInStock into @EmbranchmentId,@BillType,@BillId,@RowNum,@CommodityId
while @@FETCH_STATUS=0
begin
select @CommodityName=GeneralName,@Spec=Spec,@DoseTypeName=DoseType,@ProducingArea=ProducingArea,@Unit=Unit,@AuthorizeCode=AuthorizeCode
from Commodity
where CommodityId=@CommodityId
if @@ROWCOUNT=0
begin
select @CommodityName=GeneralName,@Spec=Spec,@DoseTypeName=DoseType,@ProducingArea=ProducingArea,@Unit=Unit,@AuthorizeCode=AuthorizeCode
from CommodityStandard
where CommodityId=@CommodityId
end
Update BillDetailRetail set CommodityName=@CommodityName,Spec=@Spec,DoseTypeName=@DoseTypeName,ProducingArea=@ProducingArea,Unit=@Unit , AuthorizeCode=@AuthorizeCode
where EmbranchmentId=@EmbranchmentId and BillType=@BillType and BillId=@BillId and RowNum=@RowNum
if @@ERROR<>0
begin
ROLLBACK
RETURN
end
FETCH NEXT FROM Cur_BillDetailBuyInStock into @EmbranchmentId,@BillType,@BillId,@RowNum,@CommodityId
end
CLOSE Cur_BillDetailBuyInStock
DEALLOCATE Cur_BillDetailBuyInStock
COMMIT
GO
/****** Object: StoredProcedure [dbo].[UpdateBillDetailBuyReturn] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[UpdateBillDetailBuyReturn]
AS
DECLARE @EmbranchmentId smallint
DECLARE @BillType tinyint
DECLARE @BillId int
DECLARE @RowNum tinyint
DECLARE @CommodityId int
DECLARE @CommodityName varchar(100)
DECLARE @Spec varchar(50)
DECLARE @DoseTypeName varchar(50)
DECLARE @ProducingArea varchar(50)
DECLARE @Unit varchar(50)
DECLARE @AuthorizeCode varchar(50)
BEGIN TRAN
SET NOCOUNT ON
DECLARE Cur_BillDetailBuyInStock cursor for
SELECT EmbranchmentId,BillType,BillId,RowNum,CommodityId
FROM BillDetailBuyReturn
open Cur_BillDetailBuyInStock
FETCH NEXT FROM Cur_BillDetailBuyInStock into @EmbranchmentId,@BillType,@BillId,@RowNum,@CommodityId
while @@FETCH_STATUS=0
begin
select @CommodityName=GeneralName,@Spec=Spec,@DoseTypeName=DoseType,@ProducingArea=ProducingArea,@Unit=Unit,@AuthorizeCode=AuthorizeCode
from Commodity
where CommodityId=@CommodityId
if @@ROWCOUNT=0
begin
select @CommodityName=GeneralName,@Spec=Spec,@DoseTypeName=DoseType,@ProducingArea=ProducingArea,@Unit=Unit,@AuthorizeCode=AuthorizeCode
from CommodityStandard
where CommodityId=@CommodityId
end
Update BillDetailBuyReturn set CommodityName=@CommodityName,Spec=@Spec,DoseTypeName=@DoseTypeName,ProducingArea=@ProducingArea,Unit=@Unit , AuthorizeCode=@AuthorizeCode
where EmbranchmentId=@EmbranchmentId and BillType=@BillType and BillId=@BillId and RowNum=@RowNum
if @@ERROR<>0
begin
ROLLBACK
RETURN
end
FETCH NEXT FROM Cur_BillDetailBuyInStock into @EmbranchmentId,@BillType,@BillId,@RowNum,@CommodityId
end
CLOSE Cur_BillDetailBuyInStock
DEALLOCATE Cur_BillDetailBuyInStock
COMMIT
GO
/****** Object: StoredProcedure [dbo].[UpdateBillDetailBuyInStock] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[UpdateBillDetailBuyInStock]
AS
DECLARE @EmbranchmentId smallint
DECLARE @BillType tinyint
DECLARE @BillId int
DECLARE @RowNum tinyint
DECLARE @CommodityId int
DECLARE @CommodityName varchar(100)
DECLARE @Spec varchar(50)
DECLARE @DoseTypeName varchar(50)
DECLARE @ProducingArea varchar(50)
DECLARE @Unit varchar(50)
DECLARE @AuthorizeCode varchar(50)
DECLARE @SpellCode varchar(50)
BEGIN TRAN
SET NOCOUNT ON
DECLARE Cur_BillDetailBuyInStock cursor for
SELECT EmbranchmentId,BillType,BillId,RowNum,CommodityId
FROM BillDetailBuyInStock
open Cur_BillDetailBuyInStock
FETCH NEXT FROM Cur_BillDetailBuyInStock into @EmbranchmentId,@BillType,@BillId,@RowNum,@CommodityId
while @@FETCH_STATUS=0
begin
select @CommodityName=GeneralName,@Spec=Spec,@DoseTypeName=DoseType,@ProducingArea=ProducingArea,@Unit=Unit,@AuthorizeCode=AuthorizeCode,@SpellCode=SpellCode
from Commodity
where CommodityId=@CommodityId
if @@ROWCOUNT=0
begin
select @CommodityName=GeneralName,@Spec=Spec,@DoseTypeName=DoseType,@ProducingArea=ProducingArea,@Unit=Unit,@AuthorizeCode=AuthorizeCode,@SpellCode=SpellCode
from CommodityStandard
where CommodityId=@CommodityId
end
Update BillDetailBuyInStock set CommodityName=@CommodityName,Spec=@Spec,DoseTypeName=@DoseTypeName,ProducingArea=@ProducingArea,Unit=@Unit , AuthorizeCode=@AuthorizeCode,SpellCode=@SpellCode
where EmbranchmentId=@EmbranchmentId and BillType=@BillType and BillId=@BillId and RowNum=@RowNum
if @@ERROR<>0
begin
ROLLBACK
RETURN
end
FETCH NEXT FROM Cur_BillDetailBuyInStock into @EmbranchmentId,@BillType,@BillId,@RowNum,@CommodityId
end
CLOSE Cur_BillDetailBuyInStock
DEALLOCATE Cur_BillDetailBuyInStock
COMMIT
GO
/****** Object: StoredProcedure [dbo].[updateBill1] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[updateBill1] AS
declare @BillId bigint
declare @ProviderName Varchar(50)
declare @ProviderId int
declare @BillType int
declare @BillCodeName varchar(50)
declare @BusinessName varchar(50)
declare @BusinessId int
set transaction isolation level serializable
begin tran
declare Cur_UpdateBillForProvide cursor for
select ProviderId,BillId,BillType,BusinessId from bill
open Cur_UpdateBillForProvide
fetch next from Cur_UpdateBillForProvide
into @ProviderId,@BillId,@BillType,@BusinessId
while @@Fetch_status=0
begin
select @ProviderName=Name from provider
where ProviderId=@ProviderId
select @BillCodeName=Name from BillCode
where id =@BillType
select @BusinessName=Name from Employee
where EmployeeId=@BusinessId
update bill
set ProviderName=@ProviderName ,InStockName='仓库1',outStockName='仓库1',EmbranchmentName='康睛',BillCodeName=@BillCodeName,BusinessName=@BusinessName,CustomerName='No',creatorName='SA',StockName='康睛'
where BillId=@BillId
fetch next from Cur_UpdateBillForProvide
into @ProviderId,@BillId,@BillType,@BusinessId
end
close Cur_UpdateBillForProvide
commit tran
select ProviderName,InStockName,OutStockName,EmbranchmentName,BillCodeName,BusinessName,CustomerName,creatorName,StockName from bill
select * from bill
GO
/****** Object: StoredProcedure [dbo].[UpdateBill] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[UpdateBill]
AS
DECLARE @CommodityName VARCHAR(100)
DECLARE @Spec VARCHAR(50)
DECLARE @ProducingArea VARCHAR(50)
DECLARE @DoseTypeName VARCHAR(50)
DECLARE @Unit VARCHAR(50)
DECLARE @BussinessName VARCHAR(50)
DECLARE @BillCodeName VARCHAR(50)
DECLARE @StockName VARCHAR(50)
DECLARE @EmbranchmentName VARCHAR(50)
DECLARE @ProviderName VARCHAR(50)
DECLARE @Remark VARCHAR(100)
DECLARE @AuthorizeCode VARCHAR(50)
DECLARE @CommodityId INT
DECLARE @StockId INT
DECLARE @ProviderId INT
DECLARE @BillType INT
DECLARE @EmbranchmentId INT
DECLARE @BillId INT
DECLARE @Guid uniqueidentifier
DECLARE @BussinessId int
BEGIN TRAN
SET NOCOUNT ON
DECLARE UpdateInOutStock cursor for
SELECT ProviderId,CommodityId,BillType,StockId,EmbranchmentId,BillId,Guid
FROM InoutStockTable
open UpdateInOutStock
fetch next from UpdateInOutStock
into @ProviderId,@CommodityId,@BillType,@StockId,@EmbranchmentId,@BillId,@Guid
while @@FETCH_STATUS = 0
begin
SELECT @CommodityName=GeneralName,@Spec=Spec,@ProducingArea=ProducingArea,@DoseTypeName=DoseType,@Unit=Unit,@AuthorizeCode=AuthorizeCode
FROM Commodity
WHERE CommodityId=@CommodityId
SELECT @BussinessId=BusinessId,@Remark=Summary FROM Bill
WHERE BillId=@BillId AND BillType=@BillType
SELECT @BussinessName=Name
FROM Employee
WHERE EmployeeId=@BussinessId
SELECT @BillCodeName=Name
FROM BillCode
WHERE Id=@BillType
SELECT @StockName=Name
FROM Depot
WHERE DepotId=@StockId
SELECT @EmbranchmentName=Name
FROM Embranchment
WHERE EmbranchmentId=@EmbranchmentId
SELECT @ProviderName=Name
FROM Provider
WHERE ProviderId=@ProviderId
UPDATE InoutStockTable
SET CommodityName=@CommodityName,Spec=@Spec, ProducingArea=@ProducingArea,DoseTypeName=@DoseTypeName,Unit=@Unit,BusinessName=@BussinessName,BillCodeName=@BillCodeName,StockName=@StockName,EmbranchmentName=@EmbranchmentName,ProviderName=@ProviderName,Remark=@Remark,AuthorizeCode=@AuthorizeCode
WHERE Guid=@Guid
fetch next from UpdateInOutStock
into @ProviderId,@CommodityId,@BillType,@StockId,@EmbranchmentId,@BillId,@Guid
end
CLOSE UpdateInOutStock
DEALLOCATE UpdateInOutStock
COMMIT
GO
/****** Object: StoredProcedure [dbo].[updataBillForProvider] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[updataBillForProvider] AS
declare @BillId bigint
declare @ProviderName Varchar(50)
declare @ProviderId int
set transaction isolation level serializable
begin tran
declare Cur_UpdateBillForProvider2 cursor for
select ProviderId,BillId from bill
open Cur_UpdateBillForProvider2
fetch next from Cur_UpdateBillForProvider2
into @ProviderId,@BillId
while @@Fetch_status=0
begin
select @ProviderName=Name from provider
where ProviderId=@ProviderId
update bill
set ProviderName=@ProviderName
where BillId=@BillId
fetch next from Cur_UpdateBillForProvider2
into @ProviderId,@BillId
end
close Cur_UpdateBillForProvider2
commit tran
select ProviderName from bill
GO
/****** Object: StoredProcedure [dbo].[upCommodityid] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE procedure [dbo].[upCommodityid](@commodityId int)
as
begin
set rowcount 1
update commodity set commodityId=(select min(commodityId)-1 from commodity) where commodityid=@commodityid and ProductName is null
end
GO
/****** Object: StoredProcedure [dbo].[LOGCONTROL] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
--重复登录的控制管理
CREATE procedure [dbo].[LOGCONTROL]
@par_compute varchar(100),
@par_usedbname varchar(100),
@par_userid varchar(20),
@par_hostProcess varchar(100),
@par_hostERROR varchar(100) output
as
select @par_hostERROR = ''
declare @usedbid smallint
select @usedbid=[dbid] from master.dbo.sysdatabases where [name]=@par_usedbname
if @usedbid is null
begin
return -1
end
select * from master.dbo.sysobjects where name like '%tempXXHLOG%'
if @@rowcount=0 --如果未创建全局临时表
begin
create table master.dbo.tempXXHLOG
(
[标识] [bigint] IDENTITY (1, 1) NOT NULL ,
[dbid] smallint ,
[hostname] nvarchar(100),
[hostProcess] nvarchar(100),
[userid] varchar(20)
)
end
--登录时将缓存表中,已经失效的行删除
declare
@local_id bigint, --[标识] [bigint], -- IDENTITY (1, 1) NOT NULL ,
@local_dbid smallint, -- smallint ,
@local_hostname nvarchar(100),
@local_hostProcess nvarchar(100),
@local_userid varchar(20)
--第一步将主表中没有,但是在缓存表中有的记录给删除
declare cd_cursor1 cursor local for
select 标识,dbid,hostname,hostProcess,userid from master.dbo.tempXXHLOG
open cd_cursor1
fetch next from cd_cursor1 into @local_id,@local_dbid,@local_hostname,@local_hostProcess,@local_userid
while @@fetch_status=0
begin
--看一看自已的缓存表,一行进程对象,到SQL的全局表一查看,竟然没有,则肯定是失效行,删!
select * from master.dbo.sysprocesses where hostname = @local_hostname and hostprocess=@local_hostProcess and dbid =@local_dbid
if @@rowcount=0
begin
delete from master.dbo.tempXXHLOG where current of cd_cursor1
end
fetch next from cd_cursor1 into @local_id,@local_dbid,@local_hostname,@local_hostProcess,@local_userid
end
close cd_cursor1
deallocate cd_cursor1
--将用户的登录信息写入缓存表中
---有一种特殊情况,一个连接进程断掉后,在缓存表留下信息,这时他正巧以同机同进程ID登录SQL,SQL主表会记下一模一样的与缓存表相同的行(用户名可能不同),因此用以上语句闪不掉它,
begin tran
select * from master.dbo.tempXXHLOG where hostname=@par_compute and hostProcess=@par_hostProcess
if @@rowcount=0
begin
insert into master.dbo.tempXXHLOG(dbid, hostname , hostProcess, userid)
values(@usedbid,@par_compute,@par_hostProcess,@par_userid)
end
else
begin
update master.dbo.tempXXHLOG set userid=@par_userid where hostname=@par_compute and hostProcess=@par_hostProcess
end
----进行登录许可管理
select * from master.dbo.tempXXHLOG where dbid=@usedbid and userid=@par_userid
if @@rowcount>1
begin
select @par_hostERROR=hostname from master.dbo.tempXXHLOG where dbid=@usedbid and userid=@par_userid and 标识=( select min( 标识) from master.dbo.tempXXHLOG where dbid=@usedbid and userid=@par_userid)
rollback tran
return -2
end
commit tran
return 0
GO
/****** Object: StoredProcedure [dbo].[lastTimeBusiness_Audit] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/**********************************************************************
Author : lcc
CreateDate : 2010-1-12
Summary : 上次交易单审核
***********************************************************************/
CREATE PROCEDURE [dbo].[lastTimeBusiness_Audit]
(
@CardCode VARCHAR(50) ,
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
/*定义InoutStockTable对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @BillId INT
DECLARE @BillType TINYINT
DECLARE @BillCode VARCHAR(50)
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @Status TINYINT
DECLARE @CurSaleSumMoney DECIMAL(18,4)--整个单据所有记录的合计金额
DECLARE @DiscountPrice DECIMAL(18,4)
DECLARE @Remark VARCHAR(100)
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @BusinessName VARCHAR(50)
DECLARE @BillCodeName VARCHAR(50)
DECLARE @EmbranchmentName VARCHAR(50)
DECLARE @PayMoney DECIMAL(18,4)--付现
DECLARE @ReturnMoney DECIMAL(18,4)--找零
DECLARE @PayType TINYINT--零售单付款类型
DECLARE @PayCardMoneyBefore DECIMAL(18,4)
DECLARE @PayCardMoneyAfter DECIMAL(18,4)
DECLARE @SumReturnPayCard DECIMAL(18,4)
DECLARE @SumPayCard DECIMAL(18,4)
DECLARE @ReturnPayCard DECIMAL(18,4)
DECLARE @CurMemberPrice DECIMAL(18,4)
DECLARE @CostMemberPrice DECIMAL(18,4)
DECLARE @MaxBusinessDate SMALLDATETIME
DECLARE @PaySYB DECIMAL(18,4)
DECLARE @PayKYB DECIMAL(18,4)
DECLARE @PayYB DECIMAL(18,4)
DECLARE @DataVersion BIGINT
DECLARE @ChangeAmount INT
/*定义检验卡金额增减对应的局部变量*/
DECLARE @CheckReturnPayCard DECIMAL(18,4)
DECLARE @CheckSumPayCard DECIMAL(18,4)
DECLARE @CheckSumReturnPayCard DECIMAL(18,4)
/*定义会员卡对应的局部变量*/
DECLARE @row_Balance NUMERIC(18,4)
DECLARE @row_SumConsumed NUMERIC(18,4)
DECLARE @row_SumAllMoney NUMERIC(18,4)
DECLARE @row_old_Balance NUMERIC(18,4)
DECLARE @row_old_row_SumConsumed NUMERIC(18,4)
DECLARE @row_old_SumAllMoney NUMERIC(18,4)
DECLARE @afterMoney NUMERIC(18,4)
DECLARE @CardChangeMoney NUMERIC(18,4)
DECLARE @CustomerId INT
DECLARE @CustomerName VARCHAR(50)
DECLARE @Balance DECIMAL(18,4)
DECLARE @SumConsumed DECIMAL(18,4)
DECLARE @CardTypeId INT
DECLARE @CardLevelId TINYINT
DECLARE @CardLevelName VARCHAR(50)
DECLARE @RowCount int
/*根据情况对局部变量赋初始值*/
SELECT @ErrorMessage='OK!'
SELECT @ErrorInfoId=1
SELECT @CheckReturnPayCard=0
SELECT @CheckSumPayCard=0
SELECT @CheckSumReturnPayCard=0
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
SELECT @MaxBusinessDate= Max(BusinessDate)
FROM InOutStockTableCard(UPDLOCK)
WHERE CardCode=@CardCode AND Deleted<>1
IF @@ROWCOUNT=0
BEGIN
ROLLBACK
SELECT @ErrorMessage='没有找到上次交易的单据'
Select @ErrorInfoId=-2
RETURN
END
/*检查从单是否完整*/
SELECT * FROM InoutStockTableCard
WHERE BusinessDate>=@MaxBusinessDate
IF @@ROWCOUNT<=0
BEGIN
SELECT @ErrorMessage='没有找到上次交易的单据'
Select @ErrorInfoId=-3
ROLLBACK
RETURN -1
END
SELECT @row_old_Balance=Balance,@row_old_row_SumConsumed=SumConsumed,@row_old_SumAllMoney=SumAllMoney,@CustomerId=CustomerId,@CustomerName=CustomerName,@CardTypeId=CardTypeId,@CardTypeId=CardLevelId from MemberCard
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
IF(@@ROWCOUNT<0)
BEGIN
SELECT @ErrorMessage='没有找到此卡'
Select @ErrorInfoId=-7
ROLLBACK
RETURN -7
END
DECLARE Cur_InOutStockDetail CURSOR FOR /*从单游标*/
SELECT EmbranchmentId, BillId, BillCode,BillCodeName, BusinessDate,BusinessName, DiscountPrice,CurMemberPrice, ChangeAmount, PaySYB,PayKYB,PayYB,
ReturnPayCard,SumPayCard,SumReturnPayCard,PayCardMoneyBefore,PayCardMoneyAfter,PayMoney,ReturnMoney,CostMemberPrice,CurSaleSumMoney,DataVersion
FROM InoutStockTableCard
where EmbranchmentId=@EmbranchmentId
and BillType=@BillType
and BillId=@BillId
open Cur_InOutStockDetail /*打开游标*/
fetch next from Cur_InOutStockDetail
into @EmbranchmentId, @BillId, @BillCode, @BillCodeName,@BusinessDate, @BusinessName,@DiscountPrice, @CurMemberPrice, @ChangeAmount,@PaySYB,@PayKYB,@PayYB,
@ReturnPayCard, @SumPayCard,@SumReturnPayCard,@PayCardMoneyBefore,@PayCardMoneyAfter ,@PayMoney,@ReturnMoney,@CostMemberPrice,@CurSaleSumMoney,@DataVersion
while @@FETCH_STATUS = 0
BEGIN
IF(@ReturnPayCard=@DiscountPrice-@CurMemberPrice)
BEGIN
SELECT @CheckSumReturnPayCard=@CheckSumReturnPayCard+@ReturnPayCard
END
ELSE
BEGIN
SELECT @ErrorMessage='返利计算错误!'
SELECT @ErrorInfoId=-4
ROLLBACK
RETURN -4
END
fetch next from Cur_InOutStockDetail
into @EmbranchmentId, @BillId, @BillCode, @BillCodeName,@BusinessDate, @BusinessName,@DiscountPrice, @CurMemberPrice, @ChangeAmount,@PaySYB,@PayKYB,@PayYB,
@ReturnPayCard, @SumPayCard,@SumReturnPayCard,@PayCardMoneyBefore,@PayCardMoneyAfter ,@PayMoney,@ReturnMoney,@CostMemberPrice,@CurSaleSumMoney,@DataVersion
END
IF( @row_old_Balance!=@PayCardMoneyBefore)
BEGIN
SELECT @ErrorMessage='没有找到上次交易的单据!'
SELECT @ErrorInfoId=-8
ROLLBACK
RETURN -8
END
IF(@SumPayCard!=@CurSaleSumMoney-@PayMoney+@ReturnMoney)
BEGIN
SELECT @ErrorMessage='卡消费金额计算错误!'
SELECT @ErrorInfoId=-5
ROLLBACK
RETURN -5
END
IF(@CheckSumReturnPayCard!=@SumReturnPayCard)
BEGIN
SELECT @ErrorMessage='返利计算错误!'
SELECT @ErrorInfoId=-6
ROLLBACK
RETURN -6
END
CLOSE Cur_InOutStockDetail
DEALLOCATE Cur_InOutStockDetail
IF (@BillType=5)
BEGIN
--计算总消费额
UPDATE MemberCard
SET SumConsumed = ISNULL(SumConsumed,0)+abs( @SumPayCard)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)-abs(@SumPayCard)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--返利
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)+abs(@SumReturnPayCard)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--累计返利总额
UPDATE MemberCard
SET ReturnPayCard=ISNULL(ReturnPayCard,0)+abs(@SumReturnPayCard)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--累计透支消费时,补的现金
UPDATE MemberCard
SET MissCash=ISNULL(MissCash,0)+abs(@PayMoney-@ReturnMoney)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--累计医保消费
UPDATE MemberCard
SET YBConsumed=ISNULL(YBConsumed,0)+ ( @PayKYB+@PaySYB )
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
END
IF (@BillType=26)
BEGIN
--计算总退货额
UPDATE MemberCard
SET ReturnCard = ISNULL(ReturnCard,0) + abs(@SumPayCard) --, Discount = 1,BeginTime = @BeginTime,CancelTime = @CancelTime,SuspendTime = @SuspendTime,LimitCount = @LimitCount,UsedCount = @UsedCount,Remark = @Remark,Deleted = @Deleted,SpellCode=@SpellCode,DataVersion=@DataVersion
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)+abs(@SumPayCard)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--取消返利
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)-abs(@SumReturnPayCard)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--累计取消返利总额
UPDATE MemberCard
SET CancelReturnPayCard=ISNULL(CancelReturnPayCard,0)+abs(@SumReturnPayCard)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
END
IF ( @BillType=5 )
BEGIN
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, DataVersion,ReturnPayCard, PayCard, PayCardMoneyAfter, PayCardMoneyBefore, PayKYB,PaySYB , PayYB ,PayMoney)
VALUES(NEWID(),@BillId,@EmbranchmentId,@EmbranchmentName,@CardCode,@CardTypeId,@CardLevelId,@BillType,@BillCode,@BillCodeName,@row_old_Balance, -abs(@SumPayCard), @row_old_Balance-abs(@SumPayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, @DataVersion, abs(@SumReturnPayCard), @SumPayCard, @PayCardMoneyAfter,@PayCardMoneyBefore, @PayKYB,@PaySYB , @PayKYB+@PaySYB,@PayMoney-@ReturnMoney)
INSERT INTO MemberCardChangeLog(guid, BillId, EmbranchmentId, EmbranchmentName, CardCode, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName, PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, DataVersion, ReturnPayCard, PayCard, PayCardMoneyAfter,PayCardMoneyBefore, PayKYB,PaySYB , PayYB,PayMoney)
VALUES(NEWID(),@BillId,@EmbranchmentId,@EmbranchmentName,@CardCode,@CardTypeId,@CardLevelId,@BillType,@BillCode, '返利', @row_old_Balance-abs(@SumPayCard), abs(@SumReturnPayCard), @row_old_Balance-abs(@SumPayCard)+abs(@SumReturnPayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark ,@DataVersion, abs(0), 0, 0,0, 0,0 , 0, 0)
END
IF ( @BillType=26 )
BEGIN
--记录销退
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, DataVersion,ReturnPayCard, PayCard, PayCardMoneyAfter, PayCardMoneyBefore, PayKYB,PaySYB , PayYB, ReturnMoney ,PayMoney)
VALUES(NEWID(),@BillId,@EmbranchmentId,@EmbranchmentName,@CardCode,@CardTypeId,@CardLevelId,@BillType,@BillCode,@BillCodeName,@row_old_Balance, +abs(@SumPayCard), @row_old_Balance+abs(@SumPayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, @DataVersion, abs(@SumReturnPayCard), -abs(@SumPayCard), @PayCardMoneyAfter,@PayCardMoneyBefore, 0,0 , 0, 0,0)
--取消返利
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName, PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, DataVersion, ReturnPayCard, PayCard, PayCardMoneyAfter,PayCardMoneyBefore, PayKYB,PaySYB , PayYB, ReturnMoney,PayMoney)
VALUES(NEWID(),@BillId,@EmbranchmentId,@EmbranchmentName,@CardCode,@CardTypeId,@CardLevelId,@BillType,@BillCode, '取消返利', @row_old_Balance+abs(@SumPayCard), -abs(@SumReturnPayCard), @row_old_Balance+abs(@SumPayCard)-abs(@SumReturnPayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark ,@DataVersion, abs(0), 0, 0,0, 0,0 , 0, 0 ,0)
END
SELECT @ErrorMessage='数据同步成功!'
Select @ErrorInfoId=1
Commit Tran
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[LastBill_Audit] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/**********************************************************************
Author : lcc
CreateDate : 2010-1-12
Summary : 上次交易单据审核
***********************************************************************/
CREATE PROCEDURE [dbo].[LastBill_Audit]
(
@CardCode VARCHAR(50) ,
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
/*定义InoutStockTable对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @BillId INT
DECLARE @BillType TINYINT
DECLARE @BillCode VARCHAR(50)
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @Status TINYINT
DECLARE @CurSaleSumMoney DECIMAL(18,4)--整个单据所有记录的合计金额
DECLARE @DiscountPrice DECIMAL(18,4)
DECLARE @Remark VARCHAR(100)
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @BusinessName VARCHAR(50)
DECLARE @BillCodeName VARCHAR(50)
DECLARE @EmbranchmentName VARCHAR(50)
DECLARE @PayMoney DECIMAL(18,4)--付现
DECLARE @ReturnMoney DECIMAL(18,4)--找零
DECLARE @PayType TINYINT--零售单付款类型
DECLARE @PayCardMoneyBefore DECIMAL(18,4)
DECLARE @PayCardMoneyAfter DECIMAL(18,4)
DECLARE @SumReturnPayCard DECIMAL(18,4)
DECLARE @SumPayCard DECIMAL(18,4)
DECLARE @ReturnPayCard DECIMAL(18,4)
DECLARE @CurMemberPrice DECIMAL(18,4)
DECLARE @CostMemberPrice DECIMAL(18,4)
DECLARE @MaxBusinessDate SMALLDATETIME
DECLARE @PaySYB DECIMAL(18,4)
DECLARE @PayKYB DECIMAL(18,4)
DECLARE @PayYB DECIMAL(18,4)
DECLARE @DataVersion BIGINT
DECLARE @ChangeAmount INT
/*定义检验卡金额增减对应的局部变量*/
DECLARE @CheckSumReturnPayCard DECIMAL(18,4)
DECLARE @ReturnPayCard_Detail DECIMAL(18,4)
DECLARE @TotalSumSale DECIMAL(18,4)
/*定义会员卡对应的局部变量*/
DECLARE @row_Balance NUMERIC(18,4)
DECLARE @row_SumConsumed NUMERIC(18,4)
DECLARE @row_SumAllMoney NUMERIC(18,4)
DECLARE @row_old_Balance NUMERIC(18,4)
DECLARE @row_old_row_SumConsumed NUMERIC(18,4)
DECLARE @row_old_SumAllMoney NUMERIC(18,4)
DECLARE @afterMoney NUMERIC(18,4)
DECLARE @CardChangeMoney NUMERIC(18,4)
DECLARE @CustomerId INT
DECLARE @CustomerName VARCHAR(50)
DECLARE @Balance DECIMAL(18,4)
DECLARE @SumConsumed DECIMAL(18,4)
DECLARE @CardTypeId INT
DECLARE @CardLevelId TINYINT
DECLARE @CardLevelName VARCHAR(50)
DECLARE @PayTypeStr VARCHAR(50)
DECLARE @RowCount int
/*根据情况对局部变量赋初始值*/
SELECT @ErrorMessage='OK!'
SELECT @ErrorInfoId=1
SELECT @CheckSumReturnPayCard=0
SELECT @TotalSumSale=0
SELECT @ReturnPayCard_Detail=0
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
SELECT @MaxBusinessDate= Max(BusinessDate)
FROM InOutStockTableCard(UPDLOCK)
WHERE CardCode=@CardCode AND Deleted<>1
IF @@ROWCOUNT=0
BEGIN
ROLLBACK
SELECT @ErrorMessage='没有找到上次交易的单据'
Select @ErrorInfoId=-2
RETURN
END
/*检查从单是否完整*/
SELECT * FROM InoutStockTableCard
WHERE BusinessDate=@MaxBusinessDate
AND CardCode=@CardCode AND Deleted<>1
IF @@ROWCOUNT<=0
BEGIN
SELECT @ErrorMessage='没有找到上次交易的单据'
Select @ErrorInfoId=-3
ROLLBACK
RETURN -1
END
SELECT @row_old_Balance=Balance,@row_old_row_SumConsumed=SumConsumed,@row_old_SumAllMoney=SumAllMoney,@CustomerId=CustomerId,@CustomerName=CustomerName,@CardTypeId=CardTypeId,@CardTypeId=CardLevelId from MemberCard
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
IF(@@ROWCOUNT<0)
BEGIN
SELECT @ErrorMessage='没有找到此卡'
Select @ErrorInfoId=-7
ROLLBACK
RETURN -7
END
DECLARE Cur_InOutStockDetail CURSOR FOR /*从单游标*/
SELECT EmbranchmentId,EmbranchmentName, BillId,BillType, BillCode,BillCodeName, BusinessDate,BusinessName, DiscountPrice,CurMemberPrice, ChangeAmount, PaySYB,PayKYB,PayYB,PayType,
ReturnPayCard,SumPayCard,SumReturnPayCard,PayCardMoneyBefore,PayCardMoneyAfter,PayMoney,ReturnMoney,CostMemberPrice,CurSaleSumMoney,DataVersion
FROM InoutStockTableCard
WHERE BusinessDate=@MaxBusinessDate
AND CardCode=@CardCode AND Deleted<>1
open Cur_InOutStockDetail /*打开游标*/
fetch next from Cur_InOutStockDetail
into @EmbranchmentId,@EmbranchmentName, @BillId,@BillType, @BillCode, @BillCodeName,@BusinessDate, @BusinessName,@DiscountPrice, @CurMemberPrice, @ChangeAmount,@PaySYB,@PayKYB,@PayYB,@PayType,
@ReturnPayCard, @SumPayCard,@SumReturnPayCard,@PayCardMoneyBefore,@PayCardMoneyAfter ,@PayMoney,@ReturnMoney,@CostMemberPrice,@CurSaleSumMoney,@DataVersion
while @@FETCH_STATUS = 0
BEGIN
SELECT @ReturnPayCard_Detail=(@DiscountPrice-@CurMemberPrice)*@ChangeAmount
IF(@ReturnPayCard=@ReturnPayCard_Detail)
BEGIN
SELECT @CheckSumReturnPayCard=@CheckSumReturnPayCard+@ReturnPayCard
SELECT @TotalSumSale=@TotalSumSale+@CurSaleSumMoney
END
ELSE
BEGIN
SELECT @ErrorMessage='返利计算错误!'
SELECT @ErrorInfoId=-4
ROLLBACK
RETURN -4
END
fetch next from Cur_InOutStockDetail
into @EmbranchmentId,@EmbranchmentName, @BillId,@BillType, @BillCode, @BillCodeName,@BusinessDate, @BusinessName,@DiscountPrice, @CurMemberPrice, @ChangeAmount,@PaySYB,@PayKYB,@PayYB,@PayType,
@ReturnPayCard, @SumPayCard,@SumReturnPayCard,@PayCardMoneyBefore,@PayCardMoneyAfter ,@PayMoney,@ReturnMoney,@CostMemberPrice,@CurSaleSumMoney,@DataVersion
END
IF( @row_old_Balance!=@PayCardMoneyBefore)
BEGIN
SELECT @ErrorMessage='没有找到上次交易的单据!'
SELECT @ErrorInfoId=-8
ROLLBACK
RETURN -8
END
IF(@SumPayCard!=@TotalSumSale-@PayMoney+@ReturnMoney)
BEGIN
SELECT @ErrorMessage='卡消费金额计算错误!'
SELECT @ErrorInfoId=-5
ROLLBACK
RETURN -5
END
IF(@CheckSumReturnPayCard!=@SumReturnPayCard)
BEGIN
SELECT @ErrorMessage='返利计算错误!'
SELECT @ErrorInfoId=-6
ROLLBACK
RETURN -6
END
IF(@PayType=1)
BEGIN
SELECT @PayTypeStr='会员卡'
END
CLOSE Cur_InOutStockDetail
DEALLOCATE Cur_InOutStockDetail
IF (@BillType=5)
BEGIN
--计算总消费额
UPDATE MemberCard
SET SumConsumed = ISNULL(SumConsumed,0)+abs( @SumPayCard)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)-abs(@SumPayCard)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--返利
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)+abs(@SumReturnPayCard)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--累计返利总额
UPDATE MemberCard
SET ReturnPayCard=ISNULL(ReturnPayCard,0)+abs(@SumReturnPayCard)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--累计透支消费时,补的现金
UPDATE MemberCard
SET MissCash=ISNULL(MissCash,0)+abs(@PayMoney-@ReturnMoney)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--累计医保消费
UPDATE MemberCard
SET YBConsumed=ISNULL(YBConsumed,0)+ ( @PayKYB+@PaySYB )
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
END
IF (@BillType=26)
BEGIN
--计算总退货额
UPDATE MemberCard
SET ReturnCard = ISNULL(ReturnCard,0) + abs(@SumPayCard) --, Discount = 1,BeginTime = @BeginTime,CancelTime = @CancelTime,SuspendTime = @SuspendTime,LimitCount = @LimitCount,UsedCount = @UsedCount,Remark = @Remark,Deleted = @Deleted,SpellCode=@SpellCode,DataVersion=@DataVersion
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)+abs(@SumPayCard)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--取消返利
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)-abs(@SumReturnPayCard)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--累计取消返利总额
UPDATE MemberCard
SET CancelReturnPayCard=ISNULL(CancelReturnPayCard,0)+abs(@SumReturnPayCard)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
END
IF(@@ERROR<>0)
BEGIN
SELECT @ErrorMessage='会员卡更新失败!'
SELECT @ErrorInfoId=-9
ROLLBACK
RETURN -9
END
IF ( @BillType=5 )
BEGIN
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, DataVersion,ReturnPayCard, PayCard, PayCardMoneyAfter, PayCardMoneyBefore, PayKYB,PaySYB , PayYB ,PayMoney,PayTypeStr)
VALUES(NEWID(),@BillId,@EmbranchmentId,@EmbranchmentName,@CardCode,@CardTypeId,@CardLevelId,@BillType,@BillCode,@BillCodeName,@row_old_Balance, -abs(@SumPayCard), @row_old_Balance-abs(@SumPayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, @DataVersion, abs(@SumReturnPayCard), @SumPayCard, @PayCardMoneyAfter,@PayCardMoneyBefore, @PayKYB,@PaySYB , @PayKYB+@PaySYB,@PayMoney-@ReturnMoney,@PayTypeStr)
INSERT INTO MemberCardChangeLog(guid, BillId, EmbranchmentId, EmbranchmentName, CardCode, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName, PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, DataVersion, ReturnPayCard, PayCard, PayCardMoneyAfter,PayCardMoneyBefore, PayKYB,PaySYB , PayYB,PayMoney,PayTypeStr)
VALUES(NEWID(),@BillId,@EmbranchmentId,@EmbranchmentName,@CardCode,@CardTypeId,@CardLevelId,@BillType,@BillCode, '返利', @row_old_Balance-abs(@SumPayCard), abs(@SumReturnPayCard), @row_old_Balance-abs(@SumPayCard)+abs(@SumReturnPayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark ,@DataVersion, abs(0), 0, 0,0, 0,0 , 0, 0,@PayTypeStr)
END
IF ( @BillType=26 )
BEGIN
--记录销退
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, DataVersion,ReturnPayCard, PayCard, PayCardMoneyAfter, PayCardMoneyBefore, PayKYB,PaySYB , PayYB, ReturnMoney ,PayMoney,PayTypeStr)
VALUES(NEWID(),@BillId,@EmbranchmentId,@EmbranchmentName,@CardCode,@CardTypeId,@CardLevelId,@BillType,@BillCode,@BillCodeName,@row_old_Balance, +abs(@SumPayCard), @row_old_Balance+abs(@SumPayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, @DataVersion, abs(@SumReturnPayCard), -abs(@SumPayCard), @PayCardMoneyAfter,@PayCardMoneyBefore, 0,0 , 0, 0,0,@PayTypeStr)
--取消返利
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName, PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, DataVersion, ReturnPayCard, PayCard, PayCardMoneyAfter,PayCardMoneyBefore, PayKYB,PaySYB , PayYB, ReturnMoney,PayMoney,PayTypeStr)
VALUES(NEWID(),@BillId,@EmbranchmentId,@EmbranchmentName,@CardCode,@CardTypeId,@CardLevelId,@BillType,@BillCode, '取消返利', @row_old_Balance+abs(@SumPayCard), -abs(@SumReturnPayCard), @row_old_Balance+abs(@SumPayCard)-abs(@SumReturnPayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark ,@DataVersion, abs(0), 0, 0,0, 0,0 , 0, 0 ,0,@PayTypeStr)
END
IF(@@ERROR<>0)
BEGIN
SELECT @ErrorMessage='插入会员卡日志失败!'
SELECT @ErrorInfoId=-10
ROLLBACK
RETURN -10
END
SELECT @ErrorMessage='数据同步成功!'
Select @ErrorInfoId=1
Commit Tran
RETURN 0
GO
/****** Object: UserDefinedFunction [dbo].[getSumPayCard] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE function [dbo].[getSumPayCard](@CardCode varchar(50),@BusinessDateFrom smalldatetime,@BusinessDateTo smalldatetime )
returns decimal(18,4)
as
begin
declare @SumPayCard decimal(18,4)
set @SumPayCard=0
select @SumPayCard=sum(ISNULL(PayCard,0))
from
(
select BillCode,PayCard from InoutStockTableCard where BillType=5 and CardCode =@CardCode and BusinessDate>@BusinessDateFrom and BusinessDate!>@BusinessDateTo
group by BillCode,PayCard
)
as TempTable
return @SumPayCard
end
GO
/****** Object: StoredProcedure [dbo].[GetShift] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[GetShift]
(
@EmbranchmentId INT,
@EmployeeId INT,
@ShiftId INT OUTPUT,
@StartTime DateTime OUTPUT
)
AS
--DECLARE @StartTime DATETIME
SET NOCOUNT ON
SET TRANSACTION ISOLATION LEVEL Serializable --事务序列化
BEGIN TRAN
SELECT @ShiftId = ShiftId,@StartTime = StartTime FROM Shift(UPDLOCK)
WHERE EmbranchmentId = @EmbranchmentId AND EmployeeId = @EmployeeId AND EndTime IS NULL
IF @@ROWCOUNT=0
BEGIN
SELECT @StartTime = getdate(),@ShiftId = Sequence_NextId + 1 FROM Sequences WHERE Sequence_Name = 'ShiftID'
UPDATE Sequences SET Sequence_NextId = @ShiftId WHERE Sequence_Name = 'ShiftID'
INSERT INTO Shift(EmbranchmentId,ShiftId,EmployeeId,StartTime,EndTime,InMoney,OutMoney,InBillCount,OutBillCount,FactMoney)
VALUES(@EmbranchmentId,@ShiftId,@EmployeeId,@StartTime,NULL,0,0,0,0,0)
END
COMMIT TRAN
GO
/****** Object: StoredProcedure [dbo].[pro_InsertSypzspb] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE procedure [dbo].[pro_InsertSypzspb] as
DECLARE @SypzspbID int
DECLARE @Gspbh varchar(50)
DECLARE @Zdrid smallint
DECLARE @Zdrmc varchar(50)
DECLARE @Rq datetime
DECLARE @Spid int
DECLARE @Spm varchar(50)
DECLARE @Tymc varchar(50)
DECLARE @Jx varchar(50)
DECLARE @Py varchar(50)
DECLARE @Gg varchar(50)
DECLARE @Dw varchar(50)
DECLARE @Cctj varchar(50)
DECLARE @Zycf varchar(50)
DECLARE @Zlbz varchar(50)
DECLARE @Yxq varchar(50)
DECLARE @Pzwh varchar(50)
DECLARE @Sccs varchar(50)
DECLARE @Scxkzh varchar(50)
DECLARE @Xxdz varchar(50)
DECLARE @Yyzzh varchar(50)
DECLARE @Gmpzsh varchar(50)
DECLARE @Rzsj datetime
DECLARE @Zsyxq datetime
DECLARE @Sdkhrid smallint
DECLARE @Sdkhrmc varchar(50)
DECLARE @Wtsyxq datetime
DECLARE @Kcjl varchar(50)
DECLARE @Cpph varchar(50)
DECLARE @Ccjybgsh varchar(50)
DECLARE @Syjyjl varchar(50)
DECLARE @Syjybgsh varchar(50)
DECLARE @Ccj decimal(9)
DECLARE @Ghj decimal(9)
DECLARE @Pfj decimal(9)
DECLARE @Lsj decimal(9)
DECLARE @SFYPZZMWJ bit
DECLARE @SFYBZ bit
DECLARE @Sqly char(30)
DECLARE @Sqrid smallint
DECLARE @Sqrmc varchar(50)
DECLARE @Sqrrq datetime
DECLARE @Scbyj char(30)
DECLARE @Scbjlid smallint
DECLARE @Scbjlmc varchar(50)
DECLARE @Scbjlrq datetime
DECLARE @Zgbyj char(30)
DECLARE @Zgbjlid smallint
DECLARE @Zgbjlmc varchar(50)
DECLARE @Zgbjlrq datetime
DECLARE @Zjlyj char(30)
DECLARE @Zjlid smallint
DECLARE @Zjlmc varchar(50)
DECLARE @Zjlrq datetime
BEGIN TRAN
SET NOCOUNT ON
DECLARE Cur_CommodityStock cursor for
SELECT c.CommodityId,c.ProductName,c.GeneralName,c.DoseType,c.SpellCode,c.Spec,c.Unit,cs.InvalidateDate,c.AuthorizeCode,c.ProducingArea,cs.BatchCode,c.RetailPrice
FROM Commodity c left join commoditystock cs
on c.commodityid = cs.commodityid
open Cur_CommodityStock
fetch next from Cur_CommodityStock
into @Spid,@Spm,@Tymc,@Jx,@Py,@Gg,@Dw,@Yxq,@Pzwh,@Sccs,@Cpph,@Lsj
while @@FETCH_STATUS = 0
begin
SELECT @SypzspbID=ISnULL(MAX(SypzspbID),0) from sypzspb
select @SypzspbID = @SypzspbID + 1
INSERT INTO Sypzspb
(EmbranchmentId,SypzspbID,ZDRID,ZDRMC,RQ, SPID,SPM,TYMC, JX,PY, GG,DW, YXQ,PZWH,SCCS, CPPH,LSJ)
VALUES
(1 ,@SypzspbID,76,'明永成',getdate(),@Spid,@Spm,@Tymc,@Jx,@Py,@Gg,@Dw,@Yxq,@Pzwh,@Sccs,@Cpph,@Lsj)
fetch next from Cur_CommodityStock
into @Spid,@Spm,@Tymc,@Jx,@Py,@Gg,@Dw,@Yxq,@Pzwh,@Sccs,@Cpph,@Lsj
end
CLOSE Cur_CommodityStock
DEALLOCATE Cur_CommodityStock
COMMIT
GO
/****** Object: StoredProcedure [dbo].[updateRetailPrice] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[updateRetailPrice] AS
DECLARE @RetailPrice Money
Declare @CommodityId int
BEGIN TRAN
DECLARE CS cursor for Select CommodityId from CommodityStock
open cs
fetch next from CS
into @CommodityId
while @@FETCH_STATUS = 0
begin
Select @RetailPrice=RetailPrice from Commodity
where CommodityId=@CommodityId
Update CommodityStock set RetailPrice=@RetailPrice
where CommodityId=@CommodityId
fetch next from CS
into @CommodityId
end
CLOSE CS
DEALLOCATE CS
COMMIT
GO
/****** Object: StoredProcedure [dbo].[UpdateMemberCardAndLog] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[UpdateMemberCardAndLog]
(
@BillId INT
)
AS
/*定义Bill对应的局部变量*/
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @EmbranchmentId SMALLINT
DECLARE @EmbranchmentName VARCHAR(50)
DECLARE @BillType TINYINT--单据类型
DECLARE @BillCode VARCHAR(50)--单据编号
DECLARE @BillCodeName VARCHAR(50)--处理动作
DECLARE @BusinessDate SMALLDATETIME--单据日期
DECLARE @CreatorId SMALLINT--操作员ID
DECLARE @CreatorName VARCHAR(50)--操作员姓名
DECLARE @CardCode VARCHAR(50)--卡号
DECLARE @SumMoney DECIMAL(18,4)--整个单据所有记录的合计金额
DECLARE @Remark VARCHAR(100)
/*定义MemberCard对应的局部变量*/
DECLARE @CardId INT
DECLARE @Score INT--积分
DECLARE @CustomerId INT--客户ID
DECLARE @CustomerName VARCHAR(50)--客户姓名
DECLARE @SumConsumed DECIMAL(18,4)--累计总消费额 不参加积分的商品也合计
DECLARE @CardTypeId INT--卡类型ID
DECLARE @SpareMoney DECIMAL(18,4)--最后一次未参加积分金额
DECLARE @IsScore BIT--是否会员积分
DECLARE @IsCumulativePoints SMALLINT--是否累计最后一次未参加积分金额
/*定义MemberCardChangeLog对应的局部变量*/
DECLARE @PreScore INT--原积分
DECLARE @ChangeScore INT--改变积分
DECLARE @SumMoneyScore DECIMAL(18,4)--总消费额中参加积分的合计金额
DECLARE @PointsBase INT--积分基数
DECLARE @Points INT--积分
/*临时变量*/
DECLARE @intvalue INT
DECLARE @update_error INT
DECLARE @insert_error INT
SELECT
@Guid=Guid,
@EmbranchmentId=EmbranchmentId,
@EmbranchmentName=EmbranchmentName,
@BillType=BillType,
@BillCode=BillCode,
@BillCodeName=BillCodeName,
@BusinessDate=BusinessDate,
@CreatorId=CreatorId,
@CreatorName=CreatorName,
@CardId=CardId,
@CardCode=CardCode,
@SumMoney=SumMoney,
@Remark=Remark
FROM Bill(UPDLOCK)
WHERE BillId=@BillId AND Status=2
SELECT @SumMoneyScore=SUM(SumMoney) FROM BillDetailRetail
WHERE BIllId=@BillId AND IsScore=1
IF @SumMoneyScore IS NULL
BEGIN
SELECT @SumMoneyScore=0
END
SELECT
@Score=Score,
@CustomerId=CustomerId,
@CustomerName=CustomerName,
@SumConsumed=SumConsumed,
@CardTypeId=CardTypeId,
@SpareMoney=SpareMoney,
@IsScore=IsScore,
@IsCumulativePoints=IsCumulativePoints
FROM MemberCard
WHERE CardId=@CardId
IF @@ROWCOUNT = 0
BEGIN
UPDATE Bill SET CardMessage='CardId is not find' WHERE BillId=@BillId
RETURN
END
SELECT @SumConsumed=@SumConsumed+@SumMoney
IF @IsScore=1
BEGIN
IF @IsCumulativePoints=1
BEGIN
SELECT @SumMoneyScore=@SumMoneyScore+@SpareMoney
END
SELECT
@PointsBase=PointsBase,
@Points=Points
FROM CardTypeDiscountAndPoints
WHERE LogoType = 2 and @SumMoneyScore >= MoneyBegin AND @SumMoneyScore <= MoneyEnd
--默认积分基数如何取?
IF @@ROWCOUNT = 0
BEGIN
SELECT @PointsBase=1,@Points=1
END
SELECT @PreScore=@Score
SELECT @intvalue=@SumMoneyScore
SELECT @SpareMoney=ABS(@SumMoneyScore-@intvalue)
SELECT @SpareMoney=@SpareMoney+@intvalue%@PointsBase
SELECT @ChangeScore=@intvalue/@PointsBase*@Points
SELECT @Score=@Score+@ChangeScore
UPDATE MemberCard
SET Score=@Score,SumConsumed=@SumConsumed,SpareMoney=@SpareMoney
WHERE CardId=@CardId
SELECT @update_error=@@ERROR
IF @@ERROR <> 0
BEGIN
UPDATE Bill SET CardMessage='Error when update card(score)' WHERE BillId=@BillId
RETURN
END
INSERT INTO MemberCardChangeLog(Guid,BillId,CardId,EmbranchmentId,EmbranchmentName,CardCode,PreScore,ChangeScore,Score,CardTypeId,BillType,BillCode,BillCodeName,CustomerId,CustomerName,BusinessId,BusinessName,BusinessDate,Remark,SumMoney,SumMoneyScore,PointsBase,Points)
VALUES(@Guid,@BillId,@CardId,@EmbranchmentId,@EmbranchmentName,@CardCode,@PreScore,@ChangeScore,@Score,@CardTypeId,@BillType,@BillCode,@BillCodeName,@CustomerId,@CustomerName,@CreatorId,@CreatorName,@BusinessDate,@Remark,@SumMoney,@SumMoneyScore,@PointsBase,@Points)
SELECT @insert_error=@@ERROR
IF @@ERROR <> 0
BEGIN
UPDATE Bill SET CardMessage='Error when insert cardchangelog(score)' WHERE BillId=@BillId
RETURN
END
END
ELSE
BEGIN
UPDATE MemberCard
SET SumConsumed=@SumConsumed,SpareMoney=0
WHERE CardId=@CardId
SELECT @update_error=@@ERROR
IF @@ERROR <> 0
BEGIN
UPDATE Bill SET CardMessage='Error when update card' WHERE BillId=@BillId
RETURN
END
INSERT INTO MemberCardChangeLog(Guid,BillId,CardId,EmbranchmentId,EmbranchmentName,CardCode,PreScore,ChangeScore,Score,CardTypeId,BillType,BillCode,BillCodeName,CustomerId,CustomerName,BusinessId,BusinessName,BusinessDate,Remark,SumMoney,SumMoneyScore,PointsBase,Points)
VALUES(@Guid,@BillId,@CardId,@EmbranchmentId,@EmbranchmentName,@CardCode,@Score,0,@Score,@CardTypeId,@BillType,@BillCode,@BillCodeName,@CustomerId,@CustomerName,@CreatorId,@CreatorName,@BusinessDate,@Remark,@SumMoney,@SumMoneyScore,@PointsBase,@Points)
SELECT @insert_error=@@ERROR
IF @@ERROR <> 0
BEGIN
UPDATE Bill SET CardMessage='Error when insert cardchangelog' WHERE BillId=@BillId
RETURN
END
END
IF @update_error = 0 AND @insert_error = 0
UPDATE Bill SET CardMessage='Successful' WHERE BillId=@BillId
GO
/****** Object: StoredProcedure [dbo].[UpdateMemberCard] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[UpdateMemberCard]
(
@BillType TINYINT,
@BillCode VARCHAR(50),
@BillCodeName VARCHAR(50),
@Code VARCHAR(50),
@Score INT,
@CustomerId INT,
@CustomerName VARCHAR(50),
@CardTypeId INT,
@CardLevelId TINYINT,
@CardLevelName VARCHAR(50),
@Status TINYINT,
@Password VARCHAR(20),
@Discount DECIMAL(18,4),
@CancelTime DATETIME,
@SuspendTime DATETIME,
@LimitCount INT,
@UsedCount INT,
@ChangeMoney DECIMAL(18,4),--消费时为实收款
@Remark VARCHAR(255),
@BusinessId INT,
@BusinessName VARCHAR(50),
@BusinessDate DATETIME,
@ErrorInfoId INT OUTPUT,
@ErrorMessage VARCHAR(100) OUTPUT,
@BillId INT,
@EmbranchmentId INT,
@EmbranchmentName VARCHAR(50),
@SpellCode VARCHAR(50),
@DataVersion BIGINT,
@orderno INT OUTPUT,
@PayCard DECIMAL(18,4),
@ReturnPayCard DECIMAL(18,4),
@PayMoney DECIMAL(18,4),
@ReturnMoney DECIMAL(18,4),
@PayKYB DECIMAL(18,4),
@PaySYB DECIMAL(18,4),
@PayTypeStr VARCHAR(50),
@Code_CZ VARCHAR(50)
)
AS
DECLARE @UPDATECARD_ERROE INT
DECLARE @INSERTLOG_ERROR INT
DECLARE @guid uniqueidentifier
/*定义会员卡对应的局部变量*/
DECLARE @Sumconsumed NUMERIC(18,4)
DECLARE @row_Balance NUMERIC(18,4)
DECLARE @row_SumConsumed NUMERIC(18,4)
DECLARE @row_SumAllMoney NUMERIC(18,4)
DECLARE @Foregift NUMERIC(18,4)
DECLARE @BeginTime DATETIME
DECLARE @SumAllMoney NUMERIC(18,4)
DECLARE @ProviderId INT
DECLARE @Balance NUMERIC(18,4)
DECLARE @row_old_Balance NUMERIC(18,4)
DECLARE @row_old_row_SumConsumed NUMERIC(18,4)
DECLARE @row_old_SumAllMoney NUMERIC(18,4)
DECLARE @afterMoney NUMERIC(18,4)
DECLARE @CardChangeMoney NUMERIC(18,4)
SELECT SumConsumed = @Sumconsumed,Foregift = @Foregift,BeginTime = @BeginTime,SumAllMoney=@SumAllMoney,ProviderId=@ProviderId
FROM MemberCard
WHERE Code = @Code and ISNULL( Deleted,0)<>1
SELECT @row_old_Balance=Balance,@row_old_row_SumConsumed=SumConsumed,@row_old_SumAllMoney=SumAllMoney from MemberCard
WHERE Code = @Code and ISNULL( Deleted,0)<>1
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE --事务序列化
BEGIN TRAN
IF (@BillType!=5 and @BillType!=16 and @BillType!=20 and @BillType!=21 and @BillType!=30 and @BillType!=17 and @BillType!=29 )
BEGIN
UPDATE MemberCard
SET CustomerId = @CustomerId,CustomerName = @CustomerName,Score = @Score, SumConsumed = @Sumconsumed,CardTypeId = @CardTypeId,CardLevelId = @CardLevelId,CardLevelName = @CardLevelName,Status = @Status,Password = @Password,Foregift = @Foregift,Discount = 1,BeginTime = @BeginTime,CancelTime = @CancelTime,SuspendTime = @SuspendTime,LimitCount = @LimitCount,UsedCount = @UsedCount,Remark = @Remark,SpellCode=@SpellCode,DataVersion=@DataVersion,SumAllMoney=@SumAllMoney
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF (@BillType=20)
BEGIN
UPDATE MemberCard
SET CustomerId = @CustomerId,CustomerName = @CustomerName,Score = @Score, SumConsumed = @Sumconsumed,CardTypeId = @CardTypeId,CardLevelId = @CardLevelId,CardLevelName = @CardLevelName,Status = @Status,Password = @Password,Foregift = @Foregift,Discount = 1,BeginTime = @BeginTime,CancelTime = @CancelTime,SuspendTime = @SuspendTime,LimitCount = @LimitCount,UsedCount = @UsedCount,Remark = @Remark,SpellCode=@SpellCode,DataVersion=@DataVersion,SumAllMoney=@SumAllMoney
WHERE Code = @Code and ISNULL( Deleted,0)<>1
UPDATE MemberCard
SET Balance=Balance+abs(@ChangeMoney)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF (@BillType=16)
BEGIN
UPDATE MemberCard
SET Balance=Balance+abs(@ChangeMoney)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF(@BillType=21)
BEGIN
UPDATE MemberCard
SET Balance=0,Foregift=0,Deleted=1
WHERE Code=@Code AND ISNULL(Deleted,0)<>1
END
IF(@BillType=30)
BEGIN
UPDATE MemberCard
SET CallBackReturnPayCard=ISNULL(CallBackReturnPayCard,0)+abs(@ReturnPayCard)
WHERE Code=@Code AND ISNULL(Deleted,0)<>1
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)+abs(@ReturnPayCard)
WHERE Code=@Code AND ISNULL(Deleted,0)<>1
END
IF(@BillType=17)
BEGIN
UPDATE MemberCard
SET DrawCard=ISNULL(DrawCard,0)+abs(@ChangeMoney)
WHERE Code=@Code AND ISNULL(Deleted,0)<>1
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)-abs(@ChangeMoney)
WHERE Code=@Code AND ISNULL(Deleted,0)<>1
END
IF(@BillType=29)
BEGIN
UPDATE MemberCard
SET deleted=1
WHERE Code = @Code and ISNULL( Deleted,0)<>1
UPDATE MembercardChangeLog SET Deleted=1
where CardCode=@Code and ISNULL( Deleted,0)<>1
UPDATE InoutStockTableCard SET Deleted=1
where CardCode=@Code and ISNULL(Deleted,0)<>1
END
IF (@BillType=5)
BEGIN
--计算总消费额
UPDATE MemberCard
SET SumConsumed = ISNULL(SumConsumed,0)+abs( @PayCard)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)-abs(@PayCard)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--返利
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)+abs(@ReturnPayCard)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--累计返利总额
UPDATE MemberCard
SET ReturnPayCard=ISNULL(ReturnPayCard,0)+abs(@ReturnPayCard)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--累计透支消费时,补的现金
UPDATE MemberCard
SET MissCash=ISNULL(MissCash,0)+abs(@PayMoney-@ReturnMoney)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--累计医保消费
UPDATE MemberCard
SET YBConsumed=ISNULL(YBConsumed,0)+ ( @PayKYB+@PaySYB )
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF (@BillType=26)
BEGIN
--计算总退货额
UPDATE MemberCard
SET ReturnCard = ISNULL(ReturnCard,0) + abs(@PayCard)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)+abs(@PayCard)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--取消返利
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)-abs(@ReturnPayCard)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
--累计取消返利总额
UPDATE MemberCard
SET CancelReturnPayCard=ISNULL(CancelReturnPayCard,0)+abs(@ReturnPayCard)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
SELECT @row_Balance=Balance,@row_SumConsumed=SumConsumed,@row_SumAllMoney=SumAllMoney FROM MemberCard
WHERE Code = @Code and ISNULL( Deleted,0)<>1
SELECT @UPDATECARD_ERROE = @@ERROR
SELECT @guid=NEWID()
IF (@BillType!=5 and @BillType!=26 and @BillType!=23 and @BillType!=21 and @BillType!=30 and @BillType!=17 and @BillType!=29)
BEGIN
INSERT INTO MemberCardChangeLog (Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,PayMoney,DataVersion,ReturnPayCard,ProviderId)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,@BillCodeName,@row_old_Balance,@ChangeMoney,@row_Balance,@CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark,@PayMoney,@DataVersion,0,@ProviderId)
END
ELSE
BEGIN
IF(@BillType=21)
BEGIN
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, DataVersion,ReturnPayCard, PayCard, ReturnMoney,PayMoney,ProviderId)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,'转出押金',@Balance, -abs(@Foregift), @Balance, @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, @DataVersion, 0, 0, 0,0,@ProviderId)
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, DataVersion,ReturnPayCard, PayCard, ReturnMoney,PayMoney,ProviderId)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,'转出余额',@Balance, -abs(@Balance), 0, @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, @DataVersion, 0, 0, 0,0,@ProviderId)
END
IF ( @BillType=5 )
BEGIN
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, DataVersion,ReturnPayCard, PayCard, PayKYB,PaySYB , PayYB, ReturnMoney , PayTypeStr,PayMoney,ProviderId)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,@BillCodeName,@row_old_Balance, -abs(@PayCard), @row_old_Balance-abs(@PayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, @DataVersion, abs(@ReturnPayCard), @PayCard, @PayKYB,@PaySYB , @PayKYB+@PaySYB, 0 , @PayTypeStr,@PayMoney-@ReturnMoney,@ProviderId)
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName, PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, DataVersion, ReturnPayCard, PayCard, PayCardMoneyAfter,PayCardMoneyBefore, PayKYB,PaySYB , PayYB, ReturnMoney , PayTypeStr,PayMoney,ProviderId)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,31,@BillCode, '返利', @row_old_Balance-abs(@PayCard), abs(@ReturnPayCard), @row_old_Balance-abs(@PayCard)+abs(@ReturnPayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark ,@DataVersion, abs(0), 0, 0,0, 0,0 , 0, 0 , @PayTypeStr,0,@ProviderId)
END
IF ( @BillType=26 )
BEGIN
--记录销退
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, DataVersion,ReturnPayCard, PayCard, PayKYB,PaySYB , PayYB, ReturnMoney , PayTypeStr,PayMoney,ProviderId)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,@BillCodeName,@row_old_Balance, +abs(@PayCard), @row_old_Balance+abs(@PayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, @DataVersion, abs(@ReturnPayCard), -abs(@PayCard),0,0 , 0, 0 , @PayTypeStr,0,@ProviderId)
--取消返利
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName, PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, DataVersion, ReturnPayCard, PayCard, PayCardMoneyAfter,PayCardMoneyBefore, PayKYB,PaySYB , PayYB, ReturnMoney , PayTypeStr,PayMoney,ProviderId)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,32,@BillCode, '取消返利', @row_old_Balance+abs(@PayCard), -abs(@ReturnPayCard), @row_old_Balance+abs(@PayCard)-abs(@ReturnPayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark ,@DataVersion, abs(0), 0, 0,0, 0,0 , 0, 0 , @PayTypeStr,0,@ProviderId)
END
IF(@BillType=30)
BEGIN
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName, PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, DataVersion, ReturnPayCard, PayCard, PayCardMoneyAfter,PayCardMoneyBefore, PayKYB,PaySYB , PayYB, ReturnMoney , PayTypeStr,PayMoney,ProviderId)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode, '召回返利', @row_old_Balance, abs(@ReturnPayCard), @row_old_Balance+abs(@ReturnPayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark ,@DataVersion, abs(0), 0, 0,0, 0,0 , 0, 0 , @PayTypeStr,0,@ProviderId)
END
IF(@BillType=17)
BEGIN
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName, PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, DataVersion, ReturnPayCard, PayCard, PayCardMoneyAfter,PayCardMoneyBefore, PayKYB,PaySYB , PayYB, ReturnMoney , PayTypeStr,PayMoney,ProviderId)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode, @BillCodeName, @row_old_Balance, -abs(@ChangeMoney), @row_old_Balance-abs(@ChangeMoney), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark ,@DataVersion, abs(0), 0, 0,0, 0,0 , 0, 0 , @PayTypeStr,0,@ProviderId)
END
IF(@BillType=29)
BEGIN
INSERT INTO MemberCardChangeLog (Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,PayMoney,DataVersion,ReturnPayCard,ProviderId)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,@BillCodeName,@row_old_Balance,@ChangeMoney,@row_Balance,@CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark,@PayMoney,@DataVersion,0,@ProviderId)
END
END
SELECT @INSERTLOG_ERROR = @@ERROR
-- Test the error values.
IF @UPDATECARD_ERROE = 0 AND @INSERTLOG_ERROR = 0
BEGIN
-- Success. Commit the transaction.
SELECT @ErrorMessage = '会员卡更新成功' --cast(@guid as varchar(60))
SELECT @ErrorInfoId=1
COMMIT TRAN
END
ELSE
BEGIN
-- An error occurred. Indicate which operation(s) failed and roll back the transaction.
IF @UPDATECARD_ERROE <> 0
BEGIN
SELECT @ErrorMessage = '会员卡更新失败'
SELECT @ErrorInfoId=-2
END
IF @INSERTLOG_ERROR <> 0
BEGIN
SELECT @ErrorMessage = '写日志失败'
SELECT @ErrorInfoId=-3
END
ROLLBACK TRAN
END
GO
/****** Object: StoredProcedure [dbo].[updateInoutStockTalleCurSalePrice] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[updateInoutStockTalleCurSalePrice] AS
DECLARE @BillId int
DECLARE @BillType int
DECLARE @CommodityId int
DECLARE @BatchCode varchar(50)
DECLARE @CurSalePrice Money
DECLARE @CurSaleSumMoney Money
DECLARE @ChangeAmount Decimal
BEGIN TRAN
DECLARE CS cursor for
Select BillId,BillType,CommodityId,BatchCode,CurSalePrice,ChangeAmount from InoutStockTable
where CurSalePrice is null Or CurSalePrice = 0
open cs
fetch next from CS
into @BillId,@BillType,@CommodityId,@BatchCode,@CurSalePrice,@ChangeAmount
while @@FETCH_STATUS = 0
begin
Select @CurSalePrice=Price from BillDetailRetail
where BillId=@BillId
AND BillType=@BillType
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
Select @CurSaleSumMoney = @CurSalePrice * @ChangeAmount
Update InoutStockTable
set CurSalePrice=@CurSalePrice,CurSaleSumMoney=@CurSaleSumMoney
where BillId=@BillId
AND BillType=@BillType
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
fetch next from CS
into @BillId,@BillType,@CommodityId,@BatchCode,@CurSalePrice,@ChangeAmount
end
CLOSE CS
DEALLOCATE CS
COMMIT
GO
/****** Object: StoredProcedure [dbo].[UpdateInOutStock] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[UpdateInOutStock]
AS
DECLARE @CommodityName VARCHAR(100)
DECLARE @Spec VARCHAR(50)
DECLARE @ProducingArea VARCHAR(50)
DECLARE @DoseTypeName VARCHAR(50)
DECLARE @Unit VARCHAR(50)
DECLARE @BussinessName VARCHAR(50)
DECLARE @BillCodeName VARCHAR(50)
DECLARE @StockName VARCHAR(50)
DECLARE @EmbranchmentName VARCHAR(50)
DECLARE @ProviderName VARCHAR(50)
DECLARE @Remark VARCHAR(100)
DECLARE @AuthorizeCode VARCHAR(50)
DECLARE @CommodityId INT
DECLARE @StockId INT
DECLARE @ProviderId INT
DECLARE @BillType INT
DECLARE @EmbranchmentId INT
DECLARE @BillId INT
DECLARE @Guid uniqueidentifier
DECLARE @BussinessId int
BEGIN TRAN
SET NOCOUNT ON
DECLARE UpdateInOutStock cursor for
SELECT ProviderId,CommodityId,BillType,StockId,EmbranchmentId,BillId,Guid
FROM InoutStockTable
open UpdateInOutStock
fetch next from UpdateInOutStock
into @ProviderId,@CommodityId,@BillType,@StockId,@EmbranchmentId,@BillId,@Guid
while @@FETCH_STATUS = 0
begin
SELECT @CommodityName=GeneralName,@Spec=Spec,@ProducingArea=ProducingArea,@DoseTypeName=DoseType,@Unit=Unit,@AuthorizeCode=AuthorizeCode
FROM Commodity
WHERE CommodityId=@CommodityId
SELECT @BussinessId=BusinessId,@Remark=Summary FROM Bill
WHERE BillId=@BillId AND BillType=@BillType
SELECT @BussinessName=Name
FROM Employee
WHERE EmployeeId=@BussinessId
SELECT @BillCodeName=Name
FROM BillCode
WHERE Id=@BillType
SELECT @StockName=Name
FROM Depot
WHERE DepotId=@StockId
SELECT @EmbranchmentName=Name
FROM Embranchment
WHERE EmbranchmentId=@EmbranchmentId
SELECT @ProviderName=Name
FROM Provider
WHERE ProviderId=@ProviderId
UPDATE InoutStockTable
SET CommodityName=@CommodityName,Spec=@Spec, ProducingArea=@ProducingArea,DoseTypeName=@DoseTypeName,Unit=@Unit,BusinessName=@BussinessName,BillCodeName=@BillCodeName,StockName=@StockName,EmbranchmentName=@EmbranchmentName,ProviderName=@ProviderName,Remark=@Remark,AuthorizeCode=@AuthorizeCode
WHERE Guid=@Guid
fetch next from UpdateInOutStock
into @ProviderId,@CommodityId,@BillType,@StockId,@EmbranchmentId,@BillId,@Guid
end
CLOSE UpdateInOutStock
DEALLOCATE UpdateInOutStock
COMMIT
GO
/****** Object: StoredProcedure [dbo].[UpdateEntireDiscount] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[UpdateEntireDiscount]
AS
DECLARE @BillId INT
DECLARE @EntireDiscount DECIMAL(6,3)
BEGIN TRAN
DECLARE ed CURSOR FOR
SELECT BillId
FROM InoutStockTable
WHERE EntireDiscount IS NULL
AND BillType = 5
OPEN ed
FETCH NEXT FROM ed INTO @BillId
WHILE @@FETCH_STATUS = 0
begin
SELECT @EntireDiscount = Discount FROM Bill
WHERE BillId = @BillId
UPDATE InoutStockTable
SET EntireDiscount = @EntireDiscount
WHERE BillId = @BillId
IF @@ROWCOUNT = 0
print 'ERROR!'
FETCH NEXT FROM ed INTO @BillId
end
CLOSE ed
DEALLOCATE ed
COMMIT TRAN
GO
/****** Object: StoredProcedure [dbo].[updateDataVersion] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
--目的,是传送时的dataVersion,sequences表能够反应实际要传送表的情况.
CREATE PROCEDURE [dbo].[updateDataVersion]
(@pra varchar(50))
AS
update dataVersion
set CurVersion=(select isnull(max(dataVersion),0) from InoutStockTable)
where Name='InoutStockTable'
update dataVersion
set CurVersion=(select isnull(max(dataVersion),0) from DoseType)
where Name='DoseType'
update dataVersion
set CurVersion=(select isnull(max(dataVersion),0) from Embranchment
)
where Name='Embranchment'
update dataVersion
set CurVersion=(select isnull(max(dataVersion),0) from WorkScope)
where Name='WorkScope'
update dataVersion
set CurVersion=(select isnull(max(dataVersion),0) from Catalog)
where Name='Catalog'
update dataVersion
set CurVersion=(select isnull(max(dataVersion),0) from Bulletin)
where Name='Bulletin'
update dataVersion
set CurVersion=(select isnull(max(dataVersion),0) from BulletinEmbranchment)
where Name='BulletinEmbranchment'
update dataVersion
set CurVersion=(select isnull(max(dataVersion),0) from Commodity)
where Name='Commodity'
update dataVersion
set CurVersion=(select isnull(min(RetailDataVersion),-1) from Commodity)
where Name='RetailCommodity'
update Sequences
set Sequence_NextId=(select Isnull(Max(DoseTypeId)+1,1) from DoseType)
where Sequence_Name='DoseType'
update Sequences
set Sequence_NextId=(select Isnull(Max(EmbranchmentId)+1,1) from Embranchment)
where Sequence_Name='Embranchment'
update Sequences
set Sequence_NextId=(select Isnull(Max(WorkScopeId)+1,1) from WorkScope)
where Sequence_Name='WorkScope'
update Sequences
set Sequence_NextId=(select Isnull(Max(Id)+1,1) from Catalog)
where Sequence_Name='Catalog'
update Sequences
set Sequence_NextId=(select Isnull(Max(BulletinId)+1,1) from Bulletin)
where Sequence_Name='Bulletin'
update Sequences
set Sequence_NextId=(select Isnull(Max(CommodityId)+1,1) from Commodity)
where Sequence_Name='Commodity'
update Sequences
set Sequence_NextId=(select Isnull(Min(CommodityId)-1,-1) from Commodity)
where Sequence_Name='RetailCommodity'
GO
/****** Object: StoredProcedure [dbo].[updateCommodityStockCurrentRetailPrice] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[updateCommodityStockCurrentRetailPrice] AS
DECLARE @RetailPrice Money
DECLARE @CurrentRetailPrice Money
Declare @CommodityId int
BEGIN TRAN
DECLARE CS cursor for Select CommodityId from CommodityStock
where CurrentRetailPrice is null
open cs
fetch next from CS
into @CommodityId
while @@FETCH_STATUS = 0
begin
Select @RetailPrice=RetailPrice from Commodity
where CommodityId=@CommodityId
Update CommodityStock set RetailPrice=CurrentRetailPrice,CurrentRetailPrice = @RetailPrice
where CommodityId=@CommodityId
fetch next from CS
into @CommodityId
end
CLOSE CS
DEALLOCATE CS
COMMIT
GO
/****** Object: StoredProcedure [dbo].[UpdateCommodityStock_Web] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
/**********************************************************************
根据各零售店的InoutStockTable表中记录来改变服务器中各店的库存(用于连锁版本),先查有无此批号的药,有则修改数量和金额,无则插入
***********************************************************************/
CREATE PROCEDURE [dbo].[UpdateCommodityStock_Web]
(
@Guid uniqueidentifier,
@EmbranchmentId smallint,
@StockId tinyint,
@CommodityId int,
@BatchCode varchar (50),
@CurAmount decimal (18,4),
@CurCostPrice decimal (18,4),
@CurSalePrice decimal (18,4),
@CurBatchSalePrice decimal (18,4),
@CurCostSumMoney decimal (18,4),
@CurSaleSumMoney decimal (18,4),
@ProductDate datetime,
@InvalidateDate datetime,
@CommodityName varchar (100),
@Spec varchar (200),
@DoseTypeName varchar (50),
@ProducingArea varchar (100),
@Unit varchar (50),
@BusinessName varchar (50),
@AuthorizeCode varchar (100),
@CustomCode varchar (50),
@CounterId tinyint ,
@CounterName varchar (50),
@IsZY smallint ,
@PackingId int ,
@PackingName varchar (50),
@CustomStr varchar (100),
@ProductName varchar (100),
--@IsMedicare int ,
@IsMemberPrice bit,
@AuditDate datetime,
@BillType tinyint
)
AS
/*定义CommodityStock对应的局部变量*/
DECLARE @CostPrice decimal (18,4)
DECLARE @Amount_cs decimal (18,4)
DECLARE @SumCost decimal (18,4)
DECLARE @RetailPrice decimal (18,4)
DECLARE @SumRetail decimal (18,4)
DECLARE @RowCount int
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
if @BillType=11--零售调价单
begin
Update CommodityStock /*修改库存中对应的记录*/
set CurrentRetailPrice=@CurSalePrice,SumRetail=@CurSalePrice*Amount,RetailPrice=CurrentRetailPrice
where EmbranchmentId=@EmbranchmentId
and CommodityId=@CommodityId
and PackingId=@PackingId
and DepotId= @StockId
end
else
begin
SELECT @CostPrice=CostPrice,@Amount_cs=Amount,@RetailPrice=RetailPrice
FROM CommodityStock(UPDLOCK)
where DepotId= @StockId and EmbranchmentId=@EmbranchmentId and CommodityId=@CommodityId and PackingId=@PackingId and BatchCode=@BatchCode
select @RowCount =@@ROWCOUNT
IF @RowCount=0 --库存中无此药品则插入
BEGIN
Insert into CommodityStock(DepotId, EmbranchmentId, CommodityId, InOrder,PackingId, BatchCode, ProductDate, InvalidateDate, InstockDate, CostPrice, RetailPrice, Amount, FactAmount,Odds, SumCost, SumRetail, CommodityName, Spec, DoseTypeName, ProducingArea, Unit, AuthorizeCode, SpellCode, TXM, CustomCode, CurrentRetailPrice,IsChinese,CounterId, CounterName,DataVersion,PreMemberPrice,CurrentMemberPrice,UpperLimit,LowerLimit,PackingName, CustomStr, ProductName,IsMemberPrice, IsDiscount,IsScore)
values(@StockId, @EmbranchmentId,@CommodityId, 1, @PackingId, @BatchCode ,@ProductDate,@InvalidateDate, @AuditDate ,@CurCostPrice,@CurSalePrice,@CurAmount,@CurAmount,null, @CurAmount*@CurCostPrice, @CurAmount*@CurSalePrice,@CommodityName, @Spec, @DoseTypeName,@ProducingArea,@Unit,@AuthorizeCode,null, null, @CustomCode,@CurSalePrice, @IsZY, @CounterId, @CounterName,1, 0, 0, null, null, @PackingName ,@CustomStr,@ProductName ,@IsMemberPrice ,null, null)
if @@error <>0
begin
RETURN -1
end
Update InoutStockTable Set Status=1 where Guid=@Guid
END
else
begin--库存中有此药品则根据InoutStockTable中的CurAmount等修改库存
Update CommodityStock
set CostPrice=@CurCostPrice,Amount=@CurAmount, FactAmount=@CurAmount,SumCost=@CurAmount*@CurCostPrice,RetailPrice=@CurSalePrice,SumRetail=@CurAmount*@CurSalePrice,CurrentRetailPrice=@CurSalePrice
where DepotId=@StockId
and EmbranchmentId=@EmbranchmentId
and CommodityId=@CommodityId
and BatchCode=@BatchCode
and PackingId=@PackingId
if @@error <>0
begin
RETURN -1
end
Update InoutStockTable Set Status=1 where Guid=@Guid
end
end
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[UpdateCommodityStock] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[UpdateCommodityStock] AS
DECLARE @CommodityId INT
DECLARE @CommodityName VARCHAR(100)
DECLARE @Spec VARCHAR(50)
DECLARE @DoseTypeName VARCHAR(50)
DECLARE @ProducingArea VARCHAR(50)
DECLARE @Unit VARCHAR(50)
DECLARE @AuthorizeCode VARCHAR(50)
DECLARE @SpellCode VARCHAR(50)
DECLARE @RetailPrice money
DECLARE @Amount decimal(18,4)
DECLARE @TXM varchar(60)
BEGIN TRAN
DECLARE CS cursor for
Select CommodityId,Amount from CommodityStock
open cs
fetch next from CS
into @CommodityId,@Amount
while @@FETCH_STATUS = 0
begin
Select @CommodityName=GeneralName,
@Spec=Spec,
@DoseTypeName=DoseType,
@ProducingArea=ProducingArea,
@Unit=Unit,
@SpellCode=SpellCode,
@AuthorizeCode=AuthorizeCode,
@RetailPrice=RetailPrice,
@TXM=TXM
from Commodity
where CommodityId=@CommodityId
if @@ROWCOUNT =0
begin
Select @CommodityName=GeneralName,
@Spec=Spec,
@DoseTypeName=DoseType,
@ProducingArea=ProducingArea,
@Unit=Unit,
@SpellCode=SpellCode,
@AuthorizeCode=AuthorizeCode,
@RetailPrice=RetailPrice,
@TXM=TXM
from CommodityStandard
where CommodityId=@CommodityId
end
Update CommodityStock
set CommodityName=@CommodityName,
Spec=@Spec,
DoseTypeName=@DoseTypeName,
ProducingArea=@ProducingArea,
Unit=@Unit,
SpellCode=@SpellCode,
AuthorizeCode=@AuthorizeCode,
RetailPrice=@RetailPrice,
SumRetail=@RetailPrice*@Amount,
TXM=@TXM
where CommodityId=@CommodityId
fetch next from CS
into @CommodityId,@Amount
end
CLOSE CS
DEALLOCATE CS
COMMIT
GO
/****** Object: StoredProcedure [dbo].[UploadMemberCardChangeLog] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[UploadMemberCardChangeLog]
(
@BillType TINYINT,
@BillCode VARCHAR(50),
@BillCodeName VARCHAR(50),
@CardCode VARCHAR(50),
@Score INT,
@CustomerId INT,
@CustomerName VARCHAR(50),
@Balance DECIMAL(18,4),
@CardTypeId INT,
@CardLevelId TINYINT,
@CardLevelName VARCHAR(50),
@PreMoney DECIMAL(18,4),
@ChangeMoney DECIMAL(18,4),--消费时为实收款
@Remark VARCHAR(255),
@BusinessId INT,
@BusinessName VARCHAR(50),
@BusinessDate DATETIME,
@ErrorInfoId INT OUTPUT,
@ErrorMessage VARCHAR(100) OUTPUT,
@BillId INT,
@EmbranchmentId INT,
@EmbranchmentName VARCHAR(50),
@DataVersion BIGINT,
@PayCard DECIMAL(18,4),
@ReturnPayCard DECIMAL(18,4),
@PayMoney DECIMAL(18,4),
@PayKYB DECIMAL(18,4),
@PaySYB DECIMAL(18,4),
@PayYB DECIMAL(18,4),
@PayTypeStr VARCHAR(50),
@ProviderId INT
)
AS
DECLARE @UPDATECARD_ERROE INT
DECLARE @INSERTLOG_ERROR INT
DECLARE @guid UNIQUEIDENTIFIER
DECLARE @CardChangeMoney DECIMAL(18,4)
DECLARE @CheckOut BIT
DECLARE @DiffMoney DECIMAL(18,4)
DECLARE @Shadiness BIT
DECLARE @SubValue DECIMAL(18,4)
/*定义DataVersion对应的局部变量*/
DECLARE @DataVersionId INT
DECLARE @Name VARCHAR(20)
DECLARE @PreviousVersion BIGINT
DECLARE @CurVersion BIGINT
DECLARE @OriginDateTime DATETIME
DECLARE @SynchronizeDateTime DATETIME
SELECT * FROM MemberCard
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
IF @@ROWCOUNT=0
BEGIN
SELECT @ErrorInfoId=-1
SELECT @ErrorMessage='此卡尚未发出'
RETURN -1
END
IF @@ROWCOUNT>0
BEGIN
SELECT @ErrorInfoId=-2
SELECT @ErrorMessage='此卡多次发出'
RETURN -2
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE --事务序列化
BEGIN TRAN
SELECT @CardChangeMoney=ChangeMoney FROM MemberCardChangeLogTemp
WHERE EmbranchmentId=@EmbranchmentId
AND BillId=@BillId
AND BillType=@BillType
AND CardCode=@CardCode
IF @@ROWCOUNT=0
BEGIN
/*
IF (@BillType=14)
BEGIN
UPDATE MemberCard
SET CustomerId = @CustomerId,CustomerName = @CustomerName,Score = @Score,CardTypeId = @CardTypeId,CardLevelId = @CardLevelId,CardLevelName = @CardLevelName,Status = @Status,Password = @Password,Foregift = @Foregift,Discount = 1,BeginTime = @BeginTime,CancelTime = @CancelTime,SuspendTime = @SuspendTime,LimitCount = @LimitCount,UsedCount = @UsedCount,Remark = @Remark,Deleted = @Deleted,SpellCode=@SpellCode,DataVersion=@DataVersion,SumAllMoney=@SumAllMoney
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF(@BillType=15)
BEGIN
UPDATE MemberCard SET Password = @Password
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF(@BillType=18)
BEGIN
UPDATE MemberCard SET Status=@Status
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF(@BillType=19)
BEGIN
UPDATE MemberCard SET Status=@Status
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF (@BillType=20)
BEGIN
UPDATE MemberCard
SET CustomerId = @CustomerId,CustomerName = @CustomerName,Score = @Score, SumConsumed = @Sumconsumed,CardTypeId = @CardTypeId,CardLevelId = @CardLevelId,CardLevelName = @CardLevelName,Status = @Status,Password = @Password,Foregift = @Foregift,Discount = 1,BeginTime = @BeginTime,CancelTime = @CancelTime,SuspendTime = @SuspendTime,LimitCount = @LimitCount,UsedCount = @UsedCount,Remark = @Remark,Deleted = @Deleted,SpellCode=@SpellCode,DataVersion=@DataVersion,SumAllMoney=@SumAllMoney
WHERE Code = @Code and ISNULL( Deleted,0)<>1
UPDATE MemberCard
SET Balance=Balance+abs(@ChangeMoney)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF (@BillType=16)
BEGIN
UPDATE MemberCard
SET SumAllMoney=SumAllMoney+abs(@ChangeMoney)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
UPDATE MemberCard
SET Balance=Balance+abs(@ChangeMoney)
WHERE Code = @Code and ISNULL( Deleted,0)<>1
END
IF(@BillType=33)
BEGIN
UPDATE MemberCard
SET Balance=0,Foregift=0,Deleted=1
WHERE Code=@Code AND ISNULL(Deleted,0)<>1
END
IF(@BillType=17)
BEGIN
UPDATE MemberCard
SET DrawCard=ISNULL(DrawCard,0)+abs(@ChangeMoney)
WHERE Code=@Code AND ISNULL(Deleted,0)<>1
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)-abs(@ChangeMoney)
WHERE Code=@Code AND ISNULL(Deleted,0)<>1
END
IF(@BillType=22)
BEGIN
UPDATE MemberCard
SET deleted=1
WHERE Code = @Code and ISNULL( Deleted,0)<>1
UPDATE MembercardChangeLog SET Deleted=1
WHERE CardCode=@Code and ISNULL( Deleted,0)<>1
UPDATE InoutStockTableCard SET Deleted=1
WHERE CardCode=@Code and ISNULL(Deleted,0)<>1
END
*/
IF (@BillType=5)
BEGIN
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)-abs(@ChangeMoney)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--计算总消费额
UPDATE MemberCard
SET SumConsumed = ISNULL(SumConsumed,0)+abs( @ChangeMoney)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
END
IF (@BillType=26)
BEGIN
--余额
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)+abs(@ChangeMoney)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--计算总退货额
UPDATE MemberCard
SET ReturnCard = ISNULL(ReturnCard,0) + abs(@ChangeMoney)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
END
IF(@BillType=31)
BEGIN
--返利
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)+abs(@ChangeMoney)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--累计返利总额
UPDATE MemberCard
SET ReturnPayCard=ISNULL(ReturnPayCard,0)+abs(@ChangeMoney)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
END
IF(@BillType=32)
BEGIN
--取消返利
UPDATE MemberCard
SET Balance=ISNULL(Balance,0)-abs(@ChangeMoney)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
--累计取消返利总额
UPDATE MemberCard
SET CancelReturnPayCard=ISNULL(CancelReturnPayCard,0)+abs(@ChangeMoney)
WHERE Code = @CardCode and ISNULL( Deleted,0)<>1
END
SELECT @UPDATECARD_ERROE=@@ERROR
IF @@ERROR <>0
BEGIN
SELECT @ErrorMessage='更新会员卡失败!'
SELECT @ErrorInfoId=-13
ROLLBACK
RETURN -13
END
SELECT @DiffMoney=0
SELECT @CardChangeMoney=0
SELECT @CheckOut=0
SELECT @Shadiness=0
SELECT @Remark='卡中改变金额与终端库尚未比对'
END
ELSE
BEGIN
SELECT @CheckOut=1
SELECT @DiffMoney=@ChangeMoney-@CardChangeMoney
IF @DiffMoney=0
BEGIN
SELECT @Shadiness=0
SELECT @Remark='卡中改变金额与终端库中一致'
END
ELSE
BEGIN
SELECT @Shadiness=1
SELECT @Remark='卡中改变金额与终端库中不一致'
END
END
SELECT @guid=NEWID()
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance,CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,ReturnPayCard, PayCard, PayKYB,PaySYB ,PayYB, PayTypeStr,PayMoney,ProviderId,DataVersion,CheckOut,CardChangeMoney,DiffMoney,Shadiness)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@CardCode,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,@BillCodeName,@PreMoney, @ChangeMoney, @Balance, @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, @ReturnPayCard, @PayCard,@PayKYB,@PaySYB ,@PayYB,@PayTypeStr,@PayMoney,@ProviderId,@DataVersion,@CheckOut,@CardChangeMoney,@DiffMoney,@Shadiness)
IF @@ERROR <>0
BEGIN
SELECT @ErrorMessage='插入会员卡日志失败!'
SELECT @ErrorInfoId=-14
ROLLBACK
RETURN -14
END
SELECT @CurVersion=CurVersion,
@SynchronizeDateTime = SynchronizeDateTime
FROM DataVersion(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=18
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='取版本出错!'
SELECT @ErrorInfoId =-15
ROLLBACK
RETURN -15
END
UPDATE DataVersion
SET PreviousVersion=@CurVersion,CurVersion=@CurVersion+1,
OriginDateTime=@SynchronizeDateTime, SynchronizeDateTime=getDate()
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=18
IF @@ERROR <>0
BEGIN
SELECT @ErrorMessage='更新版本失败!'
SELECT @ErrorInfoId=-16
ROLLBACK
RETURN -16
END
-- Success. Commit the transaction.
SELECT @ErrorMessage = '会员卡更新成功' --cast(@guid as varchar(60))
SELECT @ErrorInfoId=1
COMMIT TRAN
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[InsertLocalMemberCardChangeLog] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[InsertLocalMemberCardChangeLog]
(
@BillType TINYINT,
@BillCode VARCHAR(50),
@BillCodeName VARCHAR(50),
@Code VARCHAR(50),
@Score INT,
@CustomerId INT,
@CustomerName VARCHAR(50),
@Balance DECIMAL(18,4),
@CardTypeId INT,
@CardLevelId TINYINT,
@CardLevelName VARCHAR(50),
@ChangeMoney DECIMAL(18,4),--消费时为实收款
@Remark VARCHAR(255),
@BusinessId INT,
@BusinessName VARCHAR(50),
@BusinessDate DATETIME,
@ErrorInfoId INT OUTPUT,
@ErrorMessage VARCHAR(100) OUTPUT,
@BillId INT,
@EmbranchmentId INT,
@EmbranchmentName VARCHAR(50),
@PayCard DECIMAL(18,4),
@ReturnPayCard DECIMAL(18,4),
@PayMoney DECIMAL(18,4),
@ReturnMoney DECIMAL(18,4),
@PayKYB DECIMAL(18,4),
@PaySYB DECIMAL(18,4),
@PayYB DECIMAL(18,4),
@Foregift DECIMAL(18,4),
@PayTypeStr VARCHAR(50),
@ReturnCard DECIMAL(18,4),
@PreMoney DECIMAL(18,4),
@ProviderId INT
)
AS
DECLARE @INSERTLOG_ERROR INT
DECLARE @guid uniqueidentifier
/*定义DataVersion对应的局部变量*/
DECLARE @DataVersionId INT
DECLARE @Name VARCHAR(20)
DECLARE @PreviousVersion BIGINT
DECLARE @CurVersion BIGINT
DECLARE @OriginDateTime DATETIME
DECLARE @SynchronizeDateTime DATETIME
IF(@BillType=17 OR @BillType=22 )
BEGIN
SELECT @ChangeMoney=-abs(@ChangeMoney)
END
ELSE
BEGIN
SELECT @ChangeMoney=abs(@ChangeMoney)
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE --事务序列化
BEGIN TRAN
SELECT @guid=NEWID()
SELECT @CurVersion=CurVersion,
@SynchronizeDateTime = SynchronizeDateTime
FROM DataVersion(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=18
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='取版本出错!'
SELECT @ErrorInfoId =-15
ROLLBACK
RETURN -15
END
IF (@BillType!=5 AND @BillType!=26 AND @Billtype!=21 AND @BillType!=33 )
BEGIN
SELECT @CurVersion=@CurVersion+1
INSERT INTO MemberCardChangeLog (Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,PayMoney,PayCard,ReturnPayCard,PaySYB,PayKYB,PayYB,ProviderId,DataVersion)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,@BillCodeName,@PreMoney,@ChangeMoney,@PreMoney+@ChangeMoney,@CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark,0,0,0,0,0,0,@ProviderId,@CurVersion)
END
ELSE
BEGIN
IF(@BillType=21)
BEGIN
SELECT @CurVersion=@CurVersion+1
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,ReturnPayCard, PayCard ,PayMoney,PaySYB,PayKYB,PayYB,ProviderId,DataVersion)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,'转入押金',0, -abs(@Foregift),0, @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, 0, 0,0,0,0,0,@ProviderId, @CurVersion)
SELECT @CurVersion=@CurVersion+1
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,ReturnPayCard, PayCard,PayMoney,PaySYB,PayKYB,PayYB,ProviderId,DataVersion)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,'转入余额',0, +abs(@Balance),@Balance, @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, 0, 0,0, 0, 0,0,@ProviderId,@CurVersion)
END
IF(@BillType=33)
BEGIN
SELECT @CurVersion=@CurVersion+1
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,ReturnPayCard, PayCard ,PayMoney,PaySYB,PayKYB,PayYB,ProviderId,DataVersion)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,'转出押金',@Balance, -abs(@Foregift),@Balance, @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, 0, 0,0,0,0,0,@ProviderId, @CurVersion)
SELECT @CurVersion=@CurVersion+1
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,ReturnPayCard, PayCard,PayMoney,PaySYB,PayKYB,PayYB,ProviderId,DataVersion)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,'转出余额',@Balance, -@Balance, 0, @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, 0, 0,0, 0, 0,0,@ProviderId,@CurVersion)
END
IF ( @BillType=5 )
BEGIN
SELECT @CurVersion=@CurVersion+1
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance,CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,ReturnPayCard, PayCard,PayKYB,PaySYB ,PayYB, PayTypeStr,PayMoney,ProviderId,DataVersion)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,@BillCodeName,@PreMoney, -abs(@PayCard), @PreMoney-abs(@PayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, abs(@ReturnPayCard), @PayCard,@PayKYB,@PaySYB,@PayKYB+@PaySYB,@PayTypeStr,@PayMoney-@ReturnMoney,@ProviderId,@CurVersion)
SELECT @CurVersion=@CurVersion+1
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName, PreMoney, ChangeMoney,Balance,CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, ReturnPayCard, PayCard ,PayKYB,PaySYB,PayYB, PayTypeStr,PayMoney,ProviderId,DataVersion)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode, '返利', @PreMoney-abs(@PayCard), abs(@ReturnPayCard),@PreMoney-abs(@PayCard)+abs(@ReturnPayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark , 0, 0,0,0, 0,@PayTypeStr,0,@ProviderId,@CurVersion)
END
IF( @BillType=26 )
BEGIN
SELECT @CurVersion=@CurVersion+1
--记录销退
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,ReturnPayCard, PayCard,PayKYB,PaySYB ,PayYB, PayTypeStr,PayMoney,ProviderId,DataVersion)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,@BillCodeName,@PreMoney, +abs(@PayCard), @PreMoney+abs(@PayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, abs(@ReturnPayCard), -abs(@PayCard), 0,0,0,@PayTypeStr,0,@ProviderId,@CurVersion)
--取消返利
SELECT @CurVersion=@CurVersion+1
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName, PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, ReturnPayCard, PayCard, PayKYB,PaySYB ,PayYB, PayTypeStr,PayMoney,ProviderId,DataVersion)
VALUES(@guid,@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode, '取消返利', @PreMoney+abs(@PayCard), -abs(@ReturnPayCard), @PreMoney+abs(@PayCard)-abs(@ReturnPayCard), @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark ,0,0,0,0,0,@PayTypeStr,0,@ProviderId,@CurVersion)
END
END
SELECT @INSERTLOG_ERROR = @@ERROR
IF @INSERTLOG_ERROR <> 0
BEGIN
SELECT @ErrorMessage = '写日志失败'
SELECT @ErrorInfoId=-14
ROLLBACK TRAN
RETURN -14
END
UPDATE DataVersion
SET PreviousVersion=@CurVersion,CurVersion=@CurVersion,
OriginDateTime=@SynchronizeDateTime, SynchronizeDateTime=getDate()
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=18
IF @@ERROR <>0
BEGIN
SELECT @ErrorMessage='更新版本失败!'
SELECT @ErrorInfoId=-16
ROLLBACK
RETURN -16
END
-- Success. Commit the transaction.
SELECT @ErrorMessage = '会员卡更新成功'
SELECT @ErrorInfoId=1
COMMIT TRAN
RETURN 0
GO
/****** Object: StoredProcedure [dbo].[NewCard] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[NewCard]
(
@BillType TINYINT,
@CardId INT,
@BillCode VARCHAR(50),
@BillCodeName VARCHAR(50),
@Code VARCHAR(50),
@Score INT,
@CustomerId INT,
@CustomerName VARCHAR(50),
@Balance DECIMAL(18,4),
@SumConsumed DECIMAL(18,4),
@CardTypeId INT,
@CardLevelId TINYINT,
@CardLevelName VARCHAR(50),
@Status TINYINT,
@Password VARCHAR(20),
@Foregift DECIMAL(18,4),
@Discount DECIMAL(18,4),
@BeginTime DATETIME,
@CancelTime DATETIME,
@SuspendTime DATETIME,
@LimitCount INT,
@UsedCount INT,
@PreMoney DECIMAL(18,4),
@ChangeMoney DECIMAL(18,4),--消费时为实收款
@Remark VARCHAR(255),
@Deleted BIT,
@BusinessId INT,
@BusinessName VARCHAR(50),
@BusinessDate DATETIME,
@ErrorInfoId INT OUTPUT,
@ErrorMessage VARCHAR(100) OUTPUT,
@BillId INT,
@EmbranchmentId INT,
@EmbranchmentName VARCHAR(50),
@SpellCode VARCHAR(50),
@DataVersion BIGINT,
@SumAllMoney DECIMAL(18,4),
@orderno INT OUTPUT,
@PayCard DECIMAL(18,4),
@ReturnPayCard DECIMAL(18,4),
@PayMoney DECIMAL(18,4),
@ReturnMoney DECIMAL(18,4),
@PayKYB DECIMAL(18,4),
@PaySYB DECIMAL(18,4),
@PayYB DECIMAL(18,4),
@PayCardMoneyBefore DECIMAL(18,4),
@PayCardMoneyAfter DECIMAL(18,4),
@PayTypeStr VARCHAR(50),
@Code_CZ VARCHAR(50),
@ReturnCard DECIMAL(18,4),
@CancelReturnPayCard DECIMAL(18,4),
@MissCash DECIMAL(18,4),
@YBConsumed DECIMAL(18,4),
@ProviderId INT
)
AS
DECLARE @INSERTCARD_ERROE INT
DECLARE @INSERTLOG_ERROR INT
/*定义DataVersion对应的局部变量*/
DECLARE @DataVersionId INT
DECLARE @Name VARCHAR(20)
DECLARE @PreviousVersion BIGINT
DECLARE @CurVersion BIGINT
DECLARE @OriginDateTime DATETIME
DECLARE @SynchronizeDateTime DATETIME
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE --事务序列化
BEGIN TRAN
DECLARE @new_balance NUMERIC(18,4)
SELECT @new_balance=@Balance
IF (@new_balance IS NULL)
BEGIN
SELECT @new_balance=0
END
SELECT * FROM MemberCard WHERE Code=@Code AND ISNULL( Deleted,0)<>1
IF(@@ROWCOUNT<>0)
BEGIN
SELECT @ErrorMessage = '此卡已发出,不允许重复发卡'
SELECT @ErrorInfoId=-5
ROLLBACK
RETURN
END
-- Execute the INSERTCARD statement.
SELECT * FROM MemberCard WHERE Code=@Code AND Deleted=0 AND CustomerId=@CustomerId
IF(@@ROWCOUNT=0)
BEGIN
IF(@BillType=21)
BEGIN
INSERT INTO MemberCard(CardId,EmbranchmentId,EmbranchmentName,Code,Score,CustomerId,CustomerName,SumConsumed,CardTypeId,CardLevelId,CardLevelName,Status,Password,Foregift,Discount,BeginTime,CancelTime,SuspendTime,LimitCount,UsedCount,Remark,Deleted,SpellCode,DataVersion,SumAllMoney,Balance,MissCash,YBConsumed,CancelReturnPayCard,ReturnCard,ReturnPayCard,ProviderId)
VALUES(@CardId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CustomerId,@CustomerName,@SumConsumed,@CardTypeId,@CardLevelId,@CardLevelName,@Status,@Password,@Foregift,1,@BeginTime,@CancelTime,@SuspendTime,@LimitCount,@UsedCount,@Remark,@Deleted,@SpellCode,@DataVersion,@SumAllMoney,@Balance,@MissCash,@YBConsumed,@CancelReturnPayCard,@ReturnCard,@ReturnPayCard,@ProviderId)
END
ELSE
BEGIN
INSERT INTO MemberCard(CardId,EmbranchmentId,EmbranchmentName,Code,Score,CustomerId,CustomerName,SumConsumed,CardTypeId,CardLevelId,CardLevelName,Status,Password,Foregift,Discount,BeginTime,CancelTime,SuspendTime,LimitCount,UsedCount,Remark,Deleted,SpellCode,DataVersion,SumAllMoney,Balance,MissCash,YBConsumed,ProviderId)
VALUES(@CardId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CustomerId,@CustomerName,@SumConsumed,@CardTypeId,@CardLevelId,@CardLevelName,@Status,@Password,@Foregift,1,@BeginTime,@CancelTime,@SuspendTime,@LimitCount,@UsedCount,@Remark,@Deleted,@SpellCode,@DataVersion,@SumAllMoney,0,0,0,@ProviderId)
END
END
ELSE
BEGIN
SELECT @ErrorMessage = '该顾客已经办理了会员卡业务,不允许再次办理'
SELECT @ErrorInfoId=-1
ROLLBACK
RETURN
END
/*
UPDATE MemberCard
SET Deleted=0,
EmbranchmentId=@EmbranchmentId,
EmbranchmentName=@EmbranchmentName,
Code=@Code,
Score=@Score,
CustomerId=@CustomerId,
CustomerName=@CustomerName,
SumConsumed=@SumConsumed,
CardTypeId=@CardTypeId,
CardLevelId=@CardLevelId,
CardLevelName=@CardLevelName,
Status=@Status,
Password=@Password,
Foregift=@Foregift,
Discount=1,
BeginTime=@BeginTime,
CancelTime=@CancelTime,
SuspendTime=@SuspendTime,
LimitCount=@LimitCount,
UsedCount=@UsedCount,
Remark=@Remark,
SpellCode=@SpellCode,
DataVersion=@DataVersion,
SumAllMoney=@SumAllMoney,
Balance=0,
MissCash=0,
YBConsumed=0
WHERE Code=@Code
*/
-- Set a variable to the error value for the INSERTCARD statement.
SELECT @INSERTCARD_ERROE = @@ERROR
SELECT @CurVersion=CurVersion,
@SynchronizeDateTime = SynchronizeDateTime
FROM DataVersion(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=18
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='取版本出错!'
SELECT @ErrorInfoId =-15
ROLLBACK
RETURN -15
END
-- Execute the INSERTLOG statement.
IF(@BillType=21 )
BEGIN
SELECT @CurVersion=@CurVersion+1
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, DataVersion,ReturnPayCard, PayCard, ReturnMoney,PayMoney,ProviderId)
VALUES(NEWID(),@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,'转入押金',0, abs(@Foregift), 0, @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, @CurVersion, 0, 0, 0,0,@ProviderId)
SELECT @CurVersion=@CurVersion+1
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark, DataVersion,ReturnPayCard, PayCard, ReturnMoney,PayMoney,ProviderId)
VALUES(NEWID(),@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,'转入余额',0, abs(@Balance), @Balance, @CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark, @CurVersion, 0, 0, 0,0,@ProviderId)
END
ELSE
BEGIN
SELECT @CurVersion=@CurVersion+1
INSERT INTO MemberCardChangeLog(Guid, BillId, EmbranchmentId, EmbranchmentName, CardCode,Score, CardTypeId, CardLevelId, BillType, BillCode, BillCodeName,PreMoney, ChangeMoney, Balance, CustomerId, CustomerName,BusinessId,BusinessName,BusinessDate,Remark,PayMoney,DataVersion,ReturnPayCard,ProviderId)
VALUES(newid(),@BillId,@EmbranchmentId,@EmbranchmentName,@Code,@Score,@CardTypeId,@CardLevelId,@BillType,@BillCode,@BillCodeName,@PreMoney,@ChangeMoney,@new_balance,@CustomerId,@CustomerName,@BusinessId,@BusinessName,@BusinessDate,@Remark,@PayMoney,@CurVersion,@ReturnPayCard,@ProviderId)
END
-- Set a variable to the error value for the INSERTLOG statement.
SELECT @INSERTLOG_ERROR = @@ERROR
UPDATE DataVersion
SET PreviousVersion=@CurVersion,CurVersion=@CurVersion,
OriginDateTime=@SynchronizeDateTime, SynchronizeDateTime=getDate()
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=18
IF @@ERROR <>0
BEGIN
SELECT @ErrorMessage='更新版本失败!'
SELECT @ErrorInfoId=-16
ROLLBACK
RETURN -16
END
-- Test the error values.
IF @INSERTCARD_ERROE = 0 AND @INSERTLOG_ERROR = 0
BEGIN
-- Success. Commit the transaction.
SELECT @ErrorMessage = '会员卡保存成功'
SELECT @ErrorInfoId=1
COMMIT TRAN
END
ELSE
BEGIN
-- An error occurred. Indicate which operation(s) failed and roll back the transaction.
IF @INSERTCARD_ERROE <> 0
BEGIN
SELECT @ErrorMessage = '会员卡保存失败'
SELECT @ErrorInfoId=-2
ROLLBACK
RETURN -2
END
IF @INSERTLOG_ERROR <> 0
BEGIN
SELECT @ErrorMessage = '写日志失败'
SELECT @ErrorInfoId=-3
ROLLBACK
RETURN -3
END
ROLLBACK TRAN
END
GO
/****** Object: StoredProcedure [dbo].[MonthReckoning_Audit] Script Date: 03/02/2011 16:53:48 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[MonthReckoning_Audit]
(
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
DECLARE @Sequence_NextId int
DECLARE @EmbranchmentId SMALLINT
DECLARE @InOrder int
DECLARE @InvalidateDate datetime
DECLARE @InstockDate datetime
DECLARE @CostPrice decimal (18,4)
DECLARE @CostPrice_pre decimal (18,4)
DECLARE @FactAmount decimal (18,4)
DECLARE @RetailPrice_pre decimal (18,4)
DECLARE @Amount_cs decimal (18,4)
DECLARE @Amount_pre decimal (18,4)
DECLARE @SumCost decimal (18,4)
DECLARE @SumCost_pre decimal (18,4)
DECLARE @SumRetail decimal (18,4)
DECLARE @DepotId int
DECLARE @CommodityId int
DECLARE @BatchCode varchar(50)
DECLARE @ProductDate datetime
DECLARE @RetailPrice decimal(18,4)
DECLARE @Amount decimal(18,4)
DECLARE @Odds decimal(18,4)
DECLARE @CommodityName varchar (100)
DECLARE @Spec varchar (50)
DECLARE @DoseTypeName varchar(50)
DECLARE @ProducingArea varchar(50)
DECLARE @Unit varchar(50)
DECLARE @AuthorizeCode varchar(50)
DECLARE @SpellCode varchar(50)
DECLARE @TXM varchar(60)
DECLARE @CustomCode varchar(50)
DECLARE @CurrentRetailPrice decimal (18,4)
DECLARE @IsChinese bit
DECLARE @CounterId tinyint
DECLARE @IYear smallint
DECLARE @IMonth smallint
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
--取分支机构
SELECT @EmbranchmentId=INTValue FROM SysData WHERE Name='EmbranchmentId'
Select DepotId, EmbranchmentId, CommodityId, InOrder, BatchCode, ProductDate, InvalidateDate, InstockDate, CostPrice,
RetailPrice, Amount, FactAmount,Odds, SumCost, SumRetail,CommodityName,Spec,DoseTypeName,ProducingArea,Unit,AuthorizeCode,
SpellCode,TXM,CustomCode,CurrentRetailPrice,IsChinese,CounterId
from CommodityStock
where Amount >0 and EmbranchmentId=@EmbranchmentId
--检查当前库存(CmmodityStock)中有没有记录,有则月结,没有就不用月结
if @@rowcount>0
begin
--从Sequence中取最大月结ID
Select @Sequence_NextId=Sequence_NextId from Sequences where Sequence_Name like 'MonthReckoning'
if @Sequence_NextId <1
begin
SELECT @ErrorMessage='没有找到月结ID!'
Select @ErrorInfoId=-1
ROLLBACK
RETURN -1
end
--将本店当前库存(CmmodityStock)中所有的
--数量大于零的记录插入到月结库存(MonthReckoning)中
DECLARE Cur CURSOR FOR
Select DepotId, EmbranchmentId, CommodityId, InOrder, BatchCode, ProductDate, InvalidateDate, InstockDate, CostPrice,
RetailPrice, Amount, FactAmount,Odds, SumCost, SumRetail,CommodityName,Spec,DoseTypeName,ProducingArea,Unit,AuthorizeCode,
SpellCode,TXM,CustomCode,CurrentRetailPrice,IsChinese,CounterId
from CommodityStock
where Amount >0 and EmbranchmentId=@EmbranchmentId
open Cur
fetch next from Cur
into @DepotId, @EmbranchmentId, @CommodityId, @InOrder, @BatchCode, @ProductDate, @InvalidateDate, @InstockDate, @CostPrice,
@RetailPrice, @Amount, @FactAmount,@Odds, @SumCost, @SumRetail,@CommodityName,@Spec,@DoseTypeName,@ProducingArea,
@Unit , @AuthorizeCode,@SpellCode,@TXM,@CustomCode,@CurrentRetailPrice,@IsChinese,@CounterId
while @@FETCH_STATUS = 0
Begin
insert into MonthCommodityStock (DepotId, EmbranchmentId, CommodityId, InOrder, MonthReckoningID , BatchCode, ProductDate, InvalidateDate, InstockDate, CostPrice,
RetailPrice, Amount, FactAmount,Odds, SumCost, SumRetail,CommodityName,Spec,DoseTypeName,ProducingArea,
Unit , AuthorizeCode,SpellCode,TXM,CustomCode,CurrentRetailPrice,IsChinese,CounterId)
values (@DepotId, @EmbranchmentId, @CommodityId, @InOrder,@Sequence_NextId ,@BatchCode, @ProductDate, @InvalidateDate, @InstockDate, @CostPrice,
@RetailPrice, @Amount, @FactAmount,@Odds, @SumCost, @SumRetail,@CommodityName,@Spec,@DoseTypeName,@ProducingArea,
@Unit , @AuthorizeCode,@SpellCode,@TXM,@CustomCode,@CurrentRetailPrice,@IsChinese,@CounterId)
if @@error <>0
begin
SELECT @ErrorMessage='插入月结库存出错!'
Select @ErrorInfoId=-2
ROLLBACK
RETURN -2
end
fetch next from Cur
into @DepotId, @EmbranchmentId, @CommodityId, @InOrder, @BatchCode, @ProductDate, @InvalidateDate, @InstockDate, @CostPrice,
@RetailPrice, @Amount, @FactAmount,@Odds, @SumCost, @SumRetail,@CommodityName,@Spec,@DoseTypeName,@ProducingArea,
@Unit , @AuthorizeCode,@SpellCode,@TXM,@CustomCode,@CurrentRetailPrice,@IsChinese,@CounterId
End
SELECT @IYear = DATEPART(yy, GETDATE())
SELECT @IMonth = DATEPART(mm, GETDATE())
--插入月结表
Insert into MonthReckoning (MonthReckoningID, IYear,IMonth,RecckonTime,Remark)
Values (@Sequence_NextId ,@IYear, @IMonth,GETDATE(),'')
if @@error <>0
begin
SELECT @ErrorMessage='插入月结出错!'
Select @ErrorInfoId=-3
ROLLBACK
RETURN -3
end
--更新InoutStockTable表,把本月的所有发生的记录的"MonthReckoningID"设置为本次的"MonthReckoningID"
Update InoutStockTable
Set MonthReckoningID=@Sequence_NextId
WHERE (DATEPART(yy, BusinessDate) = @IYear) AND (DATEPART(mm, BusinessDate) =@IMonth)
if @@error <>0
begin
SELECT @ErrorMessage='更新InoutStockTable出错!'
Select @ErrorInfoId=-4
ROLLBACK
RETURN -4
end
Update Sequences
Set Sequence_NextId=@Sequence_NextId+1
where Sequence_Name like 'MonthReckoning'
if @@error <>0
begin
SELECT @ErrorMessage='更新Sequences出错!'
Select @ErrorInfoId=-5
ROLLBACK
RETURN -5
end
SELECT @ErrorMessage='月结成功!'
Select @ErrorInfoId=1
CLOSE Cur
DEALLOCATE Cur
Commit Tran
RETURN 0
end
else
begin
SELECT @ErrorMessage='无库存!'
Select @ErrorInfoId=-6
ROLLBACK
RETURN -6
end
GO
/****** Object: View [dbo].[V_InoutStockTable] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[V_InoutStockTable]
AS
SELECT dbo.InoutStockTable.Guid, dbo.InoutStockTable.EmbranchmentId, dbo.InoutStockTable.StockId, dbo.InoutStockTable.BillType, dbo.InoutStockTable.BillId, dbo.InoutStockTable.BillCode, dbo.InoutStockTable.BusinessDate, dbo.InoutStockTable.AuditDate, dbo.InoutStockTable.RowNum, dbo.InoutStockTable.CommodityId, dbo.InoutStockTable.BatchCode, dbo.InoutStockTable.PreCostPrice, dbo.InoutStockTable.PreSalePrice, dbo.InoutStockTable.PreBatchSalePrice, dbo.InoutStockTable.ChangePrice, dbo.InoutStockTable.Discount, dbo.InoutStockTable.DiscountPrice, dbo.InoutStockTable.OriginalAmount, dbo.InoutStockTable.PreAmount, dbo.InoutStockTable.ChangeAmount, dbo.InoutStockTable.InAmount, dbo.InoutStockTable.OutAmount, dbo.InoutStockTable.CurAmount, dbo.InoutStockTable.PreCostSumMoney, dbo.InoutStockTable.PreSaleSumMoney, dbo.InoutStockTable.PreBatchSaleSumMoney, dbo.InoutStockTable.ChangeSumMoney, dbo.InoutStockTable.CurCostPrice, dbo.InoutStockTable.CurSalePrice, dbo.InoutStockTable.CurBatchSalePrice, dbo.InoutStockTable.CurCostSumMoney, dbo.InoutStockTable.CurSaleSumMoney, dbo.InoutStockTable.CurBatchSaleSumMoney, dbo.InoutStockTable.ProductDate, dbo.InoutStockTable.InvalidateDate, dbo.InoutStockTable.IsAmountChanged, dbo.InoutStockTable.IsMoneyChanged, dbo.InoutStockTable.ProviderId, dbo.InoutStockTable.CustomerId, dbo.InoutStockTable.InStockId, dbo.InoutStockTable.OutStockId, dbo.InoutStockTable.DataVersion, dbo.InoutStockTable.CommodityName, dbo.InoutStockTable.Spec, dbo.InoutStockTable.DoseTypeName, dbo.InoutStockTable.ProducingArea, dbo.InoutStockTable.Unit, dbo.InoutStockTable.CreatorName, dbo.InoutStockTable.BusinessName, dbo.InoutStockTable.BillCodeName, dbo.InoutStockTable.StockName, dbo.InoutStockTable.EmbranchmentName, dbo.InoutStockTable.ProviderName, dbo.InoutStockTable.CustomerName, dbo.InoutStockTable.InStockName, dbo.InoutStockTable.OutStockName, dbo.InoutStockTable.Remark, dbo.InoutStockTable.AuthorizeCode, dbo.InoutStockTable.CustomCode, dbo.InoutStockTable.EntireDisCount, dbo.InoutStockTable.MonthReckoningID, dbo.InoutStockTable.CounterId, dbo.InoutStockTable.CounterName, dbo.InoutStockTable.IsZY, dbo.InoutStockTable.PayType, dbo.InoutStockTable.CardId, dbo.InoutStockTable.CardCode, dbo.InoutStockTable.Medicare, dbo.InoutStockTable.PayCard, dbo.InoutStockTable.PackingId, dbo.InoutStockTable.PackingName, dbo.InoutStockTable.CustomStr, dbo.InoutStockTable.ProductName, dbo.InoutStockTable.IsMedicare, dbo.InoutStockTable.MedicareFlag1, dbo.InoutStockTable.MedicareFlag2, dbo.InoutStockTable.MedicareFlag3, dbo.InoutStockTable.MedicareFlag4, dbo.InoutStockTable.MedicareFlag5Date, dbo.InoutStockTable.PaySYB, dbo.InoutStockTable.PayKYB, dbo.InoutStockTable.PayYB, dbo.InoutStockTable.PayCardNO, dbo.InoutStockTable.PayCardMoneyBefore, dbo.InoutStockTable.PayCardMoneyAfter, dbo.InoutStockTable.ReturnPayCard, dbo.InoutStockTable.PayMoney, dbo.InoutStockTable.ReturnMoney, dbo.InoutStockTable.IsMemberPrice, dbo.InoutStockTable.Status, dbo.InoutStockTable.CostMemberPrice, dbo.InoutStockTable.CurMemberPrice, dbo.InoutStockTable.PreMemberPrice, dbo.InoutStockTable.SumPayCard, dbo.InoutStockTable.SumReturnPayCard, dbo.InoutStockTable.CardDataVersion, dbo.InoutStockTable.IsLottery, dbo.InoutStockTable.CompanyId, dbo.InoutStockTable.CFF,
dbo.Commodity.A,
dbo.Commodity.B,
dbo.Commodity.C,
dbo.Commodity.D FROM dbo.InoutStockTable INNER JOIN dbo.Commodity ON InoutStockTable.CommodityId=Commodity.CommodityId AND InoutStockTable.PackingId=Commodity.PackingId
GO
/****** Object: View [dbo].[V_EmployeeFunction] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[V_EmployeeFunction]
AS
SELECT em.EmployeeId, empost.PostId, pf.FunctionId, ft.FuncName, ft.Tag
FROM dbo.Employee em INNER JOIN
dbo.EmployeePost empost ON em.EmployeeId = empost.EmployeeId INNER JOIN
dbo.PostFunc pf ON empost.PostId = pf.PostId INNER JOIN
dbo.FunctionTree ft ON ft.FuncId = pf.FunctionId
GO
/****** Object: View [dbo].[v_EmployeeAndExamination] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[v_EmployeeAndExamination]
AS
SELECT dbo.FoodEmbranchmentEmployee.Name AS EmployeeName, dbo.FoodEmbranchmentEmployee.Sex AS EmployeeSex,
dbo.FoodEmbranchmentEmployeeExamination.EmbranchmentId, dbo.FoodEmbranchmentEmployeeExamination.EmployeeId,
dbo.FoodEmbranchmentEmployeeExamination.CheckDate, dbo.FoodEmbranchmentEmployeeExamination.HealthStatus,
dbo.FoodEmbranchmentEmployeeExamination.Additional
FROM dbo.FoodEmbranchmentEmployee INNER JOIN
dbo.FoodEmbranchmentEmployeeExamination ON
dbo.FoodEmbranchmentEmployee.EmbranchmentId = dbo.FoodEmbranchmentEmployeeExamination.EmbranchmentId AND
dbo.FoodEmbranchmentEmployee.EmployeeId = dbo.FoodEmbranchmentEmployeeExamination.EmployeeId
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
Begin PaneConfigurations =
Begin PaneConfiguration = 0
NumPanes = 4
Configuration = "(H (1[40] 4[20] 2[20] 3) )"
End
Begin PaneConfiguration = 1
NumPanes = 3
Configuration = "(H (1 [50] 4 [25] 3))"
End
Begin PaneConfiguration = 2
NumPanes = 3
Configuration = "(H (1 [50] 2 [25] 3))"
End
Begin PaneConfiguration = 3
NumPanes = 3
Configuration = "(H (4 [30] 2 [40] 3))"
End
Begin PaneConfiguration = 4
NumPanes = 2
Configuration = "(H (1 [56] 3))"
End
Begin PaneConfiguration = 5
NumPanes = 2
Configuration = "(H (2 [66] 3))"
End
Begin PaneConfiguration = 6
NumPanes = 2
Configuration = "(H (4 [50] 3))"
End
Begin PaneConfiguration = 7
NumPanes = 1
Configuration = "(V (3))"
End
Begin PaneConfiguration = 8
NumPanes = 3
Configuration = "(H (1[56] 4[18] 2) )"
End
Begin PaneConfiguration = 9
NumPanes = 2
Configuration = "(H (1 [75] 4))"
End
Begin PaneConfiguration = 10
NumPanes = 2
Configuration = "(H (1[66] 2) )"
End
Begin PaneConfiguration = 11
NumPanes = 2
Configuration = "(H (4 [60] 2))"
End
Begin PaneConfiguration = 12
NumPanes = 1
Configuration = "(H (1) )"
End
Begin PaneConfiguration = 13
NumPanes = 1
Configuration = "(V (4))"
End
Begin PaneConfiguration = 14
NumPanes = 1
Configuration = "(V (2))"
End
ActivePaneConfig = 0
End
Begin DiagramPane =
Begin Origin =
Top = 0
Left = 0
End
Begin Tables =
Begin Table = "FoodEmbranchmentEmployee"
Begin Extent =
Top = 6
Left = 38
Bottom = 121
Right = 217
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "FoodEmbranchmentEmployeeExamination"
Begin Extent =
Top = 6
Left = 255
Bottom = 121
Right = 417
End
DisplayFlags = 280
TopColumn = 0
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
End
Begin CriteriaPane =
Begin ColumnWidths = 11
Column = 5085
Alias = 900
Table = 1170
Output = 720
Append = 1400
NewValue = 1170
SortType = 1350
SortOrder = 1410
GroupBy = 1350
Filter = 1350
Or = 1350
Or = 1350
Or = 1350
End
End
End
' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'VIEW',@level1name=N'v_EmployeeAndExamination'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'VIEW',@level1name=N'v_EmployeeAndExamination'
GO
/****** Object: View [dbo].[V_CommodityPedigree] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[V_CommodityPedigree]
AS
SELECT dbo.CatalogPedigree.CatalogType, dbo.CatalogPedigree.ParentId,
dbo.CatalogPedigree.ChildId, dbo.CatalogPedigree.ParentClass,
dbo.CatalogPedigree.ChildClass, dbo.CatalogPedigree.DataVersion,
dbo.CatalogPedigree.Deleted, dbo.Commodity.CatalogId,
dbo.Commodity.CommodityId, dbo.Commodity.ProductName,
dbo.Commodity.GeneralName, dbo.Commodity.EnglishName,
dbo.Commodity.ProducingArea, dbo.Commodity.Spec, dbo.Commodity.DoseType,
dbo.Commodity.AuthorizeCode, dbo.Commodity.Unit, dbo.Commodity.Gmp,
dbo.Commodity.Otc, dbo.Commodity.Import, dbo.Commodity.Medicare,
dbo.Commodity.TradePrice, dbo.Commodity.RetailPrice, dbo.Commodity.UnifyCode,
dbo.Commodity.SpellCode, dbo.Commodity.CustomCode, dbo.Commodity.Guid,
dbo.Commodity.DataVersion AS Expr1,
dbo.Commodity.Disabled
FROM dbo.CatalogPedigree RIGHT OUTER JOIN
dbo.Commodity ON dbo.CatalogPedigree.ChildId = dbo.Commodity.CatalogId AND
dbo.CatalogPedigree.CatalogType = 2
GO
/****** Object: View [dbo].[v_cardinout] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[v_cardinout]
AS
SELECT
dbo.InoutStockTableCard.Guid,
dbo.InoutStockTableCard.EmbranchmentId,
dbo.InoutStockTableCard.StockId,
dbo.InoutStockTableCard.BillType,
dbo.InoutStockTableCard.BillId,
dbo.InoutStockTableCard.BillCode,
dbo.InoutStockTableCard.BusinessDate,
dbo.InoutStockTableCard.AuditDate,
dbo.InoutStockTableCard.RowNum,
dbo.InoutStockTableCard.CommodityId,
dbo.InoutStockTableCard.BatchCode,
dbo.InoutStockTableCard.PreCostPrice,
dbo.InoutStockTableCard.PreSalePrice,
dbo.InoutStockTableCard.PreBatchSalePrice,
dbo.InoutStockTableCard.ChangePrice,
dbo.InoutStockTableCard.Discount,
dbo.InoutStockTableCard.DiscountPrice,
dbo.InoutStockTableCard.OriginalAmount,
dbo.InoutStockTableCard.PreAmount,
dbo.InoutStockTableCard.ChangeAmount,
dbo.InoutStockTableCard.InAmount,
dbo.InoutStockTableCard.OutAmount,
dbo.InoutStockTableCard.CurAmount,
dbo.InoutStockTableCard.PreCostSumMoney,
dbo.InoutStockTableCard.PreSaleSumMoney,
dbo.InoutStockTableCard.PreBatchSaleSumMoney,
dbo.InoutStockTableCard.ChangeSumMoney,
dbo.InoutStockTableCard.CurCostPrice,
dbo.InoutStockTableCard.CurSalePrice,
dbo.InoutStockTableCard.CurBatchSalePrice,
dbo.InoutStockTableCard.CurCostSumMoney,
dbo.InoutStockTableCard.CurSaleSumMoney,
dbo.InoutStockTableCard.CurBatchSaleSumMoney,
dbo.InoutStockTableCard.ProductDate,
dbo.InoutStockTableCard.InvalidateDate,
dbo.InoutStockTableCard.IsAmountChanged,
dbo.InoutStockTableCard.IsMoneyChanged,
dbo.InoutStockTableCard.ProviderId,
dbo.InoutStockTableCard.CustomerId,
dbo.InoutStockTableCard.InStockId,
dbo.InoutStockTableCard.OutStockId,
dbo.InoutStockTableCard.DataVersion,
dbo.InoutStockTableCard.CommodityName,
dbo.InoutStockTableCard.Spec,
dbo.InoutStockTableCard.DoseTypeName,
dbo.InoutStockTableCard.ProducingArea,
dbo.InoutStockTableCard.Unit,
dbo.InoutStockTableCard.CreatorName,
dbo.InoutStockTableCard.BusinessName,
dbo.InoutStockTableCard.BillCodeName,
dbo.InoutStockTableCard.StockName,
dbo.Embranchment.Name as EmbranchmentName,
dbo.InoutStockTableCard.ProviderName,
dbo.InoutStockTableCard.CustomerName,
dbo.InoutStockTableCard.InStockName,
dbo.InoutStockTableCard.OutStockName,
dbo.InoutStockTableCard.Remark,
dbo.InoutStockTableCard.AuthorizeCode,
dbo.InoutStockTableCard.CustomCode,
dbo.InoutStockTableCard.EntireDisCount,
dbo.InoutStockTableCard.MonthReckoningID,
dbo.InoutStockTableCard.CounterId,
dbo.InoutStockTableCard.CounterName,
dbo.InoutStockTableCard.IsZY,
dbo.InoutStockTableCard.PayType,
dbo.InoutStockTableCard.CardCode,
dbo.InoutStockTableCard.PayCard,
dbo.InoutStockTableCard.PackingId,
dbo.InoutStockTableCard.PackingName,
dbo.InoutStockTableCard.CustomStr,
dbo.InoutStockTableCard.ProductName,
dbo.InoutStockTableCard.IsMedicare,
dbo.InoutStockTableCard.MedicareFlag1,
dbo.InoutStockTableCard.MedicareFlag2,
dbo.InoutStockTableCard.MedicareFlag3,
dbo.InoutStockTableCard.MedicareFlag4,
dbo.InoutStockTableCard.MedicareFlag5Date,
dbo.Commodity.Medicare,
dbo.InoutStockTableCard.ReturnPayCard ,
dbo.InoutStockTableCard.CostMemberPrice
FROM
dbo.InoutStockTableCard
LEFT OUTER JOIN dbo.Commodity ON (dbo.InoutStockTableCard.CommodityId = dbo.Commodity.CommodityId)
LEFT OUTER JOIN dbo.Embranchment ON(dbo.InoutStockTableCard.EmbranchmentId = dbo.Embranchment.EmbranchmentId)
GO
/****** Object: View [dbo].[UserFunction] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[UserFunction]
AS
SELECT x.Name AS UserName, k.Path, z.ExFunction1Checked, z.ExFunction2Checked, z.ExFunction3Checked, z.ExFunction4Checked
FROM dbo.MembershipUser AS x INNER JOIN
dbo.ApplicationUserRole AS y ON x.Id = y.UserId INNER JOIN
dbo.WebFunctionRole AS z ON y.RoleId = z.RoleId INNER JOIN
dbo.WebFunction AS k ON z.WebFunctionId = k.Id
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
Begin DesignProperties =
Begin PaneConfigurations =
Begin PaneConfiguration = 0
NumPanes = 4
Configuration = "(H (1[40] 4[20] 2[20] 3) )"
End
Begin PaneConfiguration = 1
NumPanes = 3
Configuration = "(H (1 [50] 4 [25] 3))"
End
Begin PaneConfiguration = 2
NumPanes = 3
Configuration = "(H (1 [50] 2 [25] 3))"
End
Begin PaneConfiguration = 3
NumPanes = 3
Configuration = "(H (4 [30] 2 [40] 3))"
End
Begin PaneConfiguration = 4
NumPanes = 2
Configuration = "(H (1 [56] 3))"
End
Begin PaneConfiguration = 5
NumPanes = 2
Configuration = "(H (2 [66] 3))"
End
Begin PaneConfiguration = 6
NumPanes = 2
Configuration = "(H (4 [50] 3))"
End
Begin PaneConfiguration = 7
NumPanes = 1
Configuration = "(V (3))"
End
Begin PaneConfiguration = 8
NumPanes = 3
Configuration = "(H (1[56] 4[18] 2) )"
End
Begin PaneConfiguration = 9
NumPanes = 2
Configuration = "(H (1 [75] 4))"
End
Begin PaneConfiguration = 10
NumPanes = 2
Configuration = "(H (1[66] 2) )"
End
Begin PaneConfiguration = 11
NumPanes = 2
Configuration = "(H (4 [60] 2))"
End
Begin PaneConfiguration = 12
NumPanes = 1
Configuration = "(H (1) )"
End
Begin PaneConfiguration = 13
NumPanes = 1
Configuration = "(V (4))"
End
Begin PaneConfiguration = 14
NumPanes = 1
Configuration = "(V (2))"
End
ActivePaneConfig = 0
End
Begin DiagramPane =
Begin Origin =
Top = 0
Left = 0
End
Begin Tables =
Begin Table = "x"
Begin Extent =
Top = 6
Left = 38
Bottom = 114
Right = 269
End
DisplayFlags = 280
TopColumn = 8
End
Begin Table = "y"
Begin Extent =
Top = 6
Left = 307
Bottom = 99
Right = 449
End
DisplayFlags = 280
TopColumn = 0
End
Begin Table = "z"
Begin Extent =
Top = 6
Left = 487
Bottom = 84
Right = 640
End
DisplayFlags = 280
TopColumn = 1
End
Begin Table = "k"
Begin Extent =
Top = 6
Left = 678
Bottom = 99
Right = 811
End
DisplayFlags = 280
TopColumn = 2
End
End
End
Begin SQLPane =
End
Begin DataPane =
Begin ParameterDefaults = ""
End
Begin ColumnWidths = 9
Width = 284
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
Width = 1500
End
End
Begin CriteriaPane =
Begin ColumnWidths = 11
Column = 1440
Alias = 900
Table = 1170
Output = 720
Append = 1400
NewValue = 1170
SortType = 1350
SortOrder = 1410
GroupBy = 1350
Filter = 1350
Or = 1350
Or = 1350
Or = 1350
End
End
End
' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'VIEW',@level1name=N'UserFunction'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPaneCount', @value=1 , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'VIEW',@level1name=N'UserFunction'
GO
/****** Object: StoredProcedure [dbo].[updateCommodityIds] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE procedure [dbo].[updateCommodityIds]
as
begin
declare @commodityid int,@ProductName varchar(25)
if exists(select * from sysobjects where name='t' )
drop table t
select commodityId into t from commodity group by commodityId having count(*)>1 order by commodityid
if exists(select * from sysobjects where name='t1')
drop table t1
select commodityId,productName into t1 from commodity where commodityid in(select * from t)
declare current_row cursor for select * from t1
open current_row
fetch next from current_row into @commodityId,@ProductName
while @@fetch_status=0
begin
if @ProductName is null
begin
exec upCommodityid @commodityId
print '第'+@commodityId+'条记录已经更新'
end
fetch next from current_row into @commodityId,@ProductName
end
close current_row
deallocate current_row
drop table t
drop table t1
end
exec up_distinct 'commodity','commodityId'
GO
/****** Object: StoredProcedure [dbo].[gxcommdotystock] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
create procedure [dbo].[gxcommdotystock]
as
declare @billId int
declare @fss int
DECLARE gxcommodityStock CURSOR FOR select billId ,fss from c
where fss-fs>1 --声明一个可循环操作的游标
OPEN gxcommodityStock --打开游标
FETCH next FROM gxcommodityStock INTO @billId,@fss --游标移到第一个记录
WHILE (@@FETCH_STATUS=0) --检查游标是不是最后一个,如果不是则进行中间的程序
BEGIN
exec foo @fss,@billId --一段处理程序段
FETCH next FROM gxcommodityStock INTO @billId,@fss --游标移到下一个记录
END
CLOSE gxcommodityStock --关闭游标
DEALLOCATE gxcommodityStock --释放游标
GO
/****** Object: StoredProcedure [dbo].[ConversionData_Auto_Audit] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[ConversionData_Auto_Audit]
(
@CommodityId_Old_pra INT,
@CommodityId_New_pra INT,
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
as
DECLARE @CommodityId_Old int
DECLARE @GeneralName_Old varchar(100)
DECLARE @ProductName_Old varchar(100)
DECLARE @EnglishName_Old varchar(200)
DECLARE @Spec_Old varchar(200)
DECLARE @ProducingArea_Old varchar(100)
DECLARE @DoseType_Old varchar(50)
DECLARE @AuthorizeCode_Old varchar(50)
DECLARE @Unit_Old varchar(50)
DECLARE @SpellCode_Old varchar(100)
DECLARE @CustomCode_Old varchar (50)
DECLARE @TXM_Old varchar (60)
DECLARE @ZhongChengYao_Old bit
DECLARE @ZhongYaoCai_Old bit
DECLARE @ZhongYaoCaiContent_Old varchar(100)
DECLARE @ZhongYaoYinPian_Old bit
DECLARE @ZhongYaoYinPianContent_Old varchar(100)
DECLARE @HXYZJ_Old bit
DECLARE @HXYLY_Old bit
DECLARE @KSS_Old bit
DECLARE @SHYP_Old bit
DECLARE @SWZP_Old bit
DECLARE @SWZPCYM_Old bit
DECLARE @SWZPCXYYP_Old bit
DECLARE @SWZPXZDYP_Old bit
DECLARE @MZYP_Old bit
DECLARE @MZYPContent_Old varchar (100)
DECLARE @JSYP_Old bit
DECLARE @JSYPContent_Old varchar(100)
DECLARE @YLYDXYP_Old bit
DECLARE @YLYDXYPContent_Old varchar(100)
DECLARE @FSXYP_Old bit
DECLARE @YM_Old bit
DECLARE @Import_Old bit
DECLARE @RetailPrice_Old decimal (18,4)
Select @ErrorMessage='转换完成'
DECLARE Cur_CommodityStock CURSOR FOR
Select CommodityId,CommodityName,Spec,DoseTypeName,ProducingArea,Unit,Upper (AuthorizeCode) as AuthorizeCode,SpellCode,TXM,CustomCode,RetailPrice from CommodityStock where CommodityId<1000000 and AuthorizeCode like '国药准字%'
open Cur_CommodityStock
fetch next from Cur_CommodityStock
into @CommodityId_Old , @GeneralName_Old , @Spec_Old , @DoseType_Old,@ProducingArea_Old,@Unit_Old , @AuthorizeCode_Old,@SpellCode_Old,@TXM_Old,@CustomCode_Old,@RetailPrice_Old
while @@FETCH_STATUS = 0
begin
execute ConversionData_Auto_Child_Audit @CommodityId_Old , @GeneralName_Old ,@ProductName_Old , @Spec_Old , @DoseType_Old,@ProducingArea_Old,@Unit_Old , @AuthorizeCode_Old,@SpellCode_Old,@TXM_Old,@CustomCode_Old,@RetailPrice_Old
fetch next from Cur_CommodityStock
into @CommodityId_Old , @GeneralName_Old , @Spec_Old , @DoseType_Old,@ProducingArea_Old,@Unit_Old , @AuthorizeCode_Old,@SpellCode_Old,@TXM_Old,@CustomCode_Old,@RetailPrice_Old
end
return
GO
/****** Object: StoredProcedure [dbo].[CreateEmbranchment] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
CREATE PROCEDURE [dbo].[CreateEmbranchment](@EmbranchmentId varchar(25), @PollCode varchar(50),@SiteCount int) AS
declare @ColumnName varchar(50)
select @ColumnName='EmbranchmentId'
declare @StringValue_PollCode varchar(100)
declare @IntValue_EmbranchmentId int
declare @IntValue_SiteCount int
if(exists(select * from sysobjects where sysobjects.Type='U' and name='SysData'))
begin
select @StringValue_PollCode=StringValue from SysData where Name ='PollCode'
select @IntValue_EmbranchmentId=IntValue from SysData where Name ='EmbranchmentId'
select @IntValue_SiteCount=IntValue from SysData where Name ='SiteCount'
if ((@StringValue_PollCode='0') or (@StringValue_PollCode=''))
begin
delete SysData
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('AccountType',0,0,'单体店',Null,'账套类型,监控中心,连锁分店,连锁分店,单体店,批发企业')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('EmbranchmentId',cast(@EmbranchmentId as int),cast(@EmbranchmentId as decimal),'分支机构',Null,'软件所在的分支')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('SystemStatus',0,0,'0',Null,'系统状态:0,期初;1,开帐')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('CheckPD',0,0,'盘点',Null,'盘点:0是不在盘点状态,1是在盘点状态')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('ConversionData_Ini',0,Null,Null,Null,'转换数据之前的初始化:0未,1是')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('Bulletin',0,0,'处理新公告',Null,'公告操作:0,自动弹出;1,用户操作')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('DiscountPWD',0,0,'',Null,'零售折扣销售密码')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('PollCode',0,0,@PollCode,Null,'注册码')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('SiteCount',@SiteCount,@SiteCount,'',Null,'站点数')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('SiteTime',24,24,'',Null,'站点联接失效小时')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('CheckCard',0,0,'会员卡店',Null,'0:不是会员卡店,1:是会员卡店')
execute upFieldData @ColumnName=@ColumnName,@ColumnValue=@EmbranchmentId
execute sequencesIni
execute dataVersionIni
end
else
begin
if (@IntValue_EmbranchmentId<>@EmbranchmentId)
begin
delete SysData
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('AccountType',0,0,'单体店',Null,'账套类型,监控中心,连锁分店,连锁分店,单体店,批发企业')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('EmbranchmentId',cast(@EmbranchmentId as int),cast(@EmbranchmentId as decimal),'分支机构',Null,'软件所在的分支')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('SystemStatus',0,0,'0',Null,'系统状态:0,期初;1,开帐')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('CheckPD',0,0,'盘点',Null,'盘点:0是不在盘点状态,1是在盘点状态')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('ConversionData_Ini',0,Null,Null,Null,'转换数据之前的初始化:0未,1是')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('Bulletin',0,0,'处理新公告',Null,'公告操作:0,自动弹出;1,用户操作')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('DiscountPWD',0,0,'',Null,'零售折扣销售密码')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('PollCode',0,0,@PollCode,Null,'注册码')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('SiteCount',@SiteCount,@SiteCount,'',Null,'站点数')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('SiteTime',24,24,'',Null,'站点联接失效小时')
insert into sysData (Name,IntValue,NumberValue,StringValue,DateValue,Remark) values('CheckCard',0,0,'会员卡店',Null,'0:不是会员卡店,1:是会员卡店')
execute upFieldData @ColumnName=@ColumnName,@ColumnValue=@EmbranchmentId
end
if (@StringValue_PollCode<>@PollCode)
begin
Update SysData Set StringValue=@PollCode where Name='PollCode'
end
if (@IntValue_SiteCount<>@SiteCount)
begin
Update SysData Set IntValue=@SiteCount,NumberValue=@SiteCount where Name='SiteCount'
end
end
end
else
begin
print '没有找到表sysData,请创建这个表,然后再运行这个存储过程。'
return
end
GO
/****** Object: StoredProcedure [dbo].[CreateBill] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[CreateBill]
(@UserId int) AS
/*BillDetailReportSpill对应的表*/
DECLARE @EmbranchmentId smallint
DECLARE @BillType tinyint
DECLARE @BillId int
DECLARE @RowNum int
DECLARE @CommodityId int
DECLARE @Batchcode varchar(50)
DECLARE @Price decimal (18,4)
DECLARE @Amount decimal (18,4)
DECLARE @SumMoney decimal (18,4)
DECLARE @ProductDate datetime
DECLARE @InvalidateDate datetime
DECLARE @RetailPrice decimal (18,4)
/*Bill对应的表*/
DECLARE @InStockId int
DECLARE @OutStockId int
DECLARE @BillFlowId smallint
DECLARE @BillCode varchar(12)
DECLARE @CreateDate smalldatetime
DECLARE @CreatorId int
DECLARE @BusinessDate smalldatetime
DECLARE @BusinessId smallint
DECLARE @AuditDate smalldatetime
DECLARE @AuditorId smallint
DECLARE @ProviderId smallint
DECLARE @CustomerId int
--DECLARE @CardId int
DECLARE @Status tinyint
DECLARE @Discount decimal(5)
/*DECLARE @SumMoney decimal(9)*/
DECLARE @FactSumMoney decimal(9)
DECLARE @OutDepotId tinyint
DECLARE @Summary varchar(100)
DECLARE @Remark varchar(100)
DECLARE @ShiftId int
DECLARE @Guid uniqueidentifier
DECLARE @BusinessName varchar(50)
declare @CreatorName varchar(50)
/*CommodityStock定义的变量*/
DECLARE @Odds int
DECLARE @FactAmount int
DECLARE @PackingId int
DECLARE @PackingName varchar(50)
DECLARE @CustomStr varchar(100)
DECLARE @ProductName varchar(100)
/*BillDetailReportLoss对应的变量*/
DECLARE @ValidateDate datetime
DECLARE @CommodityName varchar(50)
DECLARE @Spec varchar(25)
DECLARE @DoseTypeName varchar(50)
DECLARE @Unit varchar(25)
DECLARE @ProducingArea varchar(50)
DECLARE @AuthorizeCode varchar(50)
DECLARE @CustomCode varchar(25)
DECLARE @InOrder int
DECLARE @CounterId int
DECLARE @CounterName varchar(50)
DECLARE @SpellCode varchar(50)
DECLARE @IsChinese bit
DECLARE @BillCodeName varchar(50)
DECLARE @EmbranchmentName varchar(50)
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
select @EmbranchmentId=1,@BillId=1,@BillType=4,@BillFlowId=0,@CreateDate=GETDATE(),@CreatorId=0,@BusinessDate=GETDATE(),@BusinessId=0,@AuditDate=GETDATE(),@AuditorId=0,@ProviderId=0,@CustomerId=0,/*@CardId=0,*/@Status=1,@SumMoney=0,@FactSumMoney=0,@Discount=1,@BillCode='',@InStockId=0,@OutDepotId=0,
@Summary=0,@Remark='0',@ShiftId=0,@RowNum=0
DECLARE Cur_CommodityStockForSpill CURSOR FOR
SELECT EmbranchmentId, 4 AS BillType, (SELECT sequence_NextId FROM Sequences WHERE Sequence_Name = 'BillId') AS BillId, CommodityId, BatchCode, CostPrice, Odds,
0 AS SumMoney,
ProductDate,
InvalidateDate, RetailPrice,FactAmount,DepotId,CommodityName,Spec,ProducingArea,Unit,DoseTypeName,AuthorizeCode,CounterId,CounterName,CustomCode,InOrder,SpellCode,IsChinese,PackingId,PackingName ,CustomStr,ProductName
FROM CommodityStock
WHERE (Odds > 0)
open Cur_CommodityStockForSpill
fetch next from Cur_CommodityStockForSpill
into @EmbranchmentId,@BillType,@BillId,@CommodityId,@BatchCode,@Price,@Amount,@SumMoney,@ProductDate,@InvalidateDate,@RetailPrice,@FactAmount,@InStockId,@CommodityName,@Spec,@ProducingArea,@Unit,@DoseTypeName,@AuthorizeCode,@CounterId,@CounterName,@CustomCode,@InOrder,@SpellCode,@IsChinese,@PackingId, @PackingName ,@CustomStr,@ProductName
while @@FETCH_STATUS=0
begin
SELECT @SumMoney=@Price*@Amount
INSERT INTO BillDetailReportSpill (EmbranchmentId,BillType,BillId,RowNum,CommodityId,BatchCode,Price,Amount,SumMoney,ProductDate,InvalidateDate,RetailPrice, CommodityName, Spec, DoseTypeName, Unit, ProducingArea, AuthorizeCode, CustomCode, InOrder, CounterId, CounterName,SpellCode,IsChinese,PackingId, PackingName ,CustomStr,ProductName)
VALUES(@EmbranchmentId,@BillType,@BillId,@RowNum,@CommodityId,@BatchCode,@Price,@Amount,@SumMoney,@ProductDate,@InvalidateDate,@RetailPrice,@CommodityName,@Spec,@DoseTypeName,@Unit,@ProducingArea,@AuthorizeCode,@CustomCode,@InOrder,@CounterId,@CounterName,@SpellCode,@IsChinese,@PackingId, @PackingName ,@CustomStr,@ProductName )
fetch next from Cur_CommodityStockForSpill
into @EmbranchmentId,@BillType,@BillId,@CommodityId,@BatchCode,@Price,@Amount,@SumMoney,@ProductDate,@InvalidateDate,@RetailPrice,@FactAmount,@InStockId,@CommodityName,@Spec,@ProducingArea,@Unit,@DoseTypeName,@AuthorizeCode,@CounterId,@CounterName,@CustomCode,@InOrder,@SpellCode,@IsChinese,@PackingId, @PackingName ,@CustomStr,@ProductName
SELECT @RowNum=@RowNum+1
end
print '编号:'+cast(@commodityId as varchar)+'名称:'+@CommodityName+'数量:'+cast(@Amount as varchar)+'被报溢。'
if(exists(select * from billDetailReportSpill where billId=@BillId))
begin
SELECT @Remark='自动盘点->报溢->于 '+cast(getDate() as varchar)
SELECT @Summary=@Remark
select @OutStockId=0
select @SumMoney=(select sum(sumMoney) from billDetailReportSpill where billId=@BillId)
exec bill_GetCode @id=4,@szReturn=@BillCode output
select @BillCodeName='报溢单'
select @CreatorId=@UserId,@BusinessName=(select Name from employee where employeeId=@UserId)
select @EmbranchmentName=name from embranchment
select @BusinessId=@userId,@outStockId=1,@CreatorId=@UserId
INSERT INTO Bill(InStockName,OutStockName,EmbranchmentName,zysId,fs,EmbranchmentId,BillId,BillType,BillFlowId,BillCode,CreateDate,CreatorId,BusinessDate,BusinessId,AuditDate,AuditorId,ProviderId,CustomerId,/*CardId,*/Status,SumMoney,FactSumMoney,Discount,InStockId,OutStockId,Summary,Remark,ShiftId,BillCodeName,BusinessName)
VALUES ('仓库','仓库',@EmbranchmentName,0,1,@EmbranchmentId,@BillId,@BillType,@BillFlowId,@BillCode,@CreateDate,@CreatorId,@BusinessDate,@BusinessId,@AuditDate,@AuditorId,@ProviderId,@CustomerId,/*@CardId,*/@Status,@SumMoney,@SumMoney,@Discount,@InStockId,@OutStockId,@Summary,@Remark,@ShiftId,@BillCodeName,@BusinessName)
SELECT @BillId=@BillId+1
UPDATE Sequences set sequence_NextId=@BillId WHERE Sequence_Name = 'BillId'
end
update commodityStock set Odds=0,FactAmount=Amount where Odds>0
COMMIT
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
select @EmbranchmentId=1,@BillId=1,@BillType=3,@BillFlowId=0,@CreateDate=GETDATE(),@CreatorId=0,@BusinessDate=GETDATE(),@BusinessId=0,@AuditDate=GETDATE(),@AuditorId=0,@ProviderId=0,@CustomerId=0,/*@CardId=0,*/@Status=1,@SumMoney=0,@FactSumMoney=0,@Discount=1,@BillCode=0,@InStockId=0,@OutStockId=0,
@Summary=0,@Remark='0',@ShiftId=0,@RowNum=0
select @CreatorName=name from employee
where employeeId=@UserId
DECLARE Cur_CommodityStockForLoss CURSOR FOR
SELECT EmbranchmentId, 3 AS BillType, (SELECT sequence_NextId FROM Sequences WHERE Sequence_Name = 'BillId') AS BillId, CommodityId, BatchCode, CostPrice, Odds,
0 AS SumMoney,
ProductDate,
InvalidateDate, RetailPrice,FactAmount,DepotId,CommodityName,Spec,ProducingArea,Unit,DoseTypeName,AuthorizeCode,CounterId,CounterName,CustomCode,InOrder,PackingId, PackingName ,CustomStr,ProductName
FROM CommodityStock
WHERE (Odds < 0)
open Cur_CommodityStockForLoss
fetch next from Cur_CommodityStockForLoss
into @EmbranchmentId,@BillType,@BillId,@CommodityId,@BatchCode,@Price,@Amount,@SumMoney,@ProductDate,@ValidateDate,@RetailPrice,@FactAmount,@OutStockId,@CommodityName,@Spec,@ProducingArea,@Unit,@DoseTypeName,@AuthorizeCode,@CounterId,@CounterName,@CustomCode,@InOrder,@PackingId, @PackingName ,@CustomStr,@ProductName
while @@FETCH_STATUS=0
begin
set @Amount=-@Amount
SELECT @SumMoney=@Price*@Amount
INSERT INTO BillDetailReportLoss (EmbranchmentId, BillType, BillId, RowNum, CommodityId, BatchCode, Price, Amount, SumMoney, ProductDate, ValidateDate, CommodityName, Spec, DoseTypeName, Unit, ProducingArea, AuthorizeCode, CustomCode, InOrder, CounterId, CounterName,PackingId, PackingName ,CustomStr,ProductName)
VALUES (@EmbranchmentId,@BillType,@BillId,@RowNum,@CommodityId,@BatchCode,@Price,@Amount,@SumMoney,@ProductDate,@ValidateDate,@CommodityName,@Spec,@DoseTypeName,@Unit,@ProducingArea,@AuthorizeCode,@CustomCode,@InOrder,@CounterId,@CounterName,@PackingId, @PackingName ,@CustomStr,@ProductName)
fetch next from Cur_CommodityStockForLoss
into @EmbranchmentId,@BillType,@BillId,@CommodityId,@BatchCode,@Price,@Amount,@SumMoney,@ProductDate,@ValidateDate,@RetailPrice,@FactAmount,@OutStockId,@CommodityName,@Spec,@ProducingArea,@Unit,@DoseTypeName,@AuthorizeCode,@CounterId,@CounterName,@CustomCode,@InOrder,@PackingId, @PackingName ,@CustomStr,@ProductName
select @RowNum=@RowNum+1
print '编号:'+cast(@commodityId as varchar)+'名称:'+@CommodityName+'数量:'+cast(@Amount as varchar)+'被报损。'
end
if(exists(select * from billDetailReportLoss where billId=@BillId))
begin
SELECT @Remark='自动盘点->报损->于 '+cast(getDate() as varchar)
SELECT @Summary=@Remark
select @InStockId =@outStockId
select @SumMoney=(select Sum(SumMoney) from billDetailReportLoss where billId=@billId)
set @FactSumMoney=@SumMoney
exec bill_GetCode @id=3,@szReturn=@BillCode output
select @BillCodeName='报损单'
select @CreatorId=@UserId,@BusinessName=(select Name from employee where employeeId=@UserId)
INSERT INTO Bill(InStockName,OutStockName,EmbranchmentName,zysId,fs,EmbranchmentId,BillId,BillType,BillFlowId,BillCode,CreateDate,CreatorId,BusinessDate,BusinessId,AuditDate,AuditorId,ProviderId,CustomerId,/*CardId,*/Status,SumMoney,FactSumMoney,Discount,InstockId,OutStockId,Summary,Remark,ShiftId,BillCodeName,BusinessName)
VALUES ('仓库','仓库',@EmbranchmentName,0,1,@EmbranchmentId,@BillId,@BillType,@BillFlowId,@BillCode,@CreateDate,@CreatorId,@BusinessDate,@BusinessId,@AuditDate,@AuditorId,@ProviderId,@CustomerId,/*@CardId,*/@Status,@SumMoney,@SumMoney,@Discount,@InstockId,@OutStockId,@Summary,@Remark,@ShiftId
, @BillCodeName,@BusinessName)
SELECT @BillId=@BillId+1
UPDATE Sequences set sequence_NextId=@BillId WHERE Sequence_Name = 'BillId'
end
update commodityStock set Odds=0,FactAmount=Amount where Odds<0
COMMIT
GO
/****** Object: StoredProcedure [dbo].[billDetailCallBack_Audit] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/**********************************************************************
Author : lcc
CreateDate : 2009-11-03
Summary : 召回返利的审核
***********************************************************************/
CREATE PROCEDURE [dbo].[billDetailCallBack_Audit]
(
@BillId INT,
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
/*定义Bill对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @BillType TINYINT
DECLARE @BillFlowId INT
DECLARE @BillCode VARCHAR(50)
DECLARE @CreateDate SMALLDATETIME
DECLARE @CreatorId SMALLINT
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @CustomerId INT
DECLARE @CardId INT
DECLARE @CardCode VARCHAR(50)
DECLARE @Status TINYINT
DECLARE @SumMoney DECIMAL(18,4)--整个单据所有记录的合计金额
DECLARE @Discount DECIMAL(18,4)--整单折扣
DECLARE @Summary VARCHAR(100)
DECLARE @Remark VARCHAR(100)
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @CreatorName VARCHAR(50)
DECLARE @BusinessName VARCHAR(50)
DECLARE @BillCodeName VARCHAR(50)
DECLARE @StockName VARCHAR(50)
DECLARE @EmbranchmentName VARCHAR(50)
DECLARE @CustomerName VARCHAR(50)
DECLARE @InStockName VARCHAR(50)
DECLARE @OutStockName VARCHAR(50)
DECLARE @PayMoney DECIMAL(18,4)--付现
DECLARE @ReturnMoney DECIMAL(18,4)--找零
DECLARE @PayType TINYINT--零售单付款类型
DECLARE @PayCard DECIMAL(18,4)--会员卡消费
DECLARE @PaySYB DECIMAL(18,4)
DECLARE @PayKYB DECIMAL(18,4)
DECLARE @PayYB DECIMAL(18,4)
DECLARE @PayCardNO VARCHAR(50)
DECLARE @PayCardMoneyBefore DECIMAL(18,4)
DECLARE @PayCardMoneyAfter DECIMAL(18,4)
DECLARE @SumReturnPayCard DECIMAL(18,4)
DECLARE @SumPayCard DECIMAL(18,4)
/*定义BillDetailCallBack对应的局部变量*/
DECLARE @RowNum tinyint
DECLARE @CommodityId int
DECLARE @BatchCode varchar(50)
DECLARE @Price decimal (18,4)
DECLARE @Discount_Detail decimal (6,4)--明细单中每条记录的折扣
DECLARE @DiscountPrice decimal (18,4)
DECLARE @Amount decimal (18,4)
DECLARE @SumMoney_Detail decimal (18,4)--明细单中每条记录的合计金额
DECLARE @ProductDate smalldatetime
DECLARE @CostPrice_Detail decimal (18,4)
DECLARE @CommodityName varchar(100)
DECLARE @Spec varchar(50)
DECLARE @Unit varchar(50)
DECLARE @DoseTypeName varchar(50)
DECLARE @AuthorizeCode varchar(50)
DECLARE @ProducingArea varchar(50)
DECLARE @CustomCode varchar(50)
DECLARE @CounterId TINYINT
DECLARE @CounterName varchar(50)
DECLARE @PackingId int
DECLARE @PackingName varchar(50)
DECLARE @CustomStr varchar(100)
DECLARE @ProductName varchar(100)
DECLARE @MemberPrice decimal(18,4)
DECLARE @ReturnPayCard DECIMAL(18,4)
DECLARE @IsMedicare int
/*定义CommodityStock对应的局部变量*/
DECLARE @InOrder int
DECLARE @InvalidateDate datetime
DECLARE @InstockDate datetime
DECLARE @CostPrice decimal (18,4)
DECLARE @RetailPrice decimal (18,4)
DECLARE @FactAmount decimal (18,4)
DECLARE @Amount_cs decimal (18,4)--现库存数量,便于和明细单中的数量区分,为计算成本所使用
DECLARE @Amount_pre decimal (18,4)--原库存数量
DECLARE @SumCost decimal (18,4)
DECLARE @SumRetail decimal (18,4)
DECLARE @CommodityStockDataVersion bigint
DECLARE @CommodityStockOriginDateTime datetime
DECLARE @CommodityStockSynchronizeDateTime datetime
DECLARE @Medicare TINYINT
/*定义InoutStockTable对应的局部变量*/
DECLARE @Guid_is uniqueidentifier
DECLARE @StockId tinyint
DECLARE @PreCostPrice decimal(18,4)
DECLARE @PreSalePrice decimal(18,4)
DECLARE @PreBatchSalePrice decimal(18,4)
DECLARE @ChangePrice decimal(18,4)
DECLARE @PreAmount decimal(18,4)
DECLARE @ChangeAmount decimal(18,4)
DECLARE @CurAmount decimal(18,4)
DECLARE @PreCostSumMoney decimal(18,4)
DECLARE @PreSaleSumMoney decimal(18,4)
DECLARE @PreBatchSaleSumMoney decimal(18,4)
DECLARE @ChangeSumMoney decimal(18,4)
DECLARE @CurCostPrice decimal(18,4)
DECLARE @CurSalePrice decimal(18,4)
DECLARE @CurBatchSalePrice decimal(18,4)
DECLARE @CurCostSumMoney decimal(18,4)
DECLARE @CurSaleSumMoney decimal(18,4)
DECLARE @CurBatchSaleSumMoney decimal(18,4)
DECLARE @IsAmountChanged bit
DECLARE @IsMoneyChanged bit
DECLARE @InStockId int
DECLARE @OutStockId int
DECLARE @DataVersion bigint
DECLARE @CostMemberPrice decimal(18,4)
/*定义DataVersion对应的局部变量*/
DECLARE @DataVersionId int
DECLARE @Name varchar(20)
DECLARE @PreviousVersion bigint
DECLARE @CurVersion bigint
DECLARE @OriginDateTime datetime
DECLARE @SynchronizeDateTime datetime
DECLARE @CardCurVersion bigint
DECLARE @CardSynchronizeDateTime datetime
/*根据情况对局部变量赋初始值*/
select @CommodityStockDataVersion=0
SELECT @BillType=30 --召回返利单的BillType为
SELECT @ErrorMessage=NULL
SELECT @EmbranchmentId=INTValue FROM SysData WHERE Name='EmbranchmentId'
IF @EmbranchmentId IS NULL
BEGIN
SELECT @ErrorMessage='未查找到对应的分支机构Id'
Select @ErrorInfoId =-1
RETURN -1
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
DECLARE @transactionCount INT /*事务记数*/
SELECT @transactionCount = @@trancount
IF @transactionCount = 0 /*判断事务记数,根据情况确定使用保存点或者新建一个事务*/
BEGIN TRAN RETAIL
ELSE SAVE TRAN RETAIL
SET NOCOUNT ON
update Bill set PayYB=PayKYB+PaySYB
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
SELECT
@EmbranchmentId=EmbranchmentId,
@BillId=BillId,
@BillType=BillType,
@BillFlowId=BillFlowId,
@BillCode=BillCode,
@CreateDate=CreateDate,
@CreatorId=CreatorId,
@BusinessDate=BusinessDate,
@BusinessId=BusinessId,
@AuditDate=AuditDate,
@AuditorId=AuditorId,
@ProviderId=ProviderId,
@CustomerId=CustomerId,
@CardId=CardId,
@CardCode=CardCode,
@Status=@Status,
@SumMoney=SumMoney,
@Discount=Discount,
@InStockId=InStockId,
@OutStockId=OutStockId,
@Summary=Summary,
@Remark=Remark,
@Guid=Guid,
@CreatorName=CreatorName,
@BusinessName=BusinessName,
@BillCodeName=BillCodeName,
@StockName=StockName,
@EmbranchmentName=EmbranchmentName,
@CustomerName=CustomerName,
@InStockName=InStockName,
@OutStockName=OutStockName,
@PayType=PayType,
@PayCard=PayCard ,
@PaySYB= PaySYB ,
@PayKYB= PayKYB ,
@PayYB= PayYB ,
@PayCardNO= PayCardNO ,
@PayCardMoneyBefore= PayCardMoneyBefore ,
@PayCardMoneyAfter= PayCardMoneyAfter,
@PayMoney=PayMoney,
@ReturnMoney=ReturnMoney,
@SumPayCard=PayCard,
@SumReturnPayCard=ReturnPayCard
FROM Bill(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@ROWCOUNT=0
BEGIN
ROLLBACK TRAN RETAIL
SELECT @ErrorMessage='没有找到要审核的单据'
Select @ErrorInfoId =-2
RETURN
END
/*检查从单是否完整*/
SELECT CommodityId, BatchCode, Price,Discount,DiscountPrice, Amount, SumMoney,
ProductDate, InvalidateDate,CostPrice,RowNum
FROM BillDetailCallBack
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='没有找到要审核的从单'
Select @ErrorInfoId =-3
ROLLBACK TRAN RETAIL
RETURN
END
/*从单游标*/
DECLARE Cur_BillDetailCallBack CURSOR FOR
SELECT CommodityId, BatchCode, Price,Discount,DiscountPrice, Amount, SumMoney,
ProductDate, InvalidateDate,CostPrice,RowNum, CommodityName, Spec,
Unit, ProducingArea, DoseTypeName, AuthorizeCode,InOrder,CustomCode,
CounterId,CounterName , PackingId, PackingName ,CustomStr,ProductName,MemberPrice,ReturnPayCard
FROM BillDetailCallBack
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
OPEN Cur_BillDetailCallBack
FETCH NEXT FROM Cur_BillDetailCallBack
INTO @CommodityId, @BatchCode, @Price,@Discount_Detail,@DiscountPrice, @Amount, @SumMoney,
@ProductDate, @InvalidateDate,@CostPrice,@RowNum, @CommodityName, @Spec,
@Unit, @ProducingArea, @DoseTypeName, @AuthorizeCode,@InOrder,@CustomCode,
@CounterId,@CounterName,@PackingId, @PackingName ,@CustomStr,@ProductName,@MemberPrice,@ReturnPayCard
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @CostPrice = CostPrice,@Amount_pre = Amount,@Amount_cs = Amount,@RetailPrice = CurrentRetailPrice,
@SumCost = SumCost,@SumRetail = SumRetail,@Medicare = Medicare
FROM CommodityStock
WHERE DepotId=@OutStockId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and InOrder=@InOrder
and PackingId=@PackingId
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='检测库存失败!'
Select @ErrorInfoId =-10
ROLLBACK TRAN RETAIL
RETURN
END
SELECT @Amount_cs = @Amount_cs - @Amount
SELECT @SumCost = @CostPrice * @Amount_cs
SELECT @SumRetail = @RetailPrice * @Amount_cs
/*如果库存数量大于销售数量,则更新库存表,否则,回滚*/
IF @Amount_cs < 0
BEGIN
SELECT @ErrorMessage='编号:' +@CustomCode+' 名称:' + @CommodityName +' 批号:' + @BatchCode +'的库存数量不足,无法审核!'
Select @ErrorInfoId =-4
ROLLBACK TRAN RETAIL
RETURN
END
ELSE
BEGIN
/*版本处理部分*/
SELECT @CurVersion=CurVersion
FROM DataVersion
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId =-7
ROLLBACK TRAN RETAIL
RETURN
END
ELSE
BEGIN
Update DataVersion
SET PreviousVersion = @CurVersion,CurVersion = @CurVersion+1
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
if @@error <>0
begin
SELECT @ErrorMessage=@CommodityName+'更新版本失败!'
Select @ErrorInfoId=-8
ROLLBACK
RETURN -1
end
END
SELECT @CardCurVersion=CurVersion,
@CardSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=15
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId =-7
ROLLBACK TRAN RETAIL
RETURN
END
UPDATE DataVersion
SET PreviousVersion=@CardCurVersion,CurVersion=@CardCurVersion+1,
OriginDateTime=@CardSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=15
if @@error <>0
begin
SELECT @ErrorMessage=@CommodityName+'更新版本失败!'
Select @ErrorInfoId=-8
ROLLBACK
RETURN -1
end
/**************************************************************************************************************************************/
/*出入库记录处理部分*/
SELECT @PreCostSumMoney=@Amount_pre*@CostPrice
SELECT @PreSaleSumMoney=@Amount_pre*@RetailPrice
SELECT @CurCostSumMoney=@Amount*@CostPrice
SELECT @CurSaleSumMoney=@Amount*@DiscountPrice*@Discount
SELECT @ChangeSumMoney=@Amount*@DiscountPrice*@Discount--@Discount为整单折扣,@Discount_Detail为明细单品折扣
SELECT @CostMemberPrice=@Amount*@MemberPrice
IF(@PayType=1 or @PayType=2 or @PayType=3)
BEGIN
SELECT @PayCard=@Amount*@RetailPrice
END
ELSE
BEGIN
SELECT @PayCard=0
END
IF(@ReturnPayCard!=0 or @ReturnPayCard!=NULL)
BEGIN
SELECT @ChangeSumMoney=@Amount*@MemberPrice
END
select @IsMedicare=0
if @PayType>=2
begin
select @IsMedicare=1
end
INSERT INTO InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId,BillCode, BusinessDate,AuditDate, RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice,PreBatchSalePrice,ChangePrice,Discount,DiscountPrice,PreAmount, ChangeAmount, OutAmount,CurAmount , PreCostSumMoney,PreSaleSumMoney, PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney, ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion,CommodityName,Spec,Unit,ProducingArea,AuthorizeCode,DoseTypeName,CreatorName,BusinessName,BillCodeName,StockName,EmbranchmentName,CustomerName,InStockName,OutStockName,Remark,CustomCode,CounterId,CounterName,IsZY,EntireDisCount,PayType,CardId,CardCode,Medicare, PackingId,PackingName,CustomStr,ProductName,PayCard , PaySYB, PayKYB, PayYB, PayCardNO, PayCardMoneyBefore, PayCardMoneyAfter,ReturnPayCard,PayMoney,ReturnMoney,IsMedicare,CostMemberPrice,SumPayCard,SumReturnPayCard,CurMemberPrice,CardDataVersion)
VALUES (newid(),@EmbranchmentId, @OutStockId,@BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId, @BatchCode,@CostPrice , @RetailPrice,0 ,@Price ,@Discount_Detail ,@DiscountPrice ,@Amount_pre,@Amount, @Amount, @Amount_cs , @PreCostSumMoney ,@PreSaleSumMoney, 0, @ChangeSumMoney, @CostPrice, @RetailPrice, 0, @CurCostSumMoney, 0, @CurSaleSumMoney , @ProductDate, @InvalidateDate, 1, 1, @ProviderId, @CustomerId, 0 , @OutStockId,@CurVersion+1,@CommodityName,@Spec,@Unit,@ProducingArea,@AuthorizeCode,@DoseTypeName,@CreatorName,@BusinessName,@BillCodeName,@StockName,@EmbranchmentName,@CustomerName,@InStockName,@OutStockName,@Remark,@CustomCode,@CounterId,@CounterName,0,@Discount,@PayType,@CardId,@CardCode,@Medicare, @PackingId,@PackingName,@CustomStr,@ProductName,@PayCard ,@PaySYB,@PayKYB,@PayYB,@PayCardNO,@PayCardMoneyBefore,@PayCardMoneyAfter,@ReturnPayCard,@PayMoney,@ReturnMoney,@IsMedicare,@CostMemberPrice,@SumPayCard,@SumReturnPayCard,@MemberPrice,@CardCurVersion+1)
END
Update Bill
SET Status=2,AuditDate=GETDATE()
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
FETCH NEXT FROM Cur_BillDetailCallBack
INTO @CommodityId, @BatchCode, @Price,@Discount_Detail,@DiscountPrice, @Amount, @SumMoney,
@ProductDate, @InvalidateDate,@CostPrice,@RowNum, @CommodityName, @Spec,
@Unit, @ProducingArea, @DoseTypeName, @AuthorizeCode,@InOrder,@CustomCode,
@CounterId,@CounterName ,@PackingId, @PackingName ,@CustomStr,@ProductName,@MemberPrice,@ReturnPayCard
END
SELECT @ErrorMessage='召回返利成功!'
Select @ErrorInfoId =1
CLOSE Cur_BillDetailCallBack
DEALLOCATE Cur_BillDetailCallBack
IF @ErrorInfoId =1
BEGIN
IF @CardId = 0
BEGIN
UPDATE Bill SET CardMessage='CardId is null' WHERE BillId=@BillId
END
ELSE
BEGIN
IF @CardCode = '' OR @CardCode IS NULL
BEGIN
UPDATE Bill SET CardMessage='CardCode is null' WHERE BillId=@BillId
END
ELSE
BEGIN
EXEC UpdateMemberCardAndLog @BillId = @BillId
END
END
END
COMMIT TRAN RETAIL
GO
/****** Object: StoredProcedure [dbo].[billDetailRetail_Audit] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/**********************************************************************
Author : qcj
CreateDate : 2006-8-18
Summary : 零售单的审核
Remark : 从库存表中将零售单明细中对应的商品删除
***********************************************************************/
CREATE PROCEDURE [dbo].[billDetailRetail_Audit]
(
@BillId INT,
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
/*定义Bill对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @BillType TINYINT
DECLARE @BillFlowId INT
DECLARE @BillCode VARCHAR(50)
DECLARE @CreateDate SMALLDATETIME
DECLARE @CreatorId SMALLINT
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @CustomerId INT
DECLARE @CardId INT
DECLARE @CardCode VARCHAR(50)
DECLARE @Status TINYINT
DECLARE @SumMoney DECIMAL(18,4)--整个单据所有记录的合计金额
DECLARE @Discount DECIMAL(18,4)--整单折扣
DECLARE @Summary VARCHAR(100)
DECLARE @Remark VARCHAR(100)
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @CreatorName VARCHAR(50)
DECLARE @BusinessName VARCHAR(50)
DECLARE @BillCodeName VARCHAR(50)
DECLARE @StockName VARCHAR(50)
DECLARE @EmbranchmentName VARCHAR(50)
DECLARE @CustomerName VARCHAR(50)
DECLARE @InStockName VARCHAR(50)
DECLARE @OutStockName VARCHAR(50)
DECLARE @PayMoney DECIMAL(18,4)--付现
DECLARE @ReturnMoney DECIMAL(18,4)--找零
DECLARE @PayType TINYINT--零售单付款类型
DECLARE @PayCard DECIMAL(18,4)--会员卡消费
DECLARE @PaySYB DECIMAL(18,4)
DECLARE @PayKYB DECIMAL(18,4)
DECLARE @PayYB DECIMAL(18,4)
DECLARE @PayCardNO VARCHAR(50)
DECLARE @PayCardMoneyBefore DECIMAL(18,4)
DECLARE @PayCardMoneyAfter DECIMAL(18,4)
DECLARE @SumReturnPayCard DECIMAL(18,4)
DECLARE @SumPayCard DECIMAL(18,4)
/*定义BillDetailRetail对应的局部变量*/
DECLARE @RowNum tinyint
DECLARE @CommodityId int
DECLARE @BatchCode varchar(50)
DECLARE @Price decimal (18,4)
DECLARE @Discount_Detail decimal (6,4)--明细单中每条记录的折扣
DECLARE @DiscountPrice decimal (18,4)
DECLARE @Amount decimal (18,4)
DECLARE @SumMoney_Detail decimal (18,4)--明细单中每条记录的合计金额
DECLARE @ProductDate smalldatetime
DECLARE @CostPrice_Detail decimal (18,4)
DECLARE @CommodityName varchar(100)
DECLARE @Spec varchar(50)
DECLARE @Unit varchar(50)
DECLARE @DoseTypeName varchar(50)
DECLARE @AuthorizeCode varchar(50)
DECLARE @ProducingArea varchar(50)
DECLARE @CustomCode varchar(50)
DECLARE @CounterId TINYINT
DECLARE @CounterName varchar(50)
DECLARE @PackingId int
DECLARE @PackingName varchar(50)
DECLARE @CustomStr varchar(100)
DECLARE @ProductName varchar(100)
DECLARE @MemberPrice decimal(18,4)
DECLARE @ReturnPayCard DECIMAL(18,4)
DECLARE @IsMedicare int
/*定义CommodityStock对应的局部变量*/
DECLARE @InOrder int
DECLARE @InvalidateDate datetime
DECLARE @InstockDate datetime
DECLARE @CostPrice decimal (18,4)
DECLARE @RetailPrice decimal (18,4)
DECLARE @FactAmount decimal (18,4)
DECLARE @Amount_cs decimal (18,4)--现库存数量,便于和明细单中的数量区分,为计算成本所使用
DECLARE @Amount_pre decimal (18,4)--原库存数量
DECLARE @SumCost decimal (18,4)
DECLARE @SumRetail decimal (18,4)
DECLARE @CommodityStockDataVersion bigint
DECLARE @CommodityStockOriginDateTime datetime
DECLARE @CommodityStockSynchronizeDateTime datetime
DECLARE @Medicare TINYINT
/*定义InoutStockTable对应的局部变量*/
DECLARE @Guid_is uniqueidentifier
DECLARE @StockId tinyint
DECLARE @PreCostPrice decimal(18,4)
DECLARE @PreSalePrice decimal(18,4)
DECLARE @PreBatchSalePrice decimal(18,4)
DECLARE @ChangePrice decimal(18,4)
DECLARE @PreAmount decimal(18,4)
DECLARE @ChangeAmount decimal(18,4)
DECLARE @CurAmount decimal(18,4)
DECLARE @PreCostSumMoney decimal(18,4)
DECLARE @PreSaleSumMoney decimal(18,4)
DECLARE @PreBatchSaleSumMoney decimal(18,4)
DECLARE @ChangeSumMoney decimal(18,4)
DECLARE @CurCostPrice decimal(18,4)
DECLARE @CurSalePrice decimal(18,4)
DECLARE @CurBatchSalePrice decimal(18,4)
DECLARE @CurCostSumMoney decimal(18,4)
DECLARE @CurSaleSumMoney decimal(18,4)
DECLARE @CurBatchSaleSumMoney decimal(18,4)
DECLARE @IsAmountChanged bit
DECLARE @IsMoneyChanged bit
DECLARE @InStockId int
DECLARE @OutStockId int
DECLARE @DataVersion bigint
DECLARE @CostMemberPrice decimal(18,4)
/*定义DataVersion对应的局部变量*/
DECLARE @DataVersionId int
DECLARE @Name varchar(20)
DECLARE @PreviousVersion bigint
DECLARE @CurVersion bigint
DECLARE @OriginDateTime datetime
DECLARE @SynchronizeDateTime datetime
DECLARE @CardCurVersion bigint
DECLARE @CardSynchronizeDateTime datetime
/*根据情况对局部变量赋初始值*/
select @CommodityStockDataVersion=0
SELECT @BillType=5 --零售单的BillType为5
SELECT @ErrorMessage=NULL
SELECT @EmbranchmentId=INTValue FROM SysData WHERE Name='EmbranchmentId'
IF @EmbranchmentId IS NULL
BEGIN
SELECT @ErrorMessage='未查找到对应的分支机构Id'
Select @ErrorInfoId =-1
RETURN -1
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
DECLARE @transactionCount INT /*事务记数*/
SELECT @transactionCount = @@trancount
IF @transactionCount = 0 /*判断事务记数,根据情况确定使用保存点或者新建一个事务*/
BEGIN TRAN RETAIL
ELSE SAVE TRAN RETAIL
SET NOCOUNT ON
update Bill set PayYB=PayKYB+PaySYB
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
SELECT
@EmbranchmentId=EmbranchmentId,
@BillId=BillId,
@BillType=BillType,
@BillFlowId=BillFlowId,
@BillCode=BillCode,
@CreateDate=CreateDate,
@CreatorId=CreatorId,
@BusinessDate=BusinessDate,
@BusinessId=BusinessId,
@AuditDate=AuditDate,
@AuditorId=AuditorId,
@ProviderId=ProviderId,
@CustomerId=CustomerId,
@CardId=CardId,
@CardCode=CardCode,
@Status=@Status,
@SumMoney=SumMoney,
@Discount=Discount,
@InStockId=InStockId,
@OutStockId=OutStockId,
@Summary=Summary,
@Remark=Remark,
@Guid=Guid,
@CreatorName=CreatorName,
@BusinessName=BusinessName,
@BillCodeName=BillCodeName,
@StockName=StockName,
@EmbranchmentName=EmbranchmentName,
@CustomerName=CustomerName,
@InStockName=InStockName,
@OutStockName=OutStockName,
@PayType=PayType,
@PayCard=PayCard ,
@PaySYB= PaySYB ,
@PayKYB= PayKYB ,
@PayYB= PayYB ,
@PayCardNO= PayCardNO ,
@PayCardMoneyBefore= PayCardMoneyBefore ,
@PayCardMoneyAfter= PayCardMoneyAfter,
@PayMoney=PayMoney,
@ReturnMoney=ReturnMoney,
@SumPayCard=PayCard,
@SumReturnPayCard=ReturnPayCard
FROM Bill(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@ROWCOUNT=0
BEGIN
ROLLBACK TRAN RETAIL
SELECT @ErrorMessage='没有找到要审核的单据'
Select @ErrorInfoId =-2
RETURN
END
/*检查从单是否完整*/
SELECT CommodityId, BatchCode, Price,Discount,DiscountPrice, Amount, SumMoney,
ProductDate, InvalidateDate,CostPrice,RowNum
FROM BillDetailRetail
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='没有找到要审核的从单'
Select @ErrorInfoId =-3
ROLLBACK TRAN RETAIL
RETURN
END
/*从单游标*/
DECLARE Cur_BillDetailRetail CURSOR FOR
SELECT CommodityId, BatchCode, Price,Discount,DiscountPrice, Amount, SumMoney,
ProductDate, InvalidateDate,CostPrice,RowNum, CommodityName, Spec,
Unit, ProducingArea, DoseTypeName, AuthorizeCode,InOrder,CustomCode,
CounterId,CounterName , PackingId, PackingName ,CustomStr,ProductName,MemberPrice,ReturnPayCard
FROM BillDetailRetail
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
OPEN Cur_BillDetailRetail
FETCH NEXT FROM Cur_BillDetailRetail
INTO @CommodityId, @BatchCode, @Price,@Discount_Detail,@DiscountPrice, @Amount, @SumMoney,
@ProductDate, @InvalidateDate,@CostPrice,@RowNum, @CommodityName, @Spec,
@Unit, @ProducingArea, @DoseTypeName, @AuthorizeCode,@InOrder,@CustomCode,
@CounterId,@CounterName,@PackingId, @PackingName ,@CustomStr,@ProductName,@MemberPrice,@ReturnPayCard
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @CostPrice = CostPrice,@Amount_pre = Amount,@Amount_cs = Amount,@RetailPrice = CurrentRetailPrice,
@SumCost = SumCost,@SumRetail = SumRetail,@Medicare = Medicare
FROM CommodityStock
WHERE DepotId=@OutStockId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and InOrder=@InOrder
and PackingId=@PackingId
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='检测库存失败!'
Select @ErrorInfoId =-10
ROLLBACK TRAN RETAIL
RETURN
END
SELECT @Amount_cs = @Amount_cs - @Amount
SELECT @SumCost = @CostPrice * @Amount_cs
SELECT @SumRetail = @RetailPrice * @Amount_cs
/*如果库存数量大于销售数量,则更新库存表,否则,回滚*/
IF @Amount_cs < 0
BEGIN
SELECT @ErrorMessage='编号:' +@CustomCode+' 名称:' + @CommodityName +' 批号:' + @BatchCode +'的库存数量不足,无法审核!'
Select @ErrorInfoId =-4
ROLLBACK TRAN RETAIL
RETURN
END
ELSE
BEGIN
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
/**************************************************************************************************************************************/
/*库存表处理部分*/
UPDATE CommodityStock
SET Amount = @Amount_cs,FactAmount = @Amount_cs,SumCost = @SumCost,SumRetail=@SumRetail ,DataVersion=@CommodityStockDataVersion+1
WHERE DepotId=@OutStockId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and InOrder=@InOrder
and PackingId=@PackingId
/*************************************在社区药店系统版本处理部分**********************************************/ Update DataVersion
set PreviousVersion=@CommodityStockDataVersion,CurVersion=@CommodityStockDataVersion+1,
OriginDateTime=@CommodityStockSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-111
ROLLBACK
RETURN -1
end
/***************************************************************************************************************************/
/*版本处理部分*/
SELECT @CurVersion=CurVersion
FROM DataVersion
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId =-5
ROLLBACK TRAN RETAIL
RETURN
END
ELSE
BEGIN
Update DataVersion
SET PreviousVersion = @CurVersion,CurVersion = @CurVersion+1
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
END
IF(@PayType=1 or @PayType=2 or @PayType=3)
BEGIN
SELECT @CardCurVersion=CurVersion,
@CardSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=15
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId =-7
ROLLBACK TRAN RETAIL
RETURN
END
UPDATE DataVersion
SET PreviousVersion=@CardCurVersion,CurVersion=@CardCurVersion+1,
OriginDateTime=@CardSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=15
if @@error <>0
begin
SELECT @ErrorMessage='更新版本失败!'
Select @ErrorInfoId=-8
ROLLBACK
RETURN -1
end
END
/*出入库记录处理部分*/
SELECT @PreCostSumMoney=@Amount_pre*@CostPrice
SELECT @PreSaleSumMoney=@Amount_pre*@RetailPrice
SELECT @CurCostSumMoney=@Amount*@CostPrice
SELECT @CurSaleSumMoney=@Amount*@DiscountPrice*@Discount
SELECT @ChangeSumMoney=@Amount*@DiscountPrice*@Discount--@Discount为整单折扣,@Discount_Detail为明细单品折扣
SELECT @CostMemberPrice=@Amount*@MemberPrice
IF(@PayType=1 or @PayType=2 or @PayType=3)
BEGIN
SELECT @PayCard=@Amount*@RetailPrice
SELECT @ChangeSumMoney=@Amount*@MemberPrice
END
ELSE
BEGIN
SELECT @PayCard=0
END
select @IsMedicare=0
if @PayType>=2
begin
select @IsMedicare=1
end
INSERT INTO InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId,BillCode, BusinessDate,AuditDate, RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice,PreBatchSalePrice,ChangePrice,Discount,DiscountPrice,PreAmount, ChangeAmount, OutAmount,CurAmount , PreCostSumMoney,PreSaleSumMoney, PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney, ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion,CommodityName,Spec,Unit,ProducingArea,AuthorizeCode,DoseTypeName,CreatorName,BusinessName,BillCodeName,StockName,EmbranchmentName,CustomerName,InStockName,OutStockName,Remark,CustomCode,CounterId,CounterName,IsZY,EntireDisCount,PayType,CardId,CardCode,Medicare, PackingId,PackingName,CustomStr,ProductName,PayCard , PaySYB, PayKYB, PayYB, PayCardNO, PayCardMoneyBefore, PayCardMoneyAfter,ReturnPayCard,PayMoney,ReturnMoney,IsMedicare,CostMemberPrice,SumPayCard,SumReturnPayCard,CurMemberPrice,CardDataVersion)
VALUES (newid(),@EmbranchmentId, @OutStockId,@BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId, @BatchCode,@CostPrice , @RetailPrice,0 ,@Price ,@Discount_Detail ,@DiscountPrice ,@Amount_pre,@Amount, @Amount, @Amount_cs , @PreCostSumMoney ,@PreSaleSumMoney, 0, @ChangeSumMoney, @CostPrice, @RetailPrice, 0, @CurCostSumMoney, 0, @CurSaleSumMoney , @ProductDate, @InvalidateDate, 1, 1, @ProviderId, @CustomerId, 0 , @OutStockId,@CurVersion + 1,@CommodityName,@Spec,@Unit,@ProducingArea,@AuthorizeCode,@DoseTypeName,@CreatorName,@BusinessName,@BillCodeName,@StockName,@EmbranchmentName,@CustomerName,@InStockName,@OutStockName,@Remark,@CustomCode,@CounterId,@CounterName,0,@Discount,@PayType,@CardId,@CardCode,@Medicare, @PackingId,@PackingName,@CustomStr,@ProductName,@PayCard ,@PaySYB,@PayKYB,@PayYB,@PayCardNO,@PayCardMoneyBefore,@PayCardMoneyAfter,@ReturnPayCard,@PayMoney,@ReturnMoney,@IsMedicare,@CostMemberPrice,@SumPayCard,@SumReturnPayCard,@MemberPrice,@CardCurVersion+1)
END
Update Bill
SET Status=2,AuditDate=GETDATE()
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
FETCH NEXT FROM Cur_BillDetailRetail
INTO @CommodityId, @BatchCode, @Price,@Discount_Detail,@DiscountPrice, @Amount, @SumMoney,
@ProductDate, @InvalidateDate,@CostPrice,@RowNum, @CommodityName, @Spec,
@Unit, @ProducingArea, @DoseTypeName, @AuthorizeCode,@InOrder,@CustomCode,
@CounterId,@CounterName ,@PackingId, @PackingName ,@CustomStr,@ProductName,@MemberPrice,@ReturnPayCard
END
SELECT @ErrorMessage='收款成功!'
Select @ErrorInfoId =1
CLOSE Cur_BillDetailRetail
DEALLOCATE Cur_BillDetailRetail
IF @ErrorInfoId =1
BEGIN
IF @CardId = 0
BEGIN
UPDATE Bill SET CardMessage='CardId is null' WHERE BillId=@BillId
END
ELSE
BEGIN
IF @CardCode = '' OR @CardCode IS NULL
BEGIN
UPDATE Bill SET CardMessage='CardCode is null' WHERE BillId=@BillId
END
ELSE
BEGIN
EXEC UpdateMemberCardAndLog @BillId = @BillId
END
END
END
COMMIT TRAN RETAIL
GO
/****** Object: StoredProcedure [dbo].[billDetailRetailCard_ZY_Audit] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/**********************************************************************
Author : lcc
CreateDate : 2010-2-1
Summary : 零售单的审核
Remark : 从库存表中将零售单明细中对应的商品删除
***********************************************************************/
CREATE PROCEDURE [dbo].[billDetailRetailCard_ZY_Audit]
(
@BillId INT,
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
/*定义Bill对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @BillType TINYINT
DECLARE @BillFlowId INT
DECLARE @BillCode VARCHAR(50)
DECLARE @CreateDate SMALLDATETIME
DECLARE @CreatorId SMALLINT
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @CustomerId INT
DECLARE @CardId INT
DECLARE @CardCode VARCHAR(50)
DECLARE @Status TINYINT
DECLARE @SumMoney DECIMAL(18,4)--整个单据所有记录的合计金额
DECLARE @Discount DECIMAL(18,4)--整单折扣
DECLARE @Summary VARCHAR(100)
DECLARE @Remark VARCHAR(100)
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @CreatorName VARCHAR(50)
DECLARE @BusinessName VARCHAR(50)
DECLARE @BillCodeName VARCHAR(50)
DECLARE @StockName VARCHAR(50)
DECLARE @EmbranchmentName VARCHAR(50)
DECLARE @CustomerName VARCHAR(50)
DECLARE @InStockName VARCHAR(50)
DECLARE @OutStockName VARCHAR(50)
DECLARE @FS INT
DECLARE @IsZY SMALLINT
DECLARE @PayMoney DECIMAL(18,4)--付现
DECLARE @ReturnMoney DECIMAL(18,4)--找零
DECLARE @PayType TINYINT--零售单付款类型
DECLARE @PayCard DECIMAL(18,4)--会员卡消费
DECLARE @PaySYB DECIMAL(18,4)
DECLARE @PayKYB DECIMAL(18,4)
DECLARE @PayYB DECIMAL(18,4)
DECLARE @PayCardNO VARCHAR(50)
DECLARE @PayCardMoneyBefore DECIMAL(18,4)
DECLARE @PayCardMoneyAfter DECIMAL(18,4)
DECLARE @SumReturnPayCard DECIMAL(18,4)
DECLARE @SumPayCard DECIMAL(18,4)
DECLARE @CFF DECIMAL(18,4)
/*定义BillDetailRetail对应的局部变量*/
DECLARE @RowNum tinyint
DECLARE @CommodityId int
DECLARE @BatchCode varchar(50)
DECLARE @Price decimal (18,4)
DECLARE @Discount_Detail decimal (6,4)--明细单中每条记录的折扣
DECLARE @DiscountPrice decimal (18,4)
DECLARE @Amount decimal (18,4)
DECLARE @SumMoney_Detail decimal (18,4)--明细单中每条记录的合计金额
DECLARE @ProductDate smalldatetime
DECLARE @CostPrice_Detail decimal (18,4)
DECLARE @CommodityName varchar(100)
DECLARE @Spec varchar(50)
DECLARE @Unit varchar(50)
DECLARE @DoseTypeName varchar(50)
DECLARE @AuthorizeCode varchar(50)
DECLARE @ProducingArea varchar(50)
DECLARE @CustomCode varchar(50)
DECLARE @CounterId TINYINT
DECLARE @CounterName varchar(50)
DECLARE @PackingId int
DECLARE @PackingName varchar(50)
DECLARE @CustomStr varchar(100)
DECLARE @ProductName varchar(100)
DECLARE @MemberPrice decimal(18,4)
DECLARE @ReturnPayCard DECIMAL(18,4)
DECLARE @IsMedicare int
/*定义CommodityStock对应的局部变量*/
DECLARE @InOrder int
DECLARE @InvalidateDate datetime
DECLARE @InstockDate datetime
DECLARE @CostPrice decimal (18,4)
DECLARE @RetailPrice decimal (18,4)
DECLARE @FactAmount decimal (18,4)
DECLARE @Amount_cs decimal (18,4)--现库存数量,便于和明细单中的数量区分,为计算成本所使用
DECLARE @Amount_pre decimal (18,4)--原库存数量
DECLARE @SumCost decimal (18,4)
DECLARE @SumRetail decimal (18,4)
DECLARE @CommodityStockDataVersion bigint
DECLARE @CommodityStockOriginDateTime datetime
DECLARE @CommodityStockSynchronizeDateTime datetime
DECLARE @Medicare TINYINT
/*定义InoutStockTable对应的局部变量*/
DECLARE @Guid_is uniqueidentifier
DECLARE @StockId tinyint
DECLARE @PreCostPrice decimal(18,4)
DECLARE @PreSalePrice decimal(18,4)
DECLARE @PreBatchSalePrice decimal(18,4)
DECLARE @ChangePrice decimal(18,4)
DECLARE @PreAmount decimal(18,4)
DECLARE @ChangeAmount decimal(18,4)
DECLARE @CurAmount decimal(18,4)
DECLARE @PreCostSumMoney decimal(18,4)
DECLARE @PreSaleSumMoney decimal(18,4)
DECLARE @PreBatchSaleSumMoney decimal(18,4)
DECLARE @ChangeSumMoney decimal(18,4)
DECLARE @CurCostPrice decimal(18,4)
DECLARE @CurSalePrice decimal(18,4)
DECLARE @CurBatchSalePrice decimal(18,4)
DECLARE @CurCostSumMoney decimal(18,4)
DECLARE @CurSaleSumMoney decimal(18,4)
DECLARE @CurBatchSaleSumMoney decimal(18,4)
DECLARE @IsAmountChanged bit
DECLARE @IsMoneyChanged bit
DECLARE @InStockId int
DECLARE @OutStockId int
DECLARE @DataVersion bigint
DECLARE @CostMemberPrice decimal(18,4)
/*定义DataVersion对应的局部变量*/
DECLARE @DataVersionId int
DECLARE @Name varchar(20)
DECLARE @PreviousVersion bigint
DECLARE @CurVersion bigint
DECLARE @OriginDateTime datetime
DECLARE @SynchronizeDateTime datetime
DECLARE @CardCurVersion bigint
DECLARE @CardSynchronizeDateTime datetime
/*根据情况对局部变量赋初始值*/
select @CommodityStockDataVersion=0
SELECT @BillType=5 --零售单的BillType为5
SELECT @ErrorMessage=NULL
SELECT @EmbranchmentId=INTValue FROM SysData WHERE Name='EmbranchmentId'
IF @EmbranchmentId IS NULL
BEGIN
SELECT @ErrorMessage='未查找到对应的分支机构Id'
Select @ErrorInfoId =-1
RETURN -1
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
SET NOCOUNT ON
SELECT
@EmbranchmentId=EmbranchmentId,
@BillId=BillId,
@BillType=BillType,
@BillFlowId=BillFlowId,
@BillCode=BillCode,
@CreateDate=CreateDate,
@CreatorId=CreatorId,
@BusinessDate=BusinessDate,
@BusinessId=BusinessId,
@AuditDate=AuditDate,
@AuditorId=AuditorId,
@ProviderId=ProviderId,
@CardId=CardId,
@CustomerId=CustomerId,
@CardCode=CardCode,
@Status=@Status,
@SumMoney=SumMoney,
@Discount=Discount,
@InStockId=InStockId,
@OutStockId=OutStockId,
@Summary=Summary,
@Remark=Remark,
@Guid=Guid,
@CreatorName=CreatorName,
@BusinessName=BusinessName,
@BillCodeName=BillCodeName,
@StockName=StockName,
@EmbranchmentName=EmbranchmentName,
@CustomerName=CustomerName,
@InStockName=InStockName,
@OutStockName=OutStockName,
@FS=FS,
@IsZY=IsZY,
@PayType=PayType,
@PaySYB= PaySYB ,
@PayKYB= PayKYB ,
@PayYB= PayYB ,
@PayCardNO= PayCardNO ,
@PayCardMoneyBefore= PayCardMoneyBefore ,
@PayCardMoneyAfter= PayCardMoneyAfter,
@PayMoney=PayMoney,
@ReturnMoney=ReturnMoney,
@SumPayCard=PayCard,
@SumReturnPayCard=ReturnPayCard,
@CFF=CFF
FROM Bill(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@ROWCOUNT=0
BEGIN
ROLLBACK
SELECT @ErrorMessage='没有找到要审核的单据'
Select @ErrorInfoId =-2
RETURN
END
/*检查从单是否完整*/
SELECT CommodityId, BatchCode, Price,Discount,DiscountPrice, Amount, SumMoney,
ProductDate, InvalidateDate,CostPrice,RowNum
FROM BillDetailRetail
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='没有找到要审核的从单'
Select @ErrorInfoId =-3
ROLLBACK
RETURN
END
/*从单游标*/
DECLARE Cur_BillDetailRetail CURSOR FOR
SELECT CommodityId, BatchCode, Price,Discount,DiscountPrice, Amount, SumMoney,
ProductDate, InvalidateDate,CostPrice,RowNum, CommodityName, Spec,
Unit, ProducingArea, DoseTypeName, AuthorizeCode,InOrder,CustomCode,
CounterId,CounterName , PackingId, PackingName ,CustomStr,ProductName,MemberPrice,ReturnPayCard
FROM BillDetailRetail
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
OPEN Cur_BillDetailRetail
FETCH NEXT FROM Cur_BillDetailRetail
INTO @CommodityId, @BatchCode, @Price,@Discount_Detail,@DiscountPrice, @Amount, @SumMoney,
@ProductDate, @InvalidateDate,@CostPrice,@RowNum, @CommodityName, @Spec,
@Unit, @ProducingArea, @DoseTypeName, @AuthorizeCode,@InOrder,@CustomCode ,
@CounterId,@CounterName,@PackingId, @PackingName ,@CustomStr,@ProductName,@MemberPrice,@ReturnPayCard
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @CostPrice = CostPrice,@Amount_pre = Amount,@Amount_cs = Amount,@RetailPrice = CurrentRetailPrice,
@SumCost = SumCost,@SumRetail = SumRetail,@Medicare = Medicare
FROM CommodityStock
WHERE DepotId=@OutStockId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and InOrder =@InOrder
and PackingId=@PackingId
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='检测库存失败!'
Select @ErrorInfoId =-10
ROLLBACK TRAN RETAIL
RETURN
END
SELECT @Amount_cs = @Amount_cs - @Amount*@FS
SELECT @SumCost = @CostPrice * @Amount_cs
SELECT @SumRetail = @RetailPrice * @Amount_cs
/*如果库存数量大于销售数量,则更新库存表,否则,回滚*/
IF @Amount_cs < 0
BEGIN
SELECT @ErrorMessage='编号:' +@CustomCode+' 名称:' + @CommodityName +' 批号:' + @BatchCode +'的库存数量不足,无法审核!'
Select @ErrorInfoId =-4
ROLLBACK
RETURN
END
ELSE
BEGIN
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
/**************************************************************************************************************************************/
/*库存表处理部分*/
UPDATE CommodityStock
SET Amount = @Amount_cs,FactAmount = @Amount_cs,SumCost = @SumCost,SumRetail=@SumRetail,DataVersion=@CommodityStockDataVersion+1
WHERE DepotId=@OutStockId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and InOrder =@InOrder
and PackingId=@PackingId
/*************************************在社区药店系统版本处理部分**********************************************/
Update DataVersion
set PreviousVersion=@CommodityStockDataVersion,CurVersion=@CommodityStockDataVersion+1,
OriginDateTime=@CommodityStockSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-111
ROLLBACK
RETURN -1
end
/***************************************************************************************************************************/
/*版本处理部分*/
SELECT @CurVersion=CurVersion
FROM DataVersion
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId =-5
ROLLBACK
RETURN
END
ELSE
BEGIN
Update DataVersion
SET PreviousVersion = @CurVersion,CurVersion = @CurVersion+1
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
END
IF(@PayType=1 or @PayType=2 or @PayType=3)
BEGIN
SELECT @CardCurVersion=CurVersion,
@CardSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=15
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId =-7
ROLLBACK TRAN RETAIL
RETURN
END
UPDATE DataVersion
SET PreviousVersion=@CardCurVersion,CurVersion=@CardCurVersion+1,
OriginDateTime=@CardSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=15
if @@error <>0
begin
SELECT @ErrorMessage='更新版本失败!'
Select @ErrorInfoId=-8
ROLLBACK
RETURN -1
end
END
/*出入库记录处理部分*/
SELECT @PreCostSumMoney=@Amount_pre*@CostPrice
SELECT @PreSaleSumMoney=@Amount_pre*@RetailPrice
SELECT @Amount=@Amount*@FS
SELECT @CurCostSumMoney=@Amount*@CostPrice
SELECT @CurSaleSumMoney=@Amount*@DiscountPrice*@Discount
SELECT @ChangeSumMoney=@Amount*@DiscountPrice*@Discount--@Discount为整单折扣,@Discount_Detail为明细单品折扣
SELECT @CostMemberPrice=@Amount*@MemberPrice
IF(@PayType=1 or @PayType=2 or @PayType=3)
BEGIN
SELECT @PayCard=@Amount*@RetailPrice
SELECT @ChangeSumMoney=@Amount*@MemberPrice
SELECT @ReturnPayCard=@ReturnPayCard*@FS
END
ELSE
BEGIN
SELECT @PayCard=0
SELECT @ReturnPayCard=0
END
SELECT @IsMedicare=0
IF @PayType>=2
BEGIN
SELECT @IsMedicare=1
END
INSERT INTO InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId,BillCode, BusinessDate,AuditDate, RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice,PreBatchSalePrice,ChangePrice,Discount,DiscountPrice,PreAmount, ChangeAmount, OutAmount,CurAmount , PreCostSumMoney,PreSaleSumMoney, PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney, ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion,CommodityName,Spec,Unit,ProducingArea,AuthorizeCode,DoseTypeName,CreatorName,BusinessName,BillCodeName,StockName,EmbranchmentName,CustomerName,InStockName,OutStockName,Remark,CustomCode,CounterId,CounterName,EntireDisCount,PayType,CardCode,Medicare,PackingId,PackingName ,CustomStr,ProductName,PayCard , PaySYB, PayKYB, PayYB, PayCardNO, PayCardMoneyBefore, PayCardMoneyAfter,ReturnPayCard,PayMoney,ReturnMoney,IsMedicare,CostMemberPrice,SumPayCard,SumReturnPayCard,CurMemberPrice,CardDataVersion,IsZY,CFF)
VALUES (newid(),@EmbranchmentId, @OutStockId,@BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId, @BatchCode,@CostPrice , @RetailPrice,0 ,@Price ,@Discount_Detail ,@DiscountPrice ,@Amount_pre, @Amount, @Amount, @Amount_cs , @PreCostSumMoney ,@PreSaleSumMoney, 0, @ChangeSumMoney, @CostPrice, @RetailPrice, 0, @CurCostSumMoney, 0, @CurSaleSumMoney , @ProductDate, @InvalidateDate, 1, 1, @ProviderId, @CustomerId, 0 , @OutStockId,@CurVersion + 1,@CommodityName,@Spec,@Unit,@ProducingArea,@AuthorizeCode,@DoseTypeName,@CreatorName,@BusinessName,@BillCodeName,@StockName,@EmbranchmentName,@CustomerName,@InStockName,@OutStockName,@Remark,@CustomCode,@CounterId,@CounterName,@DisCount,@PayType,@CardCode,@Medicare,@PackingId,@PackingName ,@CustomStr,@ProductName,@PayCard ,@PaySYB,@PayKYB,@PayYB,@PayCardNO,@PayCardMoneyBefore,@PayCardMoneyAfter,@ReturnPayCard,@PayMoney,@ReturnMoney,@IsMedicare,@CostMemberPrice,@SumPayCard,@SumReturnPayCard,@MemberPrice,@CardCurVersion+1,@IsZY,@CFF)
END
Update Bill
SET Status=2,AuditDate=GETDATE()
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
FETCH NEXT FROM Cur_BillDetailRetail
INTO @CommodityId, @BatchCode, @Price,@Discount_Detail,@DiscountPrice, @Amount, @SumMoney,
@ProductDate, @InvalidateDate,@CostPrice,@RowNum, @CommodityName, @Spec,
@Unit, @ProducingArea, @DoseTypeName, @AuthorizeCode,@InOrder,@CustomCode ,
@CounterId,@CounterName,@PackingId, @PackingName ,@CustomStr,@ProductName ,@MemberPrice,@ReturnPayCard
END
SELECT @ErrorMessage='收款成功!'
Select @ErrorInfoId =1
CLOSE Cur_BillDetailRetail
DEALLOCATE Cur_BillDetailRetail
IF @ErrorInfoId =1
BEGIN
IF @CardId = 0
BEGIN
UPDATE Bill SET CardMessage='CardId is null' WHERE BillId=@BillId
END
ELSE
BEGIN
IF @CardCode = '' OR @CardCode IS NULL
BEGIN
UPDATE Bill SET CardMessage='CardCode is null' WHERE BillId=@BillId
END
ELSE
BEGIN
EXEC UpdateMemberCardAndLog @BillId = @BillId
END
END
END
COMMIT
GO
/****** Object: StoredProcedure [dbo].[billDetailRetail_ZY_Audit] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/**********************************************************************
Author : qcj
CreateDate : 2006-8-18
Summary : 零售单的审核
Remark : 从库存表中将零售单明细中对应的商品删除
***********************************************************************/
CREATE PROCEDURE [dbo].[billDetailRetail_ZY_Audit]
(
@BillId INT,
@ErrorMessage VARCHAR(100) OUTPUT,
@ErrorInfoId int OUTPUT
)
AS
/*定义Bill对应的局部变量*/
DECLARE @EmbranchmentId SMALLINT
DECLARE @BillType TINYINT
DECLARE @BillFlowId INT
DECLARE @BillCode VARCHAR(50)
DECLARE @CreateDate SMALLDATETIME
DECLARE @CreatorId SMALLINT
DECLARE @BusinessDate SMALLDATETIME
DECLARE @BusinessId SMALLINT
DECLARE @AuditDate SMALLDATETIME
DECLARE @AuditorId SMALLINT
DECLARE @ProviderId SMALLINT
DECLARE @CustomerId INT
DECLARE @CardId INT
DECLARE @CardCode VARCHAR(50)
DECLARE @Status TINYINT
DECLARE @SumMoney DECIMAL(18,4)--整个单据所有记录的合计金额
DECLARE @Discount DECIMAL(18,4)--整单折扣
DECLARE @Summary VARCHAR(100)
DECLARE @Remark VARCHAR(100)
DECLARE @Guid UNIQUEIDENTIFIER
DECLARE @CreatorName VARCHAR(50)
DECLARE @BusinessName VARCHAR(50)
DECLARE @BillCodeName VARCHAR(50)
DECLARE @StockName VARCHAR(50)
DECLARE @EmbranchmentName VARCHAR(50)
DECLARE @CustomerName VARCHAR(50)
DECLARE @InStockName VARCHAR(50)
DECLARE @OutStockName VARCHAR(50)
DECLARE @FS INT
DECLARE @IsZY SMALLINT
DECLARE @PayMoney DECIMAL(18,4)--付现
DECLARE @ReturnMoney DECIMAL(18,4)--找零
DECLARE @PayType TINYINT--零售单付款类型
DECLARE @PayCard DECIMAL(18,4)--会员卡消费
/*定义BillDetailRetail对应的局部变量*/
DECLARE @RowNum tinyint
DECLARE @CommodityId int
DECLARE @BatchCode varchar(50)
DECLARE @Price decimal (18,4)
DECLARE @Discount_Detail decimal (6,4)--明细单中每条记录的折扣
DECLARE @DiscountPrice decimal (18,4)
DECLARE @Amount decimal (18,4)
DECLARE @SumMoney_Detail decimal (18,4)--明细单中每条记录的合计金额
DECLARE @ProductDate smalldatetime
DECLARE @CostPrice_Detail decimal (18,4)
DECLARE @CommodityName varchar(100)
DECLARE @Spec varchar(50)
DECLARE @Unit varchar(50)
DECLARE @DoseTypeName varchar(50)
DECLARE @AuthorizeCode varchar(50)
DECLARE @ProducingArea varchar(50)
DECLARE @CustomCode varchar(50)
DECLARE @CounterId TINYINT
DECLARE @CounterName varchar(50)
DECLARE @PackingId int
DECLARE @PackingName varchar(50)
DECLARE @CustomStr varchar(100)
DECLARE @ProductName varchar(100)
/*定义CommodityStock对应的局部变量*/
DECLARE @InOrder int
DECLARE @InvalidateDate datetime
DECLARE @InstockDate datetime
DECLARE @CostPrice decimal (18,4)
DECLARE @RetailPrice decimal (18,4)
DECLARE @FactAmount decimal (18,4)
DECLARE @Amount_cs decimal (18,4)--现库存数量,便于和明细单中的数量区分,为计算成本所使用
DECLARE @Amount_pre decimal (18,4)--原库存数量
DECLARE @SumCost decimal (18,4)
DECLARE @SumRetail decimal (18,4)
DECLARE @CommodityStockDataVersion bigint
DECLARE @CommodityStockOriginDateTime datetime
DECLARE @CommodityStockSynchronizeDateTime datetime
DECLARE @Medicare TINYINT
/*定义InoutStockTable对应的局部变量*/
DECLARE @Guid_is uniqueidentifier
DECLARE @StockId tinyint
DECLARE @PreCostPrice decimal(18,4)
DECLARE @PreSalePrice decimal(18,4)
DECLARE @PreBatchSalePrice decimal(18,4)
DECLARE @ChangePrice decimal(18,4)
DECLARE @PreAmount decimal(18,4)
DECLARE @ChangeAmount decimal(18,4)
DECLARE @CurAmount decimal(18,4)
DECLARE @PreCostSumMoney decimal(18,4)
DECLARE @PreSaleSumMoney decimal(18,4)
DECLARE @PreBatchSaleSumMoney decimal(18,4)
DECLARE @ChangeSumMoney decimal(18,4)
DECLARE @CurCostPrice decimal(18,4)
DECLARE @CurSalePrice decimal(18,4)
DECLARE @CurBatchSalePrice decimal(18,4)
DECLARE @CurCostSumMoney decimal(18,4)
DECLARE @CurSaleSumMoney decimal(18,4)
DECLARE @CurBatchSaleSumMoney decimal(18,4)
DECLARE @IsAmountChanged bit
DECLARE @IsMoneyChanged bit
DECLARE @InStockId int
DECLARE @OutStockId int
DECLARE @DataVersion bigint
/*定义DataVersion对应的局部变量*/
DECLARE @DataVersionId int
DECLARE @Name varchar(20)
DECLARE @PreviousVersion bigint
DECLARE @CurVersion bigint
DECLARE @OriginDateTime datetime
DECLARE @SynchronizeDateTime datetime
/*根据情况对局部变量赋初始值*/
select @CommodityStockDataVersion=0
SELECT @BillType=5 --零售单的BillType为5
SELECT @ErrorMessage=NULL
SELECT @EmbranchmentId=INTValue FROM SysData WHERE Name='EmbranchmentId'
IF @EmbranchmentId IS NULL
BEGIN
SELECT @ErrorMessage='未查找到对应的分支机构Id'
Select @ErrorInfoId =-1
RETURN -1
END
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
BEGIN TRAN
SET NOCOUNT ON
SELECT
@EmbranchmentId=EmbranchmentId,
@BillId=BillId,
@BillType=BillType,
@BillFlowId=BillFlowId,
@BillCode=BillCode,
@CreateDate=CreateDate,
@CreatorId=CreatorId,
@BusinessDate=BusinessDate,
@BusinessId=BusinessId,
@AuditDate=AuditDate,
@AuditorId=AuditorId,
@ProviderId=ProviderId,
@CardId=CardId,
@CustomerId=CustomerId,
@CardCode=CardCode,
@Status=@Status,
@SumMoney=SumMoney,
@Discount=Discount,
@InStockId=InStockId,
@OutStockId=OutStockId,
@Summary=Summary,
@Remark=Remark,
@Guid=Guid,
@CreatorName=CreatorName,
@BusinessName=BusinessName,
@BillCodeName=BillCodeName,
@StockName=StockName,
@EmbranchmentName=EmbranchmentName,
@CustomerName=CustomerName,
@InStockName=InStockName,
@OutStockName=OutStockName,
@FS=FS,
@IsZY=IsZY,
@PayType=PayType,
@PayCard=PayCard
FROM Bill(UPDLOCK)
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
IF @@ROWCOUNT=0
BEGIN
ROLLBACK
SELECT @ErrorMessage='没有找到要审核的单据'
Select @ErrorInfoId =-2
RETURN
END
/*检查从单是否完整*/
SELECT CommodityId, BatchCode, Price,Discount,DiscountPrice, Amount, SumMoney,
ProductDate, InvalidateDate,CostPrice,RowNum
FROM BillDetailRetail
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='没有找到要审核的从单'
Select @ErrorInfoId =-3
ROLLBACK
RETURN
END
/*从单游标*/
DECLARE Cur_BillDetailRetail CURSOR FOR
SELECT CommodityId, BatchCode, Price,Discount,DiscountPrice, Amount, SumMoney,
ProductDate, InvalidateDate,CostPrice,RowNum, CommodityName, Spec,
Unit, ProducingArea, DoseTypeName, AuthorizeCode,InOrder,CustomCode,
CounterId,CounterName , PackingId, PackingName ,CustomStr,ProductName
FROM BillDetailRetail
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
OPEN Cur_BillDetailRetail
FETCH NEXT FROM Cur_BillDetailRetail
INTO @CommodityId, @BatchCode, @Price,@Discount_Detail,@DiscountPrice, @Amount, @SumMoney,
@ProductDate, @InvalidateDate,@CostPrice,@RowNum, @CommodityName, @Spec,
@Unit, @ProducingArea, @DoseTypeName, @AuthorizeCode,@InOrder,@CustomCode ,
@CounterId,@CounterName,@PackingId, @PackingName ,@CustomStr,@ProductName
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @CostPrice = CostPrice,@Amount_pre = Amount,@Amount_cs = Amount,@RetailPrice = CurrentRetailPrice,
@SumCost = SumCost,@SumRetail = SumRetail,@Medicare = Medicare
FROM CommodityStock
WHERE DepotId=@OutStockId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and InOrder =@InOrder
and PackingId=@PackingId
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='检测库存失败!'
Select @ErrorInfoId =-10
ROLLBACK TRAN RETAIL
RETURN
END
SELECT @Amount_cs = @Amount_cs - @Amount*@FS
SELECT @SumCost = @CostPrice * @Amount_cs
SELECT @SumRetail = @RetailPrice * @Amount_cs
/*如果库存数量大于销售数量,则更新库存表,否则,回滚*/
IF @Amount_cs < 0
BEGIN
SELECT @ErrorMessage='编号:' +@CustomCode+' 名称:' + @CommodityName +' 批号:' + @BatchCode +'的库存数量不足,无法审核!'
Select @ErrorInfoId =-4
ROLLBACK
RETURN
END
ELSE
BEGIN
/*在社区药店系统中,CommodityStock中有DataVersion字段,主要是用于各社区店从服务器上下拉库存*/
select @CommodityStockDataVersion=CurVersion,
@CommodityStockOriginDateTime = OriginDateTime,
@CommodityStockSynchronizeDateTime = SynchronizeDateTime
from DataVersion(UPDLOCK)
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@ROWCOUNT<>1
begin
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId=-100
ROLLBACK
RETURN -1
end
/**************************************************************************************************************************************/
/*库存表处理部分*/
UPDATE CommodityStock
SET Amount = @Amount_cs,FactAmount = @Amount_cs,SumCost = @SumCost,SumRetail=@SumRetail,DataVersion=@CommodityStockDataVersion+1
WHERE DepotId=@OutStockId
AND EmbranchmentId=@EmbranchmentId
AND CommodityId=@CommodityId
AND BatchCode=@BatchCode
and InOrder =@InOrder
and PackingId=@PackingId
/*************************************在社区药店系统版本处理部分**********************************************/
Update DataVersion
set PreviousVersion=@CommodityStockDataVersion,CurVersion=@CommodityStockDataVersion+1,
OriginDateTime=@CommodityStockSynchronizeDateTime, SynchronizeDateTime=getDate()
where EmbranchmentId=@EmbranchmentId
and DataVersionId=14
if @@error <>0
begin
SELECT @ErrorMessage='更新版本出错!'
Select @ErrorInfoId=-111
ROLLBACK
RETURN -1
end
/***************************************************************************************************************************/
/*版本处理部分*/
SELECT @CurVersion=CurVersion
FROM DataVersion
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
IF @@ROWCOUNT = 0
BEGIN
SELECT @ErrorMessage='取版本出错!'
Select @ErrorInfoId =-5
ROLLBACK
RETURN
END
ELSE
BEGIN
Update DataVersion
SET PreviousVersion = @CurVersion,CurVersion = @CurVersion+1
WHERE EmbranchmentId=@EmbranchmentId
AND DataVersionId=1
END
/*出入库记录处理部分*/
SELECT @PreCostSumMoney=@Amount_pre*@CostPrice
SELECT @PreSaleSumMoney=@Amount_pre*@RetailPrice
SELECT @CurCostSumMoney=@Amount*@CostPrice
SELECT @CurSaleSumMoney=@Amount*@DiscountPrice*@Discount
SELECT @ChangeSumMoney=@Amount*@DiscountPrice*@Discount*@FS--@Discount为整单折扣,@Discount_Detail为明细单品折扣
INSERT INTO InoutStockTable (Guid, EmbranchmentId, StockId, BillType, BillId,BillCode, BusinessDate,AuditDate, RowNum, CommodityId, BatchCode, PreCostPrice, PreSalePrice,PreBatchSalePrice,ChangePrice,Discount,DiscountPrice,PreAmount, ChangeAmount, OutAmount,CurAmount , PreCostSumMoney,PreSaleSumMoney, PreBatchSaleSumMoney, ChangeSumMoney, CurCostPrice, CurSalePrice, CurBatchSalePrice, CurCostSumMoney, CurBatchSaleSumMoney, CurSaleSumMoney, ProductDate, InvalidateDate, IsMoneyChanged, IsAmountChanged, ProviderId, CustomerId, InStockId, OutStockId, DataVersion,CommodityName,Spec,Unit,ProducingArea,AuthorizeCode,DoseTypeName,CreatorName,BusinessName,BillCodeName,StockName,EmbranchmentName,CustomerName,InStockName,OutStockName,Remark,CustomCode,CounterId,CounterName,IsZY,EntireDisCount,PayType,CardCode,Medicare,PayCard,PackingId,PackingName ,CustomStr,ProductName)
VALUES (newid(),@EmbranchmentId, @OutStockId,@BillType, @BillId, @BillCode,@BusinessDate,@AuditDate,@RowNum, @CommodityId, @BatchCode,@CostPrice , @RetailPrice,0 ,@Price ,@Discount_Detail ,@DiscountPrice ,@Amount_pre, @Amount*@FS, @Amount*@FS, @Amount_cs , @PreCostSumMoney ,@PreSaleSumMoney, 0, @ChangeSumMoney, @CostPrice, @RetailPrice, 0, @CurCostSumMoney, 0, @CurSaleSumMoney , @ProductDate, @InvalidateDate, 1, 1, @ProviderId, @CustomerId, 0 , @OutStockId,@CurVersion + 1,@CommodityName,@Spec,@Unit,@ProducingArea,@AuthorizeCode,@DoseTypeName,@CreatorName,@BusinessName,@BillCodeName,@StockName,@EmbranchmentName,@CustomerName,@InStockName,@OutStockName,@Remark,@CustomCode,@CounterId,@CounterName,1,@DisCount,@PayType,@CardCode,@Medicare,@PayCard,@PackingId,@PackingName ,@CustomStr,@ProductName)
END
Update Bill
SET Status=2,AuditDate=GETDATE()
WHERE EmbranchmentId=@EmbranchmentId
AND BillType=@BillType
AND BillId=@BillId
AND Status=1
FETCH NEXT FROM Cur_BillDetailRetail
INTO @CommodityId, @BatchCode, @Price,@Discount_Detail,@DiscountPrice, @Amount, @SumMoney,
@ProductDate, @InvalidateDate,@CostPrice,@RowNum, @CommodityName, @Spec,
@Unit, @ProducingArea, @DoseTypeName, @AuthorizeCode,@InOrder,@CustomCode ,
@CounterId,@CounterName,@PackingId, @PackingName ,@CustomStr,@ProductName
END
SELECT @ErrorMessage='收款成功!'
Select @ErrorInfoId =1
CLOSE Cur_BillDetailRetail
DEALLOCATE Cur_BillDetailRetail
IF @ErrorInfoId =1
BEGIN
IF @CardId = 0
BEGIN
UPDATE Bill SET CardMessage='CardId is null' WHERE BillId=@BillId
END
ELSE
BEGIN
IF @CardCode = '' OR @CardCode IS NULL
BEGIN
UPDATE Bill SET CardMessage='CardCode is null' WHERE BillId=@BillId
END
ELSE
BEGIN
EXEC UpdateMemberCardAndLog @BillId = @BillId
END
END
END
COMMIT
GO
/****** Object: UserDefinedFunction [dbo].[CanAccessFunction] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION [dbo].[CanAccessFunction]
(
-- Add the parameters for the function here
@UserName nvarchar(50),
@Path nvarchar(200)
)
RETURNS nvarchar(10)
AS
BEGIN
-- Declare the return variable here
DECLARE @CanAccessFunction nvarchar(10)
-- Add the T-SQL statements to compute the return value here
SELECT @CanAccessFunction='false'
/****** Script for SelectTopNRows command from SSMS ******/
declare @result int
SELECT top 1 @result =count(1)
FROM [MedicineMis_STD].[dbo].[UserFunction] where UserName=@UserName and [Path] =@Path
if(@result <> 0)
select @CanAccessFunction='true'
-- Return the result of the function
RETURN @CanAccessFunction
END
GO
/****** Object: DdlTrigger [tr_MStran_alterschemaonly] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create trigger [tr_MStran_alterschemaonly] on database for ALTER_FUNCTION, ALTER_PROCEDURE as
set ANSI_NULLS ON
set ANSI_PADDING ON
set ANSI_WARNINGS ON
set ARITHABORT ON
set CONCAT_NULL_YIELDS_NULL ON
set NUMERIC_ROUNDABORT OFF
set QUOTED_IDENTIFIER ON
declare @EventData xml
set @EventData=EventData()
exec sys.sp_MStran_ddlrepl @EventData, 3
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
DISABLE TRIGGER [tr_MStran_alterschemaonly] ON DATABASE
GO
/****** Object: DdlTrigger [tr_MStran_altertable] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create trigger [tr_MStran_altertable] on database for ALTER_TABLE as
set ANSI_NULLS ON
set ANSI_PADDING ON
set ANSI_WARNINGS ON
set ARITHABORT ON
set CONCAT_NULL_YIELDS_NULL ON
set NUMERIC_ROUNDABORT OFF
set QUOTED_IDENTIFIER ON
declare @EventData xml
set @EventData=EventData()
exec sys.sp_MStran_ddlrepl @EventData, 1
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
DISABLE TRIGGER [tr_MStran_altertable] ON DATABASE
GO
/****** Object: DdlTrigger [tr_MStran_altertrigger] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create trigger [tr_MStran_altertrigger] on database for ALTER_TRIGGER as
set ANSI_NULLS ON
set ANSI_PADDING ON
set ANSI_WARNINGS ON
set ARITHABORT ON
set CONCAT_NULL_YIELDS_NULL ON
set NUMERIC_ROUNDABORT OFF
set QUOTED_IDENTIFIER ON
declare @EventData xml
set @EventData=EventData()
exec sys.sp_MStran_ddlrepl @EventData, 4
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
DISABLE TRIGGER [tr_MStran_altertrigger] ON DATABASE
GO
/****** Object: DdlTrigger [tr_MStran_alterview] Script Date: 03/02/2011 16:53:49 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create trigger [tr_MStran_alterview] on database for ALTER_VIEW as
set ANSI_NULLS ON
set ANSI_PADDING ON
set ANSI_WARNINGS ON
set ARITHABORT ON
set CONCAT_NULL_YIELDS_NULL ON
set NUMERIC_ROUNDABORT OFF
set QUOTED_IDENTIFIER ON
declare @EventData xml
set @EventData=EventData()
exec sys.sp_MStran_ddlrepl @EventData, 2
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
DISABLE TRIGGER [tr_MStran_alterview] ON DATABASE
GO
/****** Object: Default [DF_PostFunc_Tag] Script Date: 03/02/2011 16:53:45 ******/
ALTER TABLE [dbo].[PostFunc] ADD CONSTRAINT [DF_PostFunc_Tag] DEFAULT (0) FOR [Tag]
GO
/****** Object: Default [DF_NewStock_IsChinese] Script Date: 03/02/2011 16:53:45 ******/
ALTER TABLE [dbo].[NewStock] ADD CONSTRAINT [DF_NewStock_IsChinese] DEFAULT (0) FOR [IsChinese]
GO
/****** Object: Default [DF_NewStock_PackingId] Script Date: 03/02/2011 16:53:45 ******/
ALTER TABLE [dbo].[NewStock] ADD CONSTRAINT [DF_NewStock_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_Report_IsSystem] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Report] ADD CONSTRAINT [DF_Report_IsSystem] DEFAULT (0) FOR [IsSystem]
GO
/****** Object: Default [DF_QsPackage_State] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[QsPackage] ADD CONSTRAINT [DF_QsPackage_State] DEFAULT ('草稿') FOR [State]
GO
/****** Object: Default [DF_InoutStockTableCard_Guid] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTableCard] ADD CONSTRAINT [DF_InoutStockTableCard_Guid] DEFAULT (newid()) FOR [Guid]
GO
/****** Object: Default [DF_InoutStockTableCard_BatchCode] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTableCard] ADD CONSTRAINT [DF_InoutStockTableCard_BatchCode] DEFAULT ('') FOR [BatchCode]
GO
/****** Object: Default [DF_InoutStockTableCard_IsZY] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTableCard] ADD CONSTRAINT [DF_InoutStockTableCard_IsZY] DEFAULT (0) FOR [IsZY]
GO
/****** Object: Default [DF_InoutStockTableCard_PayType] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTableCard] ADD CONSTRAINT [DF_InoutStockTableCard_PayType] DEFAULT (0) FOR [PayType]
GO
/****** Object: Default [DF_InoutStockTableCard_Medicare] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTableCard] ADD CONSTRAINT [DF_InoutStockTableCard_Medicare] DEFAULT (0) FOR [Medicare]
GO
/****** Object: Default [DF_InoutStockTableCard_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTableCard] ADD CONSTRAINT [DF_InoutStockTableCard_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_InoutStockTableCard_IsMedicare] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTableCard] ADD CONSTRAINT [DF_InoutStockTableCard_IsMedicare] DEFAULT (0) FOR [IsMedicare]
GO
/****** Object: Default [DF_InoutStockTableCard_Deleted] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTableCard] ADD CONSTRAINT [DF_InoutStockTableCard_Deleted] DEFAULT (0) FOR [Deleted]
GO
/****** Object: Default [DF_InoutStockTableCard_CompanyId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTableCard] ADD CONSTRAINT [DF_InoutStockTableCard_CompanyId] DEFAULT (0) FOR [CompanyId]
GO
/****** Object: Default [DF_InoutStockTableCard_CFF] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTableCard] ADD CONSTRAINT [DF_InoutStockTableCard_CFF] DEFAULT ((0)) FOR [CFF]
GO
/****** Object: Default [DF_InoutStockTable_Guid] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTable] ADD CONSTRAINT [DF_InoutStockTable_Guid] DEFAULT (newid()) FOR [Guid]
GO
/****** Object: Default [DF_InoutStockTable_BatchCode] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTable] ADD CONSTRAINT [DF_InoutStockTable_BatchCode] DEFAULT ('') FOR [BatchCode]
GO
/****** Object: Default [DF_InoutStockTable_IsZY] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTable] ADD CONSTRAINT [DF_InoutStockTable_IsZY] DEFAULT (0) FOR [IsZY]
GO
/****** Object: Default [DF_InoutStockTable_PayType] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTable] ADD CONSTRAINT [DF_InoutStockTable_PayType] DEFAULT (0) FOR [PayType]
GO
/****** Object: Default [DF_InoutStockTable_Medicare] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTable] ADD CONSTRAINT [DF_InoutStockTable_Medicare] DEFAULT (0) FOR [Medicare]
GO
/****** Object: Default [DF_InoutStockTable_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTable] ADD CONSTRAINT [DF_InoutStockTable_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_InoutStockTable_IsMedicare_1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTable] ADD CONSTRAINT [DF_InoutStockTable_IsMedicare_1] DEFAULT (0) FOR [IsMedicare]
GO
/****** Object: Default [DF_InoutStockTable_Status_1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTable] ADD CONSTRAINT [DF_InoutStockTable_Status_1] DEFAULT (0) FOR [Status]
GO
/****** Object: Default [DF_InoutStockTable_CompanyId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTable] ADD CONSTRAINT [DF_InoutStockTable_CompanyId] DEFAULT (0) FOR [CompanyId]
GO
/****** Object: Default [DF_InoutStockTable_CFF] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[InoutStockTable] ADD CONSTRAINT [DF_InoutStockTable_CFF] DEFAULT (0) FOR [CFF]
GO
/****** Object: Default [DF_FunctionTree_Tag] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[FunctionTree] ADD CONSTRAINT [DF_FunctionTree_Tag] DEFAULT (0) FOR [Tag]
GO
/****** Object: Default [DF_FoodInoutStockTable_Guid] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[FoodInoutStockTable] ADD CONSTRAINT [DF_FoodInoutStockTable_Guid] DEFAULT (newid()) FOR [Guid]
GO
/****** Object: Default [DF_FoodInoutStockTable_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[FoodInoutStockTable] ADD CONSTRAINT [DF_FoodInoutStockTable_PackingId] DEFAULT ((0)) FOR [PackingId]
GO
/****** Object: Default [DF_FoodInfo_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[FoodInfo] ADD CONSTRAINT [DF_FoodInfo_PackingId] DEFAULT ((0)) FOR [PackingId]
GO
/****** Object: Default [DF_FoodEmbranchmentEmployee_Deleted] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[FoodEmbranchmentEmployee] ADD CONSTRAINT [DF_FoodEmbranchmentEmployee_Deleted] DEFAULT ((0)) FOR [Deleted]
GO
/****** Object: Default [DF_FoodEmbranchment_Deleted] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[FoodEmbranchment] ADD CONSTRAINT [DF_FoodEmbranchment_Deleted] DEFAULT ((0)) FOR [Deleted]
GO
/****** Object: Default [DF_FoodBillDetailBuyInStock_BatchCode] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[FoodBillDetailBuyInStock] ADD CONSTRAINT [DF_FoodBillDetailBuyInStock_BatchCode] DEFAULT ('') FOR [BatchCode]
GO
/****** Object: Default [DF_FoodBillDetailBuyInStock_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[FoodBillDetailBuyInStock] ADD CONSTRAINT [DF_FoodBillDetailBuyInStock_PackingId] DEFAULT ((0)) FOR [PackingId]
GO
/****** Object: Default [DF_FoodBill_Status] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[FoodBill] ADD CONSTRAINT [DF_FoodBill_Status] DEFAULT ((0)) FOR [Status]
GO
/****** Object: Default [DF_MemberCardChangeLogTemp_Guid] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLogTemp] ADD CONSTRAINT [DF_MemberCardChangeLogTemp_Guid] DEFAULT (newid()) FOR [Guid]
GO
/****** Object: Default [DF__MemberCarTemp__Busin__2BD46C74] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLogTemp] ADD CONSTRAINT [DF__MemberCarTemp__Busin__2BD46C74] DEFAULT (getdate()) FOR [BusinessDate]
GO
/****** Object: Default [DF_MemberCardChangeLogTemp_ReturnPayCard] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLogTemp] ADD CONSTRAINT [DF_MemberCardChangeLogTemp_ReturnPayCard] DEFAULT (0) FOR [ReturnPayCard]
GO
/****** Object: Default [DF_MemberCardChangeLogTemp_PointsBase] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLogTemp] ADD CONSTRAINT [DF_MemberCardChangeLogTemp_PointsBase] DEFAULT (1) FOR [PointsBase]
GO
/****** Object: Default [DF_MemberCardChangeLogTemp_Points] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLogTemp] ADD CONSTRAINT [DF_MemberCardChangeLogTemp_Points] DEFAULT (1) FOR [Points]
GO
/****** Object: Default [DF_MemberCardChangeLogTemp_IsTransferred_1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLogTemp] ADD CONSTRAINT [DF_MemberCardChangeLogTemp_IsTransferred_1] DEFAULT (0) FOR [IsTransferred]
GO
/****** Object: Default [DF_MemberCardChangeLogTemp_IsHC_1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLogTemp] ADD CONSTRAINT [DF_MemberCardChangeLogTemp_IsHC_1] DEFAULT (0) FOR [IsHC]
GO
/****** Object: Default [DF_MemberCardChangeLogTemp_IsCZ_1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLogTemp] ADD CONSTRAINT [DF_MemberCardChangeLogTemp_IsCZ_1] DEFAULT (0) FOR [IsCZ]
GO
/****** Object: Default [DF_MemberCardChangeLogTemp_Deleted] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLogTemp] ADD CONSTRAINT [DF_MemberCardChangeLogTemp_Deleted] DEFAULT (0) FOR [Deleted]
GO
/****** Object: Default [DF_MemberCardChangeLogTemp_ProviderId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLogTemp] ADD CONSTRAINT [DF_MemberCardChangeLogTemp_ProviderId] DEFAULT (0) FOR [ProviderId]
GO
/****** Object: Default [DF_MemberCardChangeLogTemp_Shadiness] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLogTemp] ADD CONSTRAINT [DF_MemberCardChangeLogTemp_Shadiness] DEFAULT (0) FOR [Shadiness]
GO
/****** Object: Default [DF_MemberCardChangeLog_Guid] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLog] ADD CONSTRAINT [DF_MemberCardChangeLog_Guid] DEFAULT (newid()) FOR [Guid]
GO
/****** Object: Default [DF__MemberCar__Busin__2BD46C74] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLog] ADD CONSTRAINT [DF__MemberCar__Busin__2BD46C74] DEFAULT (getdate()) FOR [BusinessDate]
GO
/****** Object: Default [DF_MemberCardChangeLog_ReturnPayCard] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLog] ADD CONSTRAINT [DF_MemberCardChangeLog_ReturnPayCard] DEFAULT (0) FOR [ReturnPayCard]
GO
/****** Object: Default [DF_MemberCardChangeLog_PointsBase] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLog] ADD CONSTRAINT [DF_MemberCardChangeLog_PointsBase] DEFAULT (1) FOR [PointsBase]
GO
/****** Object: Default [DF_MemberCardChangeLog_Points] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLog] ADD CONSTRAINT [DF_MemberCardChangeLog_Points] DEFAULT (1) FOR [Points]
GO
/****** Object: Default [DF_MemberCardChangeLog_IsTransferred_1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLog] ADD CONSTRAINT [DF_MemberCardChangeLog_IsTransferred_1] DEFAULT (0) FOR [IsTransferred]
GO
/****** Object: Default [DF_MemberCardChangeLog_IsHC_1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLog] ADD CONSTRAINT [DF_MemberCardChangeLog_IsHC_1] DEFAULT (0) FOR [IsHC]
GO
/****** Object: Default [DF_MemberCardChangeLog_IsCZ_1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLog] ADD CONSTRAINT [DF_MemberCardChangeLog_IsCZ_1] DEFAULT (0) FOR [IsCZ]
GO
/****** Object: Default [DF_MemberCardChangeLog_Deleted] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLog] ADD CONSTRAINT [DF_MemberCardChangeLog_Deleted] DEFAULT (0) FOR [Deleted]
GO
/****** Object: Default [DF_MemberCardChangeLog_ProviderId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLog] ADD CONSTRAINT [DF_MemberCardChangeLog_ProviderId] DEFAULT (0) FOR [ProviderId]
GO
/****** Object: Default [DF_MemberCardChangeLog_CheckOut] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLog] ADD CONSTRAINT [DF_MemberCardChangeLog_CheckOut] DEFAULT (0) FOR [CheckOut]
GO
/****** Object: Default [DF_MemberCardChangeLog_Shadiness] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCardChangeLog] ADD CONSTRAINT [DF_MemberCardChangeLog_Shadiness] DEFAULT (0) FOR [Shadiness]
GO
/****** Object: Default [DF_MemberCard_CardId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_CardId] DEFAULT (0) FOR [CardId]
GO
/****** Object: Default [DF_MemberCard_Balance] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_Balance] DEFAULT (0) FOR [Balance]
GO
/****** Object: Default [DF_MemberCard_SumConsumed] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_SumConsumed] DEFAULT (0) FOR [SumConsumed]
GO
/****** Object: Default [DF_MemberCard_CardLevelId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_CardLevelId] DEFAULT (0) FOR [CardLevelId]
GO
/****** Object: Default [DF_MemberCard_Status] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_Status] DEFAULT (0) FOR [Status]
GO
/****** Object: Default [DF_MemberCard_Foregift] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_Foregift] DEFAULT (0) FOR [Foregift]
GO
/****** Object: Default [DF_MemberCard_Discount] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_Discount] DEFAULT (1) FOR [Discount]
GO
/****** Object: Default [DF_MemberCard_MissCash] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_MissCash] DEFAULT (0) FOR [MissCash]
GO
/****** Object: Default [DF_MemberCard_ReturnPayCard] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_ReturnPayCard] DEFAULT (0) FOR [ReturnPayCard]
GO
/****** Object: Default [DF_MemberCard_SumAllMoney] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_SumAllMoney] DEFAULT (0) FOR [SumAllMoney]
GO
/****** Object: Default [DF_MemberCard_YBConsumed] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_YBConsumed] DEFAULT (0) FOR [YBConsumed]
GO
/****** Object: Default [DF_MemberCard_SumDiscount_1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_SumDiscount_1] DEFAULT (1) FOR [SumDiscount]
GO
/****** Object: Default [DF_MemberCard_SpareMoney] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_SpareMoney] DEFAULT (0) FOR [SpareMoney]
GO
/****** Object: Default [DF_MemberCard_IsTransferred] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_IsTransferred] DEFAULT (0) FOR [IsTransferred]
GO
/****** Object: Default [DF_MemberCard_ReturnCard] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_ReturnCard] DEFAULT (0) FOR [ReturnCard]
GO
/****** Object: Default [DF_MemberCard_CancelReturnPayCard] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_CancelReturnPayCard] DEFAULT (0) FOR [CancelReturnPayCard]
GO
/****** Object: Default [DF_MemberCard_CallBackReturnPayCard] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_CallBackReturnPayCard] DEFAULT (0) FOR [CallBackReturnPayCard]
GO
/****** Object: Default [DF_MemberCard_DrawCard] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_DrawCard] DEFAULT (0) FOR [DrawCard]
GO
/****** Object: Default [DF_MemberCard_TransferCard] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_TransferCard] DEFAULT (0) FOR [TransferCard]
GO
/****** Object: Default [DF_MemberCard_ProviderId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_ProviderId] DEFAULT (0) FOR [ProviderId]
GO
/****** Object: Default [DF_MemberCard_IsCH] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[MemberCard] ADD CONSTRAINT [DF_MemberCard_IsCH] DEFAULT ((0)) FOR [IsCZ]
GO
/****** Object: Default [DF_Sypzspb_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Sypzspb] ADD CONSTRAINT [DF_Sypzspb_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_Site_LodingTime] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Site] ADD CONSTRAINT [DF_Site_LodingTime] DEFAULT (getdate()) FOR [LodingTime]
GO
/****** Object: Default [DF_ConversionDataTable_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[ConversionDataTable] ADD CONSTRAINT [DF_ConversionDataTable_PackingId] DEFAULT (0) FOR [PackingId_Old]
GO
/****** Object: Default [DF_ConversionDataTable_PackingId_Old1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[ConversionDataTable] ADD CONSTRAINT [DF_ConversionDataTable_PackingId_Old1] DEFAULT (0) FOR [PackingId_New]
GO
/****** Object: Default [DF_Employee_Login_1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Employee] ADD CONSTRAINT [DF_Employee_Login_1] DEFAULT (0) FOR [Login]
GO
/****** Object: Default [DF_Embranchment_EconomyKind] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Embranchment] ADD CONSTRAINT [DF_Embranchment_EconomyKind] DEFAULT ('个体') FOR [EconomyKind]
GO
/****** Object: Default [DF_Embranchment_WorkMethod] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Embranchment] ADD CONSTRAINT [DF_Embranchment_WorkMethod] DEFAULT ('零售(经营处方药和非处方药)') FOR [WorkMethod]
GO
/****** Object: Default [DF_Embranchment_EnterpriseKind] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Embranchment] ADD CONSTRAINT [DF_Embranchment_EnterpriseKind] DEFAULT ('无') FOR [EnterpriseKind]
GO
/****** Object: Default [DF_Embranchment_Deleted_1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Embranchment] ADD CONSTRAINT [DF_Embranchment_Deleted_1] DEFAULT ((0)) FOR [Deleted]
GO
/****** Object: Default [DF_Embranchment_IsSelected] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Embranchment] ADD CONSTRAINT [DF_Embranchment_IsSelected] DEFAULT ((0)) FOR [IsSelected]
GO
/****** Object: Default [DF_Embranchment_Enable] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Embranchment] ADD CONSTRAINT [DF_Embranchment_Enable] DEFAULT ((0)) FOR [Enable]
GO
/****** Object: Default [DF_Embranchment_HeadOffice_1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Embranchment] ADD CONSTRAINT [DF_Embranchment_HeadOffice_1] DEFAULT ((0)) FOR [HeadOffice]
GO
/****** Object: Default [DF_DoseType_Deleted] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[DoseType] ADD CONSTRAINT [DF_DoseType_Deleted] DEFAULT (0) FOR [Deleted]
GO
/****** Object: Default [DF_Demolition_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Demolition] ADD CONSTRAINT [DF_Demolition_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_Demolition_Dem_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Demolition] ADD CONSTRAINT [DF_Demolition_Dem_PackingId] DEFAULT (0) FOR [Dem_PackingId]
GO
/****** Object: Default [DF_Demolition_proportion] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Demolition] ADD CONSTRAINT [DF_Demolition_proportion] DEFAULT (1) FOR [proportion]
GO
/****** Object: Default [DF_Customer_CertificateName_1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Customer] ADD CONSTRAINT [DF_Customer_CertificateName_1] DEFAULT (0) FOR [CertificateName]
GO
/****** Object: Default [DF_Customer_ProviderId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Customer] ADD CONSTRAINT [DF_Customer_ProviderId] DEFAULT (0) FOR [ProviderId]
GO
/****** Object: Default [DF_ConserveDetail_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[ConserveDetail] ADD CONSTRAINT [DF_ConserveDetail_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_CommodityStock_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CommodityStock] ADD CONSTRAINT [DF_CommodityStock_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_CommodityStock_BatchCode] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CommodityStock] ADD CONSTRAINT [DF_CommodityStock_BatchCode] DEFAULT ('') FOR [BatchCode]
GO
/****** Object: Default [DF_CommodityStock_IsChinese] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CommodityStock] ADD CONSTRAINT [DF_CommodityStock_IsChinese] DEFAULT (0) FOR [IsChinese]
GO
/****** Object: Default [DF_CommodityStock_CounterId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CommodityStock] ADD CONSTRAINT [DF_CommodityStock_CounterId] DEFAULT (0) FOR [CounterId]
GO
/****** Object: Default [DF_CommodityStock_DataVersion_1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CommodityStock] ADD CONSTRAINT [DF_CommodityStock_DataVersion_1] DEFAULT (0) FOR [DataVersion]
GO
/****** Object: Default [DF_CommodityStock_CurrentMemberPrice] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CommodityStock] ADD CONSTRAINT [DF_CommodityStock_CurrentMemberPrice] DEFAULT (1) FOR [CurrentMemberPrice]
GO
/****** Object: Default [DF_CommodityStock_Medicare] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CommodityStock] ADD CONSTRAINT [DF_CommodityStock_Medicare] DEFAULT (0) FOR [Medicare]
GO
/****** Object: Default [DF_CommodityRelation_NewPackingId_1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CommodityRelation] ADD CONSTRAINT [DF_CommodityRelation_NewPackingId_1] DEFAULT (0) FOR [NewPackingId]
GO
/****** Object: Default [DF_CommodityRelation_OldPackingId_1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CommodityRelation] ADD CONSTRAINT [DF_CommodityRelation_OldPackingId_1] DEFAULT (0) FOR [OldPackingId]
GO
/****** Object: Default [DF_CommodityOld_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CommodityOld] ADD CONSTRAINT [DF_CommodityOld_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_CommodityOld_Medicare] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CommodityOld] ADD CONSTRAINT [DF_CommodityOld_Medicare] DEFAULT (0) FOR [Medicare]
GO
/****** Object: Default [DF_CommodityOld_Guid] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CommodityOld] ADD CONSTRAINT [DF_CommodityOld_Guid] DEFAULT (newid()) FOR [Guid]
GO
/****** Object: Default [DF_CommodityOld_Reports] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CommodityOld] ADD CONSTRAINT [DF_CommodityOld_Reports] DEFAULT (0) FOR [Reports]
GO
/****** Object: Default [DF_CommodityOld_Deleted] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CommodityOld] ADD CONSTRAINT [DF_CommodityOld_Deleted] DEFAULT (0) FOR [Deleted]
GO
/****** Object: Default [DF_CommodityOld_CounterId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CommodityOld] ADD CONSTRAINT [DF_CommodityOld_CounterId] DEFAULT (0) FOR [CounterId]
GO
/****** Object: Default [DF_CommodityBcrRecord_BatchCode] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CommodityBcrRecord] ADD CONSTRAINT [DF_CommodityBcrRecord_BatchCode] DEFAULT ('') FOR [BatchCode]
GO
/****** Object: Default [DF_CommodityBcrRecord_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CommodityBcrRecord] ADD CONSTRAINT [DF_CommodityBcrRecord_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_CommodityAudit_Reports] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CommodityAudit] ADD CONSTRAINT [DF_CommodityAudit_Reports] DEFAULT (0) FOR [Reports]
GO
/****** Object: Default [DF_CommodityAudit_CounterId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CommodityAudit] ADD CONSTRAINT [DF_CommodityAudit_CounterId] DEFAULT (0) FOR [CounterId]
GO
/****** Object: Default [DF_Commodity_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Commodity] ADD CONSTRAINT [DF_Commodity_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_Commodity_Medicare] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Commodity] ADD CONSTRAINT [DF_Commodity_Medicare] DEFAULT (0) FOR [Medicare]
GO
/****** Object: Default [DF_Commodity_Guid] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Commodity] ADD CONSTRAINT [DF_Commodity_Guid] DEFAULT (newid()) FOR [Guid]
GO
/****** Object: Default [DF_Commodity_Reports] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Commodity] ADD CONSTRAINT [DF_Commodity_Reports] DEFAULT (0) FOR [Reports]
GO
/****** Object: Default [DF_Commodity_CounterId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Commodity] ADD CONSTRAINT [DF_Commodity_CounterId] DEFAULT (0) FOR [CounterId]
GO
/****** Object: Default [DF_BillDetailCharge_RowNum] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailChargeCard] ADD CONSTRAINT [DF_BillDetailCharge_RowNum] DEFAULT (0) FOR [RowNum]
GO
/****** Object: Default [DF_BillDetailCharge_CardId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailChargeCard] ADD CONSTRAINT [DF_BillDetailCharge_CardId] DEFAULT (0) FOR [CardId]
GO
/****** Object: Default [DF_BillDetailCharge_CustomerId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailChargeCard] ADD CONSTRAINT [DF_BillDetailCharge_CustomerId] DEFAULT (0) FOR [CustomerId]
GO
/****** Object: Default [DF_BillDetailCharge_IsCZ] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailChargeCard] ADD CONSTRAINT [DF_BillDetailCharge_IsCZ] DEFAULT (0) FOR [IsCZ]
GO
/****** Object: Default [DF_BillDetailChargeCard_Status] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailChargeCard] ADD CONSTRAINT [DF_BillDetailChargeCard_Status] DEFAULT ((0)) FOR [Status]
GO
/****** Object: Default [DF_BillDetailBatchCodeAdjust_PreBatchCode] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailBatchCodeAdjust] ADD CONSTRAINT [DF_BillDetailBatchCodeAdjust_PreBatchCode] DEFAULT ('') FOR [PreBatchCode]
GO
/****** Object: Default [DF_BillDetailBatchCodeAdjust_CurBatchCode] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailBatchCodeAdjust] ADD CONSTRAINT [DF_BillDetailBatchCodeAdjust_CurBatchCode] DEFAULT ('') FOR [CurBatchCode]
GO
/****** Object: Default [DF_BillDetailBatchCodeAdjust_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailBatchCodeAdjust] ADD CONSTRAINT [DF_BillDetailBatchCodeAdjust_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_BillDetailAdjustRetailPrice_BatchCode] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailAdjustRetailPrice] ADD CONSTRAINT [DF_BillDetailAdjustRetailPrice_BatchCode] DEFAULT ('') FOR [BatchCode]
GO
/****** Object: Default [DF_BillDetailAdjustRetailPrice_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailAdjustRetailPrice] ADD CONSTRAINT [DF_BillDetailAdjustRetailPrice_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_BillDetailRetail_BatchCode] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailRetail] ADD CONSTRAINT [DF_BillDetailRetail_BatchCode] DEFAULT ('') FOR [BatchCode]
GO
/****** Object: Default [DF_BillDetailRetail_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailRetail] ADD CONSTRAINT [DF_BillDetailRetail_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_BillDetailRetail_MemberPrice] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailRetail] ADD CONSTRAINT [DF_BillDetailRetail_MemberPrice] DEFAULT (0) FOR [MemberPrice]
GO
/****** Object: Default [DF_BillDetailRetail_ReturnPayCard] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailRetail] ADD CONSTRAINT [DF_BillDetailRetail_ReturnPayCard] DEFAULT (0) FOR [ReturnPayCard]
GO
/****** Object: Default [DF_BillDetailRetail_Medicare] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailRetail] ADD CONSTRAINT [DF_BillDetailRetail_Medicare] DEFAULT (0) FOR [Medicare]
GO
/****** Object: Default [DF_BillDetailRetail_CardDiscount] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailRetail] ADD CONSTRAINT [DF_BillDetailRetail_CardDiscount] DEFAULT (1) FOR [CardDiscount]
GO
/****** Object: Default [DF_BillDetailReportSpill_BatchCode] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailReportSpill] ADD CONSTRAINT [DF_BillDetailReportSpill_BatchCode] DEFAULT ('') FOR [BatchCode]
GO
/****** Object: Default [DF_BillDetailReportSpill_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailReportSpill] ADD CONSTRAINT [DF_BillDetailReportSpill_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_BillDetailReportLoss_BatchCode] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailReportLoss] ADD CONSTRAINT [DF_BillDetailReportLoss_BatchCode] DEFAULT ('') FOR [BatchCode]
GO
/****** Object: Default [DF_BillDetailReportLoss_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailReportLoss] ADD CONSTRAINT [DF_BillDetailReportLoss_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_BillDetailRetailReturn_BatchCode] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailRetailReturn] ADD CONSTRAINT [DF_BillDetailRetailReturn_BatchCode] DEFAULT ('') FOR [BatchCode]
GO
/****** Object: Default [DF_BillDetailRetailReturn_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailRetailReturn] ADD CONSTRAINT [DF_BillDetailRetailReturn_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_BillDetailDemolition_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailDemolition] ADD CONSTRAINT [DF_BillDetailDemolition_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_BillDetailDemolition_BatchCode] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailDemolition] ADD CONSTRAINT [DF_BillDetailDemolition_BatchCode] DEFAULT ('') FOR [BatchCode]
GO
/****** Object: Default [DF_BillDetailDemolition_IsChinese] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailDemolition] ADD CONSTRAINT [DF_BillDetailDemolition_IsChinese] DEFAULT (0) FOR [IsChinese]
GO
/****** Object: Default [DF_BillDetailDemolition_CounterId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailDemolition] ADD CONSTRAINT [DF_BillDetailDemolition_CounterId] DEFAULT (0) FOR [CounterId]
GO
/****** Object: Default [DF_BillDetailDemolition_DataVersion] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailDemolition] ADD CONSTRAINT [DF_BillDetailDemolition_DataVersion] DEFAULT (0) FOR [DataVersion]
GO
/****** Object: Default [DF_BillDetailDemolition_CurrentMemberPrice] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailDemolition] ADD CONSTRAINT [DF_BillDetailDemolition_CurrentMemberPrice] DEFAULT (1) FOR [CurrentMemberPrice]
GO
/****** Object: Default [DF_BillDetailDemolition_Medicare] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailDemolition] ADD CONSTRAINT [DF_BillDetailDemolition_Medicare] DEFAULT (0) FOR [Medicare]
GO
/****** Object: Default [DF_BillDetailDemolition_Dem_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailDemolition] ADD CONSTRAINT [DF_BillDetailDemolition_Dem_PackingId] DEFAULT (0) FOR [Dem_PackingId]
GO
/****** Object: Default [DF_BillDetailDemolition_Dem_BatchCode] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailDemolition] ADD CONSTRAINT [DF_BillDetailDemolition_Dem_BatchCode] DEFAULT ('') FOR [Dem_BatchCode]
GO
/****** Object: Default [DF_BillDetailDemolition_Dem_IsChinese] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailDemolition] ADD CONSTRAINT [DF_BillDetailDemolition_Dem_IsChinese] DEFAULT (0) FOR [Dem_IsChinese]
GO
/****** Object: Default [DF_BillDetailDemolition_Dem_CounterId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailDemolition] ADD CONSTRAINT [DF_BillDetailDemolition_Dem_CounterId] DEFAULT (0) FOR [Dem_CounterId]
GO
/****** Object: Default [DF_BillDetailDemolition_Dem_DataVersion] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailDemolition] ADD CONSTRAINT [DF_BillDetailDemolition_Dem_DataVersion] DEFAULT (0) FOR [Dem_DataVersion]
GO
/****** Object: Default [DF_BillDetailDemolition_Dem_CurrentMemberPrice] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailDemolition] ADD CONSTRAINT [DF_BillDetailDemolition_Dem_CurrentMemberPrice] DEFAULT (1) FOR [Dem_CurrentMemberPrice]
GO
/****** Object: Default [DF_BillDetailDemolition_Dem_Medicare] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailDemolition] ADD CONSTRAINT [DF_BillDetailDemolition_Dem_Medicare] DEFAULT (0) FOR [Dem_Medicare]
GO
/****** Object: Default [DF_BillDetailDemolition_proportion] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailDemolition] ADD CONSTRAINT [DF_BillDetailDemolition_proportion] DEFAULT (1) FOR [proportion]
GO
/****** Object: Default [DF_CardTypeDiscountAndPoints_Discount] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CardTypeDiscountAndPoints] ADD CONSTRAINT [DF_CardTypeDiscountAndPoints_Discount] DEFAULT (1) FOR [Discount]
GO
/****** Object: Default [DF_CardTypeDiscountAndPoints_PointsBase] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CardTypeDiscountAndPoints] ADD CONSTRAINT [DF_CardTypeDiscountAndPoints_PointsBase] DEFAULT (1) FOR [PointsBase]
GO
/****** Object: Default [DF_CardTypeDiscountAndPoints_Points] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CardTypeDiscountAndPoints] ADD CONSTRAINT [DF_CardTypeDiscountAndPoints_Points] DEFAULT (1) FOR [Points]
GO
/****** Object: Default [DF_CardType_Discount] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[CardType] ADD CONSTRAINT [DF_CardType_Discount] DEFAULT (1) FOR [Discount]
GO
/****** Object: Default [DF_Bill_Status] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Bill] ADD CONSTRAINT [DF_Bill_Status] DEFAULT (0) FOR [Status]
GO
/****** Object: Default [DF_Bill_ShiftId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Bill] ADD CONSTRAINT [DF_Bill_ShiftId] DEFAULT (0) FOR [ShiftId]
GO
/****** Object: Default [DF_Bill_Guid] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Bill] ADD CONSTRAINT [DF_Bill_Guid] DEFAULT (newid()) FOR [Guid]
GO
/****** Object: Default [DF_Bill_IsZY] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Bill] ADD CONSTRAINT [DF_Bill_IsZY] DEFAULT (0) FOR [IsZY]
GO
/****** Object: Default [DF_Bill_CFQ] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Bill] ADD CONSTRAINT [DF_Bill_CFQ] DEFAULT (0) FOR [CFQ]
GO
/****** Object: Default [DF_Bill_IsGD_1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Bill] ADD CONSTRAINT [DF_Bill_IsGD_1] DEFAULT (0) FOR [IsGD]
GO
/****** Object: Default [DF_Bill_PayType_1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Bill] ADD CONSTRAINT [DF_Bill_PayType_1] DEFAULT (0) FOR [PayType]
GO
/****** Object: Default [DF_Bill_CardDiscount] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[Bill] ADD CONSTRAINT [DF_Bill_CardDiscount] DEFAULT (1) FOR [CardDiscount]
GO
/****** Object: Default [DF__AppRight__Forder__5ECA0095] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[AppRight] ADD CONSTRAINT [DF__AppRight__Forder__5ECA0095] DEFAULT (0) FOR [Forder]
GO
/****** Object: Default [DF__AppRight__Childs__5FBE24CE] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[AppRight] ADD CONSTRAINT [DF__AppRight__Childs__5FBE24CE] DEFAULT (1) FOR [ChildsMAX]
GO
/****** Object: Default [DF__AppRight__DELETE__60B24907] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[AppRight] ADD CONSTRAINT [DF__AppRight__DELETE__60B24907] DEFAULT ('0') FOR [DELETED]
GO
/****** Object: Default [DF_BillDetailAdjustCostPrice_BatchCode] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailAdjustCostPrice] ADD CONSTRAINT [DF_BillDetailAdjustCostPrice_BatchCode] DEFAULT ('') FOR [BatchCode]
GO
/****** Object: Default [DF_BillDetailAdjustCostPrice_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailAdjustCostPrice] ADD CONSTRAINT [DF_BillDetailAdjustCostPrice_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_BillCommunity_Status] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillCommunity] ADD CONSTRAINT [DF_BillCommunity_Status] DEFAULT (0) FOR [Status]
GO
/****** Object: Default [DF_BillCommunity_ShiftId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillCommunity] ADD CONSTRAINT [DF_BillCommunity_ShiftId] DEFAULT (0) FOR [ShiftId]
GO
/****** Object: Default [DF_BillCommunity_Guid] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillCommunity] ADD CONSTRAINT [DF_BillCommunity_Guid] DEFAULT (newid()) FOR [Guid]
GO
/****** Object: Default [DF_BillCommunity_IsZY] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillCommunity] ADD CONSTRAINT [DF_BillCommunity_IsZY] DEFAULT (0) FOR [IsZY]
GO
/****** Object: Default [DF_BillCommunity_CFQ] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillCommunity] ADD CONSTRAINT [DF_BillCommunity_CFQ] DEFAULT (0) FOR [CFQ]
GO
/****** Object: Default [DF_BillCommunity_IsGD] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillCommunity] ADD CONSTRAINT [DF_BillCommunity_IsGD] DEFAULT (0) FOR [IsGD]
GO
/****** Object: Default [DF_BillCommunity_IsCancle_1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillCommunity] ADD CONSTRAINT [DF_BillCommunity_IsCancle_1] DEFAULT (0) FOR [IsCancle]
GO
/****** Object: Default [DF_BillDetailCallBack_BatchCode] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailCallBack] ADD CONSTRAINT [DF_BillDetailCallBack_BatchCode] DEFAULT ('') FOR [BatchCode]
GO
/****** Object: Default [DF_BillDetailCallBack_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailCallBack] ADD CONSTRAINT [DF_BillDetailCallBack_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_BillDetailCallBack_MemberPrice] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailCallBack] ADD CONSTRAINT [DF_BillDetailCallBack_MemberPrice] DEFAULT (0) FOR [MemberPrice]
GO
/****** Object: Default [DF_BillDetailCallBack_ReturnPayCard] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailCallBack] ADD CONSTRAINT [DF_BillDetailCallBack_ReturnPayCard] DEFAULT (0) FOR [ReturnPayCard]
GO
/****** Object: Default [DF_BillDetailCallBack_Medicare] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailCallBack] ADD CONSTRAINT [DF_BillDetailCallBack_Medicare] DEFAULT (0) FOR [Medicare]
GO
/****** Object: Default [DF_BillDetailCallBack_CardDiscount] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailCallBack] ADD CONSTRAINT [DF_BillDetailCallBack_CardDiscount] DEFAULT (1) FOR [CardDiscount]
GO
/****** Object: Default [DF_BillDetailBuyReturn_BatchCode] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailBuyReturn] ADD CONSTRAINT [DF_BillDetailBuyReturn_BatchCode] DEFAULT ('') FOR [BatchCode]
GO
/****** Object: Default [DF_BillDetailBuyReturn_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailBuyReturn] ADD CONSTRAINT [DF_BillDetailBuyReturn_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: Default [DF_BillDetailBuyInStock_BatchCode] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailBuyInStock] ADD CONSTRAINT [DF_BillDetailBuyInStock_BatchCode] DEFAULT ('') FOR [BatchCode]
GO
/****** Object: Default [DF_BillDetailBuyInStock_IsChinese] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailBuyInStock] ADD CONSTRAINT [DF_BillDetailBuyInStock_IsChinese] DEFAULT (0) FOR [IsChinese]
GO
/****** Object: Default [DF_BillDetailBuyInStock_PackingId] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[BillDetailBuyInStock] ADD CONSTRAINT [DF_BillDetailBuyInStock_PackingId] DEFAULT (0) FOR [PackingId]
GO
/****** Object: ForeignKey [App_AppUserRole_FK1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[ApplicationUserRole] WITH CHECK ADD CONSTRAINT [App_AppUserRole_FK1] FOREIGN KEY([ApplicationId])
REFERENCES [dbo].[Application] ([Id])
GO
ALTER TABLE [dbo].[ApplicationUserRole] CHECK CONSTRAINT [App_AppUserRole_FK1]
GO
/****** Object: ForeignKey [App_AppUser_FK1] Script Date: 03/02/2011 16:53:46 ******/
ALTER TABLE [dbo].[ApplicationUser] WITH CHECK ADD CONSTRAINT [App_AppUser_FK1] FOREIGN KEY([ApplicationId])
REFERENCES [dbo].[Application] ([Id])
GO
ALTER TABLE [dbo].[ApplicationUser] CHECK CONSTRAINT [App_AppUser_FK1]
GO
/****** Object: DdlTrigger [tr_MStran_alterschemaonly] Script Date: 03/02/2011 16:53:49 ******/
Enable Trigger [tr_MStran_alterschemaonly] ON Database
GO
/****** Object: DdlTrigger [tr_MStran_altertable] Script Date: 03/02/2011 16:53:49 ******/
Enable Trigger [tr_MStran_altertable] ON Database
GO
/****** Object: DdlTrigger [tr_MStran_altertrigger] Script Date: 03/02/2011 16:53:49 ******/
Enable Trigger [tr_MStran_altertrigger] ON Database
GO
/****** Object: DdlTrigger [tr_MStran_alterview] Script Date: 03/02/2011 16:53:49 ******/
Enable Trigger [tr_MStran_alterview] ON Database
GO