📒 表结构

表名: BS_LINE_MACHINE_SETTINGS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 LINE_NAME nvarchar (50)
3 MACHINE_SETTING_TYPE nvarchar (50)
4 SMT_MODEL nvarchar (200)

表名: BS_LINE_PRODUCT_UPHS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50) 系统自动生成,GUID
2 CUST_CODE nvarchar (50) 客户代码
3 PRODUCT_NAME nvarchar (128) 机种名
4 FACE nvarchar (50) 面,B,T,BT
5 PANEL_QTY int 拼板数量
6 POINTS decimal (18,5) 总点数
7 UPH decimal (18,5) 标准产能
8 MACHINE_SETTING_TYPE nvarchar (50) 线体配置类型

表名: BS_MACHINE_SETTING_TYPE

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 NAME nvarchar (50)
3 MODEL nvarchar (500)

表名: CT_BOX_ITEMS

说明: 装箱从表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 item_id nvarchar (50) guid
2 box_id nvarchar (50) 箱号id
3 box_number nvarchar (256) 箱号
4 station_id nvarchar (36) 工位id
5 route_step_id nvarchar (36) 工序id
6 route_step_name nvarchar (50) 工序名称
7 serial_number_id nvarchar (50) 条码id
8 serial_number nvarchar (256) 条码
9 qty int 数量
10 seq int 排序
11 ispanel int 改动:条码类型 0批次 1单板 2拼板 3箱号
12 weight decimal (18,5) 重量
13 create_user_id nvarchar (50) 创建用户id
14 create_user_name nvarchar (50) 创建用户名称
15 create_time datetime 创建时间

表名: CT_BOX_ITEMS_HISTORY

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 item_id nvarchar (50)
2 box_id nvarchar (50)
3 box_number nvarchar (256)
4 station_id nvarchar (36)
5 route_step_id nvarchar (36)
6 route_step_name nvarchar (50)
7 serial_number_id nvarchar (50)
8 serial_number nvarchar (256)
9 qty int
10 seq int
11 ispanel int
12 weight decimal (18,5)
13 create_user_id nvarchar (50)
14 create_user_name nvarchar (50)
15 create_time datetime
16 remove_user_id nvarchar (50)
17 remove_user_name nvarchar (50)
18 remove_time datetime

表名: CT_BOXS

说明: 装箱表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50) 主键id
2 product_id nvarchar (50) 产品id
3 product_name nvarchar (128) 产品名称
4 lot_id nvarchar (50) 工单id
5 lot_name nvarchar (128) 工单名称
6 box_number nvarchar (256) 箱号
7 cseq int 当前装箱的序号
8 station_id nvarchar (36) 工位id
9 box_total int 箱子的目前的装箱数量
10 box_type nvarchar (50) 箱子等级
11 box_weight decimal (18,5) 箱子重量
12 create_time datetime 包装时间
13 create_user_id nvarchar (50) 包装用户id
14 create_user_name nvarchar (50) 包装用户名称
15 box_size int 箱子容量
16 state int 箱子状态 0装箱未提交 1已经装箱并过站了,2已出货,3 已入库 、4 不良品、5已上架,6已发料
17 box_level nvarchar (50) 箱子级别

表名: CT_BOXS_BINDING

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 BINDING_ID uniqueidentifier
2 PRODUCT_ID nvarchar (50)
3 PRODUCT_NAME nvarchar (128)
4 LOT_ID nvarchar (50)
5 LOT_NAME nvarchar (128)
6 STATION_ID nvarchar (36)
7 SERIAL_NUMBER_ID nvarchar (50)
8 SERIAL_NUMBER nvarchar (256)
9 BINDING_M_TYPE int
10 RULE_NAME nvarchar (8)
11 BINDING_SN nvarchar (256)
12 BINDING_TIME datetime
13 BINDING_USER_CODE nvarchar (50)
14 BINDING_USER_NAME nvarchar (20)

表名: CT_BOXS_EXTEND

说明: 箱号扩展表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50) guid
2 boxId nvarchar (50) 箱号id
3 key nvarchar (50)
4 value nvarchar (50) 属性值
5 createUser nvarchar (50) 创建用户
6 createDate datetime 创建时间

表名: CT_BOXS_HISTORY

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50) 主键id
2 product_id nvarchar (50) 产品id
3 product_name nvarchar (128) 产品编码
4 lot_id nvarchar (50) 工单id
5 lot_name nvarchar (128) 工单编码
6 station_id nvarchar (36) 工位id
7 box_number nvarchar (256) 箱号
8 box_total int 箱子的目前的装箱数量
9 box_type nvarchar (50) 箱子等级
10 box_weight decimal (18,5) 重量
11 cseq int
12 create_time datetime 装箱时间
13 create_user_id nvarchar (50) 装箱用户id
14 create_user_name nvarchar (20) 装箱用户名称
15 remove_time datetime 拆箱时间
16 remove_user_id nvarchar (50) 拆箱用户id
17 remove_user_name nvarchar (50) 拆箱用户名称
18 box_size int 箱子容量
19 box_level nvarchar (50) 箱子级别

表名: CT_CAR_ITEMS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 item_id nvarchar (50)
2 car_id nvarchar (50)
3 car_number nvarchar (256)
4 station_id nvarchar (36)
5 route_step_id nvarchar (36)
6 route_step_name nvarchar (50)
7 serial_number_id nvarchar (50)
8 serial_number nvarchar (256)
9 qty int
10 seq int
11 serialType int
12 weight decimal (18,5)
13 create_user_id nvarchar (50)
14 create_user_name nvarchar (50)
15 create_time datetime

表名: CT_CAR_ITEMS_HISTORY

说明: hshds

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 item_id nvarchar (50)
2 car_id nvarchar (50)
3 car_number nvarchar (256)
4 station_id nvarchar (36)
5 route_step_id nvarchar (36)
6 route_step_name nvarchar (50)
7 serial_number_id nvarchar (50)
8 serial_number nvarchar (256)
9 qty int
10 seq int
11 serialType int
12 weight decimal (18,5)
13 create_user_id nvarchar (50)
14 create_user_name nvarchar (50)
15 create_time datetime
16 remove_user_id nvarchar (50)
17 remove_time datetime

表名: CT_CARS

说明: 载具 流转卡

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 product_id nvarchar (50) 产品id
3 product_name nvarchar (128) 产品名称
4 lot_id nvarchar (50) 工单id
5 lot_name nvarchar (128) 工单名称
6 station_id nvarchar (36) 工位id
7 car_number nvarchar (256) 载具 流转卡
8 cseq int
9 car_total int 数量
10 car_weight decimal (18,5) 重量
11 create_time datetime 创建时间
12 create_user_id nvarchar (50) 创建用户
13 create_user_name nvarchar (20) 创建用户
14 car_size int 最大容量
15 state int 状态

表名: CT_CARS_HISTORY

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 product_id nvarchar (36)
3 product_name nvarchar (128)
4 lot_id nvarchar (36)
5 lot_name nvarchar (128)
6 station_id nvarchar (36)
7 car_number nvarchar (256)
8 cseq int
9 car_total int
10 car_weight decimal (18,5)
11 create_time datetime
12 create_user_id nvarchar (50)
13 create_user_name nvarchar (20)
14 car_size int
15 state int
16 remove_user_id nvarchar (50)
17 remove_time datetime

表名: CT_LINE_LOCK

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 LID int
2 LINE_ID int
3 STEP_ID int
4 LOCK_TIME datetime
5 REASON nvarchar (200)
6 STANDART_VALUE nvarchar (20)
7 ACTUAL_VALUE nvarchar (20)
8 UNLOCK_TIME datetime
9 UNLOCK_USER nvarchar (20)
10 METHOD nvarchar (500)

表名: CT_LINE_WARNING

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 SID int
2 LINE_ID int
3 STEP_ID int
4 FAIL_QTY int
5 EMAIL_ADDRESS nvarchar (500)
6 XUSER nvarchar (20)
7 REMARK nvarchar (100)
8 CREATE_TIME datetime

表名: CT_LINES_ATTRIBUTES

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ATTRIBUTE_ID nvarchar (50)
2 LINE_ID nvarchar (50)
3 PE01 nvarchar (50)
4 PE02 nvarchar (50)
5 IE01 nvarchar (50)
6 IE02 nvarchar (50)
7 QA01 nvarchar (50)
8 QA02 nvarchar (50)
9 LEADER nvarchar (50)
10 CREATE_TIME datetime
11 REMARK nvarchar (500)
12 SHIFT nvarchar (10)

表名: CT_LotRouteSerials

说明: 工单条码过站历史表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 Product_Name nvarchar (128) 产品名称
2 Lot_Name nvarchar (128) 工单名称
3 Station_ID nvarchar (36) 工位id
4 Station_Name nvarchar (50) 工位名称
5 Step_ID nvarchar (50) 工序id
6 Step_Name nvarchar (50) 工序名称
7 Serial_Number_ID nvarchar (50) 条码id
8 Serial_Number nvarchar (256) 条码
9 Wip_ID nvarchar (50) 过站wipid

表名: CT_LotRouteStatus

说明: 工单工位过站数量表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 LotRouteId int
2 ProductName nvarchar (128) 产品名称
3 Lot_Name nvarchar (128) 工单名称
4 Station_ID nvarchar (36) 工位id
5 Station_Name nvarchar (50) 工位名称
6 Route_Step_id nvarchar (50) 工序id
7 Route_Step_Name nvarchar (50) 工序名称
8 PASS int 产出pass数量
9 Fail int 历史产出FAIL数量
10 Reback_Count int 0 委外待回数量
11 PASS_OUT int 0 委外回来PASS数量
12 FAIL_OUT int 0 委外回来FAIL数量
13 Transfer_IN int 0 转工单,转入数量
14 Transfer_OUT int 0 转工单,转出数量
15 Return_Count int 0 返数数量,从其他工序返到本工序的数量
16 Scrap_Count int 0 报废数量
17 Investment_Count int 0 投入数量
18 Unrepaired_Count int 0 未修数量

表名: CT_LotRouteStatus_Receive

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ProductName nvarchar (128) 产品名称
2 Lot_Name nvarchar (128) 工单名称
3 Station_ID nvarchar (36) 工位id
4 Station_Name nvarchar (50) 工位名称
5 Route_Step_id nvarchar (36) 工序id
6 Route_Step_Name nvarchar (50) 工序名称
7 ReceiveQuantity decimal (18,5) 0 接收数量

表名: CT_LotRouteStatusList_fpy

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id bigint
2 Fail int
3 Lot_Name nvarchar (128)
4 PASS int
5 ProductName nvarchar (128)
6 Route_Step_id nvarchar (36)
7 Route_Step_Name nvarchar (500)
8 Station_ID nvarchar (36)
9 Station_Name nvarchar (500)

表名: CT_OQA

说明: OQA送检

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50) guid
2 billno nvarchar (50) 单号id
3 date nvarchar (50) 时间 排序辅助字段
4 seq int 排序
5 product_id nvarchar (50) 产品id
6 lot_id nvarchar (50) 工单id
7 station_id nvarchar (36) 线体id
8 step_id nvarchar (50) 工序id
9 lot_size decimal (18,5) 容量
10 aql decimal (18,5) AQL值
11 sample_size decimal (18,5) 抽样数
12 AQL_STANDARD int 抽样类型
13 inspection_level nvarchar (50) 检验标准
14 state int 状态 0正在送检 3送检成功 1检验通过 2检验判退
15 create_user_id nvarchar (50)
16 create_user_name nvarchar (50)
17 create_time datetime
18 lst_update_user_id nvarchar (50)
19 lst_update_user_name nvarchar (50)
20 lst_update_time datetime

表名: CT_OQA_HISTORY

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 billno nvarchar (50)
3 date nvarchar (50)
4 seq int
5 product_id nvarchar (50)
6 lot_id nvarchar (50)
7 station_id nvarchar (36)
8 step_id nvarchar (50)
9 lot_size decimal (18,5)
10 aql decimal (18,5)
11 sample_size decimal (18,5)
12 AQL_STANDARD int
13 inspection_level nvarchar (50)
14 state int
15 create_user_id nvarchar (50)
16 create_user_name nvarchar (50)
17 create_time datetime
18 lst_update_user_id nvarchar (50)
19 lst_update_user_name nvarchar (50)
20 lst_update_time datetime
21 remove_user_id nvarchar (50)
22 remove_time datetime

表名: CT_OQA_ITEMS

说明: 送检从表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50) guid
2 pid nvarchar (50) 关联主表的id
3 product_id nvarchar (50) 产品id
4 lot_id nvarchar (50) 工单id
5 serial_number_id nvarchar (50) 条码id
6 serial_number nvarchar (256) 条码name
7 serial_type int 条码类型,0批次 1单板 2拼板 3一级箱号 4二级箱号 以此类推
8 seq int 排序
9 weight decimal (10,5) 重量
10 quantity decimal (18,5) 数量
11 box_id nvarchar (50) 单号
12 station_id nvarchar (36) 线体id
13 step_id nvarchar (50) 工序id
14 create_user_id nvarchar (50) 创建用户id
15 create_user_name nvarchar (50) 创建用户名
16 create_time datetime 创建时间

表名: CT_OQA_ITEMS_HISTORY

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 pid nvarchar (50)
3 product_id nvarchar (50)
4 lot_id nvarchar (50)
5 serial_number_id nvarchar (50)
6 serial_number nvarchar (256)
7 serial_type int
8 seq int
9 weight decimal (10,5)
10 quantity decimal (18,5)
11 box_id nvarchar (50)
12 station_id nvarchar (36)
13 step_id nvarchar (50)
14 create_user_id nvarchar (50)
15 create_user_name nvarchar (50)
16 create_time datetime
17 remove_user_id nvarchar (50)
18 remove_time datetime

表名: CT_OQA_OFFLINE

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36)
2 line nvarchar (50)
3 station nvarchar (36)
4 step nvarchar (50)
5 lotId nvarchar (36)
6 inspection_level nvarchar (50)
7 aql decimal (10,5)
8 size int
9 sampleSize int
10 defectDesc nvarchar (500)
11 remark nvarchar (500)
12 realityCount int
13 rebackCount int
14 result int
15 createUser nvarchar (50)
16 createDate datetime
17 updateUser nvarchar (50)
18 updateDate datetime
19 examineUser nvarchar (50)
20 examineDate datetime

表名: CT_OQA_OFFLINE_SERIAL

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36)
2 pid nvarchar (36)
3 serialNumberId nvarchar (36)
4 serialNumber nvarchar (256)
5 qty int
6 createUser nvarchar (50)
7 createDate datetime

表名: CT_OQA_RT

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36)
2 pid nvarchar (36)
3 serialNumber nvarchar (256)
4 state int
5 createUser nvarchar (50)
6 createDate datetime

表名: CT_OQA_SAMPLEITEMS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 pid nvarchar (50)
3 product_id nvarchar (50)
4 lot_id nvarchar (50)
5 serial_number_id nvarchar (50)
6 serial_number nvarchar (256)
7 seq int
8 quantity decimal (18,5)
9 box_id nvarchar (50)
10 station_id nvarchar (36)
11 step_id nvarchar (50)
12 state int
13 create_user_id nvarchar (50)
14 create_user_name nvarchar (50)
15 create_time datetime

表名: CT_OQACheck

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (36)
2 billNo nvarchar (50)
3 parentSn nvarchar (256)
4 serial_number nvarchar (256)
5 serial_type int
6 quantity int
7 defect int
8 repair int
9 createUser nvarchar (50)
10 createDate datetime

表名: CT_OQACheck_BoxReturn

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 state int
2 billNo nvarchar (50)
3 box_number nvarchar (256)
4 serial_number nvarchar (256)

表名: CT_OQACheck_Defect

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (36)
2 parentId nvarchar (36)
3 billNo nvarchar (36)
4 boxNumber nvarchar (256)
5 defectTm nvarchar (256)
6 defectType nvarchar (50)
7 defectLabel nvarchar (50)
8 defectLocation nvarchar (50)
9 type nvarchar (50)

表名: CT_OQC_ITEMS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 pid nvarchar (50)
3 product_id nvarchar (50)
4 lot_id nvarchar (50)
5 serial_number_id nvarchar (50)
6 serial_number nvarchar (256)
7 serial_type int
8 seq int
9 quantity decimal (18,5)
10 box_id nvarchar (50)
11 station_id nvarchar (36)
12 step_id nvarchar (50)
13 create_user_id nvarchar (50)
14 create_user_name nvarchar (50)
15 create_time datetime
16 serial_number_type nvarchar (50)

表名: CT_ROUTESTEP_STATIONS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id varchar (50)
2 station_id nvarchar (36)
3 route_step_id nvarchar (36)

表名: CT_SCANNING_RECORD

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (100)
2 LOT_ID nvarchar (100)
3 PRODUCT_ID nvarchar (100)
4 BARCODE nvarchar (200)
5 CREATE_USER nvarchar (50)
6 CREATE_TIME datetime

表名: CT_Shipping_pallet_binding

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 Pallet_label nvarchar (500)
2 Pallet_qty int
3 BILLNO nvarchar (500)
4 box nvarchar (500)
5 MATERIALNO nvarchar (500)
6 DESCRIPTION nvarchar (500)
7 QUANTITY decimal (18,5)
8 state int
9 create_user nvarchar (50)
10 create_time datetime
11 ischeck int
12 check_user nvarchar (50)
13 check_time datetime

表名: DW_PanelLinkHistories

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID varchar (50)
2 DateAdded_BaseDateTimeUTC datetime
3 DateRemoved_BaseDateTimeUTC datetime 分板时间
4 PositionX float
5 PositionY float
6 PositionZ float
7 Operator nvarchar (450)
8 Reference nvarchar (-1)
9 ProductRouteTransactionID nvarchar (50)
10 ParentItemInventoryID nvarchar (50)
11 ChildItemInventoryID nvarchar (50) 母板id
12 ProductRouteActivityTransactionID nvarchar (50) 子板id
13 PanelIndex int 0 子板index

表名: DW_PanelLinks

说明: 过站拼版关系表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID varchar (50) 主键id
2 PositionX float
3 PositionY float
4 PositionZ float
5 Theta float
6 DateAdded_DateTime datetime
7 QuantityStocked int
8 QuantityConsumed int
9 QuantityRemaining int
10 Operator nvarchar (450)
11 Reference nvarchar (-1)
12 ProductRouteTransactionID nvarchar (50)
13 ParentItemInventoryID varchar (50) 母板id
14 ChildItemInventoryID varchar (50) 子板id
15 ProductRouteActivityTransactionID nvarchar (50)
16 ContainmentHistory_ID nvarchar (50)
17 PanelIndex int 0

表名: FW_CONDITIONS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 FW_ID nvarchar (50)
2 LINE_ID nvarchar (100)
3 DESCRIPTION nvarchar (50)
4 SCRIPT nvarchar (300)
5 SCRIPT_TYPE nvarchar (20)
6 PARAM1 nvarchar (50)
7 PARAM2 nvarchar (50)
8 PARAM_TEXT text (2147483647)

表名: FW_LINES

说明: 流程节点信息

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 FW_ID nvarchar (50) ID
2 LINE_ID nvarchar (100) 线体id
3 LINE_NAME nvarchar (100) 线体名称
4 LINE_TYPE nvarchar (20) 线体类型
5 LINE_FROM nvarchar (100) 工艺流程id
6 LINE_TO nvarchar (100) 节点
7 LINE_MARKED nvarchar (20)
8 LINE_M nvarchar (20)

表名: FW_NODES

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 FW_ID nvarchar (50)
2 NODE_ID nvarchar (200)
3 NODE_NAME nvarchar (50)
4 NODE_TYPE nvarchar (20)
5 NODE_WIDTH nvarchar (50)
6 NODE_HEIGHT nvarchar (50)
7 NODE_LEFT nvarchar (50)
8 NODE_TOP nvarchar (50)

表名: FW_NODES_ATTRIBUTES

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ATTRIBUTE_ID uniqueidentifier
2 ROUTE_ID nvarchar (40)
3 ROUTE_STEP_ID nvarchar (36)
4 ATTRIBUTE_NAME nvarchar (100)
5 ATTRIBUTE_VALUE nvarchar (200)
6 REMARK nvarchar (300)
7 CREATE_DATE datetime
8 CREATE_USER nvarchar (20)
9 LAST_UPDATE_DATE datetime
10 LAST_UPDATE_USER nvarchar (20)

表名: IPQC_Forms

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID uniqueidentifier
2 NAME nvarchar (50)
3 PATH nvarchar (50)
4 STATE bit
5 CUSTOMER nvarchar (50)

表名: IPQC_FormsContents

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 ATTRIBUTE_KEY nvarchar (50)
3 ATTRIBUTE_VALUE nvarchar (4000)
4 CREATE_TIME datetime
5 CREATE_USER nvarchar (20)

表名: IPQC_Master

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID uniqueidentifier newid
2 BillNo nvarchar (25)
3 Line nvarchar (50)
4 MaterialNo nvarchar (25)
5 LotNo nvarchar (20)
6 MaterialDesc nvarchar (50)
7 CreateTime datetime
8 CreateUser nvarchar (50)
9 UpdateTime datetime
10 UpdateUser nvarchar (50)
11 FormID nvarchar (50)

表名: packingserialnumber

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 pkprefix nvarchar (200)
2 num int 0
3 createdatetime datetime getdate

表名: ProductLevel

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36) ID
2 supplierId nvarchar (50)
3 productLevel nvarchar (50)
4 supplierLevel nvarchar (50)
5 createUser nvarchar (50) 创建用户
6 createDate datetime 创建时间
7 updateUser nvarchar (50) 修改用户
8 updateDate datetime 修改时间
9 type int 0
10 productName nvarchar (128)

表名: QS_ASSEMBLY

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ASSEMBLY_ID nvarchar (50) 主键,GUID
2 PRODUCT_ID nvarchar (40) 产品id
3 PRODUCT_NAME nvarchar (128) 产品名称
4 LOT_ID nvarchar (40) 工单id
5 LOT_NAME varchar (128) 工单名称
6 STATION_ID nvarchar (36) 工位id
7 STATION_NAME nvarchar (50) 工位名称
8 ROUTE_STEP_ID nvarchar (36) 工序id
9 SERIAL_NUMBER_ID nvarchar (40) 条码id
10 SERIAL_NUMBER varchar (256) 条码
11 COMPONENT_ID nvarchar (50)
12 MATERIEL_NO nvarchar (50) 装配名称
13 ASSEMBLY_SN varchar (521) 装配条码
14 ASSEMBLY_TIME datetime 装配时间
15 ASSEMBLY_USER nvarchar (50) 装配用户
16 UNLINK_TIME datetime 解绑时间
17 UNLINK_USER nvarchar (50) 解绑用户

表名: QS_ASSEMBLY_HISTORY

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ASSEMBLY_ID nvarchar (50) 主键,GUID
2 PRODUCT_ID nvarchar (40) 产品id
3 PRODUCT_NAME nvarchar (128) 产品名称
4 LOT_ID nvarchar (40) 工单id
5 LOT_NAME nvarchar (128) 工单名称
6 STATION_ID nvarchar (36) 工位id
7 STATION_NAME nvarchar (50) 工位名称
8 ROUTE_STEP_ID nvarchar (36) 工序id
9 SERIAL_NUMBER_ID nvarchar (40) 条码id
10 SERIAL_NUMBER varchar (256) 条码
11 COMPONENT_ID nvarchar (50)
12 MATERIEL_NO nvarchar (50) 装配名称
13 ASSEMBLY_SN nvarchar (256) 装配条码
14 ASSEMBLY_TIME datetime 装配时间
15 ASSEMBLY_USER nvarchar (50) 装配用户
16 UNLINK_TIME datetime 解绑时间
17 UNLINK_USER nvarchar (50) 解绑用户

表名: QS_ASSEMBLY_REPEAT

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ASSEMBLY_ID nvarchar (50)
2 PRODUCT_ID nvarchar (40)
3 PRODUCT_NAME nvarchar (128)
4 LOT_ID nvarchar (40)
5 LOT_NAME nvarchar (128)
6 STATION_ID nvarchar (36)
7 STATION_NAME nvarchar (50)
8 ROUTE_STEP_ID nvarchar (36)
9 SERIAL_NUMBER_ID nvarchar (40)
10 SERIAL_NUMBER varchar (256)
11 COMPONENT_ID nvarchar (50)
12 MATERIEL_NO nvarchar (50)
13 ASSEMBLY_SN nvarchar (256)
14 ASSEMBLY_TIME datetime
15 ASSEMBLY_USER nvarchar (50)
16 UNLINK_TIME datetime
17 UNLINK_USER nvarchar (50)

表名: QS_ASSEMBLY_SETTING

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 SID nvarchar (50) 1
2 LOT_ID varchar (40)
3 ROUTE_STEP_ID nvarchar (50)
4 MATERIAL_NO nvarchar (200)
5 MATERIAL_PREFIX nvarchar (50)
6 MATERIAL_SUFFIX nvarchar (50)
7 MATERIAL_LEN int
8 CREATE_TIME datetime
9 CREATE_USER nvarchar (20)
10 REMARK nvarchar (300)
11 IS_ALLOW_REPEAT int
12 Regex nvarchar (200)
13 SerialType int
14 CUSTOM nvarchar (50) 自定义规则
15 MaterialCode nvarchar (-1) 物料编码
16 isAuto nvarchar (5)
17 generateRule nvarchar (50)
18 isDefectAssembly int 0 不良是否装配,1是 0否

表名: QS_ASSEMBLY_SETTING_PRODUCT

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 SID nvarchar (50)
2 PRODUCT_ID nvarchar (50)
3 ROUTE_STEP_ID nvarchar (36)
4 MATERIAL_NO nvarchar (200)
5 MATERIAL_PREFIX nvarchar (50)
6 MATERIAL_SUFFIX nvarchar (50)
7 MATERIAL_LEN int
8 CREATE_TIME datetime
9 CREATE_USER nvarchar (20)
10 REMARK nvarchar (300)
11 IS_ALLOW_REPEAT int
12 Regex nvarchar (200)
13 SerialType int 扫描的条码类型:UID(0)半成品条码(1),其他(2)
14 CUSTOM nvarchar (50) 自定义规则
15 MaterialCode nvarchar (-1) 物料编码
16 isAuto nvarchar (5)
17 generateRule nvarchar (50)
18 isDefectAssembly int 0 不良是否装配,1是 0否

表名: QS_BINDING

说明: 条码 箱号 关联信息表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 BINDING_ID varchar (50) 主键,guid
2 PRODUCT_ID nvarchar (40) 产品id
3 PRODUCT_NAME nvarchar (128) 产品名称
4 LOT_ID nvarchar (40) 工单id
5 LOT_NAME varchar (128) 工单名称
6 STATION_ID nvarchar (36) 工位id
7 STATION_NAME nvarchar (50) 工位名称
8 ROUTE_STEP_ID nvarchar (36) 工序id
9 SERIAL_NUMBER_ID nvarchar (40) 主条码 主箱号 id
10 SERIAL_NUMBER varchar (256) 主条码 主箱号
11 BINDING_M_TYPE nvarchar (50) 主条码类型,箱号,拼板条码,SN条码
12 RULE_ID nvarchar (50) 规则ID
13 RULE_NAME nvarchar (50) 规则名称
14 BINDING_SN varchar (521) 关联条码
15 BINDING_TIME datetime 关联时间
16 BINDING_USER_CODE nvarchar (50) 关联用户Code
17 BINDING_USER_NAME nvarchar (50) 关联用户名称

表名: QS_BINDING_HISTORY

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 BINDING_ID varchar (50) 主键,guid
2 PRODUCT_ID nvarchar (40) 产品id
3 PRODUCT_NAME nvarchar (128) 产品名称
4 LOT_ID nvarchar (40) 工单id
5 LOT_NAME nvarchar (128) 工单名称
6 STATION_ID nvarchar (36) 工位id
7 STATION_NAME nvarchar (50) 工位名称
8 ROUTE_STEP_ID nvarchar (36) 工序id
9 SERIAL_NUMBER_ID nvarchar (40) 条码 箱号id
10 SERIAL_NUMBER varchar (256) 条码 箱号
11 BINDING_M_TYPE nvarchar (50) 主条码类型,箱号,拼板条码,SN条码
12 RULE_ID nvarchar (50) 规则id
13 RULE_NAME nvarchar (50) 规则名称
14 BINDING_SN nvarchar (512) 关联条码
15 BINDING_TIME datetime 关联时间
16 BINDING_USER_CODE nvarchar (50) 关联用户code
17 BINDING_USER_NAME nvarchar (50) 关联用户名称
18 UNBINDING_TIME datetime 解绑时间
19 UNBINDING_USER_CODE nvarchar (50) 解绑用户code
20 UNBINDING_USER_NAME nvarchar (50) 解绑用户名称

表名: QS_CirculationCardHistory

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36) 唯一主键guid
2 lotNo nvarchar (50) 工单号
3 stationName nvarchar (50) 工位名称
4 stepName nvarchar (50) 工序名称
5 serialNumber nvarchar (256) 流转卡
6 parentSerialNumber nvarchar (50) 上级流转卡
7 createUser nvarchar (100) 创建用户
8 createTime datetime2 (27) 创建时间
9 qty decimal (18,5)

表名: QS_DEFECT_CAUSE

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36)
2 type nvarchar (50)
3 local nvarchar (50)
4 cause nvarchar (50)
5 createUser nvarchar (50)
6 createDate datetime
7 updateUser nvarchar (50)
8 updateDate datetime

表名: QS_DEFECT_LABELS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 DEFECT_LABEL_ID varchar (200)
2 DEFECT_TYPE_ID nvarchar (200)
3 PROCESS_ID nvarchar (40)
4 ALARM_ID nvarchar (40)
5 DEFECT_SEVERITY int
6 REPAIR_STATE int
7 SELECTION_METHOD int
8 MARK_METHOD int
9 DELETED int
10 NAME nvarchar (200)
11 DEFECT_CLASS nvarchar (1024)
12 DESCRIPTION nvarchar (128)
13 LABEL_STATUS nvarchar (50)
14 CREATE_TIME datetime
15 DEFECT_CODE nvarchar (150)
16 DEFECT_RMK nvarchar (200)

表名: QS_DEFECT_TYPES

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 DEFECT_TYPE_ID nvarchar (150)
2 FLAGS int
3 NAME nvarchar (64)
4 DEFECT_STATUS nvarchar (10)
5 REMARK nvarchar (300)
6 CREATE_USER nvarchar (50)
7 CREATE_TIME datetime

表名: QS_DEFECTS

说明: 不良记录表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 DEFECT_ID nvarchar (50) 主键id
2 SERIAL_NUMBER_ID nvarchar (50) 条码id
3 PRODUCT_ID nvarchar (50) 产品id
4 LOT_NAME nvarchar (128) 工单名称
5 WIP_ID nvarchar (50) 过站wipid
6 REPAIR_STATUS int 维修状态 0 未修 1已修 2误测
7 INSPECT_TIME datetime 送修时间
8 REPAIR_TIME datetime 维修时间
9 YIELD_PASS int
10 SERIAL_NUMBER nvarchar (256) 不良条码
11 CUSTOMER nvarchar (100) 客户
12 LINE nvarchar (64) 线体
13 MACHINE nvarchar (64) 机器
14 STATION nvarchar (36) 工位
15 ROUTE nvarchar (64) 工艺流程
16 ROUTE_STEP nvarchar (36) 工序
17 INSPECT_USER nvarchar (64) 送修用户
18 REPAIR_USER nvarchar (64) 维修用户
19 DEFECT_LABEL nvarchar (200) 不良现象
20 DEFECT_TYPE nvarchar (200) 不良类型
21 DEFECT_LOCATION nvarchar (500) 不良位置
22 QTY int 不良数量

表名: QS_DEFECTS_REPAIR

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID varchar (50)
2 DEFECT_ID nvarchar (50)
3 EDIT_TIME datetime
4 STATUS int
5 DEFECT_CONTENT nvarchar (200)
6 CONTENT nvarchar (200)
7 USER nvarchar (64)
8 USER_ROLE nvarchar (64)

表名: QS_ImportBarCodeTemp

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 BARCODE nvarchar (100)
3 LOTNO nvarchar (50)
4 state int
5 ERROR nvarchar (255)
6 Count int
7 importId nvarchar (50)
8 NumberCount int

