--从ERP获取订单会写入该表:销售订单表
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[mes_sale_order]') AND type in (N'U')) DROP TABLE [mes_sale_order];
CREATE TABLE [mes_sale_order] (
	[id] int IDENTITY NOT NULL,
	[reqID] int default 0 NOT NULL,                --请求ID
	[iSoId] int default 0 NOT NULL,                --销售订单ID
	[cSoCode] nvarchar(20) NOT NULL,               --销售订单编号
	[dDate] datetime NOT NULL,                     --销售订单日期
	[cusID] varchar(50) NOT NULL,                  --经销商代码
	[cSTCode] nvarchar(2) NOT NULL,                --销售类型编码
	[cDepCode] nvarchar(12)  NULL,                 --部门编码
	[cDepName] nvarchar(20)  NULL,                 --部门名称
	[cPersonCode] nvarchar(20)  NULL,              --业务员代码
	[cPersonName] nvarchar(20)  NULL,              --业务员名称
	[cMemo]  nvarchar(60)  NULL,                   --备注
	[cMaker] nvarchar(20) NOT NULL,                --制单人
	[memo] nvarchar(max) NULL,                     --其他详情会使用json存储到该字段
	[estate] tinyint default 1 NOT NULL,           --状态 1正常/0禁用
	[uid] int default 0 NOT NULL,
	[createTime] datetime DEFAULT getdate() NOT NULL,
	[updateTime] datetime DEFAULT getdate() NOT NULL,
);

--销售订单详情表
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[mes_saleOrder_detail]') AND type in (N'U')) DROP TABLE [mes_saleOrder_detail];
CREATE TABLE [mes_saleOrder_detail] (
	[id] int IDENTITY NOT NULL,
	[iSoId] int default 0 NOT NULL,                --销售订单ID
	[iSosId] int default 0 NOT NULL,               --销售子订单编号（唯一）
	[prodCode] VARCHAR(30) NOT NULL,               --产品代码
	[iQuantity] decimal(18,3) NOT NULL,            --数量
	[cSaUnitCode] nvarchar(35) NOT NULL,           --销售单位编码（辅单位）
	[iNum] decimal(18,3) not null,                 --件数（辅数量）
	[memo] nvarchar(max) NULL,                     --其他辅助字典以json方式写入
	[estate] tinyint default 0 NOT NULL,           --状态 0等待确认  1 已经排产  9 挂起
	[uid] int default 0 NOT NULL,
	[createTime] datetime DEFAULT getdate() NOT NULL,
	[updateTime] datetime DEFAULT getdate() NOT NULL,
);

--生产订单表：mes_order
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[mes_order]') AND type in (N'U')) DROP TABLE [mes_order];
CREATE TABLE [mes_order] (
	[id] int IDENTITY NOT NULL,
	[iSoId] int default 0 NOT NULL,                      --销售订单ID
	[orderNo] varchar(20) NOT NULL,                      --订单编号
    [proSort] int default 0 NOT NULL,                    --生产排序
	[prodCode] varchar(30) NOT NULL,                     --产品代码
	[lineID] varchar(20) NULL,                           --产线编码
	[stationID] varchar(20) NULL,                        --工位编码
	[batchNo] varchar(20) NOT NULL,                      --生产批号
	[makedate] varchar(20) NOT NULL,                     --生产日期
	[validdate] varchar(20) NOT NULL,                    --有效日期
	[planAmount] int default 0 NOT NULL,                 --计划数量
	[amount] int default 0 NOT NULL,                     --生产数量
	[memo] nvarchar(250) NULL,                           --生产备注
	[approveID] int default 0 NOT NULL,                  --批准事件的日志表（sys_oper_log）ID
	[proType] tinyint default 0 NOT NULL,                --0 正常生产，1转生产入库
	[estate] tinyint default 0 NOT NULL,                 --状态 0 编辑  1 提交（待审核） 2 审核通过,等待分配生产线 3 已分配生产线，等待分配控制端 4 开始生产
	[uid] int default 0 NOT NULL,
	[createTime] datetime DEFAULT getdate() NOT NULL,
	[updateTime] datetime DEFAULT getdate() NOT NULL,
);
