xinjiang/DataBase/版本日志/SGGLDB_V2024-11-04-001-gaof...

149 lines
6.5 KiB
Transact-SQL

INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES ('2DAF767F-79AA-4F80-8EB1-3B434C9959E7','焊材领用','HJGL/MaterialManage/WelderUsing.aspx',13,'0A4F9FAA-3FA1-4CCC-A084-3A26E4B9344D','Menu_HJGL',0,1,1)
GO
CREATE PROCEDURE [dbo].[SpGetNewCodeByProjectId]
@tableName varchar(50),/*表名*/
@columnName varchar(50),/*列名*/
@projectId nvarchar(50),/*项目*/
@prefix varchar(50),/*流水号编码前缀*/
@returnVal nvarchar(50) output
AS
/*获取一个新的流水号(后四位上增加)*/
declare
@sql nvarchar(500),
@old nvarchar(50),
@newid varchar(50),
@maxId nvarchar(50)/*已分配的最大值*/
select @sql=N'SELECT @maxId=MAX('+@columnName+') from '+@tableName+' where ProjectId = ''' + @projectId + ''' and ' + @columnName+' like ' + '''' + @prefix + '%'''
EXEC sp_executesql @sql, N'@maxId nvarchar(50) OUTPUT', @maxId OUTPUT
set @old=@maxId
IF(@old is null)
BEGIN
set @newid=@prefix+'0001'
END
ELSE
BEGIN
set @newid = (select max(right(@old,4)))+1
set @newid = @prefix +right('0000'+@newid,4)
END
SET @returnVal=@newid
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES ('45CB6908-DD82-4A8D-90EF-61E2EC3DDA0F','焊材领用查询','HJGL/MaterialManage/UsingtMatSelect.aspx',14,'0A4F9FAA-3FA1-4CCC-A084-3A26E4B9344D','Menu_HJGL',0,1,1)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES ('BC5AED94-BF73-43CB-9D5A-C1AE7D8DBBBD','焊材及焊条头回收','HJGL/MaterialManage/RecycleMat.aspx',15,'0A4F9FAA-3FA1-4CCC-A084-3A26E4B9344D','Menu_HJGL',0,1,1)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES ('96F84061-49C6-4E1D-B5AC-38F19E6D7B2C','库存查询','HJGL/MaterialManage/StockSelect.aspx',16,'0A4F9FAA-3FA1-4CCC-A084-3A26E4B9344D','Menu_HJGL',0,1,1)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES ('9733EBB3-F0CC-4287-89EE-98D38BCEB67B','焊材发放回收记录表','HJGL/MaterialManage/ReleaseRecovery.aspx',17,'0A4F9FAA-3FA1-4CCC-A084-3A26E4B9344D','Menu_HJGL',0,1,1)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES ('99F058B3-DDB2-4E64-A024-3D4BE3300056','焊材回收发放统计','HJGL/MaterialManage/WeldMatStatistics.aspx',18,'0A4F9FAA-3FA1-4CCC-A084-3A26E4B9344D','Menu_HJGL',0,1,1)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES ('0F3311CB-A51A-4F3F-999E-17D5330716C6','焊材用量统计(按班组)','HJGL/MaterialManage/WeldUseAmount.aspx',19,'0A4F9FAA-3FA1-4CCC-A084-3A26E4B9344D','Menu_HJGL',0,1,1)
GO
CREATE VIEW [dbo].[Weld_View_ReleaseRecovery]
AS
/********焊接材料发放回收记录*************/
SELECT v.UsingMatId, v.UsingDate, YEAR(v.UsingDate) AS Years,MONTH(v.UsingDate) AS Months,DAY(v.UsingDate) AS Dayt,
v.ProjectId, v.UsePosition, weld.ConsumablesCode, weld.SteelFormat,weld.ConsumablesType, weld.SteelType,
(CASE WHEN stockIn.Warrantybook IS NOT NULL THEN stockIn.Warrantybook
ELSE v.Warrantybook END) AS Warrantybook, stockIn.HeartNo,
weld.WeldUnit,
--(case when wtype.WeldTypeName='焊条' or wtype.WeldTypeName='焊丝' then '根' else 'kg' end) AS WeldUnit,
CAST(CASE WHEN weld.ConvertValue>0 THEN (ISNULL(v.Amount,0)+ISNULL(v.TwoAmount,0)) * weld.ConvertValue
ELSE (ISNULL(v.Amount,0)+ISNULL(v.TwoAmount,0)) END AS DECIMAL(9,2)) AS UsingWeight,
(ISNULL(v.Amount,0)+ISNULL(v.TwoAmount,0)) AS Amount,welder.WED_ID,
ISNULL(r.RecycleAmount,0) AS RecycleAmount,ISNULL(r.ReturnMatTop,0) AS MatTopAmount,
welder.WED_Name AS UsingMan,welder.WED_Code,'' AS UsingManUrl,storeman.UserName as StoreName,project.ProjectCode,
storeman.SignatureUrl AS StoreNameUrl,uplan.UsingUnit,unit.UnitName,uplan.TeamGroupId,team.TeamGroupName,
storeman.UserId AS StoreMan,uplan.STE_Name AS STE_Code,case weld.ConsumablesType when '1' then '焊丝' when '2' then '焊条' when '3' then '焊剂' else '' end as WeldTypeName
FROM
dbo.Weld_UsingMat AS v
LEFT JOIN dbo.Weld_RecycleMat r ON r.UsingMatId = v.UsingMatId
LEFT JOIN Base_Consumables AS weld ON weld.ConsumablesId=v.WeldId
LEFT JOIN dbo.Weld_StockIn AS stockIn ON stockIn.StockInId = v.StockInId
LEFT JOIN BS_Welder AS welder ON welder.WED_ID =v.UsingMan
LEFT JOIN dbo.Sys_User storeman ON storeman.UserId = v.StoreMan
LEFT JOIN dbo.Weld_UsingPlan uplan ON uplan.UsingPlanId = v.UsingPlanId
LEFT JOIN dbo.ProjectData_TeamGroup team ON team.TeamGroupId = uplan.TeamGroupId
LEFT JOIN dbo.Base_Unit unit ON unit.UnitId=uplan.UsingUnit
LEFT JOIN dbo.Base_Project project ON project.ProjectId = v.ProjectId
GO
CREATE PROCEDURE [dbo].[sp_Weld_ReleaseRecovery]
(
@ProjectId NVARCHAR(50)= NULL,
@WeldCode NVARCHAR(100)=NULL,
@StartDate datetime=NULL,
@EndDate DATETIME=NULL,
@IsTeamGroup NCHAR(1)
)
--焊材发放回收统计
AS
IF(@IsTeamGroup='1')
BEGIN
SELECT ROW_NUMBER() OVER(ORDER BY ProjectCode,UnitName,TeamGroupName,ConsumablesCode,SteelFormat) AS Number,
((CASE WHEN @StartDate IS NOT NULL THEN CONVERT(varchar(100), @StartDate, 23) ELSE '项目开始' END) +'' +
(CASE WHEN @EndDate IS NOT NULL THEN CONVERT(varchar(100), @EndDate, 23) ELSE '今天' END)) UningDate,
ConsumablesCode,SteelFormat,WeldUnit,ProjectCode,UnitName,TeamGroupName,
ISNULL(SUM(ISNULL(UsingWeight,0)),0) AS UsingWeight
FROM
dbo.Weld_View_ReleaseRecovery
WHERE (ProjectId=@ProjectId OR @ProjectId IS NULL)
AND (ConsumablesCode LIKE '%'+@WeldCode+'%' OR @WeldCode IS NULL)
AND (UsingDate>=@StartDate OR @StartDate IS NULL)
AND (UsingDate<=DATEADD(day, 1, @EndDate) OR @EndDate IS NULL)
AND (TeamGroupName IS NOT NULL OR TeamGroupName !='')
GROUP BY ConsumablesCode,SteelFormat,WeldUnit,ConsumablesType,ProjectCode,UnitName,TeamGroupName
END
ELSE
BEGIN
SELECT ROW_NUMBER() OVER(ORDER BY ConsumablesCode,SteelFormat) AS Number,
ConsumablesCode,SteelFormat,ConsumablesType,WeldUnit,
ISNULL(SUM(ISNULL(Amount,0)),0) AS Amount,
ISNULL(SUM(ISNULL(RecycleAmount,0)),0) AS RecycleAmount,
ISNULL(SUM(ISNULL(MatTopAmount,0)),0) AS MatTopAmount
FROM
dbo.Weld_View_ReleaseRecovery
WHERE (ProjectId=@ProjectId OR @ProjectId IS NULL)
AND (ConsumablesCode LIKE '%'+@WeldCode+'%' OR @WeldCode IS NULL)
AND (UsingDate>=@StartDate OR @StartDate IS NULL)
AND (UsingDate<=DATEADD(day, 1, @EndDate) OR @EndDate IS NULL)
GROUP BY ConsumablesCode,SteelFormat,WeldUnit,ConsumablesType
END
GO