表名: QS_INJECTION_MOULD

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (36) 主键guid
2 lotNo nvarchar (50) 工单
3 serialNumber nvarchar (256) 条码,载具,流转卡
4 stepId nvarchar (36) 工序id
5 type int 类型,0投入,1产出pass,2产出fail
6 createDate datetime 创建时间
7 createUser nvarchar (50) 创建用户
8 equipment nvarchar (50) 设备编码
9 stationId nvarchar (36) 工位id
10 qty int 0 数量

表名: QS_INJECTION_MOULD_RECEIVE

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (36) 主键guid
2 lotNo nvarchar (50) 工单
3 materialNo nvarchar (100) 物料编码
4 uid nvarchar (500) 流转卡 UID
5 quantity decimal (18,5) 0 数量
6 equipment nvarchar (50) 设备编码
7 stationId nvarchar (36) 工位id
8 stepId nvarchar (36) 工序id
9 createUser nvarchar (50) 创建用户
10 createDate datetime 创建时间

表名: QS_Inspection_ProductTypes

说明: 产品的检验类型表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50) 自动生成的GUID
2 PID nvarchar (50) 主表id(关联主表的GUID)
3 TYPE_NAME nvarchar (50) 类型名称,字符串,首件 抽检 巡检
4 CHECK_QTY decimal (18,5) 检验数量,必须大于这个数量才允许关闭这个单号
5 CHECK_ROUTE_STEP_ID nvarchar (50) 当启用过站管控,管控的工序id,管控工序之后的所有工序不允许过站(包含当前)
6 CHECK_COMPLETED_ALLOW_STARTINPUT bit 启用过站管控,0关闭 1启用
7 PARTOLFREQUENCY int 时间频率(分)
8 ISLOWER int 是否允许低于检查数量 0否 1是
9 LineChangeFirstArticle bit
10 NextDayFirstArticle bit
11 ClassFirstArticle bit

表名: QS_InspectionReport

说明: 首件 巡检的从表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50) 唯一id
2 masterId nvarchar (50) 关联主表的GUID
3 checkProject nvarchar (300) 检查项目
4 upperSpecLimit decimal (10,4) 最大值
5 lowerSpecLimit decimal (10,4) 最小值
6 instrument nvarchar (50) 仪器
7 ISCHECKED int 是否必检 0非必检 1必须检查
8 serialNumberId nvarchar (50) 条码的id(关联QS_SERIAL_NUMBER)表的serial_number_id
9 serialNumber nvarchar (256) serialNumberId关联不到的情况(批次生成随机的guid),就显示serialNumber
10 seq int 排序
11 check1 nvarchar (50) 检验结果1
12 check2 nvarchar (50) 改动,作为检验单行的检验结果使用(2019.8.9 Ag)
13 check3 nvarchar (50) 检验结果3
14 check4 nvarchar (50) 检验结果4
15 check5 nvarchar (50) 检验结果5
16 chkType int 是否判断项目,0不是 1是
17 extend1 nvarchar (200) 预留字段1(暂时没用到)
18 extend2 nvarchar (200) 预留字段2(暂时没用到)
19 extend3 nvarchar (200) 预留字段3(暂时没用到)
20 filePreview varchar (-1) ‘’ 文件路径
21 NOTE nvarchar (255) 备注

表名: QS_InspectionReport_ProductItems

说明: 产品检验项定义

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50) 自动生成的GUID
2 PID nvarchar (50) 关联主表的guid
3 TYPE nvarchar (50) 类型, 首件 巡检 抽检
4 ITEM_NAME nvarchar (300) 检验项目名称
5 UPPER_SPEC_LIMIT decimal (18,5) 上限值
6 LOWER_SPEC_LIMIT decimal (18,5) 下限值
7 CTYPE int 是否为判断项,0非判断项 1判断项
8 SEQ int 排序
9 ISCHECKED int 0 是否必检 0非必检 1必须检查
10 sqlStore nvarchar (150)
11 NOTE nvarchar (255) 备注
12 CheckTool nvarchar (100)

表名: QS_InspectionReport_ProductItems_Extend

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 PID nvarchar (50)
3 TYPE nvarchar (50)
4 ITEM_NAME nvarchar (300)
5 UPPER_SPEC_LIMIT decimal (18,5)
6 LOWER_SPEC_LIMIT decimal (18,5)
7 CTYPE int
8 SEQ int
9 ISCHECKED int
10 Unit nvarchar (50)
11 normValue nvarchar (50)
12 fairValue nvarchar (50)
13 options1 nvarchar (50)
14 options2 nvarchar (50)
15 options3 nvarchar (50)
16 ISCHOOSECHECK int

表名: QS_InspectionReport_Products

说明: 产品检验主表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50) guid
2 PRODUCT_ID nvarchar (50) 产品id
3 CREATE_USER_ID nvarchar (50) 创建用户的id
4 CREATE_USER_NAME nvarchar (50) 创建的用户名
5 CREATE_TIME datetime 创建
6 LST_UPDATE_USER_ID nvarchar (50) 最后修改的用户id
7 LST_UPDATE_USER_NAME nvarchar (50) 最后修改的用户名称
8 LST_UPDATE_USER_TIME datetime 最后修改的时间
9 SYSTEMNUMBER nvarchar (50) 系统编号(主要为了美观一点)
10 REMARK nvarchar (255) 备注

表名: QS_InspectionReport_Templetes

说明: 检验模板定义

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50) guid
2 NAME nvarchar (200) 模板名字
3 CREATE_TIME datetime 创建时间
4 CREATE_USER_ID nvarchar (50) 创建用户id
5 CREATE_USER_NAME nvarchar (50) 创建用户name
6 LST_UPATE_TIME datetime 修改时间
7 LST_UPDATE_USER_ID nvarchar (50) 修改用户id
8 LST_UPDATE_USER_NAME nvarchar (50) 修改用户name

表名: QS_InspectionReport_Templetes_Main

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 NAME nvarchar (200)
3 merchantsName nvarchar (100)
4 merchantsCode nvarchar (100)
5 CustomerCode nvarchar (100)
6 CustomerName nvarchar (100)
7 CREATE_TIME datetime
8 CREATE_USER_ID nvarchar (50)
9 CREATE_USER_NAME nvarchar (50)
10 LST_UPATE_TIME datetime
11 LST_UPDATE_USER_ID nvarchar (50)
12 LST_UPDATE_USER_NAME nvarchar (50)
13 auditUser nvarchar (50)
14 auditTime datetime
15 auditStatus int
16 TemplateCategory nvarchar (150)
17 MaterialCategory nvarchar (150)
18 version nvarchar (50)

表名: QS_InspectionReport_TempletesExamine

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id varchar (150)
2 pid nvarchar (150)
3 type int
4 remark nvarchar (600)
5 createUser nvarchar (50)
6 createDate datetime

表名: QS_InspectionReportExamine

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50) guid
2 pid nvarchar (50) 关联QS_InspectionReportMaster的id
3 type int 类型:0.审核 1.反审
4 result int 结果:1.PASS 2.FAIL
5 remark nvarchar (50) 审核 反审时的备注
6 createUser nvarchar (50) 操作用户
7 createDate datetime 操作时间

表名: QS_InspectionReportMaintain

说明: 首件 巡检 抽检模板定义

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50) ID 系统分配(GUID)
2 checkProject nvarchar (300) 检验项名称
3 upperSpecLimit decimal (18,4) 上限值
4 lowerSpecLimit decimal (18,4) 下限值
5 lastChangeUser nvarchar (50) 最后修改人代码(usercode)
6 lastChangeTime datetime 最后修改时间
7 pid nvarchar (50) 模板名称
8 chkType int 是否判断项
9 isType int 未使用(默认0)
10 seq int 序号,排序使用,从1开始
11 ISCHECKED int
12 sqlStore nvarchar (150)

表名: QS_InspectionReportMaintain_item

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id varchar (50)
2 templateName nvarchar (50)
3 ToolName nvarchar (50)
4 chkType int
5 isType int
6 UnitID nvarchar (150)
7 Unit nvarchar (50)
8 ComputeUnit nvarchar (50)
9 normValue nvarchar (50)
10 fairValue nvarchar (50)
11 upperSpecLimit decimal (18,4)
12 lowerSpecLimit decimal (18,4)
13 options1 nvarchar (150)
14 options2 nvarchar (150)
15 options3 nvarchar (150)
16 options4 nvarchar (150)
17 options5 nvarchar (-1)
18 lastChangeUser nvarchar (50)
19 lastChangeTime datetime
20 auditUser nvarchar (50)
21 auditTime datetime
22 auditStatus int
23 Code nvarchar (50)
24 pid nvarchar (50)
25 ISCHECKED int
26 ISCHOOSECHECK int
27 Seq int
28 Remark nvarchar (250)

表名: QS_InspectionReportMaintain_itemExamine

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id varchar (150)
2 pid nvarchar (150)
3 type int
4 remark nvarchar (600)
5 createUser nvarchar (50)
6 createDate datetime

表名: QS_InspectionReportMaintains

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 templateName nvarchar (50)
3 ToolName nvarchar (50)
4 chkType int
5 isType int
6 UnitID nvarchar (150)
7 Unit nvarchar (50)
8 normValue nvarchar (50)
9 fairValue nvarchar (50)
10 upperSpecLimit decimal (18,4)
11 lowerSpecLimit decimal (18,4)
12 options1 nvarchar (150)
13 options2 nvarchar (150)
14 options3 nvarchar (150)
15 options4 nvarchar (150)
16 options5 nvarchar (-1)
17 lastChangeUser nvarchar (50)
18 lastChangeTime datetime
19 pid nvarchar (50)
20 ISCHECKED int
21 ISCHOOSECHECK int
22 Seq int
23 Remark nvarchar (250)
24 Code nvarchar (50)
25 ComputeUnit nvarchar (50)
26 itemID nvarchar (50)
27 MaterialCode nvarchar (50)
28 Material_itemID nvarchar (150)

表名: QS_InspectionReportMaster

说明: 产品检验记录主表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50) 自动生成的唯一GUID
2 billNo nvarchar (50) 自动生成的单号(注意:合并数据库可能会出现重复)
3 lotId nvarchar (50) 工单id,关联QS_LOTS表的id
4 customerId nvarchar (50) 客户id,关联QS_CUSTOMERS的cid
5 productId nvarchar (50) 产品id,关联QS_PRODUCTS表的id
6 routeStepId nvarchar (50) 工序id,关联QS_ROUTE_STEP表的id
7 stationId nvarchar (36) 工位id,关联CT_STATION表的id
8 count decimal (18,5) 数量
9 createUser nvarchar (50) 创建的用户id
10 createDate datetime 创建时间
11 updateUser nvarchar (50) 最后修改的用户id
12 updateDate datetime 最后修改的时间
13 auditUser nvarchar (50) 审核的用户id
14 auditDate datetime 审核的时间
15 type nvarchar (30) 类型,0首检 1巡检 2抽检
16 result nvarchar (50) 检验结果 0未审核 1pass 2fail
17 extend1 nvarchar (50) 预留字段1(暂时没有用到)
18 extend2 nvarchar (50) 预留字段2(暂时没有用到)
19 extend3 nvarchar (50) 预留字段3(暂时没有用到)
20 auditUser2 nvarchar (50)
21 auditDate2 datetime
22 result2 nvarchar (50)
23 auditUser3 nvarchar (50)
24 auditDate3 datetime
25 result3 nvarchar (50)
26 EngineeringReviewResult nvarchar (50)

表名: QS_InspectionReportMaterial_item

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 MaterialCode nvarchar (50)
3 MaterialName nvarchar (50)
4 CustomerCode nvarchar (50)
5 CustomerName nvarchar (50)
6 Model nvarchar (50)
7 Unit nvarchar (50)
8 pid nvarchar (50)
9 merchantsName nvarchar (100)
10 merchantsCode nvarchar (100)
11 Quality_Days int
12 Seq int
13 MaterialAuditStatus int
14 MaterialAuditUser nvarchar (50)
15 MaterialAuditTime datetime
16 version nvarchar (50)
17 ImageUrl nvarchar (600)
18 Description nvarchar (-1)

表名: QS_InspectionReportQuestion

说明: 检查单和问题点

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 masterId nvarchar (50) 单号(关联主表的GUID)
2 seq int 排序
3 question nvarchar (50) 问题
4 answer nvarchar (50) 答案

表名: QS_InspectionReportSheet

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (150)
2 billNo nvarchar (150) 检验单号
3 lotId nvarchar (150) 工单ID
4 lotName nvarchar (128) 工单
5 SaleNo nvarchar (150) 销售单号
6 CheckQuantity int 检验数量
7 TYPE int 0.首件 1巡检 2抽检
8 InspectDate datetime 检验日期
9 Line nvarchar (150) 线体
10 productId nvarchar (150) 产品ID
11 productName nvarchar (128) 产品名称
12 productModel nvarchar (500) 产品型号
13 InspectionResults int 检验结果
14 description nvarchar (500) 不良描述
15 Remarks nvarchar (500) 备注
16 Inspectors nvarchar (50) 检验员
17 Approved nvarchar (50) 批准人
18 JsonStringif nvarchar (-1) table的json序列化值
19 CreateUser nvarchar (10) 创建人
20 createDate datetime 创建时间
21 updateUser nvarchar (10) 修改人
22 updateDate datetime 修改时间
23 auditUser nvarchar (50) 审核人
24 auditDate datetime 审核时间

表名: QS_Journal

说明: 日志表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50) guid
2 stationId nvarchar (36) 工位id
3 stepId nvarchar (36) 工序id
4 box_id nvarchar (50) 箱号id
5 serial_numberId nvarchar (256) 条码id
6 content nvarchar (50) 内容
7 type nvarchar (50) 类型
8 userId nvarchar (50) 用户id
9 createDate datetime 创建时间
10 extend1 nvarchar (50) 扩展字段1
11 extend2 nvarchar (50) 扩展字段2
12 extend3 nvarchar (50) 扩展字段3
13 errorInfo nvarchar (500)

表名: QS_LABELATTR_HISTORY

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (36)
2 lotNo nvarchar (36) 工单
3 sn nvarchar (50) 条码
4 routeStepId nvarchar (50) 工序id
5 routeStepName nvarchar (50) 工序名称
6 labelAttr text (2147483647) 打印内容
7 createDate datetime 创建时间
8 createUser nvarchar (50) 创建用户
9 qty int 0 数量

表名: QS_LABELATTR_ITEM_HISTORY

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (36)
2 lotNo nvarchar (36)
3 sn nvarchar (50)
4 routeStepId nvarchar (50)
5 routeStepName nvarchar (50)
6 key nvarchar (100)
7 val nvarchar (500)
8 createDate datetime
9 createUser nvarchar (50)

表名: QS_LabelManage

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36)
2 name nvarchar (50)
3 labelPath nvarchar (200)
4 createUser nvarchar (50)
5 createDate datetime
6 updateUser nvarchar (50)
7 updateDate datetime
8 asyncUser nvarchar (50)
9 asyncDate datetime
10 type int 0 0mrt,1系统mrt,2bartender

表名: QS_LINE_LOCKS

说明: 锁拉申请记录表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50) guid ,系统自动分盘
2 TITLE nvarchar (200) 标题
3 CONTENT nvarchar (4000) 内容 ,用waneditor 富文本编辑器
4 WORK_CENTER_ID nvarchar (50) 车间
5 LINE_ID nvarchar (50) 线体
6 STATION_ID nvarchar (36) 工位,暂不使用
7 STEP_ID nvarchar (50) 工序,暂不使用
8 PRODUCT_ID nvarchar (50) 产品ID
9 LOT_ID nvarchar (50) 工单ID
10 SRC_TYPE nvarchar (50) 来源类型,比如:首件 巡检 抽检
11 SRC_BILL_ID nvarchar (50) 来源单ID
12 CREATE_DATETIME datetime 创建时间
13 CREATE_USER_CODE nvarchar (50) 创建人
14 AUDIT_DATETIME datetime 审核时间
15 AUDIT_USER_CODE nvarchar (50) 审核人
16 STATE int 状态:0 待审核 1审核通过 2退回(拒绝)
17 REMARK nvarchar (50)
18 Abnormalcause nvarchar (50)
19 AbnormalcauseREMARK nvarchar (50)

表名: QS_LOCKLINES

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 LINE_ID nvarchar (50)
2 STATE int
3 LOCK_TIME datetime
4 LOCK_USER_CODE nvarchar (50)

表名: QS_LOT_HIS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 lotId nvarchar (50)
3 json nvarchar (-1)
4 createUser nvarchar (50)
5 createTime datetime

表名: QS_LOT_PRIORITY

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 PRID int
2 PRIORITY nvarchar (50)
3 REMARK nvarchar (50)
4 CREATE_TIME datetime

表名: QS_LOT_Step

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (36)
2 lot_id nvarchar (36)
3 step_id nvarchar (50)
4 isTrace int

表名: QS_LOTS

说明: 工单信息表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 PRODUCT_ID nvarchar (50) 工单产品ID
2 LOT_ID nvarchar (50) 工单ID
3 LOT_NAME nvarchar (128) 工单名称
4 QUANTITY int 工单数量
5 INIT_QTY int 工单初始化数量
6 START_TIME datetime 工单开始时间
7 END_TIME datetime 工单完工时间
8 CREATE_TIME datetime 工单创建时间
9 REMARK nvarchar (200) 备注
10 LOT_STATUS varchar (2) 0
11 LOCK_DESC nvarchar (1000) 工单描述
12 LOT_TYPE nvarchar (10) 工单类型
13 CREATE_USER nvarchar (20) 创建者
14 PRIORITY nvarchar (50)
15 PLAN_FINISH_DATE datetime
16 LAST_UPDATE_TIME datetime 最后修改时间
17 LAST_UPDATE_USER nvarchar (50) 最后修改用户
18 SCRAP_QTY int 0 工单报废数量

表名: QS_LOTS_ATTRIBUTES

说明: 工单扩展属性表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ATTRIBUTE_ID uniqueidentifier 唯一主键,guid
2 LOT_ID nvarchar (50) 工单id
3 ATTRIBUTE_NAME nvarchar (100) 属性name
4 ATTRIBUTE_VALUE nvarchar (200) 属性值
5 REMARK nvarchar (300) 描述
6 CREATE_DATE datetime 创建时间
7 CREATE_USER nvarchar (50) 创建用户
8 LAST_UPDATE_DATE datetime 最后修改时间
9 LAST_UPDATE_USER nvarchar (50) 最后修改用户

表名: QS_LOTS_TYPE

说明: 工单类型表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 TYPE_ID int 类型id
2 TYPE_NAME nvarchar (50) 类型名称
3 CREATE_TIME datetime 创建时间
4 REMARK nvarchar (100) 备注

表名: QS_LOTS_USER_HISTORY

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (36)
2 userCode nvarchar (50)
3 lotId nvarchar (36)
4 createDate datetime

表名: QS_Newspaper_work

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 Lot_Name nvarchar (128)
2 ProductName nvarchar (128)
3 Station_ID nvarchar (36)
4 Station_Name nvarchar (50)
5 Route_Step_id nvarchar (36)
6 Route_Step_Name nvarchar (50)
7 PASSQTY int
8 FAILQTY int
9 CreatePerson nvarchar (50)
10 CreateDate datetime
11 UpdatePerson nvarchar (50)
12 UpdateDate datetime

表名: QS_Newspaper_work_Record

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 Lot_Name nvarchar (128)
2 ProductName nvarchar (128)
3 Station_ID nvarchar (36)
4 Station_Name nvarchar (50)
5 Route_Step_id nvarchar (36)
6 Route_Step_Name nvarchar (50)
7 PASSQTY int
8 FAILQTY int
9 CreatePerson nvarchar (50)
10 CreateDate datetime
11 UpdatePerson nvarchar (50)
12 UpdateDate datetime

表名: QS_OutsourcingSendout

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36)
2 billNo nvarchar (20)
3 lotNo nvarchar (50)
4 productName nvarchar (128)
5 startNext nvarchar (50)
6 endNext nvarchar (50)
7 customer nvarchar (50)
8 count int
9 count2 int 0
10 count3 int 0
11 remark nvarchar (200)
12 createUser nvarchar (50)
13 createDate datetime
14 updateUser nvarchar (50)
15 updateDate datetime
16 count4 int 预计数量
17 state int
18 TotalReceiveNum int
19 FailNum int
20 Weight decimal (18,2)

表名: QS_OutsourcingSendout_History

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36)
2 pid nvarchar (36)
3 type nvarchar (4)
4 count int
5 remark nvarchar (200)
6 createUser nvarchar (50)
7 createDate datetime
8 serialNumber nvarchar (256)

表名: QS_OutsourcingSendout_SERIAL

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36)
2 pid nvarchar (36)
3 serialNumberId nvarchar (36)
4 serialNumber nvarchar (256)
5 qty int
6 createUser nvarchar (50)
7 createDate datetime

表名: QS_ProduceCheck

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36)
2 lotName nvarchar (128)
3 productName nvarchar (128)
4 line nvarchar (50)
5 step nvarchar (50)
6 createUser nvarchar (50)
7 createDate datetime
8 updateUser nvarchar (50)
9 updateDate datetime
10 examineUser nvarchar (50)
11 examineDate datetime

表名: QS_ProduceCheckReel

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36)
2 pid nvarchar (36)
3 type nvarchar (50)
4 serialNumber nvarchar (256)
5 createUser nvarchar (50)
6 createDate datetime

表名: QS_PRODUCT_ATTRIBUTES

说明: 产品属性表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ATTRIBUTE_ID uniqueidentifier 主键id
2 PRODUCT_ID varchar (50) 产品id
3 ATTRIBUTE_NAME nvarchar (100) 属性name
4 ATTRIBUTE_VALUE nvarchar (200) 属性值
5 REMARK nvarchar (300) 备注
6 CREATE_DATE datetime 创建日期
7 CREATE_USER nvarchar (50) 创建时间
8 LAST_UPDATE_DATE datetime 修改时间
9 LAST_UPDATE_USER nvarchar (50) 修改用户

表名: QS_PRODUCT_HIS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 productId nvarchar (50)
3 json nvarchar (-1)
4 createUser nvarchar (50)
5 createTime datetime

表名: QS_PRODUCTS

说明: 产品信息表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 PRODUCT_ID nvarchar (36) 产品id
2 START_TIME datetime 开始时间
3 END_TIME datetime 结束时间
4 NAME nvarchar (100) 产品编码
5 LEVEL int 产品等级
6 AQL float AQL检验标准
7 ROUTE_ID nvarchar (50) 工艺流程id
8 STATUS int 状态
9 RVERSION nvarchar (30) 版本
10 SERIAL_NUMBER_PREFIX nvarchar (30)
11 PRODUCT_DESC nvarchar (512) 产品型号
12 CREATE_TIME datetime 创建时间
13 PARENT_NAME nvarchar (100)
14 CUSTOMER_CODE nvarchar (50) 客户编码
15 RELATION_QTY int
16 CREATE_USER nvarchar (50) 创建用户
17 LAST_UPDATE_TIME datetime 最后修改时间
18 LAST_UPDATE_USER nvarchar (50) 最后修改用户

表名: QS_PRODUCTS_Maintain

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 Mid nvarchar (50)
2 customer nvarchar (50)
3 productName nvarchar (128)
4 ProductionPrice nvarchar (50)
5 StandardData nvarchar (50)
6 createuser nvarchar (50)
7 createdata datetime

表名: QS_ReLabel_His

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36)
2 pid nvarchar (36)
3 createTime datetime
4 createUser nvarchar (50)

表名: QS_REPAIR_ACTION

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 REPAIR_ACTION_ID int
2 REPAIR_ACTION nvarchar (50)
3 ACTION_STATUS nvarchar (50)
4 CREATE_TIME datetime
5 ACTION_DESC nvarchar (200)
6 ACTION_CODE nvarchar (50)

表名: QS_REPAIR_DEFECT

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36)
2 DEFECT_ID nvarchar (50)
3 DEFECT_TYPE nvarchar (100)
4 DEFECT_LABEL nvarchar (100)
5 DEFECT_LOCATION nvarchar (100)
6 SERIAL_NUMBER nvarchar (256)

表名: QS_REPAIR_INFO

说明: 维修记录表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 DEFECT_ID varchar (40) 不良id,关联QS_DEFECTS.DEFECT_ID
2 SERIAL_NUMBER_ID nvarchar (40) 条码id
3 PRODUCT_ID nvarchar (40) 产品id
4 LOT_ID nvarchar (40) 工单id
5 ROUTE_ID nvarchar (40) 工艺流程id
6 DEFECT_TYPE nvarchar (100) 不良类型
7 DEFECT_LABEL nvarchar (100) 不良位置
8 DEFECT_CODE nvarchar (50) 不练code
9 INSPECT_STATION nvarchar (50) 送修工位
10 INSPECT_ROUTE_STEP nvarchar (50) 送修工序
11 INSPECT_TIME datetime 送修时间
12 INSPECT_USER nvarchar (20) 送修用户
13 REPAIR_STATION nvarchar (50) 维修工位
14 REPAIR_ROUTE_STEP nvarchar (50) 维修工序
15 REPAIR_TIME datetime 维修时间
16 REPAIR_USER nvarchar (20) 维修用户
17 REPAIR_ACTION nvarchar (50) 维修操作(1维修成功 2报废)
18 MATERIAL_NO nvarchar (500)
19 MATERIAL_NO_NEW nvarchar (2000)
20 MATERIAL_DATE_CODE nvarchar (50)
21 MATERIAL_NO_NEW_VENDOR nvarchar (200)
22 REPAIR_DESC nvarchar (500) 维修备注
23 DEFECT_LOCATION nvarchar (100) 不良位置
24 FAIL_QTY int 维修数量(批次维修专用)
25 defectAnalysis nvarchar (500) 维修判定,不良原因
26 defectCategory nvarchar (50) 维修判断,不良类型
27 dutyDept nvarchar (50) 维修判断,责任部门
28 rebackStep nvarchar (50) 维修判断,判退工序
29 DefectReasonId nvarchar (50) 维修记录-不良原因
30 scrapNumber int 报废数(客制化专用)
31 repairNumber int 本次维修数(客制化专用)

表名: QS_REPAIR_MATERIALS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 wip_id nvarchar (50)
2 serial_number_id nvarchar (50)
3 seiral_number nvarchar (256)
4 old_material_no nvarchar (128)
5 new_material_no nvarchar (128)
6 old_uid nvarchar (256)
7 new_uid nvarchar (256)
8 add_time datetime
9 add_user_id nvarchar (50)
10 add_user_name nvarchar (50)

表名: QS_ROUTE_STEPS

说明: 工序表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ROUTE_STEP_ID nvarchar (50) 工序id
2 FAIL_STEP_ID int
3 STATION_ID nvarchar (36) 工位id
4 FLAGS int
5 TYPE int
6 DELETED int
7 NAME nvarchar (64) 工序名称
8 SKILL nvarchar (64)
9 DESCRIPTION nvarchar (128) 工序描述
10 step_face nvarchar (50) 工序面
11 INSTRUCTIONS nvarchar (255)
12 SPC_CONFIGURATION_ID int
13 MINSTAYTIME int
14 CHECK_STATUS nvarchar (50)
15 YELLOW_WARNING decimal (18,2)
16 RED_WARNING decimal (18,2)
17 STOP_TIME int
18 IS_SAVE_MM int
19 IS_INPUT int
20 CREATE_USER nvarchar (50)
21 CREATE_TIME datetime
22 UPDATE_USER nvarchar (50)
23 UPDATE_TIME datetime

表名: QS_ROUTE_STEPS_ATTRIBUTES

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ATTRIBUTE_ID uniqueidentifier
2 ROUTE_STEP_ID nvarchar (36)
3 ATTRIBUTE_NAME nvarchar (100)
4 ATTRIBUTE_VALUE nvarchar (200)
5 REMARK nvarchar (300)
6 CREATE_DATE datetime
7 CREATE_USER nvarchar (20)
8 LAST_UPDATE_DATE datetime
9 LAST_UPDATE_USER nvarchar (20)

表名: QS_ROUTE_STEPS_His

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 ROUTE_STEP_ID nvarchar (36)
3 NAME nvarchar (50)
4 DESCRIPTION nvarchar (50)
5 YELLOW_WARNING nvarchar (50)
6 RED_WARNING nvarchar (50)
7 IS_SAVE_MM nvarchar (50)
8 updateUser nvarchar (50)
9 updateTime datetime

表名: QS_ROUTES

说明: 工艺流程表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ROUTE_ID nvarchar (50) 流程id
2 DELETED int 是否删除
3 NAME nvarchar (64) 工艺流程名称
4 DESCRIPTION nvarchar (128) 描述
5 TYPE int 类型(正常流程,不良流程)
6 ROUTE_STATUS int 流程状态
7 CONFIRM_USER nvarchar (50) 创建用户
8 CONFIRM_TIME datetime 创建时间
9 LAST_UPDATE_TIME datetime 最后修改时间
10 LAST_UPDATE_USER nvarchar (255) 最后修改用户

表名: QS_ROUTES_DEFINITIONS

说明: 工艺流程节点顺序表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50) GUID 系统自动生成
2 ROUTE_ID nvarchar (50) 工艺流程ID
3 ROUTE_STEP_ID nvarchar (36) 流程中的工序ID
4 SEQ int 序号,第几个,在线站点,从1开始,离线站点为0
5 IS_OFFLINE bit 是否离线节点
6 SQLSTORE nvarchar (50)

表名: QS_ROUTES_DEFINITIONS_ATTRIBUTE

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID varchar (50)
2 RD_ID nvarchar (50)
3 R_KEY nvarchar (50)
4 R_VALUE nvarchar (100)
5 CREATE_TIME datetime
6 CREATE_USER nvarchar (50)
7 LOT_ID nvarchar (50)
8 PRODUCT_ID nvarchar (50)

表名: QS_ROUTESTEP_DEFECTS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 route_step_id nvarchar (36)
3 defect_code_id nvarchar (50)

表名: QS_SERIAL_FI_HISTORY

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36)
2 wipId nvarchar (36)
3 serialNumberId nvarchar (36)
4 serialNumber nvarchar (256)
5 prevLevel nvarchar (50)
6 level nvarchar (50)
7 remark nvarchar (300)
8 createUser nvarchar (50)
9 createDate datetime

表名: QS_SERIAL_NUMBER_LOCK

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36)
2 lockType int 锁定类型:0超时锁定,1不良率锁定
3 serialNumber nvarchar (256) 条码
4 serialType int 条码类型:0流转卡 1单板 2拼板 大于2(serialType-2)级箱号
5 state int 0 锁定状态:0锁定,1通过,2判退
6 createUser nvarchar (255) 创建用户
7 createTime datetime2 (27) 创建时间
8 unLockUser nvarchar (255) 解锁用户
9 unLockTime datetime2 (27) 解锁时间
10 unLockRemark nvarchar (255) 解锁备注
11 unLockWipId nvarchar (36) 解锁判退时关联的wipId,关联QS_WIP表的WipId

表名: QS_SERIAL_NUMBERS

说明: 条码表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 SERIAL_NUMBER_ID varchar (50) GUID 系统生成
2 MODEL_NO nvarchar (100) 产品编码
3 LOT_NAME varchar (128) 工单名称
4 SERIAL_NUMBER nvarchar (256) 条码
5 SERIAL_NUMBER_STATE nvarchar (10) 条码状态 ,默认0,1完工,2报废,3分板,4返工
6 PREV_STEP_ID nvarchar (50) 条码当前工序
7 NEXT_STEP_ID nvarchar (50) 条码下一工序
8 CUSTOMER_SN nvarchar (50) 客户SN,未使用,默认空
9 CREATE_TIME datetime 创建时间
10 PASS_COUNT int pass 次数 ,默认0
11 REPLACE_COUNT int
12 CREATOR_ID nvarchar (50) 创建人
13 IS_WIP nvarchar (10) 默认空,未使用
14 PREFIX nvarchar (50) 前缀,未使用
15 PANEL_INDEX int 条码序号,默认0
16 QTY int 数量,默认1
17 IS_PANEL int 是否拼板,默认0子板 1母板
18 ReBack nvarchar (50) 维修后返回工序,默认空
19 LST_WIP_TIME datetime 最后过站时间,默认空
20 Weight decimal (18,5) 重量,默认0
21 passProduct nvarchar (200)
22 injectionMouldState int
23 planBillId nvarchar (36)
24 isLock int
25 level nvarchar (50)

