chore: 保存盘点开发前改动
This commit is contained in:
133
sql/20260624_update_job_dicts.sql
Normal file
133
sql/20260624_update_job_dicts.sql
Normal file
@@ -0,0 +1,133 @@
|
||||
-- Align job status/type display dictionaries for inbound job workflow.
|
||||
-- status: 1=未执行, 2=正执行, 4=已完成, 5=已作废
|
||||
-- execution_phase: 0=生成作业, 1=下发到WCS, 5=等待扫码确认
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = N'mydo_job_status' AND dict_value = N'1')
|
||||
BEGIN
|
||||
UPDATE sys_dict_data
|
||||
SET dict_label = N'未执行',
|
||||
dict_sort = 0,
|
||||
list_class = N'default',
|
||||
status = N'0'
|
||||
WHERE dict_type = N'mydo_job_status'
|
||||
AND dict_value = N'1';
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, list_class, is_default, status, create_by, create_time)
|
||||
VALUES (0, N'未执行', N'1', N'mydo_job_status', N'default', N'N', N'0', N'admin', GETDATE());
|
||||
END
|
||||
|
||||
IF EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = N'mydo_job_status' AND dict_value = N'2')
|
||||
BEGIN
|
||||
UPDATE sys_dict_data
|
||||
SET dict_label = N'正执行',
|
||||
dict_sort = 1,
|
||||
list_class = N'primary',
|
||||
status = N'0'
|
||||
WHERE dict_type = N'mydo_job_status'
|
||||
AND dict_value = N'2';
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, list_class, is_default, status, create_by, create_time)
|
||||
VALUES (1, N'正执行', N'2', N'mydo_job_status', N'primary', N'N', N'0', N'admin', GETDATE());
|
||||
END
|
||||
|
||||
IF EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = N'mydo_job_status' AND dict_value = N'4')
|
||||
BEGIN
|
||||
UPDATE sys_dict_data
|
||||
SET dict_label = N'已完成',
|
||||
dict_sort = 3,
|
||||
list_class = N'success',
|
||||
status = N'0'
|
||||
WHERE dict_type = N'mydo_job_status'
|
||||
AND dict_value = N'4';
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, list_class, is_default, status, create_by, create_time)
|
||||
VALUES (3, N'已完成', N'4', N'mydo_job_status', N'success', N'N', N'0', N'admin', GETDATE());
|
||||
END
|
||||
|
||||
IF EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = N'mydo_job_status' AND dict_value = N'5')
|
||||
BEGIN
|
||||
UPDATE sys_dict_data
|
||||
SET dict_label = N'已作废',
|
||||
dict_sort = 4,
|
||||
list_class = N'danger',
|
||||
status = N'0'
|
||||
WHERE dict_type = N'mydo_job_status'
|
||||
AND dict_value = N'5';
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, list_class, is_default, status, create_by, create_time)
|
||||
VALUES (4, N'已作废', N'5', N'mydo_job_status', N'danger', N'N', N'0', N'admin', GETDATE());
|
||||
END
|
||||
|
||||
IF EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = N'mydo_job_execution_phase' AND dict_value = N'0')
|
||||
BEGIN
|
||||
UPDATE sys_dict_data
|
||||
SET dict_label = N'生成作业',
|
||||
dict_sort = 0,
|
||||
list_class = N'default',
|
||||
status = N'0'
|
||||
WHERE dict_type = N'mydo_job_execution_phase'
|
||||
AND dict_value = N'0';
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, list_class, is_default, status, create_by, create_time)
|
||||
VALUES (0, N'生成作业', N'0', N'mydo_job_execution_phase', N'default', N'N', N'0', N'admin', GETDATE());
|
||||
END
|
||||
|
||||
IF EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = N'mydo_job_execution_phase' AND dict_value = N'1')
|
||||
BEGIN
|
||||
UPDATE sys_dict_data
|
||||
SET dict_label = N'下发到WCS',
|
||||
dict_sort = 1,
|
||||
list_class = N'primary',
|
||||
status = N'0'
|
||||
WHERE dict_type = N'mydo_job_execution_phase'
|
||||
AND dict_value = N'1';
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, list_class, is_default, status, create_by, create_time)
|
||||
VALUES (1, N'下发到WCS', N'1', N'mydo_job_execution_phase', N'primary', N'N', N'0', N'admin', GETDATE());
|
||||
END
|
||||
|
||||
IF EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = N'mydo_job_execution_phase' AND dict_value = N'5')
|
||||
BEGIN
|
||||
UPDATE sys_dict_data
|
||||
SET dict_label = N'等待扫码确认',
|
||||
dict_sort = 5,
|
||||
list_class = N'warning',
|
||||
status = N'0'
|
||||
WHERE dict_type = N'mydo_job_execution_phase'
|
||||
AND dict_value = N'5';
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, list_class, is_default, status, create_by, create_time)
|
||||
VALUES (5, N'等待扫码确认', N'5', N'mydo_job_execution_phase', N'warning', N'N', N'0', N'admin', GETDATE());
|
||||
END
|
||||
|
||||
IF EXISTS (SELECT 1 FROM sys_dict_data WHERE dict_type = N'in_job_type' AND dict_value = N'5')
|
||||
BEGIN
|
||||
UPDATE sys_dict_data
|
||||
SET dict_label = N'回流入库',
|
||||
dict_sort = 4,
|
||||
list_class = N'warning',
|
||||
status = N'0'
|
||||
WHERE dict_type = N'in_job_type'
|
||||
AND dict_value = N'5';
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, list_class, is_default, status, create_by, create_time)
|
||||
VALUES (4, N'回流入库', N'5', N'in_job_type', N'warning', N'N', N'0', N'admin', GETDATE());
|
||||
END
|
||||
@@ -35,6 +35,7 @@ GO
|
||||
IF COL_LENGTH('dbo.bas_station_point', 'point_size') IS NULL
|
||||
ALTER TABLE dbo.bas_station_point ADD point_size varchar(8) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT DF_bas_station_point_point_size DEFAULT '1';
|
||||
GO
|
||||
-- point_size:1=大点位,2=小点位,3=通用点位。
|
||||
IF COL_LENGTH('dbo.bas_station_point', 'tray_type') IS NULL
|
||||
ALTER TABLE dbo.bas_station_point ADD tray_type varchar(128) COLLATE Chinese_PRC_CI_AS NULL CONSTRAINT DF_bas_station_point_tray_type DEFAULT '';
|
||||
GO
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
IF OBJECT_ID(N'dbo.bas_stock_detail', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.bas_stock_detail (
|
||||
detail_id nvarchar(32) NOT NULL,
|
||||
detail_id nvarchar(80) NOT NULL,
|
||||
stock_id nvarchar(32) NOT NULL,
|
||||
product_status nvarchar(2) NULL,
|
||||
lot_no nvarchar(80) NULL,
|
||||
@@ -19,6 +19,12 @@ BEGIN
|
||||
END
|
||||
GO
|
||||
|
||||
IF COL_LENGTH('dbo.bas_stock_detail', 'detail_id') < 160
|
||||
BEGIN
|
||||
ALTER TABLE dbo.bas_stock_detail ALTER COLUMN detail_id nvarchar(80) NOT NULL;
|
||||
END
|
||||
GO
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE name = N'IX_bas_stock_detail_stock_id' AND object_id = OBJECT_ID(N'dbo.bas_stock_detail'))
|
||||
BEGIN
|
||||
CREATE INDEX IX_bas_stock_detail_stock_id ON dbo.bas_stock_detail(stock_id);
|
||||
@@ -43,7 +49,7 @@ INSERT INTO dbo.bas_stock_detail (
|
||||
quantity, out_quantity, job_detail_id, stockin_detail_id, create_time
|
||||
)
|
||||
SELECT
|
||||
LEFT(REPLACE(CONVERT(varchar(36), NEWID()), '-', ''), 32),
|
||||
bs.stock_id + N'-1',
|
||||
bs.stock_id,
|
||||
bs.product_status,
|
||||
bs.lot_no,
|
||||
@@ -82,6 +88,14 @@ LEFT JOIN (
|
||||
) bsa ON bsa.stock_id = bs.stock_id;
|
||||
GO
|
||||
|
||||
UPDATE bs
|
||||
SET bs.warehouse_name = bw.warehouse_name
|
||||
FROM dbo.bas_stock bs
|
||||
INNER JOIN dbo.bas_warehouse bw ON bs.warehouse_id = bw.warehouse_id
|
||||
WHERE (bs.warehouse_name IS NULL OR bs.warehouse_name = '')
|
||||
AND bw.warehouse_name IS NOT NULL;
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'[dbo].[proc_complete_in_job]', N'P') IS NOT NULL
|
||||
BEGIN
|
||||
DROP PROCEDURE [dbo].[proc_complete_in_job];
|
||||
@@ -100,12 +114,15 @@ BEGIN
|
||||
SET XACT_ABORT ON;
|
||||
|
||||
DECLARE
|
||||
@now DATETIME = GETDATE(),
|
||||
@now DATETIME2(3) = SYSDATETIME(),
|
||||
@tray_code NVARCHAR(255),
|
||||
@warehouse_id NVARCHAR(80),
|
||||
@warehouse_name NVARCHAR(255),
|
||||
@cargo_space_id NVARCHAR(80),
|
||||
@stock_id NVARCHAR(32),
|
||||
@detail_id NVARCHAR(32);
|
||||
@detail_id NVARCHAR(80),
|
||||
@detail_index INT = 0,
|
||||
@in_type NVARCHAR(5);
|
||||
|
||||
DECLARE
|
||||
@job_detail_id NVARCHAR(80),
|
||||
@@ -133,7 +150,12 @@ BEGIN
|
||||
SELECT
|
||||
@cargo_space_id = cargo_space_id,
|
||||
@tray_code = tray_code,
|
||||
@warehouse_id = warehouse_id
|
||||
@warehouse_id = warehouse_id,
|
||||
@warehouse_name = ISNULL(NULLIF(warehouse_name, ''), (
|
||||
SELECT TOP 1 bw.warehouse_name
|
||||
FROM bas_warehouse bw
|
||||
WHERE bw.warehouse_id = mydo_job.warehouse_id
|
||||
))
|
||||
FROM mydo_job WHERE job_id = @job_id;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM bas_cargo_space WHERE cargo_space_id = @cargo_space_id)
|
||||
@@ -163,22 +185,27 @@ BEGIN
|
||||
SET assign_num = ISNULL(assign_num, 0) + @in_quantity
|
||||
WHERE stockin_detail_id = @stockin_detail_id;
|
||||
|
||||
SET @detail_id = LEFT(REPLACE(CONVERT(varchar(36), NEWID()), '-', ''), 32);
|
||||
|
||||
IF @stock_id IS NULL
|
||||
BEGIN
|
||||
SET @stock_id = LEFT(REPLACE(CONVERT(varchar(36), NEWID()), '-', ''), 32);
|
||||
SELECT TOP 1 @in_type = in_type
|
||||
FROM in_stockin
|
||||
WHERE stockin_id = @stockin_id;
|
||||
|
||||
SET @stock_id = 'KC' + FORMAT(@now, 'yyyyMMddHHmmssfff');
|
||||
|
||||
INSERT INTO bas_stock (
|
||||
stock_id, cargo_space_id, stock_status, in_date, quantity,
|
||||
job_id, tray_code, out_quantity, stockin_id, warehouse_id
|
||||
job_id, tray_code, out_quantity, stockin_id, in_type, warehouse_id, warehouse_name
|
||||
)
|
||||
VALUES (
|
||||
@stock_id, @cargo_space_id, '1', @now, 0,
|
||||
@job_id, @tray_code, 0, @stockin_id, @warehouse_id
|
||||
@job_id, @tray_code, 0, @stockin_id, @in_type, @warehouse_id, @warehouse_name
|
||||
);
|
||||
END;
|
||||
|
||||
SET @detail_index = @detail_index + 1;
|
||||
SET @detail_id = @stock_id + N'-' + CONVERT(NVARCHAR(10), @detail_index);
|
||||
|
||||
INSERT INTO bas_stock_detail (
|
||||
detail_id, stock_id, product_status, lot_no, product_id, product_name,
|
||||
quantity, out_quantity, job_detail_id, stockin_detail_id, create_time
|
||||
@@ -197,7 +224,7 @@ BEGIN
|
||||
DEALLOCATE cur_finish_job_detail;
|
||||
|
||||
UPDATE bas_cargo_space
|
||||
SET status = '2', tray_code = @tray_code, locked = 'N'
|
||||
SET status = '2', tray_code = @tray_code
|
||||
WHERE cargo_space_id = @cargo_space_id;
|
||||
|
||||
UPDATE bs
|
||||
|
||||
170
sql/location_outbound.sql
Normal file
170
sql/location_outbound.sql
Normal file
@@ -0,0 +1,170 @@
|
||||
-- 指定货位出库菜单与货位状态字典补丁
|
||||
-- 目标库:FTC25009-WMS
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF EXISTS (SELECT 1 FROM dbo.sys_dict_data WHERE dict_type = N'bas_cargo_space_status' AND dict_value = N'4')
|
||||
BEGIN
|
||||
UPDATE dbo.sys_dict_data
|
||||
SET dict_label = N'出库已分配',
|
||||
dict_sort = 4,
|
||||
list_class = N'warning',
|
||||
status = N'0',
|
||||
update_by = N'admin',
|
||||
update_time = GETDATE()
|
||||
WHERE dict_type = N'bas_cargo_space_status'
|
||||
AND dict_value = N'4';
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO dbo.sys_dict_data (dict_sort, dict_label, dict_value, dict_type, list_class, is_default, status, create_by, create_time)
|
||||
VALUES (4, N'出库已分配', N'4', N'bas_cargo_space_status', N'warning', N'N', N'0', N'admin', GETDATE());
|
||||
END
|
||||
|
||||
DECLARE @outMenuId bigint = 2001;
|
||||
DECLARE @preferredLocationOutboundMenuId bigint = 2220;
|
||||
DECLARE @locationOutboundMenuId bigint;
|
||||
DECLARE @queryButtonMenuId bigint;
|
||||
DECLARE @generateButtonMenuId bigint;
|
||||
DECLARE @menuIdIsIdentity bit = COLUMNPROPERTY(OBJECT_ID(N'dbo.sys_menu'), 'menu_id', 'IsIdentity');
|
||||
|
||||
SELECT TOP 1 @locationOutboundMenuId = menu_id
|
||||
FROM dbo.sys_menu
|
||||
WHERE menu_type = N'C'
|
||||
AND (
|
||||
perms = N'out:locationOutbound:list'
|
||||
OR (path = N'locationOutbound' AND component = N'out/locationOutbound/index')
|
||||
)
|
||||
ORDER BY menu_id;
|
||||
|
||||
IF @locationOutboundMenuId IS NULL
|
||||
BEGIN
|
||||
SET @locationOutboundMenuId = @preferredLocationOutboundMenuId;
|
||||
WHILE EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @locationOutboundMenuId)
|
||||
SET @locationOutboundMenuId = @locationOutboundMenuId + 1;
|
||||
END
|
||||
|
||||
SELECT TOP 1 @queryButtonMenuId = menu_id
|
||||
FROM dbo.sys_menu
|
||||
WHERE parent_id = @locationOutboundMenuId
|
||||
AND menu_type = N'F'
|
||||
AND perms = N'out:locationOutbound:list'
|
||||
ORDER BY menu_id;
|
||||
|
||||
IF @queryButtonMenuId IS NULL
|
||||
BEGIN
|
||||
SET @queryButtonMenuId = @locationOutboundMenuId + 1;
|
||||
WHILE EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @queryButtonMenuId)
|
||||
SET @queryButtonMenuId = @queryButtonMenuId + 1;
|
||||
END
|
||||
|
||||
SELECT TOP 1 @generateButtonMenuId = menu_id
|
||||
FROM dbo.sys_menu
|
||||
WHERE parent_id = @locationOutboundMenuId
|
||||
AND menu_type = N'F'
|
||||
AND perms = N'out:locationOutbound:generate'
|
||||
ORDER BY menu_id;
|
||||
|
||||
IF @generateButtonMenuId IS NULL
|
||||
BEGIN
|
||||
SET @generateButtonMenuId = @queryButtonMenuId + 1;
|
||||
WHILE EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @generateButtonMenuId)
|
||||
SET @generateButtonMenuId = @generateButtonMenuId + 1;
|
||||
END
|
||||
|
||||
IF @menuIdIsIdentity = 1
|
||||
SET IDENTITY_INSERT dbo.sys_menu ON;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @locationOutboundMenuId)
|
||||
BEGIN
|
||||
INSERT INTO dbo.sys_menu (
|
||||
menu_id, menu_name, parent_id, order_num, path, component, query, route_name,
|
||||
is_frame, is_cache, menu_type, visible, status, perms, icon,
|
||||
create_by, create_time, update_by, update_time, remark
|
||||
)
|
||||
VALUES (
|
||||
@locationOutboundMenuId, N'指定货位出库', @outMenuId, 4, N'locationOutbound', N'out/locationOutbound/index', NULL, N'',
|
||||
1, 0, N'C', N'0', N'0', N'out:locationOutbound:list', N'guide',
|
||||
N'admin', GETDATE(), N'', NULL, N''
|
||||
);
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
UPDATE dbo.sys_menu
|
||||
SET menu_name = N'指定货位出库',
|
||||
parent_id = @outMenuId,
|
||||
order_num = 4,
|
||||
path = N'locationOutbound',
|
||||
component = N'out/locationOutbound/index',
|
||||
perms = N'out:locationOutbound:list',
|
||||
icon = N'guide',
|
||||
visible = N'0',
|
||||
status = N'0',
|
||||
update_by = N'admin',
|
||||
update_time = GETDATE()
|
||||
WHERE menu_id = @locationOutboundMenuId;
|
||||
END
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @queryButtonMenuId)
|
||||
BEGIN
|
||||
INSERT INTO dbo.sys_menu (
|
||||
menu_id, menu_name, parent_id, order_num, path, component, query, route_name,
|
||||
is_frame, is_cache, menu_type, visible, status, perms, icon,
|
||||
create_by, create_time, update_by, update_time, remark
|
||||
)
|
||||
VALUES (
|
||||
@queryButtonMenuId, N'指定货位出库查询', @locationOutboundMenuId, 1, N'#', N'', NULL, N'',
|
||||
1, 0, N'F', N'0', N'0', N'out:locationOutbound:list', N'#',
|
||||
N'admin', GETDATE(), N'', NULL, N''
|
||||
);
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
UPDATE dbo.sys_menu
|
||||
SET menu_name = N'指定货位出库查询',
|
||||
parent_id = @locationOutboundMenuId,
|
||||
order_num = 1,
|
||||
path = N'#',
|
||||
component = N'',
|
||||
perms = N'out:locationOutbound:list',
|
||||
icon = N'#',
|
||||
visible = N'0',
|
||||
status = N'0',
|
||||
update_by = N'admin',
|
||||
update_time = GETDATE()
|
||||
WHERE menu_id = @queryButtonMenuId;
|
||||
END
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @generateButtonMenuId)
|
||||
BEGIN
|
||||
INSERT INTO dbo.sys_menu (
|
||||
menu_id, menu_name, parent_id, order_num, path, component, query, route_name,
|
||||
is_frame, is_cache, menu_type, visible, status, perms, icon,
|
||||
create_by, create_time, update_by, update_time, remark
|
||||
)
|
||||
VALUES (
|
||||
@generateButtonMenuId, N'生成出库作业', @locationOutboundMenuId, 2, N'#', N'', NULL, N'',
|
||||
1, 0, N'F', N'0', N'0', N'out:locationOutbound:generate', N'#',
|
||||
N'admin', GETDATE(), N'', NULL, N''
|
||||
);
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
UPDATE dbo.sys_menu
|
||||
SET menu_name = N'生成出库作业',
|
||||
parent_id = @locationOutboundMenuId,
|
||||
order_num = 2,
|
||||
path = N'#',
|
||||
component = N'',
|
||||
perms = N'out:locationOutbound:generate',
|
||||
icon = N'#',
|
||||
visible = N'0',
|
||||
status = N'0',
|
||||
update_by = N'admin',
|
||||
update_time = GETDATE()
|
||||
WHERE menu_id = @generateButtonMenuId;
|
||||
END
|
||||
|
||||
IF @menuIdIsIdentity = 1
|
||||
SET IDENTITY_INSERT dbo.sys_menu OFF;
|
||||
GO
|
||||
@@ -46,6 +46,78 @@ BEGIN
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'dbo.bas_stock_finish', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.bas_stock_finish (
|
||||
stock_id nvarchar(32) NOT NULL,
|
||||
cargo_space_id nvarchar(80) NULL,
|
||||
stock_status nvarchar(2) NULL,
|
||||
product_status nvarchar(2) NULL,
|
||||
lot_no nvarchar(80) NULL,
|
||||
in_date datetime2(7) NULL,
|
||||
back_date datetime2(7) NULL,
|
||||
product_id nvarchar(80) NULL,
|
||||
product_name nvarchar(255) NULL,
|
||||
quantity decimal(18, 0) NULL,
|
||||
job_id nvarchar(80) NULL,
|
||||
job_detail_id nvarchar(255) NULL,
|
||||
tray_code nvarchar(225) NULL,
|
||||
out_quantity decimal(18, 0) NULL,
|
||||
stockin_detail_id nvarchar(80) NULL,
|
||||
stockin_id nvarchar(80) NULL,
|
||||
in_type nvarchar(5) NULL,
|
||||
warehouse_id nvarchar(80) NULL,
|
||||
warehouse_name nvarchar(255) NULL,
|
||||
user_id int NULL,
|
||||
user_name nvarchar(255) NULL,
|
||||
dept_id int NULL,
|
||||
dept_name nvarchar(255) NULL,
|
||||
supplier_id nvarchar(255) NULL,
|
||||
supplier_name nvarchar(255) NULL,
|
||||
delete_time datetime2(7) NULL
|
||||
);
|
||||
END
|
||||
GO
|
||||
|
||||
IF COL_LENGTH('dbo.bas_stock_finish', 'delete_time') IS NULL
|
||||
BEGIN
|
||||
ALTER TABLE dbo.bas_stock_finish ADD delete_time datetime2(7) NULL;
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'dbo.bas_stock_detail_finish', N'U') IS NULL
|
||||
BEGIN
|
||||
CREATE TABLE dbo.bas_stock_detail_finish (
|
||||
detail_id nvarchar(80) NOT NULL,
|
||||
stock_id nvarchar(32) NOT NULL,
|
||||
product_status nvarchar(2) NULL,
|
||||
lot_no nvarchar(80) NULL,
|
||||
product_id nvarchar(80) NULL,
|
||||
product_name nvarchar(255) NULL,
|
||||
quantity decimal(18, 0) NULL,
|
||||
out_quantity decimal(18, 0) NULL,
|
||||
job_detail_id nvarchar(255) NULL,
|
||||
stockin_detail_id nvarchar(80) NULL,
|
||||
create_time datetime2(7) NULL,
|
||||
update_time datetime2(7) NULL,
|
||||
remark nvarchar(500) NULL,
|
||||
delete_time datetime2(7) NULL
|
||||
);
|
||||
END
|
||||
GO
|
||||
|
||||
IF COL_LENGTH('dbo.bas_stock_detail_finish', 'delete_time') IS NULL
|
||||
BEGIN
|
||||
ALTER TABLE dbo.bas_stock_detail_finish ADD delete_time datetime2(7) NULL;
|
||||
END
|
||||
GO
|
||||
|
||||
IF COL_LENGTH('dbo.bas_stock_detail_finish', 'detail_id') < 160
|
||||
BEGIN
|
||||
ALTER TABLE dbo.bas_stock_detail_finish ALTER COLUMN detail_id nvarchar(80) NOT NULL;
|
||||
END
|
||||
GO
|
||||
|
||||
IF OBJECT_ID(N'dbo.proc_update_outbill_status', N'P') IS NOT NULL
|
||||
DROP PROCEDURE dbo.proc_update_outbill_status;
|
||||
GO
|
||||
@@ -182,6 +254,7 @@ GO
|
||||
CREATE PROCEDURE dbo.proc_out_hand_allocation
|
||||
@v_stockout_detail_id varchar(80),
|
||||
@v_stock_id varchar(80),
|
||||
@v_exit_id varchar(80),
|
||||
@v_result int OUTPUT,
|
||||
@v_resultString varchar(100) OUTPUT
|
||||
AS
|
||||
@@ -211,10 +284,12 @@ BEGIN
|
||||
@available_qty decimal(18, 0),
|
||||
@alloc_qty decimal(18, 0),
|
||||
@job_id nvarchar(80),
|
||||
@job_type int,
|
||||
@task_no nvarchar(80),
|
||||
@job_detail_id nvarchar(80),
|
||||
@row_idx int,
|
||||
@tray_code nvarchar(255),
|
||||
@tray_type nvarchar(80),
|
||||
@cargo_space_id nvarchar(80),
|
||||
@cargo_space_name nvarchar(255),
|
||||
@roadway_id nvarchar(80),
|
||||
@@ -223,6 +298,7 @@ BEGIN
|
||||
@supplier_id nvarchar(255),
|
||||
@supplier_name nvarchar(255),
|
||||
@exit_id nvarchar(80),
|
||||
@existing_job_id nvarchar(80),
|
||||
@now datetime = GETDATE();
|
||||
|
||||
SELECT TOP 1
|
||||
@@ -257,6 +333,13 @@ BEGIN
|
||||
RETURN;
|
||||
END
|
||||
|
||||
IF @v_exit_id IS NULL OR LTRIM(RTRIM(@v_exit_id)) = ''
|
||||
BEGIN
|
||||
SET @v_result = 2;
|
||||
SET @v_resultString = '请选择出库口';
|
||||
RETURN;
|
||||
END
|
||||
|
||||
SET @remaining = @bill_qty - @allot_qty;
|
||||
IF @remaining <= 0
|
||||
BEGIN
|
||||
@@ -288,16 +371,52 @@ BEGIN
|
||||
@cargo_space_name = bcs.cargo_space_name,
|
||||
@roadway_id = bcs.roadway_id,
|
||||
@stock_warehouse_id = bs.warehouse_id,
|
||||
@stock_warehouse_name = bs.warehouse_name,
|
||||
@stock_warehouse_name = ISNULL(NULLIF(bs.warehouse_name, ''), bw.warehouse_name),
|
||||
@tray_type = bbf.tray_type,
|
||||
@supplier_id = bs.supplier_id,
|
||||
@supplier_name = bs.supplier_name
|
||||
FROM dbo.bas_stock_detail bsd WITH (UPDLOCK, HOLDLOCK)
|
||||
INNER JOIN dbo.bas_stock bs WITH (UPDLOCK, HOLDLOCK) ON bsd.stock_id = bs.stock_id
|
||||
LEFT JOIN dbo.bas_cargo_space bcs WITH (UPDLOCK, HOLDLOCK) ON bs.cargo_space_id = bcs.cargo_space_id
|
||||
LEFT JOIN dbo.bas_warehouse bw ON bs.warehouse_id = bw.warehouse_id
|
||||
OUTER APPLY (
|
||||
SELECT TOP 1 prefix AS tray_type
|
||||
FROM dbo.bas_barcode_format bbf
|
||||
WHERE bbf.prefix IS NOT NULL
|
||||
AND bbf.prefix != ''
|
||||
AND bs.tray_code IS NOT NULL
|
||||
AND LEFT(bs.tray_code, LEN(bbf.prefix)) = bbf.prefix
|
||||
ORDER BY LEN(bbf.prefix) DESC
|
||||
) bbf
|
||||
WHERE bsd.product_id = @product_id
|
||||
AND (ISNULL(@lot_no, '') = '' OR ISNULL(bsd.lot_no, '') = ISNULL(@lot_no, ''))
|
||||
AND ISNULL(bsd.quantity, 0) - ISNULL(bsd.out_quantity, 0) > 0
|
||||
AND (bsd.job_detail_id IS NULL OR bsd.job_detail_id = '')
|
||||
AND (
|
||||
bsd.job_detail_id IS NULL OR bsd.job_detail_id = ''
|
||||
OR NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM dbo.mydo_job_detail lock_jd
|
||||
INNER JOIN dbo.mydo_job lock_j ON lock_j.job_id = lock_jd.job_id
|
||||
WHERE lock_jd.job_detail_id = bsd.job_detail_id
|
||||
AND lock_j.in_or_out >= 20
|
||||
AND lock_j.status IN ('1', '2', '3')
|
||||
)
|
||||
)
|
||||
AND (
|
||||
bcs.status = '2'
|
||||
OR EXISTS (
|
||||
SELECT 1
|
||||
FROM dbo.mydo_job ej
|
||||
INNER JOIN dbo.mydo_job_detail ejd ON ej.job_id = ejd.job_id
|
||||
WHERE ej.in_or_out >= 20
|
||||
AND ej.status IN ('1', '2', '3')
|
||||
AND ej.cargo_space_id = bs.cargo_space_id
|
||||
AND ISNULL(ej.tray_code, '') = ISNULL(bs.tray_code, '')
|
||||
AND ISNULL(ej.exit_id, '') = ISNULL(@v_exit_id, '')
|
||||
AND ejd.in_or_out_id = @stockout_id
|
||||
AND ejd.stock_id = bs.stock_id
|
||||
)
|
||||
)
|
||||
AND (@warehouse_id IS NULL OR @warehouse_id = '' OR bs.warehouse_id = @warehouse_id)
|
||||
AND (@locatio IS NULL OR bs.cargo_space_id = @locatio OR bcs.cargo_space_name = @locatio)
|
||||
AND (@preferred_detail_id IS NULL OR bsd.detail_id = @preferred_detail_id)
|
||||
@@ -317,6 +436,7 @@ BEGIN
|
||||
END
|
||||
|
||||
SET @alloc_qty = CASE WHEN @available_qty >= @remaining THEN @remaining ELSE @available_qty END;
|
||||
SET @job_type = CASE WHEN @alloc_qty < @available_qty THEN 21 ELSE 20 END;
|
||||
IF @alloc_qty <= 0
|
||||
BEGIN
|
||||
SET @v_result = 2;
|
||||
@@ -325,30 +445,90 @@ BEGIN
|
||||
RETURN;
|
||||
END
|
||||
|
||||
SELECT TOP 1 @exit_id = point_id
|
||||
FROM dbo.bas_station_point
|
||||
WHERE warehouse_id = @stock_warehouse_id
|
||||
AND point_type IN ('2', '3')
|
||||
AND status = '0'
|
||||
ORDER BY point_type DESC, point_id;
|
||||
|
||||
EXEC dbo.util_serial_job 'CK', @job_id OUTPUT;
|
||||
EXEC dbo.util_serial_task '20', @task_no OUTPUT;
|
||||
|
||||
INSERT INTO dbo.mydo_job (
|
||||
job_id, status, task_no, in_or_out, execution_phase,
|
||||
tray_code, warehouse_id, warehouse_name, roadway_id,
|
||||
cargo_space_id, cargo_space_name, line_type, priority,
|
||||
height, weight, create_time, exit_id, customer_id, customer_name
|
||||
IF NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM dbo.bas_station_point sp
|
||||
WHERE sp.point_id = @v_exit_id
|
||||
AND sp.warehouse_id = @stock_warehouse_id
|
||||
AND sp.point_type IN ('2', '3')
|
||||
AND sp.status = '0'
|
||||
AND ISNULL(sp.point_status, '0') = '0'
|
||||
)
|
||||
VALUES (
|
||||
@job_id, '1', @task_no, 20, '4',
|
||||
@tray_code, @stock_warehouse_id, @stock_warehouse_name, @roadway_id,
|
||||
@cargo_space_id, @cargo_space_name, '1', 10,
|
||||
0.00, 0.00, @now, @exit_id, @customer_id, @customer_name
|
||||
);
|
||||
BEGIN
|
||||
SET @v_result = 2;
|
||||
SET @v_resultString = '出库口不存在、禁用或已占用';
|
||||
ROLLBACK TRANSACTION;
|
||||
RETURN;
|
||||
END
|
||||
|
||||
SET @job_detail_id = @job_id + '-1';
|
||||
IF @tray_type IS NOT NULL
|
||||
AND @tray_type != ''
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM dbo.bas_station_point sp
|
||||
WHERE point_id = @v_exit_id
|
||||
AND warehouse_id = @stock_warehouse_id
|
||||
AND point_type IN ('2', '3')
|
||||
AND status = '0'
|
||||
AND ISNULL(point_status, '0') = '0'
|
||||
AND charindex(',' + @tray_type + ',', ',' + sp.tray_type + ',') > 0
|
||||
)
|
||||
BEGIN
|
||||
SET @v_result = 2;
|
||||
SET @v_resultString = '出库口不支持当前托盘类型';
|
||||
ROLLBACK TRANSACTION;
|
||||
RETURN;
|
||||
END
|
||||
|
||||
SET @exit_id = @v_exit_id;
|
||||
|
||||
SELECT TOP 1
|
||||
@existing_job_id = ej.job_id,
|
||||
@task_no = ej.task_no
|
||||
FROM dbo.mydo_job ej
|
||||
INNER JOIN dbo.mydo_job_detail ejd ON ej.job_id = ejd.job_id
|
||||
WHERE ej.in_or_out >= 20
|
||||
AND ej.status IN ('1', '2', '3')
|
||||
AND ej.cargo_space_id = @cargo_space_id
|
||||
AND ISNULL(ej.tray_code, '') = ISNULL(@tray_code, '')
|
||||
AND ISNULL(ej.exit_id, '') = ISNULL(@exit_id, '')
|
||||
AND ejd.in_or_out_id = @stockout_id
|
||||
AND ejd.stock_id = @stock_id
|
||||
ORDER BY ej.create_time DESC, ej.job_id DESC;
|
||||
|
||||
IF @existing_job_id IS NULL
|
||||
BEGIN
|
||||
EXEC dbo.util_serial_job 'CK', @job_id OUTPUT;
|
||||
EXEC dbo.util_serial_task '20', @task_no OUTPUT;
|
||||
|
||||
INSERT INTO dbo.mydo_job (
|
||||
job_id, status, task_no, in_or_out, execution_phase,
|
||||
tray_code, warehouse_id, warehouse_name, roadway_id,
|
||||
cargo_space_id, cargo_space_name, line_type, priority,
|
||||
height, weight, create_time, exit_id, customer_id, customer_name
|
||||
)
|
||||
VALUES (
|
||||
@job_id, '1', @task_no, @job_type, '4',
|
||||
@tray_code, @stock_warehouse_id, @stock_warehouse_name, @roadway_id,
|
||||
@cargo_space_id, @cargo_space_name, '1', 10,
|
||||
0.00, 0.00, @now, @exit_id, @customer_id, @customer_name
|
||||
);
|
||||
|
||||
SET @row_idx = 1;
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @job_id = @existing_job_id;
|
||||
SELECT @row_idx = COUNT(1) + 1
|
||||
FROM dbo.mydo_job_detail
|
||||
WHERE job_id = @job_id;
|
||||
END
|
||||
|
||||
UPDATE dbo.mydo_job
|
||||
SET in_or_out = CASE WHEN @job_type = 21 THEN 21 ELSE in_or_out END
|
||||
WHERE job_id = @job_id;
|
||||
|
||||
SET @job_detail_id = @job_id + '-' + CONVERT(nvarchar(10), @row_idx);
|
||||
|
||||
INSERT INTO dbo.mydo_job_detail (
|
||||
job_detail_id, job_id, stock_id, lot_no, in_date,
|
||||
@@ -385,7 +565,6 @@ BEGIN
|
||||
|
||||
UPDATE dbo.bas_cargo_space
|
||||
SET status = '4',
|
||||
locked = 'Y',
|
||||
tray_code = @tray_code
|
||||
WHERE cargo_space_id = @cargo_space_id;
|
||||
|
||||
@@ -422,6 +601,7 @@ GO
|
||||
|
||||
CREATE PROCEDURE dbo.proc_out_auto_allocation
|
||||
@v_stockout_detail_id varchar(80),
|
||||
@v_exit_id varchar(80),
|
||||
@v_result int OUTPUT,
|
||||
@v_resultString varchar(100) OUTPUT
|
||||
AS
|
||||
@@ -439,7 +619,8 @@ BEGIN
|
||||
@remaining decimal(18, 0),
|
||||
@detail_id nvarchar(80),
|
||||
@child_result int,
|
||||
@child_msg varchar(100);
|
||||
@child_msg varchar(100),
|
||||
@last_error varchar(100);
|
||||
|
||||
SELECT TOP 1
|
||||
@stockout_id = d.stockout_id,
|
||||
@@ -468,7 +649,32 @@ BEGIN
|
||||
WHERE bsd.product_id = @product_id
|
||||
AND (ISNULL(@lot_no, '') = '' OR ISNULL(bsd.lot_no, '') = ISNULL(@lot_no, ''))
|
||||
AND ISNULL(bsd.quantity, 0) - ISNULL(bsd.out_quantity, 0) > 0
|
||||
AND (bsd.job_detail_id IS NULL OR bsd.job_detail_id = '')
|
||||
AND (
|
||||
bsd.job_detail_id IS NULL OR bsd.job_detail_id = ''
|
||||
OR NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM dbo.mydo_job_detail lock_jd
|
||||
INNER JOIN dbo.mydo_job lock_j ON lock_j.job_id = lock_jd.job_id
|
||||
WHERE lock_jd.job_detail_id = bsd.job_detail_id
|
||||
AND lock_j.in_or_out >= 20
|
||||
AND lock_j.status IN ('1', '2', '3')
|
||||
)
|
||||
)
|
||||
AND (
|
||||
bcs.status = '2'
|
||||
OR EXISTS (
|
||||
SELECT 1
|
||||
FROM dbo.mydo_job ej
|
||||
INNER JOIN dbo.mydo_job_detail ejd ON ej.job_id = ejd.job_id
|
||||
WHERE ej.in_or_out >= 20
|
||||
AND ej.status IN ('1', '2', '3')
|
||||
AND ej.cargo_space_id = bs.cargo_space_id
|
||||
AND ISNULL(ej.tray_code, '') = ISNULL(bs.tray_code, '')
|
||||
AND ISNULL(ej.exit_id, '') = ISNULL(@v_exit_id, '')
|
||||
AND ejd.in_or_out_id = @stockout_id
|
||||
AND ejd.stock_id = bs.stock_id
|
||||
)
|
||||
)
|
||||
AND (@warehouse_id IS NULL OR @warehouse_id = '' OR bs.warehouse_id = @warehouse_id)
|
||||
AND (@locatio IS NULL OR bs.cargo_space_id = @locatio OR bcs.cargo_space_name = @locatio)
|
||||
AND (@preferred_stock_id IS NULL OR bs.stock_id = @preferred_stock_id)
|
||||
@@ -490,9 +696,13 @@ BEGIN
|
||||
EXEC dbo.proc_out_hand_allocation
|
||||
@v_stockout_detail_id = @v_stockout_detail_id,
|
||||
@v_stock_id = @detail_id,
|
||||
@v_exit_id = @v_exit_id,
|
||||
@v_result = @child_result OUTPUT,
|
||||
@v_resultString = @child_msg OUTPUT;
|
||||
|
||||
IF @child_result <> 10
|
||||
SET @last_error = @child_msg;
|
||||
|
||||
FETCH NEXT FROM cur_auto_stock INTO @detail_id;
|
||||
END
|
||||
|
||||
@@ -511,7 +721,7 @@ BEGIN
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @v_result = 2;
|
||||
SET @v_resultString = '自动分配库存不足';
|
||||
SET @v_resultString = COALESCE(@last_error, '自动分配库存不足');
|
||||
END
|
||||
END
|
||||
GO
|
||||
@@ -615,6 +825,19 @@ BEGIN
|
||||
WHERE detail_id = @stock_detail_id
|
||||
AND stock_id = @stock_id;
|
||||
|
||||
INSERT INTO dbo.bas_stock_detail_finish (
|
||||
detail_id, stock_id, product_status, lot_no, product_id, product_name,
|
||||
quantity, out_quantity, job_detail_id, stockin_detail_id, create_time,
|
||||
update_time, remark, delete_time
|
||||
)
|
||||
SELECT detail_id, stock_id, product_status, lot_no, product_id, product_name,
|
||||
quantity, out_quantity, job_detail_id, stockin_detail_id, create_time,
|
||||
update_time, remark, SYSDATETIME() AS delete_time
|
||||
FROM dbo.bas_stock_detail
|
||||
WHERE detail_id = @stock_detail_id
|
||||
AND stock_id = @stock_id
|
||||
AND ISNULL(quantity, 0) <= 0;
|
||||
|
||||
DELETE FROM dbo.bas_stock_detail
|
||||
WHERE detail_id = @stock_detail_id
|
||||
AND ISNULL(quantity, 0) <= 0;
|
||||
@@ -664,19 +887,23 @@ BEGIN
|
||||
) bsa ON bsa.stock_id = bs.stock_id
|
||||
WHERE bs.stock_id = @stock_id;
|
||||
|
||||
UPDATE dbo.bas_cargo_space
|
||||
SET status = '2',
|
||||
locked = 'N',
|
||||
tray_code = @tray_code
|
||||
WHERE cargo_space_id = @cargo_space_id;
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
UPDATE dbo.bas_cargo_space
|
||||
SET status = '1',
|
||||
locked = 'N',
|
||||
tray_code = NULL
|
||||
WHERE cargo_space_id = @cargo_space_id;
|
||||
INSERT INTO dbo.bas_stock_finish (
|
||||
stock_id, cargo_space_id, stock_status, product_status, lot_no,
|
||||
in_date, back_date, product_id, product_name, quantity, job_id,
|
||||
job_detail_id, tray_code, out_quantity, stockin_detail_id, stockin_id,
|
||||
in_type, warehouse_id, warehouse_name, user_id, user_name, dept_id,
|
||||
dept_name, supplier_id, supplier_name, delete_time
|
||||
)
|
||||
SELECT stock_id, cargo_space_id, stock_status, product_status, lot_no,
|
||||
in_date, back_date, product_id, product_name, quantity, job_id,
|
||||
job_detail_id, tray_code, out_quantity, stockin_detail_id, stockin_id,
|
||||
in_type, warehouse_id, warehouse_name, user_id, user_name, dept_id,
|
||||
dept_name, supplier_id, supplier_name, SYSDATETIME() AS delete_time
|
||||
FROM dbo.bas_stock
|
||||
WHERE stock_id = @stock_id;
|
||||
|
||||
DELETE FROM dbo.bas_stock WHERE stock_id = @stock_id;
|
||||
END
|
||||
@@ -848,7 +1075,6 @@ BEGIN
|
||||
|
||||
UPDATE dbo.bas_cargo_space
|
||||
SET status = '2',
|
||||
locked = 'N',
|
||||
tray_code = @tray_code
|
||||
WHERE cargo_space_id = @cargo_space_id
|
||||
AND EXISTS (SELECT 1 FROM dbo.bas_stock WHERE stock_id = @stock_id);
|
||||
|
||||
@@ -27,7 +27,7 @@ BEGIN
|
||||
@v_cargo_space_id = cargo_space_id
|
||||
FROM dbo.mydo_job
|
||||
WHERE job_id = @v_job_id
|
||||
AND in_or_out = 1;
|
||||
AND in_or_out < 20;
|
||||
|
||||
IF @v_tray_code IS NULL AND @v_cargo_space_id IS NULL
|
||||
BEGIN
|
||||
@@ -57,17 +57,16 @@ BEGIN
|
||||
|
||||
UPDATE dbo.bas_cargo_space
|
||||
SET status = '1',
|
||||
locked = 'N',
|
||||
tray_code = NULL
|
||||
WHERE cargo_space_id = @v_cargo_space_id
|
||||
OR (tray_code = @v_tray_code AND status = '3' AND locked = 'Y');
|
||||
OR (tray_code = @v_tray_code AND status = '3');
|
||||
|
||||
DELETE FROM dbo.mydo_job_detail
|
||||
WHERE job_id = @v_job_id;
|
||||
|
||||
DELETE FROM dbo.mydo_job
|
||||
WHERE job_id = @v_job_id
|
||||
AND in_or_out = 1;
|
||||
AND in_or_out < 20;
|
||||
|
||||
COMMIT TRANSACTION;
|
||||
|
||||
|
||||
341
sql/search_statistics.sql
Normal file
341
sql/search_statistics.sql
Normal file
@@ -0,0 +1,341 @@
|
||||
-- 查询统计菜单与库存异常字典补丁
|
||||
-- 目标库:FTC25009-WMS
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
IF EXISTS (SELECT 1 FROM dbo.sys_dict_data WHERE dict_type = N'bas_stock_stock_status' AND dict_value = N'3')
|
||||
BEGIN
|
||||
UPDATE dbo.sys_dict_data
|
||||
SET dict_label = N'异常',
|
||||
dict_sort = 2,
|
||||
list_class = N'danger',
|
||||
status = N'0',
|
||||
update_by = N'admin',
|
||||
update_time = GETDATE()
|
||||
WHERE dict_type = N'bas_stock_stock_status'
|
||||
AND dict_value = N'3';
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT INTO dbo.sys_dict_data (dict_sort, dict_label, dict_value, dict_type, list_class, is_default, status, create_by, create_time)
|
||||
VALUES (2, N'异常', N'3', N'bas_stock_stock_status', N'danger', N'N', N'0', N'admin', GETDATE());
|
||||
END
|
||||
|
||||
DECLARE @parentMenuId bigint = 2007;
|
||||
DECLARE @menuIdIsIdentity bit = COLUMNPROPERTY(OBJECT_ID(N'dbo.sys_menu'), 'menu_id', 'IsIdentity');
|
||||
DECLARE @menuId bigint;
|
||||
DECLARE @baseMenuId bigint;
|
||||
|
||||
IF @menuIdIsIdentity = 1
|
||||
SET IDENTITY_INSERT dbo.sys_menu ON;
|
||||
|
||||
-- 库存明细查询
|
||||
SET @baseMenuId = 2200;
|
||||
SELECT TOP 1 @menuId = menu_id
|
||||
FROM dbo.sys_menu
|
||||
WHERE menu_type = N'C'
|
||||
AND (path = N'stockDetail' OR component = N'search/stockDetail/index')
|
||||
ORDER BY menu_id;
|
||||
IF @menuId IS NULL
|
||||
BEGIN
|
||||
SET @menuId = @baseMenuId;
|
||||
WHILE EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @menuId)
|
||||
SET @menuId = @menuId + 1;
|
||||
END
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @menuId)
|
||||
BEGIN
|
||||
INSERT INTO dbo.sys_menu (
|
||||
menu_id, menu_name, parent_id, order_num, path, component, query, route_name,
|
||||
is_frame, is_cache, menu_type, visible, status, perms, icon,
|
||||
create_by, create_time, update_by, update_time, remark
|
||||
)
|
||||
VALUES (
|
||||
@menuId, N'库存明细查询', @parentMenuId, 1, N'stockDetail', N'search/stockDetail/index', NULL, N'',
|
||||
1, 0, N'C', N'0', N'0', N'bas:stock:list', N'document',
|
||||
N'admin', GETDATE(), N'', NULL, N'查询统计-库存明细查询'
|
||||
);
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
UPDATE dbo.sys_menu
|
||||
SET menu_name = N'库存明细查询',
|
||||
parent_id = @parentMenuId,
|
||||
order_num = 1,
|
||||
path = N'stockDetail',
|
||||
component = N'search/stockDetail/index',
|
||||
perms = N'bas:stock:list',
|
||||
icon = N'document',
|
||||
visible = N'0',
|
||||
status = N'0',
|
||||
update_by = N'admin',
|
||||
update_time = GETDATE()
|
||||
WHERE menu_id = @menuId;
|
||||
END
|
||||
|
||||
-- 入库单据历史查询
|
||||
SET @menuId = NULL;
|
||||
SET @baseMenuId = 2201;
|
||||
SELECT TOP 1 @menuId = menu_id
|
||||
FROM dbo.sys_menu
|
||||
WHERE menu_type = N'C'
|
||||
AND (path = N'inStockinHistory' OR component = N'search/inStockinHistory/index')
|
||||
ORDER BY menu_id;
|
||||
IF @menuId IS NULL
|
||||
BEGIN
|
||||
SET @menuId = @baseMenuId;
|
||||
WHILE EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @menuId)
|
||||
SET @menuId = @menuId + 1;
|
||||
END
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @menuId)
|
||||
BEGIN
|
||||
INSERT INTO dbo.sys_menu (
|
||||
menu_id, menu_name, parent_id, order_num, path, component, query, route_name,
|
||||
is_frame, is_cache, menu_type, visible, status, perms, icon,
|
||||
create_by, create_time, update_by, update_time, remark
|
||||
)
|
||||
VALUES (
|
||||
@menuId, N'入库单据历史查询', @parentMenuId, 2, N'inStockinHistory', N'search/inStockinHistory/index', NULL, N'',
|
||||
1, 0, N'C', N'0', N'0', N'in:stockin:list', N'list',
|
||||
N'admin', GETDATE(), N'', NULL, N'查询统计-入库单据历史查询'
|
||||
);
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
UPDATE dbo.sys_menu
|
||||
SET menu_name = N'入库单据历史查询',
|
||||
parent_id = @parentMenuId,
|
||||
order_num = 2,
|
||||
path = N'inStockinHistory',
|
||||
component = N'search/inStockinHistory/index',
|
||||
perms = N'in:stockin:list',
|
||||
icon = N'list',
|
||||
visible = N'0',
|
||||
status = N'0',
|
||||
update_by = N'admin',
|
||||
update_time = GETDATE()
|
||||
WHERE menu_id = @menuId;
|
||||
END
|
||||
|
||||
-- 出库单历史查询
|
||||
SET @menuId = NULL;
|
||||
SET @baseMenuId = 2202;
|
||||
SELECT TOP 1 @menuId = menu_id
|
||||
FROM dbo.sys_menu
|
||||
WHERE menu_type = N'C'
|
||||
AND (path = N'outStockoutHistory' OR component = N'search/outStockoutHistory/index')
|
||||
ORDER BY menu_id;
|
||||
IF @menuId IS NULL
|
||||
BEGIN
|
||||
SET @menuId = @baseMenuId;
|
||||
WHILE EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @menuId)
|
||||
SET @menuId = @menuId + 1;
|
||||
END
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @menuId)
|
||||
BEGIN
|
||||
INSERT INTO dbo.sys_menu (
|
||||
menu_id, menu_name, parent_id, order_num, path, component, query, route_name,
|
||||
is_frame, is_cache, menu_type, visible, status, perms, icon,
|
||||
create_by, create_time, update_by, update_time, remark
|
||||
)
|
||||
VALUES (
|
||||
@menuId, N'出库单历史查询', @parentMenuId, 3, N'outStockoutHistory', N'search/outStockoutHistory/index', NULL, N'',
|
||||
1, 0, N'C', N'0', N'0', N'out:stockout:list', N'document-copy',
|
||||
N'admin', GETDATE(), N'', NULL, N'查询统计-出库单历史查询'
|
||||
);
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
UPDATE dbo.sys_menu
|
||||
SET menu_name = N'出库单历史查询',
|
||||
parent_id = @parentMenuId,
|
||||
order_num = 3,
|
||||
path = N'outStockoutHistory',
|
||||
component = N'search/outStockoutHistory/index',
|
||||
perms = N'out:stockout:list',
|
||||
icon = N'document-copy',
|
||||
visible = N'0',
|
||||
status = N'0',
|
||||
update_by = N'admin',
|
||||
update_time = GETDATE()
|
||||
WHERE menu_id = @menuId;
|
||||
END
|
||||
|
||||
-- 入库流水查询
|
||||
SET @menuId = NULL;
|
||||
SET @baseMenuId = 2203;
|
||||
SELECT TOP 1 @menuId = menu_id
|
||||
FROM dbo.sys_menu
|
||||
WHERE menu_type = N'C'
|
||||
AND (path = N'inJobFlow' OR component = N'search/inJobFlow/index')
|
||||
ORDER BY menu_id;
|
||||
IF @menuId IS NULL
|
||||
BEGIN
|
||||
SET @menuId = @baseMenuId;
|
||||
WHILE EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @menuId)
|
||||
SET @menuId = @menuId + 1;
|
||||
END
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @menuId)
|
||||
BEGIN
|
||||
INSERT INTO dbo.sys_menu (
|
||||
menu_id, menu_name, parent_id, order_num, path, component, query, route_name,
|
||||
is_frame, is_cache, menu_type, visible, status, perms, icon,
|
||||
create_by, create_time, update_by, update_time, remark
|
||||
)
|
||||
VALUES (
|
||||
@menuId, N'入库流水查询', @parentMenuId, 4, N'inJobFlow', N'search/inJobFlow/index', NULL, N'',
|
||||
1, 0, N'C', N'0', N'0', N'in:job:list', N'receiving',
|
||||
N'admin', GETDATE(), N'', NULL, N'查询统计-入库流水查询'
|
||||
);
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
UPDATE dbo.sys_menu
|
||||
SET menu_name = N'入库流水查询',
|
||||
parent_id = @parentMenuId,
|
||||
order_num = 4,
|
||||
path = N'inJobFlow',
|
||||
component = N'search/inJobFlow/index',
|
||||
perms = N'in:job:list',
|
||||
icon = N'receiving',
|
||||
visible = N'0',
|
||||
status = N'0',
|
||||
update_by = N'admin',
|
||||
update_time = GETDATE()
|
||||
WHERE menu_id = @menuId;
|
||||
END
|
||||
|
||||
-- 出库流水查询
|
||||
SET @menuId = NULL;
|
||||
SET @baseMenuId = 2204;
|
||||
SELECT TOP 1 @menuId = menu_id
|
||||
FROM dbo.sys_menu
|
||||
WHERE menu_type = N'C'
|
||||
AND (path = N'outJobFlow' OR component = N'search/outJobFlow/index')
|
||||
ORDER BY menu_id;
|
||||
IF @menuId IS NULL
|
||||
BEGIN
|
||||
SET @menuId = @baseMenuId;
|
||||
WHILE EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @menuId)
|
||||
SET @menuId = @menuId + 1;
|
||||
END
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @menuId)
|
||||
BEGIN
|
||||
INSERT INTO dbo.sys_menu (
|
||||
menu_id, menu_name, parent_id, order_num, path, component, query, route_name,
|
||||
is_frame, is_cache, menu_type, visible, status, perms, icon,
|
||||
create_by, create_time, update_by, update_time, remark
|
||||
)
|
||||
VALUES (
|
||||
@menuId, N'出库流水查询', @parentMenuId, 5, N'outJobFlow', N'search/outJobFlow/index', NULL, N'',
|
||||
1, 0, N'C', N'0', N'0', N'out:job:list', N'release',
|
||||
N'admin', GETDATE(), N'', NULL, N'查询统计-出库流水查询'
|
||||
);
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
UPDATE dbo.sys_menu
|
||||
SET menu_name = N'出库流水查询',
|
||||
parent_id = @parentMenuId,
|
||||
order_num = 5,
|
||||
path = N'outJobFlow',
|
||||
component = N'search/outJobFlow/index',
|
||||
perms = N'out:job:list',
|
||||
icon = N'release',
|
||||
visible = N'0',
|
||||
status = N'0',
|
||||
update_by = N'admin',
|
||||
update_time = GETDATE()
|
||||
WHERE menu_id = @menuId;
|
||||
END
|
||||
|
||||
DECLARE @exportButton table(
|
||||
menu_name nvarchar(50),
|
||||
parent_path nvarchar(100),
|
||||
parent_component nvarchar(200),
|
||||
perms nvarchar(100)
|
||||
);
|
||||
DECLARE @buttonMenuId bigint;
|
||||
DECLARE @buttonMenuName nvarchar(50);
|
||||
DECLARE @buttonParentPath nvarchar(100);
|
||||
DECLARE @buttonParentComponent nvarchar(200);
|
||||
DECLARE @buttonPerms nvarchar(100);
|
||||
|
||||
INSERT INTO @exportButton(menu_name, parent_path, parent_component, perms)
|
||||
VALUES
|
||||
(N'库存明细查询导出', N'stockDetail', N'search/stockDetail/index', N'bas:stock:export'),
|
||||
(N'入库单据历史查询导出', N'inStockinHistory', N'search/inStockinHistory/index', N'in:stockin:export'),
|
||||
(N'出库单历史查询导出', N'outStockoutHistory', N'search/outStockoutHistory/index', N'out:stockout:export'),
|
||||
(N'入库流水查询导出', N'inJobFlow', N'search/inJobFlow/index', N'in:job:export'),
|
||||
(N'出库流水查询导出', N'outJobFlow', N'search/outJobFlow/index', N'out:job:export');
|
||||
|
||||
DECLARE export_button_cursor CURSOR LOCAL FAST_FORWARD FOR
|
||||
SELECT menu_name, parent_path, parent_component, perms
|
||||
FROM @exportButton;
|
||||
|
||||
OPEN export_button_cursor;
|
||||
FETCH NEXT FROM export_button_cursor INTO @buttonMenuName, @buttonParentPath, @buttonParentComponent, @buttonPerms;
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
SET @menuId = NULL;
|
||||
SELECT TOP 1 @menuId = menu_id
|
||||
FROM dbo.sys_menu
|
||||
WHERE menu_type = N'C'
|
||||
AND (path = @buttonParentPath OR component = @buttonParentComponent)
|
||||
ORDER BY menu_id;
|
||||
|
||||
IF @menuId IS NOT NULL
|
||||
BEGIN
|
||||
SET @buttonMenuId = NULL;
|
||||
SELECT TOP 1 @buttonMenuId = menu_id
|
||||
FROM dbo.sys_menu
|
||||
WHERE parent_id = @menuId
|
||||
AND menu_type = N'F'
|
||||
AND perms = @buttonPerms
|
||||
ORDER BY menu_id;
|
||||
|
||||
IF @buttonMenuId IS NULL
|
||||
BEGIN
|
||||
SET @buttonMenuId = @menuId + 100;
|
||||
WHILE EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @buttonMenuId)
|
||||
SET @buttonMenuId = @buttonMenuId + 1;
|
||||
END
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM dbo.sys_menu WHERE menu_id = @buttonMenuId)
|
||||
BEGIN
|
||||
INSERT INTO dbo.sys_menu (
|
||||
menu_id, menu_name, parent_id, order_num, path, component, query, route_name,
|
||||
is_frame, is_cache, menu_type, visible, status, perms, icon,
|
||||
create_by, create_time, update_by, update_time, remark
|
||||
)
|
||||
VALUES (
|
||||
@buttonMenuId, @buttonMenuName, @menuId, 1, N'#', N'', NULL, N'',
|
||||
1, 0, N'F', N'0', N'0', @buttonPerms, N'#',
|
||||
N'admin', GETDATE(), N'', NULL, N''
|
||||
);
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
UPDATE dbo.sys_menu
|
||||
SET menu_name = @buttonMenuName,
|
||||
parent_id = @menuId,
|
||||
order_num = 1,
|
||||
path = N'#',
|
||||
component = N'',
|
||||
perms = @buttonPerms,
|
||||
icon = N'#',
|
||||
visible = N'0',
|
||||
status = N'0',
|
||||
update_by = N'admin',
|
||||
update_time = GETDATE()
|
||||
WHERE menu_id = @buttonMenuId;
|
||||
END
|
||||
END
|
||||
|
||||
FETCH NEXT FROM export_button_cursor INTO @buttonMenuName, @buttonParentPath, @buttonParentComponent, @buttonPerms;
|
||||
END
|
||||
CLOSE export_button_cursor;
|
||||
DEALLOCATE export_button_cursor;
|
||||
|
||||
IF @menuIdIsIdentity = 1
|
||||
SET IDENTITY_INSERT dbo.sys_menu OFF;
|
||||
GO
|
||||
@@ -12249,8 +12249,7 @@ BEGIN
|
||||
UPDATE bas_cargo_space
|
||||
SET
|
||||
status = '2',
|
||||
tray_code = @tray_code,
|
||||
locked = 'N'
|
||||
tray_code = @tray_code
|
||||
WHERE cargo_space_id = @cargo_space_id;
|
||||
|
||||
-- =============================================
|
||||
|
||||
Reference in New Issue
Block a user