重构包装管理服务,优化数据结构与接口
移除 APIPackagingManageService,功能迁移至 HJGLPackagingmanageService 并进行重构,新增方法支持包装与组件关联管理、分页查询、状态描述等功能。 更新 PackagingManageController,替换旧服务调用,新增接口方法。 调整数据库结构,新增子表 HJGL_PackagingManageDetail,优化包装与组件的关联存储。 更新前端页面逻辑,适配新数据结构,新增 StackingPosition 字段显示。 优化 Model 层字段定义,调整长度限制,提升性能与一致性。 更新报表模板与项目文件,移除冗余代码,提升代码可维护性。
This commit is contained in:
@@ -0,0 +1,103 @@
|
||||
Alter VIEW View_HJGL_InstallData
|
||||
AS
|
||||
WITH TwOutPutData as (select distinct twRelation.PipelineId,
|
||||
outdetail.Id as TwOutputDetailId,
|
||||
twRelation.MaterialCode,
|
||||
master.Id as OutputMasterId
|
||||
from Tw_OutputMaster master
|
||||
join Tw_OutputDetail outdetail on outdetail.OutputMasterId = master.Id
|
||||
join Tw_InOutPlanMaster planmaster on planmaster.Id = master.InOutPlanMasterId
|
||||
join Tw_InOutPlanDetail_Relation twRelation
|
||||
on twRelation.InOutPlanMasterId = planmaster.Id and
|
||||
outdetail.MaterialCode = twRelation.MaterialCode
|
||||
where master.TypeInt=70),
|
||||
PrefabricatedData AS (SELECT pipe.PipeLineMatId as Id,
|
||||
line.PipelineCode,
|
||||
pipe.PrefabricatedComponents as Code,
|
||||
'预制组件' as TypeStr,
|
||||
'' as Matdef,
|
||||
CAST(NULL AS DECIMAL(18, 2)) as Number, -- 明确指定数据类型
|
||||
pack.PackagingCode,
|
||||
trainnumber.TrainNumber,
|
||||
line.FlowingSection,
|
||||
line.UnitWorkId,
|
||||
line.ProjectId,
|
||||
pack.StackingPosition
|
||||
FROM dbo.HJGL_PipeLineMat pipe
|
||||
INNER JOIN dbo.HJGL_Pipeline line -- 改为INNER JOIN,如果管道必须存在
|
||||
ON pipe.PipelineId = line.PipelineId
|
||||
LEFT JOIN dbo.HJGL_MaterialCodeLib lib
|
||||
ON lib.MaterialCode = pipe.MaterialCode
|
||||
LEFT JOIN HJGL_Pipeline_Component comonent
|
||||
ON comonent.PipelineComponentCode = pipe.PrefabricatedComponents
|
||||
LEFT JOIN HJGL_PackagingManageDetail packdetail
|
||||
ON packdetail.PipelineComponentId = comonent.PipelineComponentId
|
||||
LEFT JOIN HJGL_PackagingManage pack
|
||||
ON packdetail.PackagingManageId = pack.PackagingManageId
|
||||
AND pack.ProjectId = line.ProjectId -- 添加项目关联条件
|
||||
LEFT JOIN HJGL_TrainNumberManage trainnumber
|
||||
ON pack.TrainNumberId = trainnumber.Id
|
||||
WHERE line.PipeArea = '1'
|
||||
and (pipe.PrefabricatedComponents != ''
|
||||
AND pipe.PrefabricatedComponents IS NOT NULL)),
|
||||
LooseComponentsData AS (SELECT distinct pipe.PipeLineMatId as Id,
|
||||
line.PipelineCode,
|
||||
pipe.MaterialCode as Code,
|
||||
'预制散件' as TypeStr,
|
||||
lib.MaterialDef as Matdef,
|
||||
cast( packdetail.Number as DECIMAL(18, 2)) as Number,
|
||||
pack.PackagingCode,
|
||||
trainnumber.TrainNumber,
|
||||
line.FlowingSection,
|
||||
line.UnitWorkId,
|
||||
line.ProjectId,
|
||||
pack.StackingPosition
|
||||
FROM dbo.HJGL_PipeLineMat pipe
|
||||
INNER JOIN HJGL_Pipeline line -- 改为INNER JOIN
|
||||
ON pipe.PipelineId = line.PipelineId
|
||||
LEFT JOIN dbo.HJGL_MaterialCodeLib lib
|
||||
ON lib.MaterialCode = pipe.MaterialCode
|
||||
LEFT JOIN HJGL_PackagingManageDetail packdetail
|
||||
ON packdetail.MaterialCode = pipe.MaterialCode
|
||||
LEFT JOIN TwOutPutData twOutPutData
|
||||
ON twOutPutData.PipelineId = pipe.PipelineId and
|
||||
twOutPutData.MaterialCode = packdetail.MaterialCode
|
||||
LEFT JOIN HJGL_PackagingManage pack
|
||||
ON packdetail.PackagingManageId = pack.PackagingManageId
|
||||
AND pack.ProjectId = line.ProjectId -- 添加项目关联条件
|
||||
LEFT JOIN HJGL_TrainNumberManage trainnumber
|
||||
ON pack.TrainNumberId = trainnumber.Id
|
||||
where line.PipeArea = '1'
|
||||
and (pipe.PrefabricatedComponents is null or pipe.PrefabricatedComponents = ''))
|
||||
|
||||
-- 合并结果
|
||||
SELECT *
|
||||
FROM PrefabricatedData
|
||||
UNION ALL
|
||||
SELECT *
|
||||
FROM LooseComponentsData
|
||||
go
|
||||
|
||||
INSERT INTO HJGL_PackagingManageDetail
|
||||
SELECT NEWID(),
|
||||
p.PackagingManageId,
|
||||
HPC.PipelineId,
|
||||
s.Value,
|
||||
NULL,
|
||||
NULL,
|
||||
'2025-10-29 15:01:32.513',
|
||||
'C4A62EC0-E5D3-4EBF-A5FA-E56AA89633C0',
|
||||
NULL
|
||||
FROM HJGL_PackagingManage p
|
||||
CROSS APPLY dbo.SplitString(p.PipelineComponentId, ',', 1) s
|
||||
JOIN HJGL_Pipeline_Component HPC ON s.Value = HPC.PipelineComponentId
|
||||
WHERE p.PipelineComponentId IS NOT NULL
|
||||
AND p.PipelineComponentId != ''
|
||||
AND NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM HJGL_PackagingManageDetail pmd
|
||||
WHERE pmd.PackagingManageId = p.PackagingManageId
|
||||
AND pmd.PipelineId = HPC.PipelineId
|
||||
AND pmd.PipelineComponentId = s.Value
|
||||
-- 如果还有其他判断重复的字段,可以继续添加条件
|
||||
)
|
||||
Reference in New Issue
Block a user