表名: QS_SERIAL_REPLACE_HISTORY

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 lotNo nvarchar (50)
3 oldSerialNumber nvarchar (256)
4 newSerialNumber nvarchar (256)
5 replaceUser nvarchar (50)
6 replaceDate datetime

表名: QS_SERIAL_WARNNING

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 WIP_ID nvarchar (50)
3 CREATE_TIME datetime
4 START_TIME datetime
5 END_TIME datetime
6 DELAY int
7 WIP_STATE int
8 SERIAL_NUMBER_ID nvarchar (50)
9 SERIAL_NUMBER nvarchar (256)
10 MODEL_NO nvarchar (50)
11 LOT_NO nvarchar (50)
12 STATION_ID nvarchar (36)
13 ROUTE_STEP_ID nvarchar (36)
14 NEXT_STEP_ID nvarchar (50)
15 XUSER nvarchar (50)
16 SCAN_TYPE int
17 ABNORMAL_TYPE int

表名: QS_SERIAL_WARNNINGREASON

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 W_ID nvarchar (50)
3 R_CODES nvarchar (50)
4 R_REMARK nvarchar (50)
5 CREATE_TIME datetime
6 CREATE_USER_CODE nvarchar (50)

表名: QS_SERIALNUMBER_ATTR

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36)
2 serialNumberId nvarchar (36)
3 name nvarchar (50)
4 val nvarchar (50)
5 attr1 nvarchar (50)
6 attr2 nvarchar (50)
7 attr3 nvarchar (50)
8 createUser nvarchar (50)
9 createDate datetime

表名: QS_TRANSFERLOT_JOURNAL

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 DEFECT_ID nvarchar (50)
3 JOURNAL_ID nvarchar (50)
4 CREATE_TIME datetime
5 CREATE_USER nvarchar (50)

表名: QS_WIP

说明: 过站历史记录表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 WIP_ID nvarchar (50) 主键id,guid
2 SERIAL_NUMBER_ID nvarchar (50) 过站条码id
3 MODEL_NO nvarchar (100) 产品编码
4 LOT_NAME nvarchar (128) 工单名称
5 STATION_ID nvarchar (50) 工位id
6 ROUTE_STEP_ID nvarchar (36) 工序id
7 NEXT_STEP_ID nvarchar (50) 下一工序id
8 START_TIME datetime 开始时间
9 END_TIME datetime 结束时间
10 WIP_STATE int 过站状态(0pass 1fail)
11 SCAN_TYPE int 扫描类型
12 SERIAL_NUMBER nvarchar (256) 过站条码
13 XUSER nvarchar (50) 操作员
14 WID int
15 QTY int 0 过站数量
16 isTrace int 过站模式 1单体 0批次
17 planBillId nvarchar (36) 计划排程id
18 reelBarcode nvarchar (50) 设备id
19 weight decimal (18,6) 0 重量
20 routeId nvarchar (50) 工艺流程

表名: QS_WorkReport

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36) ID
2 state int 状态:1创建,2提交,3已审核,4标志工单初始化数据
3 ERPBillNo nvarchar (50) ERP单号
4 productCode nvarchar (128) 产品编码
5 lotCode nvarchar (128) 工单编码
6 planCode nvarchar (255) 计划单号
7 workCenterId nvarchar (50) 车间id
8 workCenterName nvarchar (255) 车间名称
9 lineId nvarchar (50) 线体id
10 lineName nvarchar (255) 线体名称
11 stationId nvarchar (36) 工位id
12 stationName nvarchar (255) 工位名称
13 equipment nvarchar (255) 设备
14 stepId nvarchar (36) 工序id
15 stepName nvarchar (255) 工序名称
16 Type int 0 类型:0计时,1计价
17 passQty decimal (18,0) 良品数
18 failQty decimal (18,0) 不良数
19 scrapQty decimal (18,0) 报废数
20 startTime datetime2 (19) 开始时间
21 endTime datetime2 (19) 结束时间
22 totalWork decimal (18,6) 总工时
23 abnormalWork decimal (18,6) 异常工时
24 price decimal (18,6) 0 单价
25 userQty int 0 投入人数
26 produceDate datetime 生产日期
27 produceDept nvarchar (50) 生产部门
28 note nvarchar (255) 备注
29 createUser nvarchar (50) 创建用户
30 createTime datetime2 (19) 创建时间
31 updateUser nvarchar (50) 修改用户
32 submitUser nvarchar (50) 提交用户
33 submitTime datetime 提交时间
34 updateTime datetime2 (19) 修改时间
35 ApproveUser nvarchar (50) 审核用户
36 ApproveTime datetime2 (19) 审核时间
37 ApproveNote nvarchar (255) 审核备注
38 wipIds nvarchar (1024) 关联QS_WIP.WIP_ID:多个用,分隔

表名: QS_WorkReport_DefectLabel

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36) ID
2 pid nvarchar (36) 主表id,关联QS_WorkReport
3 userCode nvarchar (255) 用户编码
4 userName nvarchar (255) 用户名称
5 defectLabel nvarchar (255) 不良现象
6 qty decimal (18,0) 数量
7 seq int 0 排序

表名: QS_WorkReport_Lot

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36) ID
2 type int 类型:1开始,2暂停,3结束
3 lotCode nvarchar (128) 工单编码
4 hour int 时间(分钟)
5 createUser nvarchar (255) 创建用户
6 createTime datetime2 (19) 创建时间

表名: QS_WorkReport_StepTransfer

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36)
2 lotCode nvarchar (128)
3 stepId nvarchar (36)
4 stepName nvarchar (100)
5 transferStepId nvarchar (50)
6 transferStepName nvarchar (100)
7 qty decimal (18,0)
8 createUser nvarchar (50)
9 createTime datetime2 (19)

表名: QS_WorkReport_User

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id char (36) ID
2 pid nvarchar (36) 主表id,关联QS_WorkReport
3 userCode nvarchar (255) 用户编码
4 userName nvarchar (255) 用户名称
5 passQty decimal (18,0) 良品数
6 failQty decimal (18,0) 不良数
7 scrapQty decimal (18,0) 报废数
8 totalWork decimal (18,5) 0 工时
9 abnormalWork decimal (18,5) 0 异常工时
10 seq int 0 排序

表名: Repair_DEFECT_TYPE

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 NAME nvarchar (50)
3 MARK nvarchar (50)
4 CONTENT nvarchar (500)
5 UPPER_ID nvarchar (50)

表名: Repair_DEFECTS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID varchar (50)
2 DEFECT_ID nvarchar (50)
3 SERIAL_NUMBER_ID nvarchar (50)
4 PARENT_SERIAL_NUMBER nvarchar (50)
5 PARENT_SERIAL_NUMBER_ID nvarchar (50)
6 PRODUCT_ID nvarchar (50)
7 PRODUCT nvarchar (50)
8 LOT_NAME nvarchar (128)
9 LOT_ID nvarchar (50)
10 REPAIR_STATUS int
11 INSPECT_TIME datetime
12 WAREHOUSING_TIME datetime
13 REPAIR_TIME datetime
14 SERIAL_NUMBER nvarchar (256)
15 LINE nvarchar (64)
16 LINE_ID nvarchar (64)
17 STATION nvarchar (36)
18 STATION_ID nvarchar (36)
19 ROUTE nvarchar (64)
20 ROUTE_ID nvarchar (64)
21 INSPECT_USER nvarchar (64)
22 INSPECT_USER_ID nvarchar (64)
23 REPAIR_SN nvarchar (64)
24 FACTORY nvarchar (64)
25 FACTORY_ID nvarchar (64)
26 WORKSHOP nvarchar (64)
27 WORKSHOP_ID nvarchar (64)
28 ASSIGN_STATUS int
29 NOW_REPAIR_USER nvarchar (64)
30 NOW_REPAIR_USER_ID nvarchar (64)
31 REPAIR_REMARK nvarchar (200)
32 DELIVERY_USER nvarchar (64)
33 DELIVERY_USER_ID nvarchar (64)
34 DELIVERY_DATE date
35 BATCH_NUMBER nvarchar (64)
36 CUSTOMER_NAME nvarchar (64)
37 OUT_TIME datetime
38 RECEIVE_USER nvarchar (64)
39 RECEIVE_USER_ID nvarchar (64)
40 isTest int
41 DESCRIPTION nvarchar (500)
42 SO_MATNR nvarchar (500)
43 SO_MATXT nvarchar (500)

表名: Repair_DEFECTS_Del

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID varchar (50)
2 DEFECT_ID nvarchar (50)
3 SERIAL_NUMBER_ID nvarchar (50)
4 PARENT_SERIAL_NUMBER nvarchar (50)
5 PARENT_SERIAL_NUMBER_ID nvarchar (50)
6 PRODUCT_ID nvarchar (50)
7 PRODUCT nvarchar (50)
8 LOT_NAME nvarchar (128)
9 LOT_ID nvarchar (50)
10 REPAIR_STATUS int
11 INSPECT_TIME datetime
12 WAREHOUSING_TIME datetime
13 REPAIR_TIME datetime
14 SERIAL_NUMBER nvarchar (256)
15 LINE nvarchar (64)
16 LINE_ID nvarchar (64)
17 STATION nvarchar (36)
18 STATION_ID nvarchar (36)
19 ROUTE nvarchar (64)
20 ROUTE_ID nvarchar (64)
21 INSPECT_USER nvarchar (64)
22 INSPECT_USER_ID nvarchar (64)
23 REPAIR_SN nvarchar (64)
24 FACTORY nvarchar (64)
25 FACTORY_ID nvarchar (64)
26 WORKSHOP nvarchar (64)
27 WORKSHOP_ID nvarchar (64)
28 ASSIGN_STATUS int
29 NOW_REPAIR_USER nvarchar (64)
30 NOW_REPAIR_USER_ID nvarchar (64)
31 REPAIR_REMARK nvarchar (200)
32 DELIVERY_USER nvarchar (64)
33 DELIVERY_USER_ID nvarchar (64)
34 DELIVERY_DATE date
35 BATCH_NUMBER nvarchar (64)
36 CUSTOMER_NAME nvarchar (64)
37 OUT_TIME datetime
38 RECEIVE_USER nvarchar (64)
39 RECEIVE_USER_ID nvarchar (64)
40 isTest int
41 DESCRIPTION nvarchar (500)
42 SO_MATNR nvarchar (500)
43 SO_MATXT nvarchar (500)

表名: Repair_DEFECTS_DETAIL

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 Repair_DEFECTS_ID nvarchar (50)
3 MES_DEFECTS_ID nvarchar (50)
4 MES_DEFECTS_HISTORY_ID nvarchar (50)
5 DEFECT_TYPE nvarchar (50)
6 DEFECT_TYPE_ID nvarchar (50)
7 DEFECT_LABEL nvarchar (50)
8 DEFECT_LABEL_ID nvarchar (50)
9 DEFECT_LOCATION nvarchar (50)
10 PARTNUMBER nvarchar (50)
11 DEFECT_MARK nvarchar (500)
12 DEFECT_MARK_REPAIR nvarchar (500)
13 REPAIR_USER nvarchar (64)
14 REPAIR_USER_ID nvarchar (64)
15 REPAIR_USER_ASSIGN nvarchar (64)
16 REPAIR_USER_ASSIGN_ID nvarchar (64)
17 DEFECT_REPAIR_STATUS int
18 REPAIR_TIME datetime
19 APPEARANCE nvarchar (64)
20 CODE_NUMBER nvarchar (64)
21 REPAIR_TYPE nvarchar (64)
22 REPAIR_TYPE_ID nvarchar (64)
23 REPAIR_CODE nvarchar (64)
24 REPAIR_CODE_ID nvarchar (64)
25 DEPARTMENT nvarchar (64)
26 DEPARTMENT_ID nvarchar (64)

表名: Repair_DEFECTS_DETAIL_Del

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 Repair_DEFECTS_ID nvarchar (50)
3 MES_DEFECTS_ID nvarchar (50)
4 MES_DEFECTS_HISTORY_ID nvarchar (50)
5 DEFECT_TYPE nvarchar (50)
6 DEFECT_TYPE_ID nvarchar (50)
7 DEFECT_LABEL nvarchar (50)
8 DEFECT_LABEL_ID nvarchar (50)
9 DEFECT_LOCATION nvarchar (50)
10 PARTNUMBER nvarchar (50)
11 DEFECT_MARK nvarchar (500)
12 DEFECT_MARK_REPAIR nvarchar (500)
13 REPAIR_USER nvarchar (64)
14 REPAIR_USER_ID nvarchar (64)
15 REPAIR_USER_ASSIGN nvarchar (64)
16 REPAIR_USER_ASSIGN_ID nvarchar (64)
17 DEFECT_REPAIR_STATUS int
18 REPAIR_TIME datetime
19 APPEARANCE nvarchar (64)
20 CODE_NUMBER nvarchar (64)
21 REPAIR_TYPE nvarchar (64)
22 REPAIR_TYPE_ID nvarchar (64)
23 REPAIR_CODE nvarchar (64)
24 REPAIR_CODE_ID nvarchar (64)
25 DEPARTMENT nvarchar (64)
26 DEPARTMENT_ID nvarchar (64)

表名: Repair_DEFECTS_DETAIL_SMT

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 Repair_DEFECTS_ID nvarchar (50)
3 MES_DEFECTS_ID nvarchar (50)
4 MES_DEFECTS_HISTORY_ID nvarchar (50)
5 DEFECT_TYPE nvarchar (50)
6 DEFECT_TYPE_ID nvarchar (50)
7 DEFECT_LABEL nvarchar (50)
8 DEFECT_LABEL_ID nvarchar (50)
9 DEFECT_LOCATION nvarchar (50)
10 PARTNUMBER nvarchar (50)
11 DEFECT_MARK nvarchar (500)
12 DEFECT_MARK_REPAIR nvarchar (500)
13 REPAIR_USER nvarchar (64)
14 REPAIR_USER_ID nvarchar (64)
15 REPAIR_USER_ASSIGN nvarchar (64)
16 REPAIR_USER_ASSIGN_ID nvarchar (64)
17 DEFECT_REPAIR_STATUS int
18 REPAIR_TIME datetime
19 APPEARANCE nvarchar (64)
20 CODE_NUMBER nvarchar (64)
21 REPAIR_TYPE nvarchar (64)
22 REPAIR_TYPE_ID nvarchar (64)
23 REPAIR_CODE nvarchar (64)
24 REPAIR_CODE_ID nvarchar (64)
25 DEPARTMENT nvarchar (64)
26 DEPARTMENT_ID nvarchar (64)

表名: Repair_DEFECTS_SMT

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID varchar (50)
2 DEFECT_ID nvarchar (50)
3 SERIAL_NUMBER_ID nvarchar (50)
4 PARENT_SERIAL_NUMBER nvarchar (50)
5 PARENT_SERIAL_NUMBER_ID nvarchar (50)
6 PRODUCT_ID nvarchar (50)
7 PRODUCT nvarchar (50)
8 LOT_NAME nvarchar (128)
9 LOT_ID nvarchar (50)
10 REPAIR_STATUS int
11 INSPECT_TIME datetime
12 WAREHOUSING_TIME datetime
13 REPAIR_TIME datetime
14 SERIAL_NUMBER nvarchar (256)
15 LINE nvarchar (64)
16 LINE_ID nvarchar (64)
17 STATION nvarchar (36)
18 STATION_ID nvarchar (36)
19 ROUTE nvarchar (64)
20 ROUTE_ID nvarchar (64)
21 INSPECT_USER nvarchar (64)
22 INSPECT_USER_ID nvarchar (64)
23 REPAIR_SN nvarchar (64)
24 FACTORY nvarchar (64)
25 FACTORY_ID nvarchar (64)
26 WORKSHOP nvarchar (64)
27 WORKSHOP_ID nvarchar (64)
28 ASSIGN_STATUS int
29 NOW_REPAIR_USER nvarchar (64)
30 NOW_REPAIR_USER_ID nvarchar (64)
31 REPAIR_REMARK nvarchar (200)
32 DELIVERY_USER nvarchar (64)
33 DELIVERY_USER_ID nvarchar (64)
34 DELIVERY_DATE date
35 BATCH_NUMBER nvarchar (64)
36 CUSTOMER_NAME nvarchar (64)
37 OUT_TIME datetime
38 RECEIVE_USER nvarchar (64)
39 RECEIVE_USER_ID nvarchar (64)
40 isTest int
41 DESCRIPTION nvarchar (500)
42 SO_MATNR nvarchar (500)
43 SO_MATXT nvarchar (500)

表名: Repair_defectsList_fpy

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (500)
2 Line_Name nvarchar (500)
3 Lot_id nvarchar (500)
4 Lot_Name nvarchar (128)
5 machine_no int
6 Product_id nvarchar (500)
7 Prouduct_Name nvarchar (500)
8 Quantity int
9 Repair_confirm nvarchar (500)
10 Sample_size int
11 Serial_number nvarchar (256)
12 Station_ID nvarchar (36)
13 Station_Name nvarchar (500)
14 wipId int
15 wipId2 nvarchar (500)
16 CreateUserid nvarchar (500)
17 CreateUserName nvarchar (500)
18 defect_code nvarchar (500)
19 defect_name nvarchar (500)
20 defect_points int
21 defect_Status int
22 Confirm_time datetime
23 createtime datetime
24 Route_Step_Name nvarchar (500)

表名: Repair_DEPARTMENT

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 NAME nvarchar (50)
3 MARK nvarchar (50)

表名: Repair_EXPERIENCE

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 PRODUCT nvarchar (50)
3 TITLE nvarchar (200)
4 KEYWORDS nvarchar (200)
5 MODEL nvarchar (200)
6 BODY text (2147483647)
7 ADD_TIME datetime
8 ADD_USER nvarchar (50)
9 ADD_USER_ID nvarchar (50)

表名: Repair_LOG

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID varchar (50)
2 Repair_DEFECTS_ID nvarchar (50)
3 INSPECT_TIME datetime
4 INSPECT_USER nvarchar (64)
5 STEP int
6 INSPECT_USER_ID nvarchar (64)
7 REPAIR_MARK nvarchar (64)

表名: Repair_LOT

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 LOT_NAME nvarchar (128)
3 LOT_ID nvarchar (50)
4 LOT_QUANTITY int
5 DEFECTS_COUNT int
6 DEFECTS_REPAIR int
7 RATE float

表名: Repair_MATERIAL

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 REPAIR_SN nvarchar (50)
3 LOT_NAME nvarchar (128)
4 Name nvarchar (50)
5 REF nvarchar (50)
6 PRODUCT nvarchar (50)
7 QTY nvarchar (50)
8 UNIT nvarchar (10)
9 SPECS nvarchar (50)
10 MARK nvarchar (200)
11 ADMIN_MARK nvarchar (200)
12 ADD_TIME datetime
13 ADMIN_TIME datetime
14 STATUS int
15 ADD_USER nvarchar (50)
16 ADD_USER_ID nvarchar (50)
17 EMAIL_USER nvarchar (50)
18 EMAIL nvarchar (50)

表名: Repair_NUMBER

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 Number int

表名: Repair_PRINT

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 SN int
2 Flag bit
3 Client nvarchar (50)
4 AddTime datetime

表名: Repair_PRODUCT_LOG

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 Repair_DEFECTS_ID nvarchar (50)
3 SERIAL_NUMBER_ID nvarchar (50)
4 SERIAL_NUMBER nvarchar (256)
5 REPAIR_SN nvarchar (50)
6 DELIVERY_USER nvarchar (50)
7 DELIVERY_USER_ID nvarchar (50)
8 DELIVERY_DATE datetime
9 RECEIVE_USER nvarchar (50)
10 RECEIVE_USER_ID nvarchar (50)
11 EDITTYPE nvarchar (20)

表名: Repair_Progress

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 CustomerName nvarchar (50)
3 Product nvarchar (50)
4 Model nvarchar (1000)
5 Input int
6 OutPut int
7 Wip int
8 Shipment int
9 Day date

表名: Repair_ProgressSMT

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 CustomerName nvarchar (50)
3 Product nvarchar (50)
4 Model nvarchar (1000)
5 Input int
6 OutPut int
7 Wip int
8 Shipment int
9 Day date

表名: Repair_USER

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 USER_ID nvarchar (50)
3 USER_PWD nvarchar (50)
4 USER_NAME nvarchar (50)
5 ROLES nvarchar (1000)
6 ADD_TIME datetime
7 USER_TYPE int
8 ISMES int
9 FACTORY_ID nvarchar (50)
10 WORKSHOP nvarchar (50)
11 WORKSHOP_ID nvarchar (50)
12 LINE nvarchar (50)
13 LINE_ID nvarchar (50)
14 STATION nvarchar (36)
15 STATION_ID nvarchar (36)
16 FACTORY nvarchar (50)

表名: Repair_WARNING

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 WARNING_TYPE int
3 LOT_NAME nvarchar (128)
4 LOT_ID nvarchar (50)
5 LOT_QUANTITY int
6 DEFECT_RATE int
7 PARTNUMBER nvarchar (50)
8 PARTNUMBER_RATE int
9 DEFECT_TYPE nvarchar (50)
10 DEFECT_TYPE_ID nvarchar (50)
11 DEFECT_LABEL nvarchar (50)
12 DEFECT_LABEL_ID nvarchar (50)
13 DEFECT_TYPE_RATE int
14 EMAIL_LEADER nvarchar (50)
15 EMAIL_LIST ntext
16 ADD_TIME datetime
17 DAY int
18 PRODUCT nvarchar (64)
19 LOCATION nvarchar (64)
20 LOCATION_COUNT int
21 TITLE nvarchar (200)

表名: Repair_WARNING_LIST

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 WARNNING_CODE nvarchar (50)
3 WARNING_TYPE int
4 MARK nvarchar (50)
5 LOT_NAME nvarchar (128)
6 LOT_ID nvarchar (50)
7 PRODUCT nvarchar (50)
8 OA_STATUS nvarchar (50)
9 OA_MARK nvarchar (50)
10 OA_CODE nvarchar (50)
11 ADD_TIME datetime
12 OA_TIME datetime
13 TITLE nvarchar (200)

表名: SimilarmaterialsDetails

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (500)
2 SimilarmaterialsID nvarchar (500)
3 PRODUCT_ID nvarchar (500)
4 PRODUCT_NAME nvarchar (128)
5 CREATE_TIME datetime
6 CREATE_USER nvarchar (50)

表名: SOP_MASTER

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 SOPID int
2 PRODUCT_NAME nvarchar (128)
3 ROUTE_STEP_NAME nvarchar (50)
4 ATT_NAME nvarchar (200)
5 CREATE_TIME datetime
6 XUSER nvarchar (20)
7 REMARK nvarchar (500)
8 VERSION int SOP版本
9 LOT_NAME nvarchar (128)
10 BARCODE nvarchar (50)

表名: SOP_MASTER_HISTORY

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 SOPID int
2 PRODUCT_NAME nvarchar (128)
3 ROUTE_STEP_NAME nvarchar (50)
4 ATT_NAME nvarchar (200)
5 CREATE_TIME datetime
6 XUSER nvarchar (20)
7 REMARK nvarchar (500)
8 VERSION int SOP版本
9 ID nvarchar (50)
10 LOT_NAME nvarchar (128)
11 BARCODE nvarchar (50)

表名: SYS_BIND_ITEMS

说明: 标签比对从表1

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50) GUID 系统自动生成
2 PRODUCT_ID nvarchar (50) 产品ID
3 LOT_ID nvarchar (50) 工单ID
4 ROUTE_STEP_ID nvarchar (36) 工序ID
5 ROW_INDEX int 行号码,从1开始,同工序自增
6 NAME nvarchar (50) 规则名称
7 PREFIX nvarchar (50) 前缀
8 SUFFIX nvarchar (50) 后缀
9 LEN int 长度
10 EXPRESSION nvarchar (500) 正则表达式
11 SQL_STORE nvarchar (100) 存储过程
12 CREATE_TIME datetime 创建时间
13 CREATE_USER_ID nvarchar (50) 创建用户ID
14 CREATE_USER_NAME nvarchar (50) 创建人姓名
15 MaterialCode nvarchar (50)

表名: SYS_BIND_SETTINGS

说明: 标签比对主表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50) GUID 系统自动分配
2 PRODUCT_ID nvarchar (50) 产品ID
3 LOT_ID nvarchar (50) 工单ID
4 ROUTE_STEP_ID nvarchar (36) 工序ID
5 M_TYPE int 主条码(第一个条码)类型:0箱号 1拼板条码 2其他
6 CREATE_USER_ID nvarchar (50) 创建人ID
7 CREATE_USER_NAME nvarchar (50) 创建人姓名
8 CREATE_TIME datetime 创建时间

表名: SYS_CAR_SETTING

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 product_id nvarchar (50)
3 lot_id nvarchar (50)
4 route_step_id nvarchar (36)
5 size int
6 is_scan_input int
7 is_unload_car int
8 prefix nvarchar (50)
9 suffix nvarchar (50)
10 start_index nvarchar (50)
11 end_index nvarchar (50)
12 len int
13 radix int
14 create_user_id nvarchar (50)
15 create_user_name nvarchar (50)
16 create_time datetime
17 lst_update_user_id nvarchar (50)
18 lst_update_user_name nvarchar (50)
19 lst_update_time datetime
20 allow_blend_lot int
21 mixlot int 混工单
22 mixproduct int 混产品
23 inputmode int 录入方式 0 扫描输入载具编码,1 系统自动分配
24 sqlstorage nvarchar (50) 存储过程
25 carModel int 装载条码模式,0扫描输入,1自动生产
26 replaceStep nvarchar (50) 条码替换工序

表名: SYS_CUSTOMERS_BASEINFO

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 CUSTOMER_ID nvarchar (50)
3 LOT_ID nvarchar (50)
4 CREATE_USER_ID nvarchar (50)
5 CREATE_USER_NAME nvarchar (50)
6 CREATE_TIME datetime
7 LST_UPDATE_USER_ID nvarchar (50)
8 LST_UPDATE_USER_NAME nvarchar (50)
9 LST_UPDATE_TIME datetime
10 REMARK nvarchar (500)

表名: SYS_CUSTOMERS_BASEINFO_ITEMS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 PID nvarchar (50)
3 SEQ int
4 CKEY nvarchar (50)
5 CVALUE nvarchar (200)
6 CNAME nvarchar (50)
7 CREATE_USER_ID nvarchar (50)
8 CREATE_USER_NAME nvarchar (50)
9 CREATE_TIME datetime
10 LST_UPDATE_USER_ID nvarchar (50)
11 LST_UPDATE_USER_NAME nvarchar (50)
12 LST_UPDATE_TIME datetime

表名: SYS_DEVICE_ONLINE

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 DEVICE_ID nvarchar (50) 设备ID(GUID后端生成)
2 PRODUCT_ID nvarchar (50) 产品ID
3 LOT_ID nvarchar (50) 工单ID
4 ROUTE_STEP_ID nvarchar (36) 工序ID
5 DEVICE_NAME nvarchar (50) 设备名称
6 MODE int 0 下发方式
7 INSTRUCT nvarchar (500) 下发内容
8 CREATE_USER nvarchar (50)
9 CREATE_TIME datetime
10 LAST_UPDATE_USER nvarchar (50)
11 LAST_UPDATE_TIME datetime
12 VALUE1 nvarchar (50)
13 VALUE2 nvarchar (50)
14 VALUE3 nvarchar (50)
15 VALUE4 nvarchar (50)
16 VALUE5 nvarchar (50)

表名: SYS_GLOBAL_SETTINGS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 AttributeName nvarchar (50)
3 AttributeValue nvarchar (50)
4 AttributeDesc nvarchar (200)
5 CreateUserID nvarchar (50)
6 CreateUserName nvarchar (50)
7 CreateTime datetime
8 LstUpdateUserID nvarchar (50)
9 LstUpdateUserName nvarchar (50)
10 LstUpdateTime datetime

表名: SYS_LABELS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 product_id nvarchar (50)
3 lot_id nvarchar (50)
4 route_step_id nvarchar (36)
5 labelname nvarchar (50)
6 labelpath nvarchar (2000)
7 sql_stroage nvarchar (50)
8 create_time datetime
9 create_user_id nvarchar (50)
10 create_user_name nvarchar (50)
11 lst_update_time datetime
12 lst_update_user_id nvarchar (50)
13 lst_update_user_name nvarchar (50)
14 labelType nvarchar (50)
15 labelCategory nvarchar (20) 标签分类

表名: SYS_LABELS_ITEM

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 pid nvarchar (36)
3 Enabled int
4 stiReportName nvarchar (50)
5 stiReportDescription nvarchar (100)
6 value nvarchar (50)
7 sql_storage nvarchar (50)
8 CreateUser nvarchar (50)
9 CreateTime datetime

表名: SYS_LOT_BASEINFO_Maintain

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 Name nvarchar (50)
3 Key nvarchar (50)
4 Value nvarchar (50)
5 CREATE_USER nvarchar (50)
6 CREATE_TIME datetime

表名: SYS_OQA_SETTINGS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50) guid
2 PRODUCT_ID nvarchar (50) 产品id
3 LOT_ID nvarchar (50) 工单id
4 ROUTE_STEP_ID nvarchar (36) 送检工序id
5 LOT_SIZE decimal (18,5) 容量
6 INSPECT_LEVEL nvarchar (50) 检验标准
7 AQL decimal (18,5) AQL值
8 REBACK_STEP_ID nvarchar (200) 判退工序
9 EXTEND2 nvarchar (200) 预留
10 EXTEND3 nvarchar (200) 预留
11 CREATE_USER_ID nvarchar (50) 创建用户id
12 CREATE_USER_NAME nvarchar (50) 创建用户名称
13 CREATE_TIME datetime 创建时间
14 LST_UPDATE_USER_ID nvarchar (50) 修改用户id
15 LST_UPDATE_USER_NAME nvarchar (50) 修改用户名称
16 LST_UPDATE_TIME datetime 修改时间
17 REBACKUNPACK int 判断后拆箱
18 ISRETURNBOX int 是否需要回箱 1 需要 0不需要
19 Spot_Storage nvarchar (50)
20 AQL_STANDARD nvarchar (50)

表名: SYS_PACK_SETTING

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 product_id nvarchar (50) 产品id
3 lot_id nvarchar (50) 工单id
4 route_step_id nvarchar (36) 工序ID
5 size int 包装容量
6 is_scan_input int 是否扫描输入 0 系统自动分配 1 扫描包装编号,系统校验规则(检查重复性)
7 prefix nvarchar (50) 前缀
8 suffix nvarchar (50) 后缀
9 start_index nvarchar (50) 起始流水号
10 end_index nvarchar (50)
11 len int
12 radix int 10进制
13 category nvarchar (50) 包装等级
14 create_user_id nvarchar (50)
15 create_user_name nvarchar (50)
16 create_time datetime
17 lst_update_user_id nvarchar (50)
18 lst_update_user_name nvarchar (50)
19 lst_update_time datetime
20 allow_blend_lot int 产品级别,混工单装箱
21 box_expression nvarchar (255) 箱号正则表达式
22 box_barcode_number int 箱号条码长度
23 box_storage nvarchar (50) 箱号使用的存储过程
24 boxbarcode_expression nvarchar (255) 装箱条码正则表达式
25 boxbarcode_number int 装箱条码长度
26 boxbarcode_storage nvarchar (255) 装箱条码使用的存储过程
27 isAuto nvarchar (5)
28 generateRule nvarchar (50)
29 isBatch int 0 批量打印 1是 0否,默认0

表名: SYS_PACKCHECK_SETTINGS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 product_id nvarchar (50)
3 lot_id nvarchar (50)
4 route_step_id nvarchar (36)
5 pack_level nvarchar (50)
6 create_user_id nvarchar (50)
7 create_user_name nvarchar (50)
8 create_time datetime
9 lst_update_user_id nvarchar (50)
10 lst_update_user_name nvarchar (50)
11 lst_update_time datetime

表名: SYS_PRODUCT_BASEINFO

说明: 客户 产品 工单辅助信息主表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50) GUID 系统自动生成
2 CUSTOMER_ID nvarchar (50) 客户ID
3 PRODUCT_ID nvarchar (50) 产品ID
4 LOT_ID nvarchar (50) 工单ID
5 CREATE_USER_ID nvarchar (50) 创建人ID
6 CREATE_USER_NAME nvarchar (50) 创建人姓名
7 CREATE_TIME datetime 创建时间
8 LST_UPDATE_USER_ID nvarchar (50) 最后修改人ID
9 LST_UPDATE_USER_NAME nvarchar (50) 最后修改人姓名
10 LST_UPDATE_TIME datetime 最后修改时间
11 REMARK nvarchar (500) 备注

表名: SYS_PRODUCT_BASEINFO_ITEMS

说明: 客户 产品 工单辅助信息从表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50) GUID 系统自动生成
2 PID nvarchar (50) 主表ID
3 SEQ int 行号,从1开始,以PID做自增
4 CKEY nvarchar (50)
5 CVALUE nvarchar (200)
6 CNAME nvarchar (50) 键名称
7 CREATE_USER_ID nvarchar (50) 创建人ID
8 CREATE_USER_NAME nvarchar (50) 创建人姓名
9 CREATE_TIME datetime 创建时间
10 LST_UPDATE_USER_ID nvarchar (50) 最后更新人ID
11 LST_UPDATE_USER_NAME nvarchar (50) 最后更新人姓名
12 LST_UPDATE_TIME datetime 最后更新时间

表名: SYS_PRODUCT_BASEINFO_Maintain

说明: 客户 产品 工单辅助信息扩展表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 Name nvarchar (50) 名称
3 Key nvarchar (50) Key
4 Value nvarchar (50) Value
5 CREATE_USER nvarchar (50) 创建用户
6 CREATE_TIME datetime 创建时间

表名: SYS_PRODUCT_CODE_TYPE

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID varchar (100) ID
2 CodeType nvarchar (150) 分类编码
3 CodeTypeName nvarchar (150) 分类编码名称
4 Description nvarchar (1000) 描述
5 Seq nvarchar (50) 序号
6 ImageUrl nvarchar (200) 图片地址
7 CreateDate datetime 创建时间
8 CreatePerson nvarchar (50) 创建人
9 UpdatePerson nvarchar (50) 修改人
10 UpdateDate datetime 修改时间
11 OrganizeCode nvarchar (50)

表名: SYS_PRODUCTS_CODE

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id varchar (150)
2 MaterialCode nvarchar (150) 物料编码
3 MaterialName nvarchar (150) 名称
4 Description nvarchar (2000) 描述
5 CodeType nvarchar (150)
6 CodeTypeName nvarchar (150)
7 ParentCode nvarchar (150) 父级
8 ImageUrl nvarchar (200) 图片地址
9 Seq nvarchar (50)
10 CreatePerson nvarchar (50) 创建人
11 CreateDate datetime 创建时间
12 UpdatePerson nvarchar (50) 更新人
13 UpdateDate datetime 更改时间

表名: SYS_QUCER_SETTINGS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 product_id nvarchar (50)
3 lot_id nvarchar (50)
4 route_step_id nvarchar (36)
5 postion_check int
6 customer_check int
7 line_check int
8 create_user_id nvarchar (50)
9 create_user_name nvarchar (50)
10 create_time datetime
11 lst_update_user_id nvarchar (50)
12 lst_update_user_name nvarchar (50)
13 lst_update_user_time datetime
14 chap int

表名: SYS_SERIALCHECK_ITEMS

说明: 标签比对从表1

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50) GUID 系统自动生成
2 PRODUCT_ID nvarchar (50) 产品ID
3 LOT_ID nvarchar (50) 工单ID
4 ROUTE_STEP_ID nvarchar (36) 工序ID
5 ROW_INDEX int 行号码,从1开始,同工序自增
6 NAME nvarchar (50) 规则名称
7 PREFIX nvarchar (50) 前缀
8 SUFFIX nvarchar (50) 后缀
9 LEN int 长度
10 EXPRESSION nvarchar (500) 正则表达式
11 SQL_STORE nvarchar (100) 存储过程
12 CREATE_TIME datetime 创建时间
13 CREATE_USER_ID nvarchar (50) 创建用户ID
14 CREATE_USER_NAME nvarchar (50) 创建人姓名

表名: SYS_SERIALCHECK_SETTINGS

说明: 标签比对主表

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50) GUID 系统自动分配
2 PRODUCT_ID nvarchar (50) 产品ID
3 LOT_ID nvarchar (50) 工单ID
4 ROUTE_STEP_ID nvarchar (36) 工序ID
5 MODE int 模式:核对 0内容是否一致 1检查关系
6 M_TYPE int 主条码(第一个条码)类型:0箱号 1拼板条码 2其他
7 CREATE_USER_ID nvarchar (50) 创建人ID
8 CREATE_USER_NAME nvarchar (50) 创建人姓名
9 CREATE_TIME datetime 创建时间

表名: SYS_STEP_ATTRIBUTES

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ATTRIBUTE_ID nvarchar (50)
2 PRODUCT_ID nvarchar (50)
3 LOT_ID nvarchar (50)
4 ROUTE_STEP_ID nvarchar (36)
5 ATTRIBUTE_NAME nvarchar (50)
6 ATTRIBUTE_VALUE nvarchar (50)
7 CREATE_USER_ID nvarchar (50)
8 CREATE_USER_NAME nvarchar (50)
9 CREATE_TIME datetime
10 LST_UPDATE_USER_ID nvarchar (50)
11 LST_UPDATE_USER_NAME nvarchar (50)
12 LST_UPDATE_TIME datetime
13 value2 nvarchar (50)
14 value3 nvarchar (50)

表名: SYS_TOOLING_SETTING

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 product_id nvarchar (50)
3 lot_id nvarchar (50)
4 route_step_id nvarchar (36)
5 code nvarchar (50)
6 usecount decimal (18,5)
7 create_time datetime
8 create_user_id nvarchar (50)
9 create_user_name nvarchar (50)
10 lst_update_time datetime
11 lst_update_user_id nvarchar (50)
12 lst_update_user_name nvarchar (50)
13 face int
14 type nvarchar (10)

表名: SYS_WARNING_SETTING_ITEMS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 PID nvarchar (50)
3 USER_ID nvarchar (50)

表名: SYS_WARNING_SETTINGS

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 ID nvarchar (50)
2 TITLE nvarchar (200)
3 CONTENT nvarchar (500) 内容
4 CATEGORY nvarchar (50) 分类
5 CREATE_USER_ID nvarchar (50)
6 CREATE_USER_NAME nvarchar (50)
7 CREATE_TIME datetime
8 EXTEND1 nvarchar (500)
9 EXTEND2 nvarchar (500)
10 EXTEND3 nvarchar (500)

表名: SYS_WEIGHT_SETTING

说明:

序号 列名 数据类型 长度 主键 自增 允许空 默认值 列说明
1 id nvarchar (50)
2 product_id nvarchar (50)
3 lot_id nvarchar (50)
4 route_step_id nvarchar (36)
5 wegiht decimal (18,5) 毛重
6 high decimal (18,5) 最大误差值
7 low decimal (18,5) 最小误差值
8 category nvarchar (50)
9 create_time datetime
10 create_user_id nvarchar (50)
11 create_user_name nvarchar (50)
12 lst_update_time datetime
13 lst_update_user_id nvarchar (50)
14 lst_update_user_name nvarchar (50)
15 type int 0 采集模式

📰 视图

视图名: CT_FACTORIES

说明:

CREATE VIEW [dbo].[CT_FACTORIES]
AS
SELECT OrganizeCode AS FACTORY_ID
    ,ParentCode AS INHERIT_ID
    ,NULL AS ENTERPRISE_ID
    ,NULL AS TIMEZONE
    ,CreateDate AS START_TIME
    ,NULL AS END_TIME
    ,OrganizeName AS NAME
    ,Description
    ,NULL AS Frozen
FROM [Udit.Sys].dbo.sys_organize
WHERE (
        ParentCode = (
            SELECT OrganizeCode
            FROM [Udit.Sys].dbo.sys_organize AS sys_organize_1
            WHERE (ParentCode = '0')
            )
        )

视图名: CT_LINES

说明:

CREATE VIEW [dbo].[CT_LINES]
AS
SELECT ResourceId AS LINE_ID
    ,OrganizeCode AS INHERIT_ID
    ,ParentCode AS WORK_CENTER_ID
    ,CreateDate AS START_TIME
    ,NULL AS END_TIME
    ,0 AS FLAGS
    ,ShortName AS NAME
    ,FullName AS DESCRIPTION
    ,0 AS Frozen
    ,NULL AS ChangeOver
    ,NULL AS LOCK_DESC
    ,category
    ,Enabled
FROM [Udit.Sys].dbo.Sys_Resource
WHERE (Nature = 'L')
    AND (Enabled <> 0)

视图名: CT_STATIONS

说明:

CREATE VIEW [dbo].[CT_STATIONS]
AS
SELECT DISTINCT ResourceId AS STATION_ID
    ,OrganizeCode AS INHERIT_ID
    ,ParentCode AS LINE_ID
    ,'' AS DEFAULT_ROUTE_STEP_ID
    ,CreateDate AS START_TIME
    ,NULL AS END_TIME
    ,0 AS TYPE
    ,0 AS FLAGS
    ,0 AS REPAIR_FLAGS
    ,FullName AS NAME
    ,Code AS BARCODE
    ,NULL AS MACHINE_TYPE
    ,NULL AS FEEDER_FAMILY
    ,NULL AS DEFECT_CLASS
    ,FullName AS DESCRIPTION
    ,NULL AS CHECK_STATUS
    ,0 AS Frozen
    ,category
    ,ShortName
    ,Enabled
    ,Fax
FROM [Udit.Sys].dbo.Sys_Resource AS a
WHERE (Nature = 's')
    AND (Enabled <> 0)

视图名: CT_WORK_CENTERS

说明:

CREATE VIEW [dbo].[CT_WORK_CENTERS]
AS
SELECT ResourceId AS WORK_CENTER_ID
    ,CAST(ParentCode AS VARCHAR) AS INHERIT_ID
    ,OrganizeCode AS FACTORY_ID
    ,CreateDate AS START_TIME
    ,NULL AS END_TIME
    ,FullName AS NAME
    ,FullName AS DESCRIPTION
    ,0 AS Frozen
    ,0 AS WORK_CENTER_STATUS
    ,category
    ,Enabled
FROM [Udit.Sys].dbo.Sys_Resource
WHERE (Nature = 'W')
    AND (Enabled <> 0)

视图名: QS_CUSTOMERS

说明:

CREATE VIEW [dbo].[QS_CUSTOMERS]
AS
SELECT a.MerchantsCode AS CID
    ,a.MerchantsCode AS CUSTOMER_CODE
    ,a.MerchantsName AS CUSTOMER_NAME
    ,NULL AS FAX_NO
    ,a.ContactPerson AS TEL_NO
    ,a.ContactPosition AS ADDRESS
    ,NULL AS REMARK
    ,a.CreateDate AS ALTER_DATE
    ,a.CreateDate CREATE_DATE
FROM [Udit.Mms].dbo.mms_merchants AS a
INNER JOIN [Udit.Mms].dbo.mms_merchantsType AS b ON a.MerchantsTypeCode = b.MerchantsTypeCode
    AND b.MerchantsProperty = 'Customer'

视图名: SYS_USERS

说明:

CREATE VIEW [dbo].[SYS_USERS]
AS
SELECT UserCode AS UserID
    ,Password AS UserPwd
    ,'4E4C8FC3-4C2B-4451-A13F-E86515C4F282' AS UserGroupID
    ,'' AS UserEmail
    ,'' AS UserPhone
    ,'y' AS UserStatus
    ,CreateDate
    ,Description AS UserDesc
    ,UserName AS Full_NAME
    ,0 AS IS_DISABLE
    ,0 AS PWD_ERROR_TIMES
FROM [Udit.Sys].dbo.sys_user

视图名: V_ERP_WorkOrder

说明:

CREATE VIEW dbo.V_ERP_WorkOrder
AS
SELECT SFB01
    ,SFB05
    ,SFB81
    ,SFB08
    ,LOTNO
    ,IMA021
FROM OPENQUERY(ERP, 'select SFB01 ,SFB05  ,sfb81 ,sfb08,lotno,ima021 from ima_file, (select SFB01 ,SFB05  ,sfb81 ,sfb08 ,nvl(e.oebud04,oeb01) lotno from sfb_file f LEFT OUTER JOIN 
oeb_file e on f.sfb22=e.oeb01 and f.sfb221=e.oeb03 where sfb04 in(''1'',''2'',''3'',''4'') and sfb87=''Y'' ) dd where ima01=dd.SFB05 and ima08=''M''') AS derivedtbl_1

视图名: V_ERP2_WorkOrder

说明:

CREATE VIEW dbo.V_ERP2_WorkOrder
AS
SELECT ta006 AS 机种
    ,ta001 + ta002 AS 工单
    ,ta035 AS 描述
    ,ISNULL(pbn, '') AS 订单
    ,CONVERT(VARCHAR(100), ta009, 111) AS 预计开工日期
    ,ta015 AS 数量
FROM ERP2.erpdata_zxbt.dbo.mocta AS ta
WHERE (ta013 = 'Y')
    AND (ta003 >= DATEADD(day, - 180, GETDATE()))

视图名: View_DELIVERY_DATE

说明:

CREATE VIEW dbo.View_DELIVERY_DATE
AS
SELECT DELIVERY_DATE
    ,CUSTOMER_NAME
    ,PRODUCT
    ,COUNT(ID) AS QTY
    ,SUM(CASE 
            WHEN REPAIR_STATUS = 3
                OR REPAIR_STATUS = 5
                THEN 1
            ELSE 0
            END) AS COMPLETE
    ,SUM(CASE 
            WHEN REPAIR_STATUS <> 3
                AND REPAIR_STATUS <> 5
                THEN 1
            ELSE 0
            END) AS DEFECTS
FROM dbo.Repair_DEFECTS
GROUP BY CUSTOMER_NAME
    ,PRODUCT
    ,DELIVERY_DATE

视图名: View_Repair_Defects

说明:

CREATE VIEW [dbo].[View_Repair_Defects]
AS
SELECT TOP (100) PERCENT REPAIR_STATUS
    ,ASSIGN_STATUS
    ,INSPECT_TIME
    ,INSPECT_USER
    ,ID
    ,'' AS DefectId
    ,SERIAL_NUMBER
    ,REPAIR_SN
    ,'' AS DEFECT_LABEL
    ,'' AS DEFECT_LOCATION
    ,'' AS DEFECT_MARK
    ,'' AS DEFECT_TYPE
    ,'' AS PARTNUMBER
    ,'' AS REPAIR_USER_ASSIGN
    ,'' AS REPAIR_USER_ASSIGN_ID
    ,'' AS REPAIR_USER
    ,'' AS REPAIR_USER_ID
    ,REPAIR_TIME
    ,WAREHOUSING_TIME
    ,0 AS DEFECT_REPAIR_STATUS
    ,NOW_REPAIR_USER
    ,NOW_REPAIR_USER_ID
    ,GETDATE() AS DEFECT_REPAIR_TIME
    ,REPAIR_REMARK
    ,'' AS APPEARANCE
    ,'' AS CODE_NUMBER
    ,DELIVERY_DATE
    ,'' AS REPAIR_CODE
    ,CUSTOMER_NAME
    ,LINE
    ,STATION
    ,LOT_NAME
    ,PRODUCT
    ,WORKSHOP
    ,FACTORY
    ,OUT_TIME
    ,DESCRIPTION
    ,CAST(DATEDIFF(Second, WAREHOUSING_TIME, GETDATE()) * 1. / 3600 / 24 AS DECIMAL(18, 2)) AS OverDays
    ,CAST(DATEDIFF(Second, WAREHOUSING_TIME, REPAIR_TIME) * 1. / 3600 / 24 AS DECIMAL(18, 2)) AS RepairDays
    ,CAST(DATEDIFF(Second, INSPECT_TIME, GETDATE()) * 1. / 3600 / 24 AS DECIMAL(18, 2)) AS WareHouseDays
    ,SO_MATNR
    ,SO_MATXT
FROM dbo.Repair_DEFECTS

视图名: View_Repair_Defects_SMT

说明:

CREATE VIEW [dbo].[View_Repair_Defects_SMT]
AS
SELECT TOP (100) PERCENT REPAIR_STATUS
    ,ASSIGN_STATUS
    ,INSPECT_TIME
    ,INSPECT_USER
    ,ID
    ,'' AS DefectId
    ,SERIAL_NUMBER
    ,REPAIR_SN
    ,'' AS DEFECT_LABEL
    ,'' AS DEFECT_LOCATION
    ,'' AS DEFECT_MARK
    ,'' AS DEFECT_TYPE
    ,'' AS PARTNUMBER
    ,'' AS REPAIR_USER_ASSIGN
    ,'' AS REPAIR_USER_ASSIGN_ID
    ,'' AS REPAIR_USER
    ,'' AS REPAIR_USER_ID
    ,REPAIR_TIME
    ,WAREHOUSING_TIME
    ,0 AS DEFECT_REPAIR_STATUS
    ,NOW_REPAIR_USER
    ,NOW_REPAIR_USER_ID
    ,GETDATE() AS DEFECT_REPAIR_TIME
    ,REPAIR_REMARK
    ,'' AS APPEARANCE
    ,'' AS CODE_NUMBER
    ,DELIVERY_DATE
    ,'' AS REPAIR_CODE
    ,CUSTOMER_NAME
    ,LINE
    ,STATION
    ,LOT_NAME
    ,PRODUCT
    ,WORKSHOP
    ,FACTORY
    ,OUT_TIME
    ,DESCRIPTION
    ,CAST(DATEDIFF(Second, WAREHOUSING_TIME, GETDATE()) * 1. / 3600 / 24 AS DECIMAL(18, 2)) AS OverDays
    ,CAST(DATEDIFF(Second, WAREHOUSING_TIME, REPAIR_TIME) * 1. / 3600 / 24 AS DECIMAL(18, 2)) AS RepairDays
    ,CAST(DATEDIFF(Second, INSPECT_TIME, GETDATE()) * 1. / 3600 / 24 AS DECIMAL(18, 2)) AS WareHouseDays
    ,SO_MATNR
    ,SO_MATXT
FROM dbo.Repair_DEFECTS_SMT

视图名: View_Repair_DefectsDetail

说明:

CREATE VIEW [dbo].[View_Repair_DefectsDetail]
AS
SELECT TOP (100) PERCENT a.REPAIR_STATUS
    ,a.ASSIGN_STATUS
    ,a.INSPECT_TIME
    ,a.INSPECT_USER
    ,a.ID
    ,b.ID AS DefectId
    ,a.SERIAL_NUMBER
    ,a.REPAIR_SN
    ,b.DEFECT_LABEL
    ,b.DEFECT_LOCATION
    ,b.DEFECT_MARK
    ,b.DEFECT_TYPE
    ,b.PARTNUMBER
    ,b.REPAIR_USER_ASSIGN
    ,b.REPAIR_USER_ASSIGN_ID
    ,b.REPAIR_USER
    ,b.REPAIR_USER_ID
    ,b.REPAIR_TIME
    ,a.WAREHOUSING_TIME
    ,b.DEFECT_REPAIR_STATUS
    ,a.NOW_REPAIR_USER
    ,a.NOW_REPAIR_USER_ID
    ,a.REPAIR_TIME AS DEFECT_REPAIR_TIME
    ,a.REPAIR_REMARK
    ,b.APPEARANCE
    ,b.CODE_NUMBER
    ,a.DELIVERY_DATE
    ,b.REPAIR_CODE
    ,a.CUSTOMER_NAME
    ,a.LINE
    ,a.STATION
    ,a.LOT_NAME
    ,a.PRODUCT
    ,a.WORKSHOP
    ,a.FACTORY
    ,a.OUT_TIME
    ,a.DESCRIPTION
    ,a.SO_MATXT
    ,a.SO_MATNR
FROM dbo.Repair_DEFECTS AS a
INNER JOIN dbo.Repair_DEFECTS_DETAIL AS b ON b.Repair_DEFECTS_ID = a.ID

视图名: View_Repair_DefectsSearch

说明:

CREATE VIEW [dbo].[View_Repair_DefectsSearch]
AS
SELECT TOP (100) PERCENT a.REPAIR_STATUS
    ,a.ASSIGN_STATUS
    ,a.INSPECT_TIME
    ,a.INSPECT_USER
    ,a.ID
    ,b.ID AS DefectId
    ,a.SERIAL_NUMBER
    ,a.REPAIR_SN
    ,b.DEFECT_LABEL
    ,b.DEFECT_LOCATION
    ,b.DEFECT_MARK
    ,b.DEFECT_TYPE
    ,b.PARTNUMBER
    ,b.REPAIR_USER_ASSIGN
    ,b.REPAIR_USER_ASSIGN_ID
    ,b.REPAIR_USER
    ,b.REPAIR_USER_ID
    ,b.REPAIR_TIME
    ,a.WAREHOUSING_TIME
    ,b.DEFECT_REPAIR_STATUS
    ,a.NOW_REPAIR_USER
    ,a.NOW_REPAIR_USER_ID
    ,a.REPAIR_TIME AS DEFECT_REPAIR_TIME
    ,a.REPAIR_REMARK
    ,b.APPEARANCE
    ,b.CODE_NUMBER
    ,a.DELIVERY_DATE
    ,b.REPAIR_CODE
    ,a.CUSTOMER_NAME
    ,a.LINE
    ,a.STATION
    ,a.LOT_NAME
    ,a.PRODUCT
    ,a.WORKSHOP
    ,a.FACTORY
    ,a.OUT_TIME
    ,a.DESCRIPTION
    ,CAST(DATEDIFF(Second, a.WAREHOUSING_TIME, GETDATE()) * 1. / 3600 / 24 AS DECIMAL(18, 2)) AS OverDays
    ,CAST(DATEDIFF(Second, a.WAREHOUSING_TIME, a.REPAIR_TIME) * 1. / 3600 / 24 AS DECIMAL(18, 2)) AS RepairDays
    ,CAST(DATEDIFF(Second, a.INSPECT_TIME, GETDATE()) * 1. / 3600 / 24 AS DECIMAL(18, 2)) AS WareHouseDays
    ,a.SO_MATNR
    ,a.SO_MATXT
FROM dbo.Repair_DEFECTS AS a
INNER JOIN dbo.Repair_DEFECTS_DETAIL AS b ON b.Repair_DEFECTS_ID = a.ID

视图名: View_Repair_LOG

说明:

CREATE VIEW dbo.View_Repair_LOG
AS
SELECT a.INSPECT_TIME AS Add_Time
    ,a.STEP
    ,b.DELIVERY_DATE
FROM dbo.Repair_LOG AS a
INNER JOIN dbo.Repair_DEFECTS AS b ON a.Repair_DEFECTS_ID = b.ID

视图名: View_Report_Repair

说明:

CREATE VIEW [dbo].[View_Report_Repair]
AS
SELECT a.ID
    ,a.REPAIR_TIME
    ,a.LOT_NAME
    ,a.SERIAL_NUMBER
    ,a.PRODUCT
    ,a.DESCRIPTION
    ,a.ROUTE
    ,a.CUSTOMER_NAME
    ,b.LOT_QUANTITY
    ,a.LINE
    ,'' AS CODE_NUMBER
    ,'' AS DEFECT_MARK
    ,'' AS DEPARTMENT
    ,'' AS APPEARANCE
    ,'' AS PARTNUMBER
    ,'' AS DEFECT_LOCATION
    ,'' AS REPAIR_TYPE
    ,'' AS REPAIR_CODE
    ,'' AS DEFECT_MARK_REPAIR
    ,a.STATION
    ,a.REPAIR_SN
    ,'' AS REPAIR_USER
    ,CAST(DATEDIFF(Second, a.WAREHOUSING_TIME, a.REPAIR_TIME) * 1. / 3600 / 24 AS DECIMAL(18, 2)) AS RepairDays
    ,a.SO_MATNR
    ,a.SO_MATXT
FROM dbo.Repair_DEFECTS AS a
LEFT OUTER JOIN dbo.Repair_LOT AS b ON a.LOT_NAME = b.LOT_NAME
WHERE (a.REPAIR_STATUS = 3)
    AND (b.LOT_ID IS NOT NULL)
    OR (a.REPAIR_STATUS = 5)
    AND (b.LOT_ID IS NOT NULL)

视图名: view_wip

说明:

CREATE VIEW [dbo].[view_wip]
AS
SELECT WIP_ID
    ,SERIAL_NUMBER_ID
    ,MODEL_NO
    ,LOT_NAME
    ,STATION_ID
    ,ROUTE_STEP_ID
    ,NEXT_STEP_ID
    ,START_TIME
    ,END_TIME
    ,WIP_STATE
    ,SCAN_TYPE
    ,SERIAL_NUMBER
    ,XUSER
    ,WID
    ,TableName
    ,reelBarcode
    ,QTY
    ,weight
FROM (
    SELECT WIP_ID
        ,SERIAL_NUMBER_ID
        ,MODEL_NO
        ,LOT_NAME
        ,STATION_ID
        ,ROUTE_STEP_ID
        ,NEXT_STEP_ID
        ,START_TIME
        ,END_TIME
        ,WIP_STATE
        ,SCAN_TYPE
        ,SERIAL_NUMBER
        ,XUSER
        ,WID
        ,reelBarcode
        ,QTY
        ,weight
        ,'QS_WIP' AS TableName
    FROM dbo.QS_WIP
    ) AS t

视图名: ViewQS_LOTS

说明:

CREATE VIEW ViewQS_LOTS
AS
SELECT lt.PRODUCT_ID
    ,pt.NAME
    ,pt.CUSTOMER_CODE
    ,mmscust.MerchantsName
    ,pt.RVERSION
    ,lt.LOT_ID
    ,lt.LOT_NAME
    ,lt.QUANTITY
    ,lt.INIT_QTY
    ,lt.START_TIME
    ,lt.END_TIME
    ,lt.LOT_STATUS
    ,lt.LOT_TYPE
    ,lt.REMARK
    ,lt.CREATE_TIME
    ,lt.CREATE_USER
    ,lt.PRIORITY
    ,lt.PLAN_FINISH_DATE
    ,qlta.ATTRIBUTE_VALUE isTrace
FROM QS_LOTS lt
JOIN QS_PRODUCTS pt ON lt.PRODUCT_ID = pt.PRODUCT_ID
JOIN QS_LOTS_ATTRIBUTES qlta ON lt.LOT_ID = qlta.LOT_ID
JOIN [Udit.Mms].[dbo].[mms_merchants] mmscust ON pt.CUSTOMER_CODE = mmscust.MerchantsCode
WHERE qlta.ATTRIBUTE_NAME = 'isTrace'

视图名: VIW_SFC_AQL

说明:

CREATE VIEW [dbo].[VIW_SFC_AQL]
AS
SELECT dbo.CT_AQL_TYPE.AQL_DESC
    ,dbo.CT_AQL_RANGE.LOT_QTY_MIN
    ,dbo.CT_AQL_RANGE.LOT_QTY_MAX
    ,dbo.CT_AQL_RANGE.LEVEL_CODE
    ,dbo.CT_AQL_RANGE.AQL_CODE
    ,dbo.CT_AQL_RANGE.QTY_CODE
    ,dbo.CT_AQL_TITLE.LEVEL_DESC
    ,dbo.CT_AQL_VALUE.AQL_VALUE
    ,dbo.CT_AQL_VALUE.AC
    ,dbo.CT_AQL_VALUE.RE
    ,dbo.CT_AQL_CODE.QTY
FROM dbo.CT_AQL_CODE
INNER JOIN dbo.CT_AQL_RANGE ON dbo.CT_AQL_CODE.AQL_CODE = dbo.CT_AQL_RANGE.AQL_CODE
    AND dbo.CT_AQL_CODE.QTY_CODE = dbo.CT_AQL_RANGE.QTY_CODE
INNER JOIN dbo.CT_AQL_TYPE ON dbo.CT_AQL_RANGE.AQL_CODE = dbo.CT_AQL_TYPE.AQL_CODE
INNER JOIN dbo.CT_AQL_TITLE ON dbo.CT_AQL_RANGE.LEVEL_CODE = dbo.CT_AQL_TITLE.LEVEL_CODE
INNER JOIN dbo.CT_AQL_VALUE ON dbo.CT_AQL_CODE.QTY_CODE = dbo.CT_AQL_VALUE.QTY_CODE
    AND dbo.CT_AQL_CODE.AQL_CODE = dbo.CT_AQL_VALUE.AQL_CODE

📜 存储过程

存储过程名: BarTenderRequest

说明:

CREATE PROC BarTenderRequest @lotCode NVARCHAR(50)
    ,@stationName NVARCHAR(50)
    ,@stepName NVARCHAR(50)
    ,@serialNumber NVARCHAR(50)
    ,@userCode NVARCHAR(50)
AS
BEGIN
    DECLARE @boxNumber NVARCHAR(128)
        ,--箱号
        @boxTotal INT
        ,--装箱条码数    
        @lotBoxCount INT
        ,--工单装箱数
        @boxWeight DECIMAL
        ,--箱重
        @weekInYear INT
        ,--今年第几周
        @monthInYear INT
        ,--今年第几月
        @productCode NVARCHAR(128)
        ,--产品编码
        @productName NVARCHAR(128)
        ,--产品名称
        @productModel NVARCHAR(128)
        ,--产品规格
        @customerCode NVARCHAR(128)
        ,--客户编码
        @customerName NVARCHAR(128)
        ,--客户名称
        @boxUserName NVARCHAR(128)
        ,--装箱用户
        @boxTime VARCHAR(10)
        ,--装箱时间
        @boxSerialNumberPSN1 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSerialNumberPSN2 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSerialNumberPSN3 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSerialNumberPSN4 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSerialNumberPSN5 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSerialNumberPSN6 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSerialNumberPSN7 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSerialNumberPSN8 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSerialNumberPSN9 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSerialNumberPSN10 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSerialNumberPSN11 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSerialNumberPSN12 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSerialNumberPSN13 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSerialNumberPSN14 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSerialNumberPSN15 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSerialNumberPSN16 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSerialNumberPSN17 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSerialNumberPSN18 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSerialNumberPSN19 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSerialNumberPSN20 NVARCHAR(128)
        ,--箱内第一个条码的出货码
        @boxSeqInLot NVARCHAR(128)
        ,--箱子属于工单第几箱
        @customerProduceCode NVARCHAR(128)
        ,--客户产品编码
        @customerProduceName NVARCHAR(128) --客户产品名称

    --箱号
    SET @boxNumber = @serialNumber;

    --工单装箱数
    SELECT @lotBoxCount = count(1)
    FROM CT_BOXS
    WHERE LOT_NAME = @lotCode;

    --装箱条码数,箱重,装箱用户,装箱时间
    SELECT @boxTotal = box_total
        ,@boxWeight = box_weight
        ,@boxUserName = create_user_name
        ,@boxTime = CONVERT(VARCHAR(10), create_time, 120)
    FROM CT_BOXS(NOLOCK)
    WHERE box_number = @boxNumber;

    --周,月
    SET @weekInYear = DATEPART(week, GETDATE());
    SET @monthInYear = DATEPART(month, GETDATE());

    --产品编码,客户编码
    DECLARE @productId VARCHAR(64);

    SELECT @productId = PRODUCT_ID
        ,@productCode = NAME
        ,@customerCode = CUSTOMER_CODE
    FROM QS_PRODUCTS(NOLOCK)
    WHERE PRODUCT_ID = (
            SELECT PRODUCT_ID
            FROM QS_LOTS(NOLOCK)
            WHERE lot_Name = @lotCode
            );

    --产品名称,产品规格
    SELECT @productName = MaterialName
        ,@productModel = MODEL
    FROM [Udit.Mms].[dbo].[mms_material](NOLOCK)
    WHERE MaterialCode = @productCode

    --客户名称
    SELECT @customerName = MerchantsName
    FROM [Udit.Mms].[dbo].[mms_merchants](NOLOCK)
    WHERE MerchantsCode = @customerCode;

    --装箱条码的出货码1-20
    SELECT @boxSerialNumberPSN1 = max(iif(rowNum = 1, ASSEMBLY_SN, ''))
        ,@boxSerialNumberPSN2 = max(iif(rowNum = 2, ASSEMBLY_SN, ''))
        ,@boxSerialNumberPSN3 = max(iif(rowNum = 3, ASSEMBLY_SN, ''))
        ,@boxSerialNumberPSN4 = max(iif(rowNum = 4, ASSEMBLY_SN, ''))
        ,@boxSerialNumberPSN5 = max(iif(rowNum = 5, ASSEMBLY_SN, ''))
        ,@boxSerialNumberPSN6 = max(iif(rowNum = 6, ASSEMBLY_SN, ''))
        ,@boxSerialNumberPSN7 = max(iif(rowNum = 7, ASSEMBLY_SN, ''))
        ,@boxSerialNumberPSN8 = max(iif(rowNum = 8, ASSEMBLY_SN, ''))
        ,@boxSerialNumberPSN9 = max(iif(rowNum = 9, ASSEMBLY_SN, ''))
        ,@boxSerialNumberPSN10 = max(iif(rowNum = 10, ASSEMBLY_SN, ''))
        ,@boxSerialNumberPSN11 = max(iif(rowNum = 11, ASSEMBLY_SN, ''))
        ,@boxSerialNumberPSN12 = max(iif(rowNum = 12, ASSEMBLY_SN, ''))
        ,@boxSerialNumberPSN13 = max(iif(rowNum = 13, ASSEMBLY_SN, ''))
        ,@boxSerialNumberPSN14 = max(iif(rowNum = 14, ASSEMBLY_SN, ''))
        ,@boxSerialNumberPSN15 = max(iif(rowNum = 15, ASSEMBLY_SN, ''))
        ,@boxSerialNumberPSN16 = max(iif(rowNum = 16, ASSEMBLY_SN, ''))
        ,@boxSerialNumberPSN17 = max(iif(rowNum = 17, ASSEMBLY_SN, ''))
        ,@boxSerialNumberPSN18 = max(iif(rowNum = 18, ASSEMBLY_SN, ''))
        ,@boxSerialNumberPSN19 = max(iif(rowNum = 19, ASSEMBLY_SN, ''))
        ,@boxSerialNumberPSN20 = max(iif(rowNum = 20, ASSEMBLY_SN, ''))
    FROM (
        SELECT TOP 20 ROW_NUMBER() OVER (
                ORDER BY b.ASSEMBLY_SN
                ) AS rowNum
            ,b.ASSEMBLY_SN
        FROM CT_BOX_ITEMS(NOLOCK) a
        LEFT JOIN QS_ASSEMBLY(NOLOCK) b ON a.serial_number = b.serial_number
            AND b.MATERIEL_NO = '水排码'
        WHERE a.box_number = @boxNumber
        ) t

    --箱号属于工单第几箱
    SELECT @boxSeqInLot = rowNum
    FROM (
        SELECT ROW_NUMBER() OVER (
                ORDER BY create_time
                ) AS rowNum
            ,*
        FROM CT_BOXS(NOLOCK) a
        WHERE LOT_NAME = @lotCode
        ) t
    WHERE t.box_number = @boxNumber

    --客户产品编码,客户产品名称
    SELECT @customerProduceCode = max(iif(CKEY = 'customer_material_no', CVALUE, ''))
        ,@customerProduceName = max(iif(CKEY = 'customer_material_name', CVALUE, ''))
    FROM SYS_PRODUCT_BASEINFO_ITEMS
    WHERE pid = (
            SELECT id
            FROM SYS_PRODUCT_BASEINFO
            WHERE PRODUCT_ID = @productId
                AND LOT_ID IS NULL
            )

    --返回
    SELECT @boxNumber 'boxNumber'
        ,--箱号
        @lotCode 'lotCode'
        ,--工单
        @serialNumber 'serialNumber'
        ,--条码
        @boxTotal 'boxTotal'
        ,--装箱条码数    
        @lotBoxCount 'lotBoxCount'
        ,--工单装箱数
        @boxWeight 'boxWeight'
        ,--箱重
        @weekInYear 'weekInYear'
        ,--今年第几周
        @monthInYear 'monthInYear'
        ,--今年第几月
        @productCode 'productCode'
        ,--产品编码
        @productName 'productName'
        ,--产品名称
        @productModel 'productModel'
        ,--产品规格
        @customerCode 'customerCode'
        ,--客户编码
        @customerName 'customerName'
        ,--客户名称
        @boxUserName 'boxUserName'
        ,--装箱用户
        @boxTime 'boxTime'
        ,--装箱时间
        @boxSerialNumberPSN1 'boxSerialNumberPSN1'
        ,--箱内第1个条码的出货码
        @boxSerialNumberPSN2 'boxSerialNumberPSN2'
        ,--箱内第2个条码的出货码
        @boxSerialNumberPSN3 'boxSerialNumberPSN3'
        ,--箱内第3个条码的出货码
        @boxSerialNumberPSN4 'boxSerialNumberPSN4'
        ,--箱内第4个条码的出货码
        @boxSerialNumberPSN5 'boxSerialNumberPSN5'
        ,--箱内第5个条码的出货码
        @boxSerialNumberPSN6 'boxSerialNumberPSN6'
        ,--箱内第6个条码的出货码
        @boxSerialNumberPSN7 'boxSerialNumberPSN7'
        ,--箱内第7个条码的出货码
        @boxSerialNumberPSN8 'boxSerialNumberPSN8'
        ,--箱内第8个条码的出货码
        @boxSerialNumberPSN9 'boxSerialNumberPSN9'
        ,--箱内第9个条码的出货码
        @boxSerialNumberPSN10 'boxSerialNumberPSN10'
        ,--箱内第10个条码的出货码
        @boxSerialNumberPSN11 'boxSerialNumberPSN11'
        ,--箱内第11个条码的出货码
        @boxSerialNumberPSN12 'boxSerialNumberPSN12'
        ,--箱内第12个条码的出货码
        @boxSerialNumberPSN13 'boxSerialNumberPSN13'
        ,--箱内第13个条码的出货码
        @boxSerialNumberPSN14 'boxSerialNumberPSN14'
        ,--箱内第14个条码的出货码
        @boxSerialNumberPSN15 'boxSerialNumberPSN15'
        ,--箱内第15个条码的出货码
        @boxSerialNumberPSN16 'boxSerialNumberPSN16'
        ,--箱内第16个条码的出货码
        @boxSerialNumberPSN17 'boxSerialNumberPSN17'
        ,--箱内第17个条码的出货码
        @boxSerialNumberPSN18 'boxSerialNumberPSN18'
        ,--箱内第18个条码的出货码
        @boxSerialNumberPSN19 'boxSerialNumberPSN19'
        ,--箱内第19个条码的出货码
        @boxSerialNumberPSN20 'boxSerialNumberPSN20'
        ,--箱内第20个条码的出货码
        @boxSeqInLot 'boxSeqInLot'
        ,--箱子属于工单第几箱
        @customerProduceCode 'customerProduceCode'
        ,--客户产品编码
        @customerProduceName 'customerProduceName' --客户产品名称
END

存储过程名: checksn

说明:

CREATE PROC checksn @lotId NVARCHAR(50)
    ,@stationId NVARCHAR(50)
    ,@routeStepId NVARCHAR(50)
    ,@userId NVARCHAR(50)
    ,@serialNumber NVARCHAR(50)
AS
BEGIN
    DECLARE @msg VARCHAR(100)
    DECLARE @error VARCHAR(100)

    IF (
            right(@serialNumber, 4) > '2100'
            OR right(@serialNumber, 4) < '2001'
            )
    BEGIN
        SET @msg = '验证失败 ,后缀不在2001 - 2100 范围内!'
        SET @error = 1
    END
    ELSE
    BEGIN
        SET @msg = '验证通过!'
        SET @error = 0
    END

    SELECT @error AS errorcode
        ,@msg AS msg
END

存储过程名: CREATE_CAR_NUMBER

说明:

CREATE PROC CREATE_CAR_NUMBER @lotId NVARCHAR(50)
    ,@stationId NVARCHAR(50)
    ,@stepId NVARCHAR(50)
    ,@productId NVARCHAR(50)
AS
BEGIN
    DECLARE @msg VARCHAR(100) -- 返回信息,流转卡号
    DECLARE @error VARCHAR(100) -- 返回信息,状态表示 0 :正常   1 :异常
    DECLARE @prefix VARCHAR(100) --前缀 这里 取 ‘L’ +工单  作为规则 
    DECLARE @isexist VARCHAR(100) --检查规则是否存在标识 
    DECLARE @numlength VARCHAR(10) --流水号长度
    DECLARE @serialnum VARCHAR(10) --当前规则流水号最新值

    SET @numlength = 4 --默认流水给个四位

    SELECT @prefix = 'L' + lot_name
    FROM qs_lots(NOLOCK)
    WHERE lot_id = @lotId

    SELECT @isexist = count(pkprefix)
    FROM [Udit.SFC].[dbo].[packingserialnumber](NOLOCK)
    WHERE pkprefix = @prefix;

    IF (@isexist > 0)
    BEGIN
        UPDATE [Udit.SFC].[dbo].[packingserialnumber]
        SET num = num + 1
        WHERE pkprefix = @prefix;

        SELECT @serialnum = num
        FROM [Udit.SFC].[dbo].[packingserialnumber](NOLOCK)
        WHERE pkprefix = @prefix;
    END
    ELSE
    BEGIN
        INSERT INTO [Udit.SFC].[dbo].[packingserialnumber] (
            pkprefix
            ,num
            )
        VALUES (
            @prefix
            ,1
            );

        SET @serialnum = 1;
    END

    DECLARE @qq INT;--临时存放数字

    SET @qq = 1;

    --根据流水号长度,自动换算成10的长度次方
    WHILE (@numlength > 0)
    BEGIN
        SET @qq = @qq * 10;
        SET @numlength = @numlength - 1;
    END

    DECLARE @serialnumstr NVARCHAR(20);---记录水流号字符串

    SET @qq = @qq + @serialnum;
    SET @serialnumstr = cast(@qq AS NVARCHAR(20));
    SET @serialnumstr = right(@serialnumstr, len(@serialnumstr) - 1)
    --拼接为流转卡号
    SET @error = 0
    SET @msg = @prefix + @serialnumstr

    SELECT @error AS errorcode
        ,@msg AS msg
END

存储过程名: CreateBoxNumber

说明:

CREATE PROCEDURE [dbo].[CreateBoxNumber] @lotId NVARCHAR(50)
    ,@stationId NVARCHAR(50)
    ,@stepId NVARCHAR(50)
    ,@serialNumber NVARCHAR(50)
AS
BEGIN
    SELECT 0 errorcode
        ,'box001' boxNumber
END

存储过程名: ERP_ZXBT_WORKORDER_ASYN_ZIGOU

说明:

CREATE PROCEDURE [dbo].[ERP_ZXBT_WORKORDER_ASYN_ZIGOU]
AS
BEGIN
    DECLARE @tmp TABLE --ERP工单信息
        (
        erp_order NVARCHAR(50)
        ,code VARCHAR(50)
        ,publish_date DATETIME
        ,qty INT
        ,po VARCHAR(50)
        )

    --insert into @tmp  select SFB01,SFB05,SFB81,SFB08, SFB22 FROM [Udit.erp].[dbo].[sfb_file](nolock) where SFB81 > dateadd(month,-2,getdate()) --and SFB01='YE-YY-220300396_1'
    --where sfb01='JB-ZZ-191000032_1'
    --select * from @tmp
    WHILE (
            EXISTS (
                SELECT TOP 1 1
                FROM @tmp
                )
            )
    BEGIN
        DECLARE @orderlot NVARCHAR(50)
        DECLARE @ordercode VARCHAR(50)
        DECLARE @orderqty INT
        DECLARE @orderdate DATETIME

        SELECT TOP 1 @orderlot = erp_order
            ,@ordercode = code
            ,@orderqty = qty
            ,@orderdate = publish_date
        FROM @tmp

        --delete from @mt
        IF NOT EXISTS (
                SELECT *
                FROM QS_LOTS(NOLOCK)
                WHERE LOT_NAME = @orderlot
                )
        BEGIN
            PRINT 2

            --不存在
            DECLARE @productID VARCHAR(50)

            SET @productID = ''

            SELECT @productID = PRODUCT_ID
            FROM QS_PRODUCTS(NOLOCK)
            WHERE NAME = @ordercode
                AND STATUS = 0
            ORDER BY CREATE_TIME DESC
                ,RVERSION DESC

            SET @productID = ISNULL(@productID, '')

            --产品存在才允许同步数据
            IF len(@productID) > 0
            BEGIN
                PRINT 1

                DECLARE @lotID VARCHAR(50)

                SET @lotID = NEWID()

                INSERT INTO QS_LOTS (
                    PRODUCT_ID
                    ,LOT_ID
                    ,LOT_NAME
                    ,QUANTITY
                    ,INIT_QTY
                    ,START_TIME
                    ,END_TIME
                    ,CREATE_TIME
                    ,REMARK
                    ,LOT_STATUS
                    ,LOCK_DESC
                    ,LOT_TYPE
                    ,CREATE_USER
                    ,PRIORITY
                    ,PLAN_FINISH_DATE
                    )
                SELECT @productID
                    ,@lotID
                    ,@orderlot
                    ,@orderqty
                    ,0
                    ,@orderdate
                    ,NULL
                    ,getdate()
                    ,''
                    ,0
                    ,NULL
                    ,1
                    ,'autoAsyn'
                    ,'一级'
                    ,NULL

                DECLARE @dd VARCHAR(5000) --保存更新工单属性返回结果usp_updateLot

                --执行更新同步ERP工单属性与产品相同
                EXEC usp_updateLot @ordercode
                    ,@lotID
                    ,'admin'
                    ,@dd OUT

                IF (@dd = '1')
                BEGIN
                    PRINT '更新成功!';
                END
                ELSE
                BEGIN
                    PRINT '更新失败!';

                    DELETE QS_LOTS_ATTRIBUTES
                    WHERE LOT_ID = @lotID

                    DELETE QS_ASSEMBLY_SETTING
                    WHERE LOT_ID = @lotID

                    DELETE SYS_PACK_SETTING
                    WHERE LOT_ID = @lotID

                    DELETE SYS_WEIGHT_SETTING
                    WHERE LOT_ID = @lotID

                    DELETE SYS_LABELS
                    WHERE LOT_ID = @lotID

                    DELETE SYS_STEP_ATTRIBUTES
                    WHERE LOT_ID = @lotID

                    DELETE SYS_TOOLING_SETTING
                    WHERE LOT_ID = @lotID

                    DELETE SYS_PACKCHECK_SETTINGS
                    WHERE LOT_ID = @lotID

                    DELETE SYS_CAR_SETTING
                    WHERE LOT_ID = @lotID

                    DELETE SYS_QUCER_SETTINGS
                    WHERE LOT_ID = @lotID

                    DELETE SYS_SERIALCHECK_SETTINGS
                    WHERE LOT_ID = @lotID

                    DELETE SYS_SERIALCHECK_ITEMS
                    WHERE LOT_ID = @lotID

                    DELETE SYS_OQA_SETTINGS
                    WHERE LOT_ID = @lotID

                    DELETE SYS_BIND_SETTINGS
                    WHERE LOT_ID = @lotID

                    DELETE SYS_BIND_ITEMS
                    WHERE LOT_ID = @lotID

                    DELETE QS_LOT_Step
                    WHERE LOT_ID = @lotID

                    DELETE QS_LOTS
                    WHERE LOT_ID = @lotID
                        AND PRODUCT_ID = @productID;
                END
            END
        END
        ELSE
        BEGIN
            --declare @ct int ;        
            --select @ct=QUANTITY   from QS_LOTS where LOT_NAME =@orderlot
            -- --ERP工单数量变动,更新数量
            -- if(@ct<>@orderqty)
            -- begin
            -- update QS_LOTS set QUANTITY=@orderqty where LOT_NAME=@orderlot
            -- end
            PRINT '11'
        END

        DELETE
        FROM @tmp
        WHERE erp_order = @orderlot

        PRINT 0
    END
END

存储过程名: P_SYSTEM_FindDataTable

说明:

CREATE PROCEDURE [dbo].[P_SYSTEM_FindDataTable] (
    @value VARCHAR(1024)
    ,@CatalogTable VARCHAR(50)
    )
AS
BEGIN
    SET NOCOUNT ON;

    DECLARE @sql VARCHAR(1024)
    DECLARE @table VARCHAR(64)
    DECLARE @column VARCHAR(64)

    CREATE TABLE #t (
        tablename VARCHAR(64)
        ,columnname VARCHAR(64)
        ,selectSQL NVARCHAR(MAX)
        )

    DECLARE TABLES CURSOR
    FOR
    SELECT o.NAME
        ,c.NAME
    FROM syscolumns c
    INNER JOIN sysobjects o ON c.id = o.id
    WHERE o.type = 'U'
        AND c.xtype IN (
            167
            ,175
            ,231
            ,239
            )
    ORDER BY o.NAME
        ,c.NAME

    OPEN TABLES

    FETCH NEXT
    FROM TABLES
    INTO @table
        ,@column

    WHILE @@FETCH_STATUS = 0
    BEGIN
        SET @sql = 'IF EXISTS(SELECT NULL FROM [' + @table + '] '
        SET @sql = @sql + 'WHERE RTRIM(LTRIM([' + @column + '])) LIKE ''%' + @value + '%'') '
        SET @sql = @sql + 'INSERT INTO #t VALUES (''' + @table + ''', '''
        SET @sql = @sql + @column + ''',''SELECT [' + @column + '],* FROM  [' + @CatalogTable + '].[dbo].[' + @table + '] '
        SET @sql = @sql + 'WHERE [' + @column + '] LIKE ''''%' + @value + '%'''''')'

        EXEC (@sql)

        FETCH NEXT
        FROM TABLES
        INTO @table
            ,@column
    END

    CLOSE TABLES

    DEALLOCATE TABLES

    SELECT *
    FROM #t
END

存储过程名: SystemReport_Assembly

说明:

CREATE PROCEDURE [dbo].[SystemReport_Assembly] @productCode NVARCHAR(128)
    ,@lotCode NVARCHAR(128)
    ,@serialNumber NVARCHAR(128)
    ,@assemblySerialNumber NVARCHAR(128)
    ,@startTime NVARCHAR(128)
    ,@endTime NVARCHAR(128)
AS
BEGIN
    DECLARE @tmpLotCode NVARCHAR(128)
        ,@lotId NVARCHAR(128);

    SET @tmpLotCode = '';

    IF @lotCode <> ''
        SET @tmpLotCode = @lotCode;

    IF @serialNumber <> ''
        AND @tmpLotCode = ''
        SELECT @tmpLotCode = lot_name
        FROM QS_SERIAL_NUMBERS
        WHERE serial_number = @serialNumber

    IF @assemblySerialNumber <> ''
        AND @tmpLotCode = ''
        SELECT @tmpLotCode = lot_name
        FROM QS_ASSEMBLY
        WHERE ASSEMBLY_SN = @assemblySerialNumber

    IF @productCode <> ''
        AND @tmpLotCode = ''
    BEGIN
        SELECT TOP 1 @tmpLotCode = lot_name
        FROM QS_LOTS
        WHERE product_id = (
                SELECT product_id
                FROM QS_PRODUCTS
                WHERE NAME = @productCode
                )
        ORDER BY CREATE_TIME DESC
    END

    SELECT @lotId = lot_id
    FROM QS_LOTS
    WHERE lot_name = @tmpLotCode;

    DECLARE @assemblyNameList TABLE (
        rowId INT
        ,NAME NVARCHAR(124)
        );

    INSERT INTO @assemblyNameList
    SELECT ROW_NUMBER() OVER (
            ORDER BY CREATE_TIME
            ) AS rowId
        ,MATERIAL_NO
    FROM QS_ASSEMBLY_SETTING
    WHERE lot_id = @lotId;

    DECLARE @ind INT
        ,@maxInd INT
        ,@sql NVARCHAR(max)
        ,@tmpName NVARCHAR(128);

    SET @ind = 1;

    SELECT @maxInd = count(1)
    FROM @assemblyNameList;

    SET @sql = 'select CONVERT(varchar(100), wip.start_time, 23) 生产日期,serial.lot_name 工单号,
    workCenter.NAME 车间,line.NAME 线体,product.name 成品编码,material.materialName 成品名称,
    serial.Serial_Number 大身条码,CONVERT(varchar(100), wip.start_time, 20) 成品条码扫描时间';

    WHILE (@ind <= @maxInd)
    BEGIN
        SELECT @tmpName = NAME
        FROM @assemblyNameList
        WHERE rowId = @ind

        SET @sql = @sql + ',ass' + CONVERT(VARCHAR, @ind) + '.ASSEMBLY_SN ' + @tmpName + ',CONVERT(varchar(100), ass' + CONVERT(VARCHAR, @ind) + '.ASSEMBLY_TIME, 20) ' + @tmpName + '时间';
        SET @ind = @ind + 1;
    END

    SET @sql = @sql + ' from QS_SERIAL_NUMBERS serial
    left join QS_LOTS lot on serial.LOT_NAME = lot.LOT_NAME
    left join QS_PRODUCTS product on lot.product_id = product.product_id
    left join [Udit.Mms].[dbo].[mms_material] material on product.NAME = material.materialCode
    left join QS_LOTS_ATTRIBUTES lotFlow on lot.LOT_ID = lotFlow.LOT_ID  and lotFlow.ATTRIBUTE_NAME = ''flow''
    left join QS_ROUTES_DEFINITIONS firstStep on firstStep.route_id = lotFlow.attribute_value and firstStep.seq = 1
    left join QS_WIP wip on serial.serial_number = wip.serial_number and firstStep.route_step_id = wip.route_step_id
    left join CT_STATIONS station on wip.station_id = station.STATION_ID
    left join CT_LINES line on station.line_id = line.line_id
    left join CT_WORK_CENTERS workCenter on line.WORK_CENTER_ID = workCenter.WORK_CENTER_ID';
    SET @ind = 1;

    WHILE (@ind <= @maxInd)
    BEGIN
        SELECT @tmpName = NAME
        FROM @assemblyNameList
        WHERE rowId = @ind

        SET @sql = @sql + ' left join QS_ASSEMBLY ass' + CONVERT(VARCHAR, @ind) + ' on serial.SERIAL_NUMBER = ass' + CONVERT(VARCHAR, @ind) + '.serial_number and ass' + CONVERT(VARCHAR, @ind) + '.MATERIEL_NO = ''' + @tmpName + '''';
        SET @ind = @ind + 1;
    END

    SET @sql = @sql + ' where 1=1';

    IF @productCode <> ''
        SET @sql = @sql + ' and product.name = ''' + @productCode + ''''

    IF @lotCode <> ''
        SET @sql = @sql + ' and lot.lot_name = ''' + @lotCode + ''''

    IF @serialNumber <> ''
        SET @sql = @sql + ' and serial.serial_number = ''' + @serialNumber + ''''

    IF @assemblySerialNumber <> ''
    BEGIN
        SET @sql = @sql + ' and (ass1.assembly_sn = ''' + @assemblySerialNumber + '''';
        SET @ind = 2;

        WHILE (@ind <= @maxInd)
        BEGIN
            SELECT @tmpName = NAME
            FROM @assemblyNameList
            WHERE rowId = @ind

            SET @sql = @sql + ' or ass' + CONVERT(VARCHAR, @ind) + '.assembly_sn = ''' + @assemblySerialNumber + '''';
            SET @ind = @ind + 1;
        END

        SET @sql = @sql + ')';
    END

    IF @startTime <> ''
        SET @sql = @sql + ' and serial.create_time >= ''' + @startTime + ''''

    IF @endTime <> ''
        SET @sql = @sql + ' and serial.create_time <= ''' + @endTime + ''''

    EXEC sp_executesql @sql;
END

存储过程名: SystemReport_Box

说明:

CREATE PROCEDURE [dbo].[SystemReport_Box] @productCode NVARCHAR(1000)
    ,--产品编码
    @lotCode NVARCHAR(1000)
    ,--工单编码
    @boxNumber NVARCHAR(1000)
    ,--箱号
    @startTime NVARCHAR(50)
    ,--开始时间
    @endTime NVARCHAR(50) --结束时间
AS
BEGIN
    IF @productCode IS NULL
        SET @productCode = ''

    IF @lotCode IS NULL
        SET @lotCode = ''

    IF @boxNumber IS NULL
        SET @boxNumber = ''

    IF @startTime IS NULL
        SET @startTime = ''

    IF @endTime IS NULL
        SET @endTime = ''
    --支持多个
    SET @productCode = REPLACE(@productCode, '|', ''',''')
    SET @lotCode = REPLACE(@lotCode, '|', ''',''')
    SET @boxNumber = REPLACE(@boxNumber, '|', ''',''')

    DECLARE @sql NVARCHAR(max)

    SET @sql = 'select case a.state
when 0 then ''装箱中''
when 1 then ''<span style="color:green">已过站</span>''
end 状态,d.NAME 产品编码,c.LOT_NAME 工单编码,e.NAME 装箱工位,f.NAME 装箱工序,box_type 类型,a.box_number 箱号,a.box_size 容量,
a.box_total 数量,box_weight 重量,a.CREATE_USER_NAME 装箱用户,a.CREATE_TIME 装箱时间
from CT_BOXS(NOLOCK) a
left join(
    select BOX_NUMBER,max(ROUTE_STEP_ID) route_step_id from CT_BOX_ITEMS(NOLOCK)
    group by BOX_NUMBER
)b on a.BOX_NUMBER = b.BOX_NUMBER
left join QS_LOTS(NOLOCK) c on a.LOT_NAME = c.LOT_NAME
left join QS_PRODUCTS(NOLOCK) d on c.PRODUCT_ID = d.PRODUCT_ID
left join CT_STATIONS(NOLOCK) e on a.STATION_ID = e.STATION_ID
left join QS_ROUTE_STEPS(NOLOCK) f on b.ROUTE_STEP_ID = f.ROUTE_STEP_ID
where 1=1 '

    --构建查询条件
    IF @productCode <> ''
        SET @sql = @sql + ' and d.name in(''' + @productCode + ''')'

    IF @lotCode <> ''
        SET @sql = @sql + ' and c.lot_name in(''' + @lotCode + ''')'

    IF @boxNumber <> ''
        SET @sql = @sql + ' and a.box_number in(''' + @boxNumber + ''')'

    IF @startTime <> ''
        SET @sql = @sql + ' and a.CREATE_TIME >=''' + @startTime + ''''

    IF @endTime <> ''
        SET @sql = @sql + ' and a.CREATE_TIME <=''' + @endTime + ''''
    --添加排序方式
    SET @sql = @sql + ' order by a.CREATE_TIME desc'

    --select @sql
    EXEC SP_ExecuteSQL @sql
END

存储过程名: SystemReport_Box_Item

说明:

CREATE PROCEDURE [dbo].[SystemReport_Box_Item] @productCode NVARCHAR(1000)
    ,--产品编码
    @lotCode NVARCHAR(1000)
    ,--工单编码
    @boxNumber NVARCHAR(1000)
    ,--箱号
    @serialNumber NVARCHAR(1000)
    ,--条码
    @startTime NVARCHAR(50)
    ,--开始时间
    @endTime NVARCHAR(50) --结束时间
AS
BEGIN
    IF @productCode IS NULL
        SET @productCode = ''

    IF @lotCode IS NULL
        SET @lotCode = ''

    IF @boxNumber IS NULL
        SET @boxNumber = ''

    IF @serialNumber IS NULL
        SET @serialNumber = ''

    IF @startTime IS NULL
        SET @startTime = ''

    IF @endTime IS NULL
        SET @endTime = ''
    --支持多个
    SET @productCode = REPLACE(@productCode, '|', ''',''')
    SET @lotCode = REPLACE(@lotCode, '|', ''',''')
    SET @boxNumber = REPLACE(@boxNumber, '|', ''',''')
    SET @serialNumber = REPLACE(@serialNumber, '|', ''',''')

    DECLARE @sql NVARCHAR(max)

    SET @sql = 'select case a.state
when 0 then ''装箱中''
when 1 then ''已过站''
end 状态,d.NAME 产品编码,c.LOT_NAME 工单编码,e.NAME 装箱工位,f.NAME 装箱工序,box_type 类型,a.box_number 箱号,a.box_size 箱号容量,
a.box_total 箱号数量,box_weight 箱号重量,
case b.ispanel
when 0 then ''批次''
when 1 then ''单板''
when 2 then ''拼板''
when 3 then ''一级箱''
when 4 then ''二级箱''
when 5 then ''三级箱''
when 99 then ''流转卡''
end 条码类型,b.SERIAL_NUMBER 条码,b.qty 条码数量,b.CREATE_USER_NAME 装箱用户,b.create_Time 装箱时间
from CT_BOXS(NOLOCK) a
join CT_BOX_ITEMS(NOLOCK) b on a.BOX_NUMBER = b.BOX_NUMBER
left join QS_LOTS(NOLOCK) c on a.LOT_NAME = c.LOT_NAME
left join QS_PRODUCTS(NOLOCK) d on c.PRODUCT_ID = d.PRODUCT_ID
left join CT_STATIONS(NOLOCK) e on a.STATION_ID = e.STATION_ID
left join QS_ROUTE_STEPS(NOLOCK) f on b.ROUTE_STEP_ID = f.ROUTE_STEP_ID
where 1=1 '

    --构建查询条件
    IF @productCode <> ''
        SET @sql = @sql + ' and d.name in(''' + @productCode + ''')'

    IF @lotCode <> ''
        SET @sql = @sql + ' and c.lot_name in(''' + @lotCode + ''')'

    IF @boxNumber <> ''
        SET @sql = @sql + ' and a.box_number in(''' + @boxNumber + ''')'

    IF @serialNumber <> ''
        SET @sql = @sql + ' and b.serial_number in(''' + @serialNumber + ''')'

    IF @startTime <> ''
        SET @sql = @sql + ' and a.CREATE_TIME >=''' + @startTime + ''''

    IF @endTime <> ''
        SET @sql = @sql + ' and a.CREATE_TIME <=''' + @endTime + ''''
    --添加排序方式
    SET @sql = @sql + ' order by a.CREATE_TIME desc'

    --select @sql
    EXEC SP_ExecuteSQL @sql
END

存储过程名: SystemReport_Defect

说明:

CREATE PROCEDURE [dbo].[SystemReport_Defect] @productCode NVARCHAR(1000)
    ,--产品编码
    @lotCode NVARCHAR(1000)
    ,--工单编码
    @lineName NVARCHAR(1000)
    ,--送修线体
    @stepName NVARCHAR(1000)
    ,--送修工序
    @defectType NVARCHAR(1000)
    ,--不良类型
    @defectLabel NVARCHAR(1000)
    ,--不良现象
    @startTime NVARCHAR(50)
    ,--开始时间
    @endTime NVARCHAR(50) --结束时间
AS
BEGIN
    IF @productCode IS NULL
        SET @productCode = ''

    IF @lotCode IS NULL
        SET @lotCode = ''

    IF @lineName IS NULL
        SET @lineName = ''

    IF @stepName IS NULL
        SET @stepName = ''

    IF @defectType IS NULL
        SET @defectType = ''

    IF @defectLabel IS NULL
        SET @defectLabel = ''

    IF @startTime IS NULL
        SET @startTime = ''

    IF @endTime IS NULL
        SET @endTime = ''
    --支持多个
    SET @productCode = REPLACE(@productCode, '|', ''',''')
    SET @lotCode = REPLACE(@lotCode, '|', ''',''')
    SET @lineName = REPLACE(@lineName, '|', ''',''')
    SET @stepName = REPLACE(@stepName, '|', ''',''')
    SET @defectType = REPLACE(@defectType, '|', ''',''')
    SET @defectLabel = REPLACE(@defectLabel, '|', ''',''')

    DECLARE @sql NVARCHAR(max)

    SET @sql = 'select c.name 产品编码,a.LOT_NAME 工单编码,e.name 线体名称,f.name 工序名称,
a.DEFECT_TYPE 不良类型,a.DEFECT_LABEL 不良现象,sum(isnull(a.QTY,1)) 不良数量
from QS_DEFECTS(NOLOCK) a
left join QS_LOTS(NOLOCK) b on a.lot_name = b.lot_name
left join QS_PRODUCTS(NOLOCK) c on b.product_id = c.PRODUCT_ID
left join CT_STATIONS(NOLOCK) d on a.station = d.STATION_ID
left join CT_LINES(NOLOCK) e on d.line_id = e.LINE_ID
left join QS_ROUTE_STEPS f on a.ROUTE_STEP = f.ROUTE_STEP_ID
where 1=1 '

    --构建查询条件
    IF @productCode <> ''
        SET @sql = @sql + ' and c.name in(''' + @productCode + ''')'

    IF @lotCode <> ''
        SET @sql = @sql + ' and a.lot_name in(''' + @lotCode + ''')'

    IF @lineName <> ''
        SET @sql = @sql + ' and e.name in(''' + @lineName + ''')'

    IF @stepName <> ''
        SET @sql = @sql + ' and f.name in(''' + @stepName + ''')'

    IF @defectType <> ''
        SET @sql = @sql + ' and a.DEFECT_TYPE in(''' + @defectType + ''')'

    IF @defectLabel <> ''
        SET @sql = @sql + ' and a.DEFECT_LABEL in(''' + @defectLabel + ''')'

    IF @startTime <> ''
        SET @sql = @sql + ' and a.INSPECT_TIME >=''' + @startTime + ''''

    IF @endTime <> ''
        SET @sql = @sql + ' and a.INSPECT_TIME <=''' + @endTime + ''''
    --添加排序方式
    SET @sql = @sql + ' group by c.name,a.LOT_NAME,e.name,f.name,a.DEFECT_TYPE,a.DEFECT_LABEL order by sum(isnull(a.QTY,1)) desc'

    --select @sql
    EXEC SP_ExecuteSQL @sql
END

存储过程名: SystemReport_Defect_Item

说明:

CREATE PROCEDURE [dbo].[SystemReport_Defect_Item] @productCode NVARCHAR(1000)
    ,--产品编码
    @lotCode NVARCHAR(1000)
    ,--工单编码
    @lineName NVARCHAR(1000)
    ,--送修线体
    @stationName NVARCHAR(1000)
    ,--送修工位
    @stepName NVARCHAR(1000)
    ,--送修工序
    @serialNumber NVARCHAR(1000)
    ,--不良条码
    @defectType NVARCHAR(1000)
    ,--不良类型
    @defectLabel NVARCHAR(1000)
    ,--不良现象
    @defectCount NVARCHAR(100)
    ,--送修次数
    @defectUser NVARCHAR(100)
    ,--送修用户
    @startTime NVARCHAR(50)
    ,--送修开始时间
    @endTime NVARCHAR(50)
    ,--送修结束时间
    @repairUser NVARCHAR(100)
    ,--维修用户
    @repairStartTime NVARCHAR(50)
    ,--维修开始时间
    @repairEndTime NVARCHAR(50) --维修结束时间
AS
BEGIN
    IF @productCode IS NULL
        SET @productCode = ''

    IF @lotCode IS NULL
        SET @lotCode = ''

    IF @lineName IS NULL
        SET @lineName = ''

    IF @stationName IS NULL
        SET @stationName = ''

    IF @stepName IS NULL
        SET @stepName = ''

    IF @serialNumber IS NULL
        SET @serialNumber = ''

    IF @defectType IS NULL
        SET @defectType = ''

    IF @defectLabel IS NULL
        SET @defectLabel = ''

    IF @defectCount IS NULL
        SET @defectCount = ''

    IF @defectUser IS NULL
        SET @defectUser = ''

    IF @startTime IS NULL
        SET @startTime = ''

    IF @endTime IS NULL
        SET @endTime = ''

    IF @repairUser IS NULL
        SET @repairUser = ''

    IF @repairStartTime IS NULL
        SET @repairStartTime = ''

    IF @repairEndTime IS NULL
        SET @repairEndTime = ''
    --支持多个
    SET @productCode = REPLACE(@productCode, '|', ''',''')
    SET @lotCode = REPLACE(@lotCode, '|', ''',''')
    SET @lineName = REPLACE(@lineName, '|', ''',''')
    SET @stationName = REPLACE(@stationName, '|', ''',''')
    SET @stepName = REPLACE(@stepName, '|', ''',''')
    SET @serialNumber = REPLACE(@serialNumber, '|', ''',''')
    SET @defectType = REPLACE(@defectType, '|', ''',''')
    SET @defectLabel = REPLACE(@defectLabel, '|', ''',''')

    DECLARE @sql NVARCHAR(max)

    SET @sql = 
        '
select * from(
select case a.REPAIR_STATUS
when 0 then ''未修''
when 1 then ''已修''
when 2 then ''误测''
end 状态,d.NAME 产品编码,c.LOT_NAME 工单编码,line.name 线体名称,e.NAME 工位名称,f.NAME 工序名称,a.SERIAL_NUMBER 不良条码,a.QTY 不良数量,
a.DEFECT_TYPE 不良类型,a.DEFECT_LABEL 不良现象,a.DEFECT_LOCATION 不良位置,
Row_Number() over (partition by f.name,a.serial_number order by a.INSPECT_TIME) 送修次数,
g.userName 送修用户,a.INSPECT_TIME 送修时间,
b.defectAnalysis 不良原因,b.defectCategory 不良类别,h.organizeName 责任部门,b.REPAIR_DESC 维修备注,i.NAME 判退工序,
j.userName 维修用户,a.REPAIR_TIME 维修时间
from QS_DEFECTS(NOLOCK) a
left join QS_REPAIR_INFO(NOLOCK) b on a.DEFECT_ID = b.DEFECT_ID
left join QS_LOTS(NOLOCK) c on a.LOT_NAME = c.LOT_NAME
left join QS_PRODUCTS(NOLOCK) d on c.PRODUCT_ID = d.PRODUCT_ID
left join CT_STATIONS(NOLOCK) e on a.STATION = e.STATION_ID
left join CT_LINES(NOLOCK) line on e.line_id = line.LINE_ID
left join QS_ROUTE_STEPS(NOLOCK) f on a.ROUTE_STEP = f.ROUTE_STEP_ID
left join [Udit.Sys].[dbo].[sys_user](NOLOCK) g on a.INSPECT_USER = g.userCode
left join [Udit.Sys].[dbo].[sys_organize](NOLOCK) h on b.dutyDept = h.OrganizeCode
left join QS_ROUTE_STEPS(NOLOCK) i on b.rebackStep = i.ROUTE_STEP_ID
left join [Udit.Sys].[dbo].[sys_user](NOLOCK) j on a.Repair_USER = j.userCode
where 1=1 '

    --构建查询条件
    IF @productCode <> ''
        SET @sql = @sql + ' and d.name in(''' + @productCode + ''')'

    IF @lotCode <> ''
        SET @sql = @sql + ' and a.lot_name in(''' + @lotCode + ''')'

    IF @lineName <> ''
        SET @sql = @sql + ' and line.name in(''' + @lineName + ''')'

    IF @stationName <> ''
        SET @sql = @sql + ' and e.name in(''' + @stationName + ''')'

    IF @stepName <> ''
        SET @sql = @sql + ' and f.name in(''' + @stepName + ''')'

    IF @serialNumber <> ''
        SET @sql = @sql + ' and a.SERIAL_NUMBER in(''' + @serialNumber + ''')'

    IF @defectType <> ''
        SET @sql = @sql + ' and a.DEFECT_TYPE in(''' + @defectType + ''')'

    IF @defectLabel <> ''
        SET @sql = @sql + ' and a.DEFECT_LABEL in(''' + @defectLabel + ''')'

    IF @defectUser <> ''
        SET @sql = @sql + ' and g.userName in(''' + @defectUser + ''')'

    IF @startTime <> ''
        SET @sql = @sql + ' and a.INSPECT_TIME >=''' + @startTime + ''''

    IF @endTime <> ''
        SET @sql = @sql + ' and a.INSPECT_TIME <=''' + @endTime + ''''

    IF @repairUser <> ''
        SET @sql = @sql + ' and j.userName in(''' + @repairUser + ''')'

    IF @repairStartTime <> ''
        SET @sql = @sql + ' and a.REPAIR_TIME >=''' + @repairStartTime + ''''

    IF @repairEndTime <> ''
        SET @sql = @sql + ' and a.REPAIR_TIME <=''' + @repairEndTime + ''''
    --添加排序方式
    SET @sql = @sql + ')a '

    IF @defectCount <> ''
        SET @sql = @sql + ' where a.送修次数 =''' + @defectCount + ''''
    --添加排序方式
    SET @sql = @sql + ' order by a.送修时间 desc'

    --select @sql
    EXEC SP_ExecuteSQL @sql
END

存储过程名: SystemReport_ItemTraceHistories

说明:

CREATE PROCEDURE [dbo].[SystemReport_ItemTraceHistories] @productCode NVARCHAR(1000)
    ,--产品编码
    @lotCode NVARCHAR(1000)
    ,--工单编码
    @stationName NVARCHAR(1000)
    ,--工位名称
    @stepName NVARCHAR(1000)
    ,--工序名称
    @materialCode NVARCHAR(1000)
    ,--物料编码
    @uid NVARCHAR(1000)
    ,--UID
    @serialNumber NVARCHAR(100)
    ,--条码
    @lotNo NVARCHAR(100)
    ,--批次
    @startTime NVARCHAR(32)
    ,--开始时间
    @endTime NVARCHAR(32) --结束时间
AS
BEGIN
    IF @productCode IS NULL
        SET @productCode = ''

    IF @lotCode IS NULL
        SET @lotCode = ''

    IF @stationName IS NULL
        SET @stationName = ''

    IF @stepName IS NULL
        SET @stepName = ''

    IF @materialCode IS NULL
        SET @materialCode = ''

    IF @uid IS NULL
        SET @uid = ''

    IF @serialNumber IS NULL
        SET @serialNumber = ''

    IF @lotNo IS NULL
        SET @lotNo = ''
    --支持多个
    SET @productCode = REPLACE(@productCode, '|', ''',''')
    SET @lotCode = REPLACE(@lotCode, '|', ''',''')
    SET @stationName = REPLACE(@stationName, '|', ''',''')
    SET @stepName = REPLACE(@stepName, '|', ''',''')
    SET @materialCode = REPLACE(@materialCode, '|', ''',''')
    SET @uid = REPLACE(@uid, '|', ''',''')

    DECLARE @sql NVARCHAR(max)

    SET @sql = 'select d.name 产品编码,d.CUSTOMER_CODE 客户编码,b.WorkOrder 工单编码,c.QUANTITY 工单数量,
a.line 工位名称,a.StepName 工序名称,
a.tableno + ''-'' + a.station + ''-'' + a.pickup 站位,
a.component 物料编码,g.materialName 物料名称,g.model  物料规格,
a.uid UID,b.identifier 条码,convert(decimal,a.PanelUse) 用量,
f.LOT_NO 批次,f.DATECODE DateCode,f.VENDOR_ID 供应商编码,f.VENDOR_NAME 供应商名称,
h.userName 操作用户 ,a.CREATETIME 操作时间 
from [Udit.CHC].[dbo].ItemTraceData (nolock)a 
join [udit.chc].[dbo].ItemTraceHistories (nolock) b on a.Guid = b.PCheckingProductUID 
left join [Udit.SFC].[dbo].qs_lots c (nolock) on c.lot_name = b.WorkOrder 
left join [Udit.SFC].[dbo].qs_products (nolock) d on d.product_id = c.product_id 
left join [Udit.Mms]..mms_reels (nolock) f on a.uid = f.REEL_BARCODE 
left join [Udit.Mms]..mms_material (nolock) g on f.material_no = g.materialCode 
left join [Udit.Sys]..sys_user (nolock)h on a.operator = h.UserCode 
where 1=1'

    --构建查询条件
    IF @productCode <> ''
        SET @sql = @sql + ' and d.name in(''' + @productCode + ''')'

    IF @lotCode <> ''
        SET @sql = @sql + ' and b.WorkOrder in(''' + @lotCode + ''')'

    IF @stationName <> ''
        SET @sql = @sql + ' and a.Line in(''' + @stationName + ''')'

    IF @stepName <> ''
        SET @sql = @sql + ' and a.StepName in(''' + @stepName + ''')'

    IF @materialCode <> ''
        SET @sql = @sql + ' and a.component in(''' + @materialCode + ''')'

    IF @uid <> ''
        SET @sql = @sql + ' and a.uid in(''' + @uid + ''')'

    IF @serialNumber <> ''
        SET @sql = @sql + ' and b.Identifier in(''' + @serialNumber + ''')'

    IF @lotNo <> ''
        SET @sql = @sql + ' and f.LOT_NO in(''' + @lotNo + ''')'

    IF @startTime <> ''
        SET @sql = @sql + ' and a.createTime >=''' + @startTime + ''''

    IF @endTime <> ''
        SET @sql = @sql + ' and a.createTime <=''' + @endTime + ''''
    --添加排序方式
    SET @sql = @sql + ' order by a.createTime desc'

    --select @sql
    EXEC SP_ExecuteSQL @sql
END

存储过程名: SystemReport_Lot

说明:

CREATE PROCEDURE [dbo].[SystemReport_Lot] @lotCode NVARCHAR(1000)
    ,--工单
    @productCode NVARCHAR(1000)
    ,--产品
    @productName NVARCHAR(1000)
    ,--产品名称
    @productModel NVARCHAR(1000)
    ,--产品规格
    @startTime NVARCHAR(50)
    ,--开始时间
    @endTime NVARCHAR(50) --结束时间
AS
BEGIN
    IF @lotCode IS NULL
        SET @lotCode = ''

    IF @productCode IS NULL
        SET @productCode = ''

    IF @productName IS NULL
        SET @productName = ''

    IF @productModel IS NULL
        SET @productModel = ''

    IF @startTime IS NULL
        SET @startTime = ''

    IF @endTime IS NULL
        SET @endTime = ''
    --支持多个
    SET @lotCode = REPLACE(@lotCode, '|', ''',''')
    SET @productCode = REPLACE(@productCode, '|', ''',''')
    SET @productName = REPLACE(@productName, '|', ''',''')
    SET @productModel = REPLACE(@productModel, '|', ''',''')

    DECLARE @sql NVARCHAR(max)

    SET @sql = 
        'select case a.LOT_STATUS
when 0 then ''正常''
when 3 then ''完成''
end 状态,a.LOT_NAME 工单,b.NAME 产品,c.materialName 产品名称,c.MODEL 产品规格,
a.QUANTITY 工单数量,a.INIT_QTY 初始化数量,isnull(e.PASS,0) 完成数量,isnull(f.qty,0) 不良数量,a.SCRAP_QTY 报废数量,
iif(isnull(e.PASS,0)=0,''0%'',CONVERT(VARCHAR(50),CONVERT(decimal(18,2),CONVERT(decimal(18,5),e.PASS) * 100 / a.QUANTITY)) + ''%'') 完成率,
iif(isnull(f.qty,0)=0,''0%'',CONVERT(VARCHAR(50),CONVERT(decimal(18,2),CONVERT(decimal(18,5),f.qty) * 100 / a.QUANTITY)) + ''%'') 不良率,
g.userName 创建用户,a.CREATE_TIME 创建时间
from QS_LOTS(NOLOCK) a
left join QS_PRODUCTS(NOLOCK) b on a.PRODUCT_ID = b.PRODUCT_ID
left join [Udit.Mms].[dbo].[mms_material](NOLOCK) c on b.NAME = c.MaterialCode
left join QS_LOTS_ATTRIBUTES(NOLOCK) d on a.LOT_ID = d.LOT_ID and d.ATTRIBUTE_NAME = ''Produce''
left join CT_LotRouteStatus(NOLOCK) e on a.lot_name = e.lot_name and d.ATTRIBUTE_VALUE = e.ROUTE_STEP_ID
left join(
    select LOT_NAME,sum(QTY) qty from QS_DEFECTS(NOLOCK)
    GROUP BY LOT_NAME
)f on a.LOT_NAME = f.LOT_NAME
left join [Udit.Sys].[dbo].[sys_user](NOLOCK) g on a.create_user = g.userCode
where 1=1 '

    --构建查询条件
    IF @lotCode <> ''
        SET @sql = @sql + ' and a.lot_name in(''' + @lotCode + ''')'

    IF @productCode <> ''
        SET @sql = @sql + ' and b.name in(''' + @productCode + ''')'

    IF @productName <> ''
        SET @sql = @sql + ' and c.materialName in(''' + @productName + ''')'

    IF @productModel <> ''
        SET @sql = @sql + ' and c.MODEL in(''' + @productModel + ''')'

    IF @startTime <> ''
        SET @sql = @sql + ' and a.create_time >=''' + @startTime + ''''

    IF @endTime <> ''
        SET @sql = @sql + ' and a.create_time <=''' + @endTime + ''''
    --添加排序方式
    SET @sql = @sql + ' order by a.create_time desc'

    --select @sql
    EXEC SP_ExecuteSQL @sql
END

存储过程名: SystemReport_MesDay_Mesh

说明:

CREATE PROC [dbo].[SystemReport_MesDay_Mesh] (
    @StartTime DATETIME
    ,@EndTime DATETIME
    ,@WorkId NVARCHAR(50)
    )
AS
BEGIN
    SELECT (
            SELECT MaterialName
            FROM [Udit.Mms]..mms_material
            WHERE MaterialCode = a.MODEL_NO
            ) 产品编码
        ,a.LOT_NAME 工单号
        ,e.NAME 车间
        ,d.NAME 线体
        ,a.reelBarcode 设备编码
        ,ISNULL((
                SELECT m.MaterialName
                FROM [Udit.Mms]..mms_reels r
                JOIN [Udit.Mms]..mms_material m ON r.MATERIAL_NO = m.MaterialCode
                WHERE r.REEL_BARCODE = a.reelBarcode
                ), '') 设备名称
        ,f.QUANTITY 工单数
        ,CONVERT(DATE, a.START_TIME) 日期
        ,j.NAME AS 工序
        ,a.ROUTE_STEP_ID 工序id
        ,sum(CASE 
                WHEN k.LINE_FROM = 'flow_start'
                    AND a.ROUTE_STEP_ID = k.LINE_TO
                    THEN a.QTY
                ELSE 0
                END) AS 总投入
        ,sum(CASE 
                WHEN k.LINE_FROM = 'flow_end'
                    AND a.ROUTE_STEP_ID = k.LINE_TO
                    THEN a.QTY
                ELSE 0
                END) AS 总产出
        ,SUM(CASE 
                WHEN k.LINE_TO = 'flow_end'
                    AND a.ROUTE_STEP_ID = k.LINE_FROM
                    AND a.WIP_STATE = 0
                    -- AND CONVERT(DATE, a.START_TIME) = CONVERT(DATE, GETDATE())
                    THEN a.QTY
                ELSE 0
                END) AS 今日产出数
        ,SUM(CASE 
                WHEN k.LINE_TO = 'flow_end'
                    AND a.ROUTE_STEP_ID = k.LINE_FROM
                    AND a.WIP_STATE = 1
                    --AND CONVERT(DATE, a.START_TIME) = CONVERT(DATE, GETDATE())
                    THEN a.QTY
                ELSE 0
                END) AS 今日不良数
    FROM [Udit.SFC].dbo.QS_WIP a
    JOIN [Udit.SFC]..CT_STATIONS(NOLOCK) c ON a.STATION_ID = c.STATION_ID
    JOIN [Udit.SFC]..CT_LINES(NOLOCK) d ON c.LINE_ID = d.LINE_ID
    JOIN [Udit.SFC]..CT_WORK_CENTERS(NOLOCK) e ON d.WORK_CENTER_ID = e.WORK_CENTER_ID
    JOIN [Udit.SFC]..QS_LOTS(NOLOCK) f ON a.lot_name = f.lot_name
    JOIN [Udit.SFC]..QS_LOTS_ATTRIBUTES(NOLOCK) h ON f.LOT_ID = h.LOT_ID
        AND h.ATTRIBUTE_NAME = 'flow'
    JOIN [Udit.SFC]..FW_LINES(NOLOCK) k ON h.ATTRIBUTE_VALUE = k.FW_ID
    LEFT JOIN [Udit.SFC].dbo.QS_ROUTE_STEPS(NOLOCK) j ON a.ROUTE_STEP_ID = j.ROUTE_STEP_ID
    WHERE CONVERT(DATE, a.START_TIME) >= CONVERT(DATE, @StartTime)
        AND CONVERT(DATE, a.START_TIME) <= CONVERT(DATE, @EndTime)
        AND scan_type = 0 --and a.isTrace = 0 
        AND (
            @WorkId = '全部'
            OR e.WORK_CENTER_ID = @WorkId
            )
    GROUP BY a.MODEL_NO
        ,a.LOT_NAME
        ,e.NAME
        ,d.NAME
        ,d.LINE_ID
        ,a.reelBarcode
        ,f.QUANTITY
        ,CONVERT(DATE, a.START_TIME)
        ,j.NAME
        ,a.ROUTE_STEP_ID
    ORDER BY CONVERT(DATE, a.START_TIME) DESC
END

存储过程名: SystemReport_OQA

说明:

CREATE PROCEDURE [dbo].[SystemReport_OQA] @productCode NVARCHAR(1000)
    ,--产品
    @lotCode NVARCHAR(1000)
    ,--工单
    @billNo NVARCHAR(1000)
    ,--送检单号
    @startTime NVARCHAR(50)
    ,--开始时间
    @endTime NVARCHAR(50) --结束时间
AS
BEGIN
    IF @productCode IS NULL
        SET @productCode = ''

    IF @lotCode IS NULL
        SET @lotCode = ''

    IF @billNo IS NULL
        SET @billNo = ''

    IF @startTime IS NULL
        SET @startTime = ''

    IF @endTime IS NULL
        SET @endTime = ''
    --支持多个
    SET @productCode = REPLACE(@productCode, '|', ''',''')
    SET @lotCode = REPLACE(@lotCode, '|', ''',''')
    SET @billNo = REPLACE(@billNo, '|', ''',''')

    DECLARE @sql NVARCHAR(max)

    SET @sql = 
        'select case state 
when 0 then ''送检中''
when 3 then ''检验中''
when 1 then ''接收''
when 2 then ''判退''
end 状态,a.billno 送检单号,c.NAME 产品,b.LOT_NAME 工单,b.QUANTITY 工单数量,d.NAME 送检工位,e.NAME 送检工序,a.inspection_level 检验标准,a.aql AQL,
Convert(int,ISNULL(OQACount.count,0)) 送检数量,ISNULL(OQACheckCount.PassQty,0) + ISNULL(OQACheckCount.FailQty,0) 抽检数量,
CONVERT(VARCHAR,ISNULL(OQACheckCount.PassQty,0)) 抽检PASS,
CONVERT(VARCHAR,ISNULL(OQACheckCount.FailQty,0)) 抽检FAIL,
a.create_user_name 送检用户,a.create_time 送检时间,0 a0,1 a1,2 a2
from CT_OQA(NOLOCK) a
left join QS_LOTS(NOLOCK) b on a.lot_id = b.LOT_ID
left join QS_PRODUCTS(NOLOCK) c on b.PRODUCT_ID = c.PRODUCT_ID
left join CT_STATIONS(NOLOCK) d on a.station_id = d.STATION_ID
left join QS_ROUTE_STEPS(NOLOCK) e on a.step_id = e.ROUTE_STEP_ID
left join (
    select box_id billNo,sum(quantity) count from CT_OQA_ITEMS(NOLOCK)
    group by box_id
)OQACount on a.billno = OQACount.billNo
left join (
    select billNo,sum(iif(defect=0,quantity,0)) PassQty,sum(iif(defect=1,quantity,0)) FailQty
    from CT_OQACheck(NOLOCK)
    group by billNo
)OQACheckCount on a.billno = OQACheckCount.billNo
where 1=1 '

    --构建查询条件
    IF @productCode <> ''
        SET @sql = @sql + ' and c.name in(''' + @productCode + ''')'

    IF @lotCode <> ''
        SET @sql = @sql + ' and b.lot_name in(''' + @lotCode + ''')'

    IF @billNo <> ''
        SET @sql = @sql + ' and a.billno in(''' + @billNo + ''')'

    IF @startTime <> ''
        SET @sql = @sql + ' and a.create_time >=''' + @startTime + ''''

    IF @endTime <> ''
        SET @sql = @sql + ' and a.create_time <=''' + @endTime + ''''
    --添加排序方式
    SET @sql = @sql + ' order by a.create_time desc'

    --select @sql
    EXEC SP_ExecuteSQL @sql
END

存储过程名: SystemReport_OQA_Check

说明:

CREATE PROCEDURE [dbo].[SystemReport_OQA_Check] @productCode NVARCHAR(1000)
    ,--产品
    @lotCode NVARCHAR(1000)
    ,--工单
    @billNo NVARCHAR(1000)
    ,--送检单号
    @startTime NVARCHAR(50)
    ,--开始时间
    @endTime NVARCHAR(50)
    ,--结束时间
    @defect NVARCHAR(20) --不良
AS
BEGIN
    IF @productCode IS NULL
        SET @productCode = ''

    IF @lotCode IS NULL
        SET @lotCode = ''

    IF @billNo IS NULL
        SET @billNo = ''

    IF @startTime IS NULL
        SET @startTime = ''

    IF @endTime IS NULL
        SET @endTime = ''

    IF @defect IS NULL
        SET @defect = ''
    --支持多个
    SET @productCode = REPLACE(@productCode, '|', ''',''')
    SET @lotCode = REPLACE(@lotCode, '|', ''',''')
    SET @billNo = REPLACE(@billNo, '|', ''',''')
    SET @defect = REPLACE(@defect, '2', '0|1')
    SET @defect = REPLACE(@defect, '|', ''',''')

    DECLARE @sql NVARCHAR(max)

    SET @sql = 'select case b.state 
when 0 then ''送检中''
when 3 then ''检验中''
when 1 then ''接收''
when 2 then ''判退''
end 状态,a.billno 送检单号,d.NAME 产品,c.LOT_NAME 工单,c.QUANTITY 工单数量,a.serial_number 抽检条码,a.parentSn 上级条码,a.quantity 数量,
iif(a.defect=0,''否'',''是'') 不良,iif(a.repair=0,''否'',''是'') 送修,
e.defectType 不良类型,e.defectLabel 不良现象,
e.defectLabel 不良位置,f.userName 抽检用户,a.createDate 抽检时间
from CT_OQACheck(NOLOCK) a
left join CT_OQA(NOLOCK) b on a.BillNo = b.billNo
left join QS_LOTS(NOLOCK) c on b.lot_id = c.LOT_ID
left join QS_PRODUCTS(NOLOCK) d on c.PRODUCT_ID = d.PRODUCT_ID
left join CT_OQACheck_Defect(NOLOCK) e on a.BillNo = e.BillNo and a.serial_number = e.defectTm
left join [Udit.Sys].[dbo].[sys_user] f on a.createUser = f.userCode
where 1=1 '

    --构建查询条件
    IF @productCode <> ''
        SET @sql = @sql + ' and d.name in(''' + @productCode + ''')'

    IF @lotCode <> ''
        SET @sql = @sql + ' and c.lot_name in(''' + @lotCode + ''')'

    IF @billNo <> ''
        SET @sql = @sql + ' and a.billno in(''' + @billNo + ''')'

    IF @startTime <> ''
        SET @sql = @sql + ' and a.createDate >=''' + @startTime + ''''

    IF @endTime <> ''
        SET @sql = @sql + ' and a.createDate <=''' + @endTime + ''''

    IF @defect <> ''
        SET @sql = @sql + ' and a.defect in(''' + @defect + ''')'
    --添加排序方式
    SET @sql = @sql + ' order by a.billno desc,a.createDate desc'

    --select @sql
    EXEC SP_ExecuteSQL @sql
END

存储过程名: SystemReport_OQA_Item

说明:

CREATE PROCEDURE [dbo].[SystemReport_OQA_Item] @productCode NVARCHAR(1000)
    ,--产品
    @lotCode NVARCHAR(1000)
    ,--工单
    @billNo NVARCHAR(1000)
    ,--送检单号
    @startTime NVARCHAR(50)
    ,--开始时间
    @endTime NVARCHAR(50) --结束时间
AS
BEGIN
    IF @productCode IS NULL
        SET @productCode = ''

    IF @lotCode IS NULL
        SET @lotCode = ''

    IF @billNo IS NULL
        SET @billNo = ''

    IF @startTime IS NULL
        SET @startTime = ''

    IF @endTime IS NULL
        SET @endTime = ''
    --支持多个
    SET @productCode = REPLACE(@productCode, '|', ''',''')
    SET @lotCode = REPLACE(@lotCode, '|', ''',''')
    SET @billNo = REPLACE(@billNo, '|', ''',''')

    DECLARE @sql NVARCHAR(max)

    SET @sql = 'select case b.state 
when 0 then ''送检中''
when 3 then ''检验中''
when 1 then ''接收''
when 2 then ''判退''
end 状态,
b.billno 送检单号,d.NAME 产品,c.LOT_NAME 工单,c.QUANTITY 工单数量,
case a.serial_type 
when 0 then ''批次''
when 1 then ''单板''
when 2 then ''拼板''
when 3 then ''一级箱''
when 4 then ''二级箱''
when 5 then ''三级箱''
when 6 then ''四级箱''
end 条码类型,a.serial_number 条码,a.quantity 数量,a.create_user_name 送检用户,a.create_time 送检时间
from CT_OQA_ITEMS(NOLOCK) a
left join CT_OQA(NOLOCK) b on a.pid = b.id
left join QS_LOTS(NOLOCK) c on b.lot_id = c.LOT_ID
left join QS_PRODUCTS(NOLOCK) d on c.PRODUCT_ID = d.PRODUCT_ID
where 1=1 '

    --构建查询条件
    IF @productCode <> ''
        SET @sql = @sql + ' and d.name in(''' + @productCode + ''')'

    IF @lotCode <> ''
        SET @sql = @sql + ' and c.lot_name in(''' + @lotCode + ''')'

    IF @billNo <> ''
        SET @sql = @sql + ' and b.billno in(''' + @billNo + ''')'

    IF @startTime <> ''
        SET @sql = @sql + ' and a.create_time >=''' + @startTime + ''''

    IF @endTime <> ''
        SET @sql = @sql + ' and a.create_time <=''' + @endTime + ''''
    --添加排序方式
    SET @sql = @sql + ' order by b.billno desc,a.create_time desc'

    --select @sql
    EXEC SP_ExecuteSQL @sql
END

存储过程名: SystemReport_PassStation

说明:

CREATE PROCEDURE [dbo].[SystemReport_PassStation] @productCode NVARCHAR(1000)
    ,--产品编码
    @lotCode NVARCHAR(1000)
    ,--工单编码
    @stepName NVARCHAR(1000)
    ,--工序名称
    @startTime NVARCHAR(50)
    ,--开始时间
    @endTime NVARCHAR(50) --结束时间
AS
BEGIN
    IF @productCode IS NULL
        SET @productCode = ''

    IF @lotCode IS NULL
        SET @lotCode = ''

    IF @stepName IS NULL
        SET @stepName = ''
    --支持多个
    SET @productCode = REPLACE(@productCode, '|', ''',''')
    SET @lotCode = REPLACE(@lotCode, '|', ''',''')
    SET @stepName = REPLACE(@stepName, '|', ''',''')

    DECLARE @sql NVARCHAR(max)

    SET @sql = 'select c.name 产品编码,max(g.materialName) 产品名称,c.PRODUCT_DESC 产品描述,
a.LOT_NAME 工单编码,b.QUANTITY 工单数量,f.name 工序名称,
CONVERT(VARCHAR,sum(iif(a.WIP_STATE=0,a.qty,0))) PASS数量,
CONVERT(VARCHAR,sum(iif(a.WIP_STATE=1,a.qty,0))) FAIL数量,
0 a0,1 a1
from QS_WIP(NOLOCK) a
left join QS_LOTS(NOLOCK) b on a.lot_name = b.LOT_NAME
left join QS_PRODUCTS(NOLOCK) c on b.PRODUCT_ID = c.PRODUCT_ID
left join QS_LOTS_ATTRIBUTES(NOLOCK) d on b.Lot_Id = d.LOT_ID and d.ATTRIBUTE_NAME = ''flow''
join QS_ROUTES_DEFINITIONS(NOLOCK) e on d.ATTRIBUTE_VALUE = e.ROUTE_ID and a.ROUTE_STEP_ID = e.ROUTE_STEP_ID
left join QS_ROUTE_STEPS(NOLOCK) f on a.ROUTE_STEP_ID = f.ROUTE_STEP_ID
left join [Udit.Mms]..mms_material(NOLOCK) g on c.name = g.materialCode
where 1=1 '

    --构建查询条件
    IF @productCode <> ''
        SET @sql = @sql + ' and c.name in(''' + @productCode + ''')'

    IF @lotCode <> ''
        SET @sql = @sql + ' and b.lot_name in(''' + @lotCode + ''')'

    IF @stepName <> ''
        SET @sql = @sql + ' and f.name in(''' + @stepName + ''')'

    IF @startTime <> ''
        SET @sql = @sql + ' and a.start_time >=''' + @startTime + ''''

    IF @endTime <> ''
        SET @sql = @sql + ' and a.start_time <=''' + @endTime + ''''
    --添加排序方式
    SET @sql = @sql + ' and SCAN_TYPE in (0,22,99) group by c.name,c.PRODUCT_DESC,a.LOT_NAME,b.QUANTITY,f.name,e.SEQ order by a.lot_name,e.seq'

    --select @sql
    EXEC SP_ExecuteSQL @sql
END

存储过程名: SystemReport_PassStation_Item

说明:

CREATE PROCEDURE [dbo].[SystemReport_PassStation_Item] @productCode NVARCHAR(1000)
    ,--产品编码
    @lotCode NVARCHAR(1000)
    ,--工单编码
    @workCenterName NVARCHAR(1000)
    ,--车间名称
    @lineName NVARCHAR(1000)
    ,--线体名称
    @stationName NVARCHAR(1000)
    ,--工位名称
    @stepName NVARCHAR(1000)
    ,--工序名称
    @serialNumber NVARCHAR(1000)
    ,--过站条码
    @state NVARCHAR(24)
    ,--状态
    @startTime NVARCHAR(32)
    ,--开始时间
    @endTime NVARCHAR(32) --结束时间
AS
BEGIN
    IF @productCode IS NULL
        SET @productCode = ''

    IF @lotCode IS NULL
        SET @lotCode = ''

    IF @workCenterName IS NULL
        SET @workCenterName = ''

    IF @lineName IS NULL
        SET @lineName = ''

    IF @stationName IS NULL
        SET @stationName = ''

    IF @stepName IS NULL
        SET @stepName = ''

    IF @serialNumber IS NULL
        SET @serialNumber = ''

    IF @state <> '0'
        AND @state <> '1'
        SET @state = ''
    --支持多个
    SET @productCode = REPLACE(@productCode, '|', ''',''')
    SET @lotCode = REPLACE(@lotCode, '|', ''',''')
    SET @workCenterName = REPLACE(@workCenterName, '|', ''',''')
    SET @lineName = REPLACE(@lineName, '|', ''',''')
    SET @stationName = REPLACE(@stationName, '|', ''',''')
    SET @stepName = REPLACE(@stepName, '|', ''',''')
    SET @serialNumber = REPLACE(@serialNumber, '|', ''',''')

    DECLARE @sql NVARCHAR(max)

    SET @sql = 'select case WIP_STATE 
when 0 then ''PASS''
when 1 then ''FAIL''
end 状态,MODEL_NO 产品编码,LOT_NAME 工单编码,d.NAME 车间名称,c.NAME 线体名称,b.NAME 工位名称,e.NAME 工序名称,f.NAME 下一工序,
a.SERIAL_NUMBER 过站条码,a.QTY 过站数量,g.userName 过站用户,a.START_TIME 过站时间,
case scan_type 
when 0 then ''扫码过站''
when 22 then ''接口过站''
when 99 then ''DCP数据采集''
when 11 then ''拆箱''
when 24 then ''委外过站''
when 44 then ''维修过站''
when 45 then ''跳站过站''
when 70 then ''解绑''
when 71 then ''解锁判退''
when 77 then ''误测''
when 91 then ''条码导入''
end 过站类型
from QS_WIP(NOLOCK) a
left join CT_STATIONS(NOLOCK) b on a.STATION_ID = b.STATION_ID
left join CT_LINES(NOLOCK) c on b.LINE_ID = c.LINE_ID
left join CT_WORK_CENTERS(NOLOCK) d on c.WORK_CENTER_ID = d.WORK_CENTER_ID
left join QS_ROUTE_STEPS(NOLOCK) e on a.ROUTE_STEP_ID = e.ROUTE_STEP_ID
left join QS_ROUTE_STEPS(NOLOCK) f on a.NEXT_STEP_ID = f.ROUTE_STEP_ID
left join [Udit.Sys].[dbo].[sys_user](NOLOCK) g on a.xuser = g.userCode
where 1=1 '

    --构建查询条件
    IF @productCode <> ''
        SET @sql = @sql + ' and a.model_no in(''' + @productCode + ''')'

    IF @lotCode <> ''
        SET @sql = @sql + ' and a.lot_name in(''' + @lotCode + ''')'

    IF @workCenterName <> ''
        SET @sql = @sql + ' and d.name in(''' + @workCenterName + ''')'

    IF @lineName <> ''
        SET @sql = @sql + ' and c.name in(''' + @lineName + ''')'

    IF @stationName <> ''
        SET @sql = @sql + ' and b.name in(''' + @stationName + ''')'

    IF @stepName <> ''
        SET @sql = @sql + ' and e.name in(''' + @stepName + ''')'

    IF @serialNumber <> ''
        SET @sql = @sql + ' and a.serial_number in(''' + @serialNumber + ''')'

    IF @state <> ''
        SET @sql = @sql + ' and a.wip_state = ''' + @state + ''''

    IF @startTime <> ''
        SET @sql = @sql + ' and a.start_time >=''' + @startTime + ''''

    IF @endTime <> ''
        SET @sql = @sql + ' and a.start_time <=''' + @endTime + ''''
    --添加排序方式
    SET @sql = @sql + ' order by a.start_time,a.serial_number'

    --select @sql
    EXEC SP_ExecuteSQL @sql
END

存储过程名: SystemReport_Plan

说明:

CREATE PROCEDURE [dbo].[SystemReport_Plan] @workCenterName NVARCHAR(1000)
    ,-- 车间
    @lineName NVARCHAR(1000)
    ,-- 线体
    @stationName NVARCHAR(1000)
    ,-- 工位
    @equipment NVARCHAR(1000)
    ,-- 设备
    @planCode NVARCHAR(1000)
    ,--计划单号
    @lotCode NVARCHAR(1000)
    ,--工单
    @productCode NVARCHAR(1000)
    ,--产品
    @productName NVARCHAR(1000)
    ,--产品名称
    @productModel NVARCHAR(1000)
    ,--产品规格
    @startTime NVARCHAR(50)
    ,--开始时间
    @endTime NVARCHAR(50) --结束时间
AS
BEGIN
    IF @workCenterName IS NULL
        SET @workCenterName = ''

    IF @lineName IS NULL
        SET @lineName = ''

    IF @stationName IS NULL
        SET @stationName = ''

    IF @equipment IS NULL
        SET @equipment = ''

    IF @planCode IS NULL
        SET @planCode = ''

    IF @lotCode IS NULL
        SET @lotCode = ''

    IF @productCode IS NULL
        SET @productCode = ''

    IF @productName IS NULL
        SET @productName = ''

    IF @productModel IS NULL
        SET @productModel = ''

    IF @startTime IS NULL
        SET @startTime = ''

    IF @endTime IS NULL
        SET @endTime = ''
    --支持多个
    SET @workCenterName = REPLACE(@workCenterName, '|', ''',''')
    SET @lineName = REPLACE(@lineName, '|', ''',''')
    SET @stationName = REPLACE(@stationName, '|', ''',''')
    SET @equipment = REPLACE(@equipment, '|', ''',''')
    SET @planCode = REPLACE(@planCode, '|', ''',''')
    SET @lotCode = REPLACE(@lotCode, '|', ''',''')
    SET @productCode = REPLACE(@productCode, '|', ''',''')
    SET @productName = REPLACE(@productName, '|', ''',''')
    SET @productModel = REPLACE(@productModel, '|', ''',''')

    DECLARE @sql NVARCHAR(max)

    SET @sql = 
        'select case p2.States
when ''Initialize'' then ''初始化''
when ''Release'' then ''发布''
else p2.States
end 状态,j.name 车间,i.name 线体,h.name 工位,p2.reel_id 设备,p1.OrderNum 计划单号,a.LOT_NAME 工单,
b.NAME 产品,c.materialName 产品名称,c.MODEL 产品规格,
p1.PQty 计划数量,isnull(f.qty,0) 计划完成数量,a.QUANTITY 工单数量,isnull(e.PASS,0) 工单完成数量,
iif(isnull(f.qty,0)=0,''0%'',CONVERT(VARCHAR(50),CONVERT(decimal(18,2),CONVERT(decimal(18,5),f.qty) * 100 / p1.PQty)) + ''%'') 计划完成率,
iif(isnull(e.PASS,0)=0,''0%'',CONVERT(VARCHAR(50),CONVERT(decimal(18,2),CONVERT(decimal(18,5),e.PASS) * 100 / a.QUANTITY)) + ''%'') 工单完成率,
g.userName 创建用户,p1.createdate 创建时间
from [Udit.MMS].[dbo].[mms_OrderPlanningDetail](NOLOCK) p1
left join [Udit.MMS].[dbo].[mms_OrderPlanning](NOLOCK) p2 on p1.planningId = p2.planningId
left join QS_LOTS(NOLOCK) a on p1.originalNum = a.lot_name
left join QS_PRODUCTS(NOLOCK) b on a.PRODUCT_ID = b.PRODUCT_ID
left join [Udit.Mms].[dbo].[mms_material](NOLOCK) c on b.NAME = c.MaterialCode
left join QS_LOTS_ATTRIBUTES(NOLOCK) d on a.LOT_ID = d.LOT_ID and d.ATTRIBUTE_NAME = ''Produce''
left join CT_LotRouteStatus(NOLOCK) e on a.lot_name = e.lot_name and d.ATTRIBUTE_VALUE = e.ROUTE_STEP_ID
left join(
    select planBillId,ROUTE_STEP_ID,sum(iif(WIP_STATE=0,convert(bigint,qty),0)) qty
    from QS_WIP(NOLOCK)
    group by planBillId,ROUTE_STEP_ID
)f on p2.PlanningCode = f.planBillId and p2.RouteStepId = f.ROUTE_STEP_ID
left join [Udit.Sys].[dbo].[sys_user](NOLOCK) g on p1.createUserId = g.userCode
left join CT_STATIONS(NOLOCK) h on p2.stationId = h.STATION_ID
left join CT_LINES(NOLOCK) i on p2.ResourceId = i.LINE_ID
left join CT_WORK_CENTERS(NOLOCK) j on i.WORK_CENTER_ID = j.WORK_CENTER_ID
where 1=1 '

    --构建查询条件
    IF @workCenterName <> ''
        SET @sql = @sql + ' and j.name in(''' + @workCenterName + ''')'

    IF @lineName <> ''
        SET @sql = @sql + ' and i.name in(''' + @lineName + ''')'

    IF @stationName <> ''
        SET @sql = @sql + ' and h.name in(''' + @stationName + ''')'

    IF @equipment <> ''
        SET @sql = @sql + ' and p2.reel_id in(''' + @equipment + ''')'

    IF @planCode <> ''
        SET @sql = @sql + ' and p1.OrderNum in(''' + @planCode + ''')'

    IF @lotCode <> ''
        SET @sql = @sql + ' and a.lot_name in(''' + @lotCode + ''')'

    IF @productCode <> ''
        SET @sql = @sql + ' and b.name in(''' + @productCode + ''')'

    IF @productName <> ''
        SET @sql = @sql + ' and c.materialName in(''' + @productName + ''')'

    IF @productModel <> ''
        SET @sql = @sql + ' and c.MODEL in(''' + @productModel + ''')'

    IF @startTime <> ''
        SET @sql = @sql + ' and a.create_time >=''' + @startTime + ''''

    IF @endTime <> ''
        SET @sql = @sql + ' and a.create_time <=''' + @endTime + ''''
    --添加排序方式
    SET @sql = @sql + ' order by a.create_time desc'

    --select @sql
    EXEC SP_ExecuteSQL @sql
END

存储过程名: SystemReport_Repair_Direct

说明:

CREATE PROCEDURE [dbo].[SystemReport_Repair_Direct] @productCode NVARCHAR(1000)
    ,--产品编码
    @lotCode NVARCHAR(1000)
    ,--工单编码
    @stepName NVARCHAR(1000)
    ,--工序名称
    @startTime NVARCHAR(50)
    ,--开始时间
    @endTime NVARCHAR(50) --结束时间
AS
BEGIN
    IF @productCode IS NULL
        SET @productCode = ''

    IF @lotCode IS NULL
        SET @lotCode = ''

    IF @stepName IS NULL
        SET @stepName = ''

    IF @startTime IS NULL
        SET @startTime = ''

    IF @endTime IS NULL
        SET @endTime = ''
    --支持多个
    SET @productCode = REPLACE(@productCode, '|', ''',''')
    SET @lotCode = REPLACE(@lotCode, '|', ''',''')
    SET @stepName = REPLACE(@stepName, '|', ''',''')

    DECLARE @sql NVARCHAR(max)

    SET @sql = 
        'select a.产品编码,a.产品型号,a.工单编码,a.工序名称,a.维修用户,
sum(a.qty) 维修总数量,
sum(iif(a.rowId = 1,a.qty,0)) 一次维修数,
iif(sum(iif(a.rowId = 1 and a.repair_action = 2,a.qty,0))=0,''100%'',
iif(sum(iif(a.rowId = 1,a.qty,0))=0,''0.00%'',
convert(varchar,convert(decimal(18,2),convert(decimal,sum(iif(a.rowId = 1 and a.repair_action = 1,a.qty,0))) * 100 / sum(iif(a.rowId = 1,a.qty,0))))
)) 一次维修率,
sum(iif(a.rowId = 2,a.qty,0)) 二次维修数,
iif(sum(iif(a.rowId = 2 and a.repair_action = 2,a.qty,0))=0,''100%'',
iif(sum(iif(a.rowId = 2,a.qty,0))=0,''0.00%'',
convert(varchar,convert(decimal(18,2),convert(decimal,sum(iif(a.rowId = 2 and a.repair_action = 1,a.qty,0))) * 100 / sum(iif(a.rowId = 2,a.qty,0))))
)) 二次维修率,
sum(iif(a.rowId = 3,a.qty,0)) 三次维修数,
iif(sum(iif(a.rowId = 3 and a.repair_action = 2,a.qty,0))=0,''100%'',
iif(sum(iif(a.rowId = 3,a.qty,0))=0,''0.00%'',
convert(varchar,convert(decimal(18,2),convert(decimal,sum(iif(a.rowId = 3 and a.repair_action = 1,a.qty,0))) * 100 / sum(iif(a.rowId = 3,a.qty,0))))
)) 三次维修率,1 a1,2 a2,3 a3
from(
    select product.name 产品编码,product.PRODUCT_DESC 产品型号,de.lot_name 工单编码,step.name 工序名称,repairUser.UserName 维修用户,
    Row_Number() over (partition by step.name,de.serial_number order by de.INSPECT_TIME) rowId,
    de.serial_number,de.qty,repair.REPAIR_ACTION,de.REPAIR_TIME
    from QS_DEFECTS(NOLOCK) de
    left join QS_REPAIR_INFO(NOLOCK) repair on de.DEFECT_ID = repair.DEFECT_ID
    left join QS_LOTS(NOLOCK) lot on de.LOT_NAME = lot.LOT_NAME
    left join QS_PRODUCTS(NOLOCK) product on lot.PRODUCT_ID = product.PRODUCT_ID
    left join QS_ROUTE_STEPS(NOLOCK) step on de.ROUTE_STEP = step.ROUTE_STEP_ID
    left join [Udit.Sys]..sys_user(NOLOCK) repairUser on de.Repair_USER = repairUser.UserCode
    where de.REPAIR_STATUS <> ''0'''

    --构建查询条件
    IF @productCode <> ''
        SET @sql = @sql + ' and product.name in(''' + @productCode + ''')'

    IF @lotCode <> ''
        SET @sql = @sql + ' and lot.lot_name in(''' + @lotCode + ''')'

    IF @stepName <> ''
        SET @sql = @sql + ' and step.name in(''' + @stepName + ''')'

    IF @startTime <> ''
        SET @sql = @sql + ' and de.REPAIR_TIME >=''' + @startTime + ''''

    IF @endTime <> ''
        SET @sql = @sql + ' and de.REPAIR_TIME <=''' + @endTime + ''''
    --添加排序方式
    SET @sql = @sql + ')a group by a.产品编码,a.产品型号,a.工单编码,a.工序名称,a.维修用户 
                                    order by a.产品编码,a.工单编码,a.工序名称'

    --select @sql
    EXEC SP_ExecuteSQL @sql
END

存储过程名: SystemReport_TraceData

说明:

CREATE PROCEDURE [dbo].[SystemReport_TraceData] @productCode NVARCHAR(1000)
    ,--产品编码
    @lotCode NVARCHAR(1000)
    ,--工单编码
    @stationName NVARCHAR(1000)
    ,--工位名称
    @stepName NVARCHAR(1000)
    ,--工序名称
    @materialCode NVARCHAR(1000)
    ,--物料编码
    @uid NVARCHAR(1000)
    ,--UID
    @startTime NVARCHAR(32)
    ,--开始时间
    @endTime NVARCHAR(32) --结束时间
AS
BEGIN
    IF @productCode IS NULL
        SET @productCode = ''

    IF @lotCode IS NULL
        SET @lotCode = ''

    IF @stationName IS NULL
        SET @stationName = ''

    IF @stepName IS NULL
        SET @stepName = ''

    IF @materialCode IS NULL
        SET @materialCode = ''

    IF @uid IS NULL
        SET @uid = ''
    --支持多个
    SET @productCode = REPLACE(@productCode, '|', ''',''')
    SET @lotCode = REPLACE(@lotCode, '|', ''',''')
    SET @stationName = REPLACE(@stationName, '|', ''',''')
    SET @stepName = REPLACE(@stepName, '|', ''',''')
    SET @materialCode = REPLACE(@materialCode, '|', ''',''')
    SET @uid = REPLACE(@uid, '|', ''',''')

    DECLARE @sql NVARCHAR(max)

    SET @sql = 'select case StatusCode 
when ''SetupCheck_True'' then ''上料''
when ''SetdownCheck_True'' then ''下料''
end 类型,a.SetupName 产品编码,
a.OrderName 工单编码,
a.Line 工位名称,
a.StepName 工序名称,
a.tableno + ''-'' + a.station + ''-'' + a.pickup 站位,
b.MATERIAL_NO 物料编码,
c.MaterialName 物料名称,
c.Model 物料规格,
a.UID UID,
convert(decimal,a.Quantity) 数量,
a.Lot LOT,
d.userName 操作用户,
a.Datetime 操作时间
from [Udit.CHC].[dbo].[TraceData](NOLOCK) a
left join [Udit.Mms].[dbo].[mms_reels](NOLOCK) b on a.uid = b.REEL_BARCODE
left join [Udit.Mms].[dbo].[mms_material](NOLOCK) c on b.material_NO = c.materialCode
left join [Udit.Sys].[dbo].[sys_user](NOLOCK) d on a.Operator = d.userCode
where StatusCode in (''SetupCheck_True'',''SetdownCheck_True'') '

    --构建查询条件
    IF @productCode <> ''
        SET @sql = @sql + ' and a.SetupName in(''' + @productCode + ''')'

    IF @lotCode <> ''
        SET @sql = @sql + ' and a.OrderName in(''' + @lotCode + ''')'

    IF @stationName <> ''
        SET @sql = @sql + ' and a.Line in(''' + @stationName + ''')'

    IF @stepName <> ''
        SET @sql = @sql + ' and a.StepName in(''' + @stepName + ''')'

    IF @materialCode <> ''
        SET @sql = @sql + ' and b.MATERIAL_NO in(''' + @materialCode + ''')'

    IF @uid <> ''
        SET @sql = @sql + ' and a.uid in(''' + @uid + ''')'

    IF @startTime <> ''
        SET @sql = @sql + ' and a.Datetime >=''' + @startTime + ''''

    IF @endTime <> ''
        SET @sql = @sql + ' and a.Datetime <=''' + @endTime + ''''
    --添加排序方式
    SET @sql = @sql + ' order by a.Datetime desc'

    --select @sql
    EXEC SP_ExecuteSQL @sql
END

存储过程名: SystemReport_WIP

说明:

CREATE PROCEDURE [dbo].[SystemReport_WIP] @productCode NVARCHAR(1000)
    ,--产品编码
    @lotCode NVARCHAR(1000)
    ,--工单编码
    @stepName NVARCHAR(1000) --工序名称
AS
BEGIN
    IF @productCode IS NULL
        SET @productCode = ''

    IF @lotCode IS NULL
        SET @lotCode = ''

    IF @stepName IS NULL
        SET @stepName = ''

    --产品或工单必须要传一个
    IF @productCode = ''
        AND @lotCode = ''
    BEGIN
        SELECT '请输入产品或工单' 产品编码
            ,0 WIP数量

        RETURN;
    END

    --支持多个
    SET @productCode = REPLACE(@productCode, '|', ''',''')
    SET @lotCode = REPLACE(@lotCode, '|', ''',''')
    SET @stepName = REPLACE(@stepName, '|', ''',''')

    DECLARE @sql NVARCHAR(max)

    SET @sql = 'select a.NAME 产品编码,b.LOT_NAME 工单编码,b.QUANTITY 工单数量,
e.NAME 工序名称,isnull(f.QTY,0) WIP数量
from QS_PRODUCTS(NOLOCK) a
join QS_LOTS(NOLOCK) b on a.PRODUCT_ID = b.PRODUCT_ID
left join QS_LOTS_ATTRIBUTES(NOLOCK) c on b.LOT_ID = c.LOT_ID and c.ATTRIBUTE_NAME = ''flow''
left join QS_ROUTES_DEFINITIONS(NOLOCK) d on c.ATTRIBUTE_VALUE = d.ROUTE_ID
left join QS_ROUTE_STEPS(NOLOCK) e on d.ROUTE_STEP_ID = e.ROUTE_STEP_ID
left join(
    select LOT_NAME,NEXT_STEP_ID,sum(qty) qty
    from QS_SERIAL_NUMBERS(NOLOCk)
    where SERIAL_NUMBER_STATE <> ''1''
    group by LOT_NAME,NEXT_STEP_ID
)f on b.lot_name = f.lot_name and d.ROUTE_STEP_ID = f.NEXT_STEP_ID
where 1=1 '

    --构建查询条件
    IF @productCode <> ''
        SET @sql = @sql + ' and a.name in(''' + @productCode + ''')'

    IF @lotCode <> ''
        SET @sql = @sql + ' and b.lot_name in(''' + @lotCode + ''')'

    IF @stepName <> ''
        SET @sql = @sql + ' and e.name in(''' + @stepName + ''')'
    --添加排序方式
    SET @sql = @sql + ' order by a.NAME,b.LOT_NAME,d.SEQ'

    --select @sql
    EXEC SP_ExecuteSQL @sql
END

存储过程名: SystemReport_WIP_Item

说明:

CREATE PROCEDURE [dbo].[SystemReport_WIP_Item] @productCode NVARCHAR(1000)
    ,--产品编码
    @lotCode NVARCHAR(1000)
    ,--工单编码
    @nextStepName NVARCHAR(1000)
    ,--下一工序
    @serialNumber NVARCHAR(1000) --过站条码
AS
BEGIN
    IF @productCode IS NULL
        SET @productCode = ''

    IF @lotCode IS NULL
        SET @lotCode = ''

    IF @nextStepName IS NULL
        SET @nextStepName = ''

    IF @serialNumber IS NULL
        SET @serialNumber = ''
    --支持多个
    SET @productCode = REPLACE(@productCode, '|', ''',''')
    SET @lotCode = REPLACE(@lotCode, '|', ''',''')
    SET @nextStepName = REPLACE(@nextStepName, '|', ''',''')
    SET @serialNumber = REPLACE(@serialNumber, '|', ''',''')

    DECLARE @sql NVARCHAR(max)

    SET @sql = 'select case a.serial_number_state
when ''0'' then ''生产中''
when ''1'' then ''完工''
when ''2'' then ''报废''
when ''3'' then ''分板''
when ''4'' then ''返工''
end 状态,a.MODEL_NO 产品编码,a.LOT_NAME 工单编码,a.SERIAL_NUMBER 条码,a.QTY 条码数量,e.NAME 上一工序,f.NAME 下一工序,
g.userName 创建用户,a.create_time 创建时间,a.LST_WIP_TIME 最后过站时间
from QS_SERIAL_NUMBERS(NOLOCK) a
left join QS_ROUTE_STEPS(NOLOCK) e on a.PREV_STEP_ID = e.ROUTE_STEP_ID
left join QS_ROUTE_STEPS(NOLOCK) f on a.NEXT_STEP_ID = f.ROUTE_STEP_ID
left join [Udit.Sys].[dbo].[sys_user](NOLOCK) g on a.CREATOR_ID = g.userCode
where 1=1 '

    --构建查询条件
    IF @productCode <> ''
        SET @sql = @sql + ' and a.model_no in(''' + @productCode + ''')'

    IF @lotCode <> ''
        SET @sql = @sql + ' and a.lot_name in(''' + @lotCode + ''')'

    IF @nextStepName <> ''
        SET @sql = @sql + ' and f.name in(''' + @nextStepName + ''')'

    IF @serialNumber <> ''
        SET @sql = @sql + ' and a.serial_number in(''' + @serialNumber + ''')'
    --添加排序方式
    SET @sql = @sql + ' order by a.CREATE_TIME,a.serial_number'

    --select @sql
    EXEC SP_ExecuteSQL @sql
END

存储过程名: usp_DIP_KANBAN

说明:

CREATE PROCEDURE [dbo].[usp_DIP_KANBAN] @Lineid NVARCHAR(50)
    ,--定义线体ID 
    @startStation NVARCHAR(50)
    ,--投入站点ID
    @firstStation NVARCHAR(50)
    ,--第一个产出站点ID
    @SecondStation NVARCHAR(50)
    ,--第二个产出站点ID
    @uph INT
AS
BEGIN
    DECLARE @ctime VARCHAR(20)

    SET @ctime = DATEADD(day, 0, getdate())

    PRINT @ctime

    DECLARE @seq INT

    --第一个站点
    SELECT @startStation = a.station_id
    FROM CT_ROUTESTEP_STATIONS(NOLOCK) a
    JOIN CT_STATIONS(NOLOCK) b ON a.station_id = b.STATION_ID
    JOIN QS_ROUTES_DEFINITIONS(NOLOCK) c ON a.route_step_id = c.ROUTE_STEP_ID
    WHERE a.station_id IN (
            SELECT STATION_ID
            FROM CT_STATIONS(NOLOCK)
            WHERE LINE_ID = @Lineid
            )
        AND c.IS_OFFLINE = 0
    ORDER BY c.SEQ

    --
    SELECT @firstStation = a.station_id
    FROM CT_ROUTESTEP_STATIONS(NOLOCK) a
    JOIN CT_STATIONS(NOLOCK) b ON a.station_id = b.STATION_ID
    JOIN QS_ROUTES_DEFINITIONS(NOLOCK) c ON a.route_step_id = c.ROUTE_STEP_ID
    WHERE a.station_id IN (
            SELECT STATION_ID
            FROM CT_STATIONS(NOLOCK)
            WHERE LINE_ID = @Lineid
            )
        AND c.IS_OFFLINE = 0
    ORDER BY c.SEQ DESC

    SET @SecondStation = @firstStation

    PRINT @startStation
    PRINT @firstStation
    PRINT @SecondStation

    DECLARE @productInfor TABLE (
        MODEL_NO NVARCHAR(50)
        ,LOT_NAME NVARCHAR(50)
        ,START_TIME DATETIME
        ,ROUTE_STEP_ID NVARCHAR(50)
        ,SERIAL_NUMBER NVARCHAR(200)
        ,WIP_STATE INT
        ,StationId NVARCHAR(50)
        ,hh NVARCHAR(4)
        );

    INSERT @productInfor
    SELECT DISTINCT w.MODEL_NO
        ,w.LOT_NAME
        ,w.START_TIME
        ,w.ROUTE_STEP_ID
        ,w.SERIAL_NUMBER
        ,w.WIP_STATE
        ,w.STATION_ID
        ,DATENAME(HOUR, w.START_TIME) hh
    FROM [Udit.SFC].[dbo].[QS_WIP](NOLOCK) w
    WHERE w.start_time > convert(VARCHAR(30), DATEADD(day, 0, getdate()), 23)
        AND w.start_time < convert(VARCHAR(30), DATEADD(DAY, 1, DATEADD(day, 0, getdate())), 23)
        --and  WIP_STATE<>1
        AND w.STATION_ID IN (
            SELECT STATION_ID
            FROM [Udit.SFC].[dbo].[CT_STATIONS](NOLOCK)
            WHERE LINE_ID = @Lineid
            )

    --select * from @productInfor  order by START_TIME desc
    DECLARE @today_Now_Lot_Name NVARCHAR(50) --当前生产工单
    DECLARE @today_Now_Model_No NVARCHAR(50) --当前生产机种
    DECLARE @custCode NVARCHAR(50) --当前机种客户代码
    DECLARE @lotqty DECIMAL(13, 2) ---当前工单数量
    DECLARE @lasttime DATETIME --当前工单当日最后过站时间
    DECLARE @firsttime DATETIME --当前工单当日投入时间

    SELECT TOP 1 @today_Now_Lot_Name = LOT_NAME
        ,@today_Now_Model_No = MODEL_NO
        ,@lasttime = START_TIME
    FROM @productInfor
    ORDER BY START_TIME DESC

    SELECT TOP 1 @firsttime = START_TIME
    FROM @productInfor
    ORDER BY START_TIME ASC

    SELECT @custCode = CUSTOMER_CODE
    FROM QS_PRODUCTS(NOLOCK)
    WHERE NAME = @today_Now_Model_No

    --select MaterialCode ,OriginalNum ,TQty ,UserCount ,UPH  
    --FROM [Udit.Mms].[dbo].[mms_OrderPlanningDetail] where OriginalNum =@today_Now_Lot_Name
    DECLARE @Usercount INT --标准人数,
        --declare @UPH  int --目标UPH 
    DECLARE @lineType NVARCHAR(50)
    DECLARE @lineName NVARCHAR(50)

    SELECT @lineName = NAME
    FROM CT_LINES
    WHERE line_id = @Lineid

    SELECT @lineType = MACHINE_SETTING_TYPE
    FROM BS_LINE_MACHINE_SETTINGS
    WHERE LINE_NAME = @lineName

    SELECT @lotqty = TQty
        ,@Usercount = UserCount -- ,@UPH=UPH  
    FROM [Udit.Mms].[dbo].[mms_OrderPlanningDetail](NOLOCK)
    WHERE OriginalNum = @today_Now_Lot_Name

    -- SELECT @UPH=UPH FROM [Udit.SFC].[dbo].[BS_LINE_PRODUCT_UPHS]
    --        where product_name=@today_Now_Model_No and MACHINE_SETTING_TYPE = @lineType and Face='Other'
    DECLARE @productminute INT = datediff(minute, @firsttime, @lasttime) --当前工单当日投入实际时间
    DECLARE @TargetOutput INT --目标产量

    SET @TargetOutput = (@productminute * @UPH) / 60

    DECLARE @DailyOutput INT --当日产量
    DECLARE @DailyUPH INT --当日UPH
    --读取工单信息
    DECLARE @productID VARCHAR(50)
    DECLARE @initQty INT
    DECLARE @lotattr INT --获取工单是批次追溯还是单体追溯
        --select @lotQty=QUANTITY,@initQty=INIT_QTY,@productID=PRODUCT_ID from QS_LOTS (nolock) where LOT_NAME=@lotName

    SELECT @lotQty = ql.QUANTITY
        ,@initQty = ql.INIT_QTY
        ,@productID = ql.PRODUCT_ID
        ,@lotattr = qla.ATTRIBUTE_VALUE
    FROM [Udit.SFC].[dbo].[QS_LOTS](NOLOCK) ql
    INNER JOIN [Udit.SFC].[dbo].[QS_LOTS_ATTRIBUTES](NOLOCK) qla ON ql.LOT_ID = qla.LOT_ID
    WHERE qla.ATTRIBUTE_NAME = 'isTrace'
        AND LOT_NAME = @today_Now_Lot_Name

    IF (@lotattr = 1) ---单体追溯
    BEGIN
        SELECT @DailyOutput = count(p.SERIAL_NUMBER)
        FROM @productInfor p
        JOIN QS_SERIAL_NUMBERS(NOLOCK) s ON p.SERIAL_NUMBER = s.SERIAL_NUMBER
        WHERE StationId = @SecondStation
            AND s.IS_PANEL = 0
            AND WIP_STATE = 0
    END
    ELSE
    BEGIN
        SELECT @DailyOutput = isnull(sum((
                        CASE 
                            WHEN ISNUMERIC(SERIAL_NUMBER) = 1
                                THEN convert(BIGINT, SERIAL_NUMBER)
                            WHEN ISNUMERIC(SERIAL_NUMBER) = 0
                                THEN 0
                            END
                        )), 0)
        FROM @productInfor
        WHERE StationId = @SecondStation
            AND WIP_STATE = 0
    END

    IF (@productminute > 0)
    BEGIN
        SET @DailyUPH = (@DailyOutput * 60) / @productminute;
    END

    SELECT @TargetOutput 目标产能
        ,@DailyOutput 当日产量
        ,@UPH 目标UPH
        ,@DailyUPH 实际UPH
        ,@custCode 客户
        ,@today_Now_Model_No 产品型号
        ,@today_Now_Lot_Name 工单号
        ,@lotqty 工单数量

    ------------------------------------------------------------------------------------------------
    --保存每小时工单及工单标准产能
    DECLARE @listproduct TABLE (
        MODEL_NO NVARCHAR(50)
        ,LOT_NAME NVARCHAR(50)
        ,StandardCapacity DECIMAL(13, 2)
        ,hh NVARCHAR(4)
        )

    INSERT @listproduct
    SELECT DISTINCT MODEL_NO
        ,LOT_NAME
        ,
        --(select top 1 UPH  from [Udit.Mms].[dbo].[mms_OrderPlanningDetail] (nolock) where OriginalNum= p.LOT_NAME order by CreateDate desc) UPH 
        @UPH UPH
        ,hh
    FROM @productInfor p

    --select * from @listproduct
    --保存每小时工单及工单投入点数量
    DECLARE @listproductstartStation TABLE (
        MODEL_NO NVARCHAR(50)
        ,LOT_NAME NVARCHAR(50)
        ,pnum DECIMAL(13, 2)
        ,hh NVARCHAR(4)
        )

    --select * from @productInfor where ROUTE_STEP_ID =@startStation  and WIP_STATE =0
    IF (@lotattr = 1) ---单体追溯
    BEGIN
        INSERT @listproductstartStation
        SELECT p.MODEL_NO
            ,p.LOT_NAME
            ,sum(1)
            ,p.hh
        FROM @productInfor p
        JOIN QS_SERIAL_NUMBERS(NOLOCK) s ON p.SERIAL_NUMBER = s.SERIAL_NUMBER
        WHERE p.StationId = @startStation
            AND s.IS_PANEL = 0
            AND WIP_STATE = 0
        GROUP BY p.MODEL_NO
            ,p.LOT_NAME
            ,p.hh
    END
    ELSE
    BEGIN
        --   select @DailyOutput=isnull(sum((Case when ISNUMERIC(SERIAL_NUMBER)=1  then convert(bigint,SERIAL_NUMBER) when  ISNUMERIC(SERIAL_NUMBER)=0 then 0 end)),0) from @productInfor 
        --where  ROUTE_STEP_ID =@endflow  and WIP_STATE =0
        INSERT @listproductstartStation
        SELECT MODEL_NO
            ,LOT_NAME
            ,isnull(sum((
                        CASE 
                            WHEN ISNUMERIC(SERIAL_NUMBER) = 1
                                THEN convert(BIGINT, SERIAL_NUMBER)
                            WHEN ISNUMERIC(SERIAL_NUMBER) = 0
                                THEN 0
                            END
                        )), 0)
            ,hh
        FROM @productInfor
        WHERE StationId = @startStation
            AND WIP_STATE = 0
        GROUP BY MODEL_NO
            ,LOT_NAME
            ,hh
    END

    --select * from @listproductstartStation
    --保存每小时工单及工单第一个产出点数量
    DECLARE @listproductfirstStation TABLE (
        MODEL_NO NVARCHAR(50)
        ,LOT_NAME NVARCHAR(50)
        ,pnum DECIMAL(13, 2)
        ,hh NVARCHAR(4)
        )

    IF (@lotattr = 1) ---单体追溯
    BEGIN
        INSERT @listproductfirstStation
        SELECT p.MODEL_NO
            ,p.LOT_NAME
            ,sum(1)
            ,p.hh
        FROM @productInfor p
        JOIN QS_SERIAL_NUMBERS(NOLOCK) s ON p.SERIAL_NUMBER = s.SERIAL_NUMBER
        WHERE StationId = @firstStation
            AND s.IS_PANEL = 0
            AND WIP_STATE = 0
        GROUP BY p.MODEL_NO
            ,p.LOT_NAME
            ,p.hh
    END
    ELSE
    BEGIN
        --   select @DailyOutput=isnull(sum((Case when ISNUMERIC(SERIAL_NUMBER)=1  then convert(bigint,SERIAL_NUMBER) when  ISNUMERIC(SERIAL_NUMBER)=0 then 0 end)),0) from @productInfor 
        --where  ROUTE_STEP_ID =@endflow  and WIP_STATE =0
        INSERT @listproductfirstStation
        SELECT MODEL_NO
            ,LOT_NAME
            ,isnull(sum((
                        CASE 
                            WHEN ISNUMERIC(SERIAL_NUMBER) = 1
                                THEN convert(BIGINT, SERIAL_NUMBER)
                            WHEN ISNUMERIC(SERIAL_NUMBER) = 0
                                THEN 0
                            END
                        )), 0)
            ,hh
        FROM @productInfor
        WHERE StationId = @firstStation
            AND WIP_STATE = 0
        GROUP BY MODEL_NO
            ,LOT_NAME
            ,hh
    END

    --select * from @listproductfirstStation
    --保存每小时工单及工单第一个产出点数量
    DECLARE @listproductSecondStation TABLE (
        MODEL_NO NVARCHAR(50)
        ,LOT_NAME NVARCHAR(50)
        ,pnum DECIMAL(13, 2)
        ,hh NVARCHAR(4)
        )

    IF (@lotattr = 1) ---单体追溯
    BEGIN
        INSERT @listproductSecondStation
        SELECT p.MODEL_NO
            ,p.LOT_NAME
            ,sum(1)
            ,p.hh
        FROM @productInfor p
        JOIN QS_SERIAL_NUMBERS(NOLOCK) s ON p.SERIAL_NUMBER = s.SERIAL_NUMBER
        WHERE StationId = @SecondStation
            AND s.IS_PANEL = 0
            AND WIP_STATE = 0
        GROUP BY p.MODEL_NO
            ,p.LOT_NAME
            ,p.hh
    END
    ELSE
    BEGIN
        --   select @DailyOutput=isnull(sum((Case when ISNUMERIC(SERIAL_NUMBER)=1  then convert(bigint,SERIAL_NUMBER) when  ISNUMERIC(SERIAL_NUMBER)=0 then 0 end)),0) from @productInfor 
        --where  ROUTE_STEP_ID =@endflow  and WIP_STATE =0
        INSERT @listproductSecondStation
        SELECT MODEL_NO
            ,LOT_NAME
            ,isnull(sum((
                        CASE 
                            WHEN ISNUMERIC(SERIAL_NUMBER) = 1
                                THEN convert(BIGINT, SERIAL_NUMBER)
                            WHEN ISNUMERIC(SERIAL_NUMBER) = 0
                                THEN 0
                            END
                        )), 0)
            ,hh
        FROM @productInfor
        WHERE StationId = @SecondStation
            AND WIP_STATE = 0
        GROUP BY MODEL_NO
            ,LOT_NAME
            ,hh
    END

    --select * from @listproductSecondStation
    ---直通率计算
    --保存每小时工单直通率
    DECLARE @listproductRolledYiel TABLE (
        MODEL_NO NVARCHAR(50)
        ,LOT_NAME NVARCHAR(50)
        ,RolledYiel DECIMAL(5, 2)
        ,hh NVARCHAR(4)
        )

    IF (@lotattr = 1) ---单体追溯
    BEGIN
        INSERT @listproductRolledYiel
        SELECT a.MODEL_NO
            ,a.LOT_NAME
            ,CASE 
                WHEN b.TOTAL = 0
                    THEN 100
                ELSE (convert(DECIMAL, a.HG) * 100 / convert(DECIMAL, b.TOTAL))
                END
            ,a.hh
        FROM (
            SELECT p.MODEL_NO
                ,p.LOT_NAME
                ,sum(1) TOTAL
                ,p.hh
            FROM @productInfor p
            JOIN QS_SERIAL_NUMBERS(NOLOCK) s ON p.SERIAL_NUMBER = s.SERIAL_NUMBER
            WHERE s.IS_PANEL = 0
            GROUP BY p.MODEL_NO
                ,p.LOT_NAME
                ,p.hh
            ) b
        LEFT JOIN (
            SELECT p.MODEL_NO
                ,p.LOT_NAME
                ,sum(1) HG
                ,p.hh
            FROM @productInfor p
            JOIN QS_SERIAL_NUMBERS(NOLOCK) s ON p.SERIAL_NUMBER = s.SERIAL_NUMBER
            WHERE s.IS_PANEL = 0
                AND WIP_STATE = 0
            GROUP BY p.MODEL_NO
                ,p.LOT_NAME
                ,p.hh
            ) a ON a.hh = b.hh
            AND a.LOT_NAME = b.LOT_NAME
            AND a.MODEL_NO = b.MODEL_NO
    END
    ELSE
    BEGIN
        INSERT @listproductRolledYiel
        SELECT a.MODEL_NO
            ,a.LOT_NAME
            ,CASE 
                WHEN (
                        sum1 = 0
                        OR sum1 IS NULL
                        )
                    THEN 100
                ELSE (((a.sum1 - b.sum2) * 100) / sum1)
                END
            ,a.hh
        FROM (
            SELECT MODEL_NO
                ,LOT_NAME
                ,isnull(sum((
                            CASE 
                                WHEN ISNUMERIC(SERIAL_NUMBER) = 1
                                    THEN convert(BIGINT, SERIAL_NUMBER)
                                WHEN ISNUMERIC(SERIAL_NUMBER) = 0
                                    THEN 0
                                END
                            )), 0) sum1
                ,hh
            FROM @productInfor
            GROUP BY MODEL_NO
                ,LOT_NAME
                ,hh
            ) a
        LEFT JOIN (
            SELECT p.LOT_NAME
                ,isnull(sum((
                            CASE 
                                WHEN ISNUMERIC(p.SERIAL_NUMBER) = 1
                                    THEN convert(BIGINT, p.SERIAL_NUMBER)
                                WHEN ISNUMERIC(p.SERIAL_NUMBER) = 0
                                    THEN 0
                                END
                            )), 0) sum2
                ,DATENAME(HOUR, INSPECT_TIME) hhour
            FROM [Udit.SFC].[dbo].[QS_DEFECTS](NOLOCK) d
            JOIN @productInfor p ON d.Lot_name = p.LOT_NAME
            WHERE line = @Lineid
                AND INSPECT_TIME > convert(VARCHAR(30), @ctime, 23)
                AND INSPECT_TIME < convert(VARCHAR(30), DATEADD(DAY, 1, @ctime), 23)
            GROUP BY p.LOT_NAME
                ,DATENAME(HOUR, INSPECT_TIME)
            ) b ON b.hhour = a.hh
            AND a.LOT_NAME = b.LOT_NAME
    END

    --select * from @listproductRolledYiel
    --保存每小时工单工单不良数
    DECLARE @listproductBadNumber TABLE (
        LOT_NAME NVARCHAR(50)
        ,NGNUM DECIMAL(13, 2)
        ,hh NVARCHAR(4)
        )

    IF (@lotattr = 1) ---单体追溯
    BEGIN
        INSERT @listproductBadNumber
        SELECT a.LOT_NAME
            ,B.TOTAL - A.HG
            ,a.hh
        FROM (
            SELECT p.LOT_NAME
                ,sum(1) HG
                ,p.hh
            FROM @productInfor p
            JOIN QS_SERIAL_NUMBERS(NOLOCK) s ON p.SERIAL_NUMBER = s.SERIAL_NUMBER
            WHERE s.IS_PANEL = 0
                AND WIP_STATE = 0
            GROUP BY p.LOT_NAME
                ,p.hh
            ) a
        JOIN (
            SELECT p.LOT_NAME
                ,sum(1) TOTAL
                ,p.hh
            FROM @productInfor p
            JOIN QS_SERIAL_NUMBERS(NOLOCK) s ON p.SERIAL_NUMBER = s.SERIAL_NUMBER
            WHERE s.IS_PANEL = 0
            GROUP BY p.LOT_NAME
                ,p.hh
            ) b ON a.hh = b.hh
            AND a.LOT_NAME = b.LOT_NAME
    END
    ELSE
    BEGIN
        INSERT @listproductBadNumber
        --select a.MODEL_NO ,a.LOT_NAME ,case when (sum1=0 or sum1 is null) then 100 else (( a.sum1 -b.sum2 )/sum1)*100 end ,a.hh  from 
        --(select MODEL_NO ,LOT_NAME ,isnull(sum((Case when ISNUMERIC(SERIAL_NUMBER)=1  then convert(bigint,SERIAL_NUMBER) when  ISNUMERIC(SERIAL_NUMBER)=0 then 0 end)),0) sum1 ,hh from @productInfor 
        --group by  MODEL_NO ,LOT_NAME ,hh) a left join
        --(
        SELECT p.LOT_NAME
            ,isnull(sum((
                        CASE 
                            WHEN ISNUMERIC(p.SERIAL_NUMBER) = 1
                                THEN convert(BIGINT, p.SERIAL_NUMBER)
                            WHEN ISNUMERIC(p.SERIAL_NUMBER) = 0
                                THEN 0
                            END
                        )), 0) sum2
            ,DATENAME(HOUR, INSPECT_TIME) hhour
        FROM [Udit.SFC].[dbo].[QS_DEFECTS](NOLOCK) d
        JOIN @productInfor p ON d.Lot_name = p.LOT_NAME
        WHERE line = @Lineid
            AND INSPECT_TIME > convert(VARCHAR(30), @ctime, 23)
            AND INSPECT_TIME < convert(VARCHAR(30), DATEADD(DAY, 1, @ctime), 23)
        GROUP BY p.LOT_NAME
            ,DATENAME(HOUR, INSPECT_TIME)
            --) b on b.hhour =a.hh and a.LOT_NAME =b.LOT_NAME 
    END

    --SELECT * FROM @listproductBadNumber
    --保存工单完成率
    DECLARE @listproductWOComplete TABLE (
        LOT_NAME NVARCHAR(50)
        ,Lot_QTY DECIMAL(13, 2)
        ,CompleteNum DECIMAL(13, 2)
        )

    INSERT @listproductWOComplete
    SELECT Lot_Name
        ,QUANTITY
        ,min(pass)
    FROM (
        SELECT DISTINCT p.Lot_Name
            ,qs.QUANTITY
            ,rs.PASS
        FROM @productInfor p
        JOIN QS_LOTS(NOLOCK) qs ON p.LOT_NAME = qs.LOT_NAME
        LEFT JOIN [dbo].[CT_LotRouteStatus](NOLOCK) rs ON p.LOT_NAME = rs.Lot_Name
            AND rs.Route_Step_id = p.ROUTE_STEP_ID
        WHERE p.StationId = @SecondStation
        ) BB
    GROUP BY Lot_Name
        ,QUANTITY

    DECLARE @viewlist TABLE (
        hh NVARCHAR(50)
        ,MODEL_NO NVARCHAR(50)
        ,LOT_NAME NVARCHAR(50)
        ,StandardCapacity INT
        ,ab INT
        ,ac INT
        ,ad INT
        ,RolledYiel DECIMAL(5, 2)
        ,NGNUM INT
        ,xl DECIMAL(5, 2)
        ,wgl DECIMAL(5, 2)
        ,ct INT
        )

    INSERT @viewlist
    SELECT CASE 
            WHEN a.hh = '00'
                THEN '00:00-02:00'
            WHEN a.hh = '01'
                THEN '00:00-02:00'
            WHEN a.hh = '02'
                THEN '02:00-04:00'
            WHEN a.hh = '03'
                THEN '02:00-04:00'
            WHEN a.hh = '04'
                THEN '04:00-06:00'
            WHEN a.hh = '05'
                THEN '04:00-06:00'
            WHEN a.hh = '06'
                THEN '06:00-08:00'
            WHEN a.hh = '07'
                THEN '06:00-08:00'
            WHEN a.hh = '08'
                THEN '08:00-10:00'
            WHEN a.hh = '09'
                THEN '08:00-10:00'
            WHEN a.hh = '10'
                THEN '10:00-12:00'
            WHEN a.hh = '11'
                THEN '10:00-12:00'
            WHEN a.hh = '12'
                THEN '12:00-14:00'
            WHEN a.hh = '13'
                THEN '12:00-14:00'
            WHEN a.hh = '14'
                THEN '14:00-16:00'
            WHEN a.hh = '15'
                THEN '14:00-16:00'
            WHEN a.hh = '16'
                THEN '16:00-18:00'
            WHEN a.hh = '17'
                THEN '16:00-18:00'
            WHEN a.hh = '18'
                THEN '18:00-20:00'
            WHEN a.hh = '19'
                THEN '18:00-20:00'
            WHEN a.hh = '20'
                THEN '20:00-22:00'
            WHEN a.hh = '21'
                THEN '20:00-22:00'
            WHEN a.hh = '22'
                THEN '22:00-23:00'
            WHEN a.hh = '23'
                THEN '23:00-24:00'
            END strhh
        ,a.MODEL_NO
        ,a.LOT_NAME
        ,a.StandardCapacity
        ,a.ab
        ,a.ac
        ,a.ad
        ,a.RolledYiel
        ,a.NGNUM
        ,a.生产效率
        ,a.工单完成率
        ,ct = 1
    FROM (
        SELECT CASE 
                WHEN len(a.hh) = 1
                    THEN '0' + a.hh
                ELSE a.hh
                END hh
            ,a.MODEL_NO
            ,a.LOT_NAME
            ,a.StandardCapacity
            ,b.pnum ab
            ,c.pnum ac
            ,d.pnum ad
            ,e.RolledYiel
            ,f.NGNUM
            ,(d.pnum * 100 / a.StandardCapacity) 生产效率
            ,(h.CompleteNum * 100 / h.Lot_QTY) 工单完成率
        FROM @listproduct a
        LEFT JOIN @listproductstartStation b ON a.LOT_NAME = b.LOT_NAME
            AND a.hh = b.hh
        LEFT JOIN @listproductfirstStation c ON a.LOT_NAME = c.LOT_NAME
            AND a.hh = c.hh
        LEFT JOIN @listproductSecondStation d ON a.LOT_NAME = d.LOT_NAME
            AND d.hh = a.hh
        LEFT JOIN @listproductRolledYiel e ON a.LOT_NAME = e.LOT_NAME
            AND a.hh = e.hh
        LEFT JOIN @listproductBadNumber f ON a.LOT_NAME = f.LOT_NAME
            AND a.hh = f.hh
        LEFT JOIN @listproductWOComplete h ON a.LOT_NAME = h.LOT_NAME
        ) a

    SELECT hh 生产时段
        ,MODEL_NO 产品型号
        ,LOT_NAME 工单号
        ,sum(StandardCapacity) 标准产能
        ,sum(ab) 投入工序
        ,sum(ac) 产出工序1
        ,sum(ad) 产出工序2
        ,CASE 
            WHEN sum(ct) > 1
                THEN sum(RolledYiel) / 2
            ELSE sum(RolledYiel)
            END 直通率
        ,sum(NGNUM) 不良数
        ,CASE 
            WHEN sum(ct) > 1
                THEN sum(xl) / 2
            ELSE sum(xl)
            END 生产效率
        ,wgl 工单完成率
    FROM @viewlist
    GROUP BY hh
        ,MODEL_NO
        ,LOT_NAME
        ,wgl
    HAVING NOT (
            sum(ab) = 0
            AND sum(ac) = 0
            AND sum(ad) = 0
            )
    ORDER BY hh DESC
END

存储过程名: usp_QueryBoxsNum

说明:

CREATE PROCEDURE [dbo].[usp_QueryBoxsNum] @boxname NVARCHAR(200)
AS
BEGIN
    WITH cte
    AS (
        SELECT cb.box_id
            ,cb.box_number
            ,cb.qty
            ,b.box_type
            ,cb.serial_number
        FROM CT_BOX_ITEMS(NOLOCK) cb
        JOIN CT_BOXS(NOLOCK) b ON cb.box_id = b.id
        WHERE b.box_number = @boxname

        UNION ALL

        SELECT cb.box_id
            ,cb.box_number
            ,cb.qty
            ,b.box_type
            ,cb.serial_number
        FROM CT_BOX_ITEMS(NOLOCK) cb
        JOIN (
            SELECT id
                ,bs.box_type
            FROM CT_BOXS(NOLOCK) bs
            JOIN cte bb ON bs.box_number = bb.serial_number
            ) b ON cb.box_id = b.id
        )
    SELECT b.box_type
        ,ctbox.box_number
        ,ctbox.serial_number
        ,ctbox.qty
    INTO #TT
    FROM CT_BOX_ITEMS(NOLOCK) ctbox
    JOIN (
        SELECT id
            ,bs.box_type
        FROM CT_BOXS(NOLOCK) bs
        JOIN cte bb ON bs.box_number = bb.serial_number
        ) b ON ctbox.box_id = b.id

    SELECT sum(qty) totalboxs
    FROM (
        SELECT DISTINCT *
        FROM (
            SELECT *
            FROM #TT

            UNION ALL

            SELECT b.box_type
                ,cb.box_number
                ,cb.serial_number
                ,cb.qty
            FROM CT_BOX_ITEMS(NOLOCK) cb
            JOIN CT_BOXS(NOLOCK) b ON cb.box_id = b.id
            WHERE b.box_number = @boxname
            ) bxs
        ) hboxs
    WHERE box_type = '1级'
END

存储过程名: usp_updateLot

说明:

CREATE PROCEDURE [dbo].[usp_updateLot] @pt VARCHAR(50)
    ,@lotid VARCHAR(50)
    ,@userid VARCHAR(30)
    ,@result VARCHAR(5000) OUT
AS
BEGIN
    --  public int WriteUIDInfor(string UID, string PN, int QTY, string LotNO, string DC, string SupplierCode, string USERCODE)
    ----定义存储过程名称
    DECLARE @p1 NVARCHAR(50)
        ,@p2 NVARCHAR(20)
        ,@p3 NVARCHAR(20)

    SET @p1 = 'ProudctName'
    SET @p2 = 'LotID'
    SET @p3 = 'UserName'
        --declare @bin varbinary(max)
          -- --set @bin=Convert(varbinary(max), '9417+EJG031-1ZZZ')
        --   set @bin=Convert(varbinary(max), @pt)
        --   select @pt=cast(N'' as xml).value('xs:base64Binary(xs:hexBinary(sql:variable("@bin")))', 'varchar(max)')

    DECLARE @UrlAddress VARCHAR(300)

    SET @UrlAddress = 'http://192.168.161.219/v1/Content/baseinfo/Products.aspx?Oper=wmscopyproduct'

    -- DECLARE @data varchar(max);
    --set @data='{  
    --               "ProudctName":'+@pt+',
    --               "LotID":'+@lotid+',
    --            "UserName":'+@userid+'
    --           }'      
    DECLARE @obj INT
    DECLARE @url VARCHAR(500)
    DECLARE @response VARCHAR(5000)

    SET @url = @UrlAddress + '&' + @p1 + '=' + @pt + '&' + @p2 + '=' + @lotid + '&' + @p3 + '=' + @userid;

    --PRINT @url;
    EXEC sp_OACreate 'MSXML2.ServerXMLHttp'
        ,@obj OUT

    EXEC sp_OAMethod @obj
        ,'Open'
        ,NULL
        ,'GET'
        ,@url
        ,false

    --Exec sp_OAMethod @obj, 'setRequestHeader', NULL, 'Content-Type','application/json'
    EXEC sp_OAMethod @obj
        ,'send' --,@data 

    EXEC sp_OAGetProperty @obj
        ,'responseText'
        ,@response OUT

    SELECT @result = @response

    EXEC sp_OADestroy @obj
END

存储过程名: usp_Workshop_kanban

说明:

CREATE PROCEDURE [dbo].[usp_Workshop_kanban] @workshop VARCHAR(50)
AS
BEGIN
    DECLARE @OnlineworkorderList TABLE (
        partno NVARCHAR(100)
        ,WO NVARCHAR(50)
        ,Line_id NVARCHAR(50)
        ,LineName NVARCHAR(50)
        ,rn INT
        )

    INSERT INTO @OnlineworkorderList
    SELECT *
    FROM (
        SELECT w.MODEL_NO
            ,w.LOT_NAME
            ,bline.LINE_ID
            ,bline.NAME
            ,row_number() OVER (
                PARTITION BY LINE_ID ORDER BY START_TIME DESC
                ) AS rn
        FROM [Udit.SFC].[dbo].[QS_WIP](NOLOCK) w
        JOIN (
            SELECT line.LINE_ID
                ,std.STATION_ID
                ,Line.NAME
            FROM CT_LINES Line(NOLOCK)
            JOIN CT_STATIONS(NOLOCK) std ON line.LINE_ID = std.LINE_ID
            WHERE WORK_CENTER_ID = @workshop
            ) bline ON w.STATION_ID = bline.STATION_ID
        WHERE w.start_time > convert(VARCHAR(30), getdate(), 23)
            AND w.start_time < convert(VARCHAR(30), DATEADD(DAY, 1, getdate()), 23)
        ) t
    WHERE rn = 1

    DECLARE @OnlineworkorderList2 TABLE (
        partno NVARCHAR(100)
        ,WO NVARCHAR(50)
        )

    INSERT INTO @OnlineworkorderList2
    SELECT DISTINCT partno
        ,wo
    FROM @OnlineworkorderList

    DECLARE @LineWoList TABLE (
        LineName NVARCHAR(50)
        ,wo NVARCHAR(50)
        ,PartNo NVARCHAR(100)
        ,WOQTY DECIMAL(13, 2)
        ,WOPASS INT
        ,WOcompletionRate DECIMAL(5, 2)
        ,WODefectRate DECIMAL(5, 2)
        )

    INSERT @LineWoList
    SELECT a.LineName
        ,a.WO
        ,a.partno
        ,a.QUANTITY
        ,a.PASS
        ,a.WOcompletionRate
        ,Convert(DECIMAL(8, 2), (b.failqty * 100) / isnull(a.QUANTITY, 1))
    FROM (
        SELECT owo.LineName
            ,owo.WO
            ,owo.partno
            ,ql.QUANTITY
            ,qsa.ATTRIBUTE_VALUE
            ,ctr.PASS
            ,Convert(DECIMAL(8, 2), Convert(DECIMAL(13, 2), (ctr.PASS) * 100) / ql.QUANTITY) WOcompletionRate
        FROM @OnlineworkorderList owo
        JOIN qs_lots(NOLOCK) ql ON owo.WO = ql.LOT_NAME
        JOIN QS_LOTS_ATTRIBUTES(NOLOCK) qsa ON ql.LOT_ID = qsa.LOT_ID
            AND qsa.ATTRIBUTE_NAME = 'Produce'
        JOIN [dbo].[CT_LotRouteStatus](NOLOCK) ctr ON owo.WO = ctr.Lot_Name
            AND ctr.Route_Step_id = qsa.ATTRIBUTE_VALUE
        ) a
    LEFT JOIN (
        SELECT Lot_Name
            ,convert(DECIMAL(13, 2), isnull(sum(Fail), 0)) failqty
        FROM [dbo].[CT_LotRouteStatus](NOLOCK) lrs
        JOIN @OnlineworkorderList2 wol ON wol.WO = lrs.Lot_Name
        GROUP BY Lot_Name
        ) b ON a.WO = b.Lot_Name

    SELECT sum(WOQTY) 工单总数
        ,sum(WOPASS) 工单完成数
    FROM @LineWoList

    SELECT LineName 线体名称
        ,WO 工单
        ,PartNo 机种
        ,WOQTY 工单数量
        ,WOPASS 工单完成数
        ,WOcompletionRate 工单完成率
        ,WODefectRate 工单不良率
    FROM @LineWoList
    ORDER BY LineName

    SELECT TOP 5 DEFECT_LABEL 不良类型
        ,isnull(sum(defectqty), 0) 不良数量
    FROM (
        SELECT DEFECT_LABEL
            ,CASE 
                WHEN ISNUMERIC(SERIAL_NUMBER) = 1
                    THEN (
                            CASE 
                                WHEN convert(BIGINT, SERIAL_NUMBER) > 10000
                                    THEN 1
                                ELSE convert(BIGINT, SERIAL_NUMBER)
                                END
                            )
                WHEN ISNUMERIC(SERIAL_NUMBER) = 0
                    THEN 1
                ELSE 0
                END defectqty
        FROM @OnlineworkorderList wolist
        JOIN QS_DEFECTS(NOLOCK) def ON wolist.WO = def.LOT_NAME
        ) d
    GROUP BY DEFECT_LABEL
    ORDER BY sum(defectqty) DESC

    DECLARE @lot_name NVARCHAR(50)
    DECLARE @lotuph TABLE (
        lotname NVARCHAR(50)
        ,lotuph INT
        )

    DELETE @lotuph

    DECLARE cur CURSOR
    FOR
    SELECT wo
    FROM @OnlineworkorderList

    OPEN cur

    FETCH NEXT
    FROM cur
    INTO @lot_name

    WHILE (@@FETCH_STATUS = 0)
    BEGIN
        INSERT INTO @lotuph
        SELECT TOP 1 OriginalNum
            ,UPH
        FROM [Udit.Mms].[dbo].[mms_OrderPlanningDetail](NOLOCK)
        WHERE OriginalNum = @lot_name
        ORDER BY CreateDate DESC

        FETCH NEXT
        FROM cur
        INTO @lot_name
    END

    CLOSE cur

    DEALLOCATE cur

    DECLARE @woroute TABLE (
        workorder NVARCHAR(50)
        ,routwo NVARCHAR(60)
        )

    INSERT INTO @woroute
    SELECT wo
        ,qsa.ATTRIBUTE_VALUE
    FROM @OnlineworkorderList2 wdl2
    JOIN qs_lots(NOLOCK) ql ON wdl2.WO = ql.LOT_NAME
    LEFT JOIN QS_LOTS_ATTRIBUTES(NOLOCK) qsa ON ql.LOT_ID = qsa.LOT_ID
        AND qsa.ATTRIBUTE_NAME = 'Produce'

    DECLARE @listwosumbyhour TABLE (
        wo NVARCHAR(50)
        ,wosum INT
        ,hh INT
        )

    INSERT @listwosumbyhour
    SELECT owo.WO
        ,sum(CASE 
                WHEN ISNUMERIC(w.SERIAL_NUMBER) = 1
                    THEN (
                            CASE 
                                WHEN convert(BIGINT, w.SERIAL_NUMBER) > 10000
                                    THEN 1
                                ELSE convert(BIGINT, w.SERIAL_NUMBER)
                                END
                            )
                WHEN ISNUMERIC(w.SERIAL_NUMBER) = 0
                    THEN 1
                ELSE 0
                END) Hour_total
        ,DATENAME(HOUR, w.START_TIME) hh
    FROM @OnlineworkorderList owo
    JOIN @woroute qsa ON owo.wo = qsa.workorder
    JOIN QS_WIP(NOLOCK) w ON w.LOT_NAME = owo.WO
        AND w.ROUTE_STEP_ID = qsa.routwo
    WHERE w.start_time > convert(VARCHAR(30), getdate(), 23)
        AND w.start_time < convert(VARCHAR(30), DATEADD(DAY, 1, getdate()), 23)
    GROUP BY owo.WO
        ,DATENAME(HOUR, w.START_TIME)

    SELECT hh 小时
        ,sum(isnull(wosum, 0)) 生产数
        ,sum(isnull(lotuph, 0)) 目标数
    FROM @listwosumbyhour woh
    LEFT JOIN @lotuph uph ON woh.wo = uph.lotname
    GROUP BY hh
END
作者:王世杰  创建时间:2025-08-22 10:15
最后编辑:王世杰  更新时间:2025-08-22 10:44