Compare commits

..

33 Commits

Author SHA1 Message Date
gaofei 0d475634c6 1 2026-08-18 17:01:43 +08:00
gaofei 5feb93d611 1 2026-08-18 16:47:21 +08:00
gaofei 7ba504dfea 1 2026-08-18 16:46:56 +08:00
lichao 8917ce73af 11 2026-08-18 16:46:22 +08:00
lichao 508c0e8ffd 11 2026-08-18 16:46:05 +08:00
lichao ec6d16309d 11 2026-08-18 16:45:23 +08:00
gaofei 759ea24211 1 2026-08-18 11:50:43 +08:00
gaofei ad24681035 1 2026-08-18 11:47:15 +08:00
biwj f066daa2fc 20260813 2026-08-13 10:38:51 +08:00
gaofei 8885232cc2 1 2026-08-11 17:14:13 +08:00
gaofei 03dfc4edb8 1 2026-08-11 16:07:18 +08:00
gaofei 75cd095980 1 2026-08-11 16:06:26 +08:00
gaofei 65bc4f64e3 1 2026-08-11 14:41:19 +08:00
gaofei d59a5b7166 1 2026-08-11 10:39:16 +08:00
gaofei 10e0c9faa0 1 2026-08-10 17:58:19 +08:00
gaofei 34aaee5cd9 1 2026-08-10 17:52:04 +08:00
gaofei 66db11bdb4 1 2026-08-10 17:17:52 +08:00
gaofei 5ffee659f4 1 2026-08-07 17:30:27 +08:00
gaofei 9a4a1ebfb8 1 2026-08-07 17:29:30 +08:00
lichao 944f859b03 Merge branch 'master' of http://47.104.102.122:3000/gaofei/HJGL_DS 2026-08-07 17:27:41 +08:00
lichao 2c4f623dbe 11 2026-08-07 17:26:21 +08:00
gaofei 890db3efc8 1 2026-08-07 14:38:05 +08:00
gaofei 1534a642dc 1 2026-08-07 14:36:33 +08:00
gaofei 29ceb27d39 1 2026-08-07 14:35:46 +08:00
biwj c45e79932b 20260807 批量生成二维码 2026-08-07 11:13:22 +08:00
gaofei 3ecda170dc 1 2026-08-07 10:44:44 +08:00
gaofei 883ed26a5b 1 2026-07-31 16:16:28 +08:00
gaofei a39451c59a 1 2026-07-31 16:14:56 +08:00
biwj e490ea9c89 20260728 修改焊工焊接检测统计表导出 2026-07-28 14:35:50 +08:00
biwj a0a7e026a3 20260723 2026-07-23 16:15:07 +08:00
biwj d46661430d Merge branch 'master' of http://47.104.102.122:3000/gaofei/HJGL_DS 2026-07-23 15:34:34 +08:00
biwj 0337679dd3 20260723 焊口批量修改 2026-07-23 15:34:31 +08:00
gaofei 0fab034d6b 1 2026-07-22 14:41:15 +08:00
260 changed files with 4229 additions and 367 deletions
+1
View File
@@ -42,3 +42,4 @@ bin-release/
/HJGL_DS/FineUIPro.Web/File/PDF/Pipe
/HJGL_DS/FineUIPro.Web/File/Fastreport/Temp
/HJGL_DS/FineUIPro.Web/ReportPrint
/HJGL_DS/FineUIPro.Web/FileUpload/QRCodeFile
@@ -0,0 +1,125 @@
ALTER VIEW [dbo].[HJGL_View_JointInfo]
AS
/*管线焊口信息视图*/
SELECT
JointInfo.JOT_ID,
JointInfo.ProjectId,
JointInfo.PointType,
JointInfo.RT1_RepairFilm,
JointInfo.dreportid,
IsoInfo.BSU_ID,
JointInfo.STE_ID,
JOT_JointNo,
JOT_DailyReportNo, --日报告号
(CASE WHEN JointInfo.Jot_WeldingDate IS NOT NULL THEN JointInfo.Jot_WeldingDate
ELSE WeldReportMain.JOT_WeldDate END) AS JOT_WeldDate, --焊接日期
JointInfo.ISO_ID,
ISO_IsoNo, --管线号
Unit.UnitCode,
Unit.UnitName,
Steel.STE_Code AS STE_Name1,--材质1
Steel1.STE_Code AS STE_Name2,--材质2
Welder.WED_Code AS WED_Code1, --盖面焊工代号
Welder.WED_Name AS WED_Name1, --盖面焊工名称
FloorWelder.WED_Code AS WED_Code2, --打底焊工代号
FloorWelder.WED_Name AS WED_Name2, --打底焊工名称
JointInfo.WLO_Code,
(CASE WHEN JointInfo.WLO_Code='F' THEN '现场安装' ELSE '预制' END) AS WLO_Name,--焊接区域
JOT_DoneDin,
IS_Compute,
com1.Com_Name AS Component1,--组件1号
com1.COM_Code AS COM_Code1,--组件1号
com2.COM_Name AS Component2,--组件2号
com2.COM_Code AS COM_Code2,--组件1号
m1.WeldName AS WeldMat,--焊条
WeldMaterial.WeldName AS WeldSilk,--焊丝
batchDetail.PointType AS JointStatus,---焊口状态
JOT_Dia,
JOT_Size,
JOT_Sch,
JOT_FactSch,
JOT_JointFlag,
JOT_TrustFlag,
ProessTypes,
JOT_JointDesc,
JointInfo.JOTY_ID,
JointType.JOTY_Name,--焊缝类型
JointType.JOTY_Code,--焊缝类型
JointInfo.WME_ID,
WeldMethod.WME_Name AS WME_Name,--焊接方法
WeldMethod.WME_Code,--焊接方法代码
SlopeType.JST_Name, --坡口类型
SlopeType.JST_Code, --坡口类型代码
IS_Proess,
(CASE WHEN IS_Proess=1 THEN '' ELSE '' END) AS IS_ProessName,
JOT_PrepareTemp,
JOT_CellTemp,
JOT_LastTemp,
JOT_JointAttribute,
JOT_Location,
batch.BatchCode AS BatchCode,--批次号
batchDetail.PointDate AS PointDate,--点口日期
NULL AS CH_TrustCode, NULL AS CH_TrustDate,
--NDTType.NDT_Name as NDT_Name,--探伤类型
JointInfo.JOT_Remark,
JointInfo.RT_States,
JointInfo.UT_States,
JointInfo.MT_States,
JointInfo.PT_States,
JointInfo.PAUT_States,
(case when (select top 1 IsOK from HJGL_CH_HotProessResult hr where hr.JOT_ID=JointInfo.JOT_ID)=1 then '合格'
else '' end) as HotProessResult,
Servicess.SER_Code,--介质代号
--NDTRate.NDTR_Name as NDTR_Name, --探伤比例
--NDTRate.NDTR_Code, --探伤比例
isoInfo.ISO_TestPress,--试验压力
isoInfo.ISO_DesignPress,--设计压力
isoInfo.ISO_DesignTemperature,--设计温度
IsoClass.ISC_IsoCode,--管线等级
is_hj= CAST((CASE WHEN JointInfo.DReportID IS NULL THEN '0' ELSE '1' END ) AS BIT), --是否焊接
if_dk=CAST((CASE WHEN batchDetail.NDT IS NULL THEN '0' ELSE '1' END) AS BIT), --是否点口
JointInfo.InstallationId,
JointInfo.NDTR_ID,
JointInfo.IsSpecial,
JointInfo.IsSpecial AS IsSpecialName, --是否特殊
Installation.InstallationName,--装置
NDTRate.NDTR_Name,
JointInfo.Sort1,JointInfo.Sort2,JointInfo.Sort3,JointInfo.Sort4,JointInfo.Sort5
,JointType.JOTY_Group,
JointInfo.JOT_Electricity,--焊接电流
JointInfo.JOT_Voltage, --焊接电压
JointInfo.WeldL, --非常焊缝
JointInfo.IsGold,--是否黄金口
JointInfo.JOT_QualifiedLevel, --合格等级
Steel.HardQuaStandard--硬度合格标准
FROM HJGL_PW_JointInfo AS JointInfo
LEFT JOIN HJGL_PW_IsoInfo AS IsoInfo ON IsoInfo.ISO_ID=JointInfo.ISO_ID
LEFT JOIN HJGL_BO_WeldReportMain AS WeldReportMain ON WeldReportMain.DReportID=JointInfo.DReportID
LEFT JOIN HJGL_BS_Steel AS Steel ON Steel.STE_ID=JointInfo.STE_ID
LEFT JOIN HJGL_BS_Steel AS Steel1 ON Steel1.STE_ID=JointInfo.STE_ID2
LEFT JOIN HJGL_BS_Welder AS Welder ON Welder.WED_ID= JointInfo.JOT_CellWelder
LEFT JOIN HJGL_BS_Welder AS FloorWelder ON FloorWelder.WED_ID=JointInfo.JOT_FloorWelder
--LEFT JOIN HJGL_BS_WeldLocation AS WeldLocation ON WeldLocation.WLO_Code =JointInfo.WLO_Code
LEFT JOIN HJGL_BS_Component AS com1 ON com1.COM_ID=JointInfo.JOT_Component1
LEFT JOIN HJGL_BS_Component AS com2 ON com2.COM_ID=JointInfo.JOT_Component2
--LEFT JOIN HJGL_BS_WeldMaterial m1 ON m1.WMT_ID=JointInfo.JOT_WeldMat
--LEFT JOIN HJGL_BS_WeldMaterial AS WeldMaterial ON WeldMaterial.WMT_ID=JointInfo.JOT_WeldSilk
LEFT JOIN View_WeldInfoDropDownLists as m1 on m1.WeldId = JointInfo.JOT_WeldMat and m1.WeldTypeName like '%焊条%'
LEFT JOIN View_WeldInfoDropDownLists as WeldMaterial on WeldMaterial.WeldId = JointInfo.JOT_WeldSilk and WeldMaterial.WeldTypeName like '%焊丝%'
LEFT JOIN HJGL_BS_JointType AS JointType ON JointType.JOTY_ID=JointInfo.JOTY_ID
LEFT JOIN HJGL_BS_WeldMethod AS WeldMethod ON WeldMethod .WME_ID=JointInfo.WME_ID
LEFT JOIN HJGL_BS_SlopeType AS SlopeType ON SlopeType.JST_ID=JointInfo.JST_ID
LEFT JOIN dbo.HJGL_BO_BatchDetail AS batchDetail ON batchDetail.JOT_ID = JointInfo.JOT_ID
LEFT JOIN dbo.HJGL_BO_Batch AS batch ON batch.BatchId = batchDetail.BatchId
LEFT JOIN Base_Unit AS Unit ON Unit.UnitId=IsoInfo.BSU_ID
--left join HJGL_BS_NDTRate AS NDTRate on NDTRate.NDTR_ID=IsoInfo.NDTR_ID
LEFT JOIN HJGL_BS_Service AS Servicess ON Servicess.SER_ID=IsoInfo.SER_ID
LEFT JOIN HJGL_BS_IsoClass AS IsoClass ON IsoClass.ISC_ID=IsoInfo.ISC_ID
LEFT JOIN Project_Installation AS Installation ON Installation.InstallationId =JointInfo.InstallationId
LEFT JOIN HJGL_BS_NDTRate AS NDTRate ON NDTRate.NDTR_ID =JointInfo.NDTR_ID
GO
@@ -0,0 +1,113 @@
ALTER PROC [dbo].[HJGL_sp_rpt_welderStatistics]
@unitcode varchar(50) = NULL,
@WED_ID nvarchar(50) = NULL,
@projectId NVARCHAR(50) = NULL
AS
/*보묏보쌈쇱꿎固셕깊*/
SELECT welder.ProjectWelderId,
welder.ProjectId,
project.ProjectCode,--嘉묏뵀
wld.wed_code,-- 보묏덜쯤
wld.wed_name,--보묏츰냔
ISNULL(totalJoint.totalJoint,0) AS totalJoint, --綠보보룹鑒
ISNULL(TrustJointNum.TrustJointNum,0) AS TrustJointNum, --綠官辜보룹鑒
CAST((CASE ISNULL(TrustJointNum.TrustJointNum,0) WHEN 0 THEN 0
ELSE 1.0 * ISNULL(TrustJointNum.TrustJointNum,0)/(1.0 * totalJoint.totalJoint) END) AS DECIMAL(19,3))
AS OneCheckRate , ---寧늴쇱꿎궐절
ISNULL(FixedJoint.FixedJoint,0) AS FixedJoint, --綠보미땍왯鑒
ISNULL(TrustFixedJoint.TrustFixedJoint,0) AS TrustFixedJoint, --綠官辜미땍왯鑒
CAST((CASE ISNULL(TrustFixedJoint.TrustFixedJoint,0) WHEN 0 THEN 0
ELSE 1.0 * ISNULL(TrustFixedJoint.TrustFixedJoint,0)/(1.0 * FixedJoint.FixedJoint) END) AS DECIMAL(19,3))
AS FixedJointCheckRate , ---미땍왯쇱꿎궐절
ISNULL(ButtJoint.ButtJoint,0) AS ButtJoint, --綠보뚤쌈보룹鑒
ISNULL(TrustButtJoint.TrustButtJoint,0) AS TrustButtJoint, --綠官辜뚤쌈보룹鑒
CAST((CASE ISNULL(TrustButtJoint.TrustButtJoint,0) WHEN 0 THEN 0
ELSE 1.0 * ISNULL(TrustButtJoint.TrustButtJoint,0)/(1.0 * ButtJoint.ButtJoint) END) AS DECIMAL(19,3))
AS ButtJointCheckRate , ---뚤쌈보룹쇱꿎궐절
ISNULL(FilletJoint.FilletJoint,0) AS FilletJoint, --綠보실보룹鑒
ISNULL(TrustFilletJoint.TrustFilletJoint,0) AS TrustFilletJoint, --綠官辜실보룹鑒
CAST((CASE ISNULL(TrustFilletJoint.TrustFilletJoint,0) WHEN 0 THEN 0
ELSE 1.0 * ISNULL(TrustFilletJoint.TrustFilletJoint,0)/(1.0 * FilletJoint.FilletJoint) END) AS DECIMAL(19,3))
AS FilletJointCheckRate
FROM dbo.Project_Welder AS welder
LEFT JOIN Base_Project project on welder.ProjectId=project.ProjectId
LEFT JOIN dbo.HJGL_BS_Welder wld on wld.WED_ID=welder.WED_ID
--綠보보왯鑒
LEFT JOIN (SELECT COUNT(*) AS totalJoint,HJGL_pw_jointinfo.JOT_CellWelder,ProjectId
FROM HJGL_PW_JointInfo
WHERE HJGL_pw_jointinfo.DReportID is not null
GROUP BY HJGL_pw_jointinfo.JOT_CellWelder,ProjectId) AS totalJoint ON totalJoint.JOT_CellWelder = welder.WED_ID and totalJoint.ProjectId=welder.ProjectId
--綠보미땍왯鑒
LEFT JOIN (SELECT COUNT(*) AS FixedJoint,JOT_CellWelder,ProjectId
FROM HJGL_PW_JointInfo
WHERE DReportID is not null AND JOT_JointAttribute='미땍'
GROUP BY HJGL_pw_jointinfo.JOT_CellWelder,ProjectId) AS FixedJoint ON FixedJoint.JOT_CellWelder = welder.WED_ID and FixedJoint.ProjectId=welder.ProjectId
--綠보뚤쌈보룹鑒
LEFT JOIN (SELECT COUNT(*) AS ButtJoint,joint.JOT_CellWelder,ProjectId
FROM HJGL_PW_JointInfo joint
LEFT JOIN dbo.HJGL_BS_JointType jointType on jointType.JOTY_ID=joint.JOTY_ID
WHERE DReportID is not null AND jointType.JOTY_Group='1'
GROUP BY joint.JOT_CellWelder,ProjectId) AS ButtJoint ON ButtJoint.JOT_CellWelder = welder.WED_ID and ButtJoint.ProjectId=welder.ProjectId
--綠보실보룹鑒
LEFT JOIN (SELECT COUNT(*) AS FilletJoint,joint.JOT_CellWelder,ProjectId
FROM HJGL_PW_JointInfo joint
LEFT JOIN dbo.HJGL_BS_JointType jointType on jointType.JOTY_ID=joint.JOTY_ID
WHERE DReportID is not null AND jointType.JOTY_Group='2'
GROUP BY joint.JOT_CellWelder,ProjectId) AS FilletJoint ON FilletJoint.JOT_CellWelder = welder.WED_ID and FilletJoint.ProjectId=welder.ProjectId
--綠官辜보왯鑒
LEFT JOIN (SELECT COUNT(*) AS TrustJointNum,joint.JOT_CellWelder,ProjectId
FROM dbo.HJGL_BO_BatchDetail batchDetail
LEFT JOIN HJGL_pw_jointinfo joint ON joint.jot_id=batchDetail.jot_id
WHERE (batchDetail.NDT is not null OR batchDetail.NDT!='') and joint.JOT_JointNo not like '%A%' and joint.JOT_JointNo not like '%B%' and batchDetail.PointType!='2'
GROUP BY joint.JOT_CellWelder,ProjectId) AS TrustJointNum ON TrustJointNum.JOT_CellWelder = welder.WED_ID and TrustJointNum.ProjectId=welder.ProjectId
--綠官辜미땍왯鑒
LEFT JOIN (SELECT COUNT(*) AS TrustFixedJoint,joint.JOT_CellWelder,ProjectId
FROM dbo.HJGL_BO_BatchDetail batchDetail
LEFT JOIN HJGL_pw_jointinfo joint ON joint.jot_id=batchDetail.jot_id
WHERE (batchDetail.NDT is not null OR batchDetail.NDT!='')
AND joint.JOT_JointAttribute='미땍' and joint.JOT_JointNo not like '%A%' and joint.JOT_JointNo not like '%B%' and batchDetail.PointType!='2'
GROUP BY joint.JOT_CellWelder,ProjectId) AS TrustFixedJoint ON TrustFixedJoint.JOT_CellWelder = welder.WED_ID and TrustFixedJoint.ProjectId=welder.ProjectId
--綠官辜뚤쌈보룹鑒
LEFT JOIN (SELECT COUNT(*) AS TrustButtJoint,joint.JOT_CellWelder,ProjectId
FROM dbo.HJGL_BO_BatchDetail batchDetail
LEFT JOIN HJGL_pw_jointinfo joint ON joint.jot_id=batchDetail.jot_id
LEFT JOIN dbo.HJGL_BS_JointType jointType on jointType.JOTY_ID=joint.JOTY_ID
WHERE (batchDetail.NDT is not null OR batchDetail.NDT!='')
AND jointType.JOTY_Group='1' and joint.JOT_JointNo not like '%A%' and joint.JOT_JointNo not like '%B%' and batchDetail.PointType!='2'
GROUP BY joint.JOT_CellWelder,ProjectId) AS TrustButtJoint ON TrustButtJoint.JOT_CellWelder = welder.WED_ID and TrustButtJoint.ProjectId=welder.ProjectId
--綠官辜실보룹鑒
LEFT JOIN (SELECT COUNT(*) AS TrustFilletJoint,joint.JOT_CellWelder,ProjectId
FROM dbo.HJGL_BO_BatchDetail batchDetail
LEFT JOIN HJGL_pw_jointinfo joint ON joint.jot_id=batchDetail.jot_id
LEFT JOIN dbo.HJGL_BS_JointType jointType on jointType.JOTY_ID=joint.JOTY_ID
WHERE (batchDetail.NDT is not null OR batchDetail.NDT!='')
AND jointType.JOTY_Group='2' and joint.JOT_JointNo not like '%A%' and joint.JOT_JointNo not like '%B%' and batchDetail.PointType!='2'
GROUP BY joint.JOT_CellWelder,ProjectId) AS TrustFilletJoint ON TrustFilletJoint.JOT_CellWelder = welder.WED_ID and TrustFilletJoint.ProjectId=welder.ProjectId
WHERE (welder.ProjectId = @projectId OR @projectId IS NULL)
AND (wld.WED_Unit=@unitcode OR @unitcode IS NULL)
AND (wld.WED_ID=@WED_ID OR @WED_ID is null)
order BY wld.WED_Code
GO
@@ -0,0 +1,22 @@
alter table HJGL_PW_JointInfo add QRCodeAttachUrl nvarchar(200)
go
CREATE view [dbo].[View_PrintJointInfo]
as
select joint.JOT_ID,
joint.ProjectId,
joint.ISO_ID,
unit.UnitName,
installation.InstallationName,
iso.ISO_IsoNo,
joint.JOT_JointNo,
joint.JOT_JointDesc,
Steel.STE_Code,
joint.QRCodeAttachUrl
from HJGL_PW_JointInfo as joint
left join HJGL_PW_IsoInfo as iso on iso.ISO_ID = joint.ISO_ID
left join Project_Installation as installation on installation.InstallationId = joint.InstallationId
left join Base_Unit as unit on unit.UnitId = iso.BSU_ID
LEFT JOIN HJGL_BS_Steel AS Steel ON Steel.STE_ID = joint.STE_ID
GO
+70 -4
View File
@@ -222,6 +222,70 @@ namespace BLL.API
return respone;
}
public static Model.ResponeData weldMethodList()
{
Model.ResponeData respone = new ResponeData();
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var q = BLL.HJGL_WeldingMethodService.GetWeldMethodNameList();
List<WeldMethodItem> res = new List<WeldMethodItem>();
foreach (var p in q)
{
WeldMethodItem item = new WeldMethodItem();
item.WME_ID = p.WME_ID;
item.WME_Name = p.WME_Name;
res.Add(item);
}
respone.data = res;
}
return respone;
}
public static Model.ResponeData weldSilkList(string str)
{
Model.ResponeData respone = new ResponeData();
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var q = from x in db.View_WeldInfoDropDownLists
where x.WeldTypeName.Contains("焊丝") && x.WeldName.Contains(str)
select x;
List<WeldInfoItem> res = new List<WeldInfoItem>();
foreach (var p in q)
{
WeldInfoItem item = new WeldInfoItem();
item.WeldId = p.WeldId;
item.WeldName = p.WeldName;
res.Add(item);
}
respone.data = res;
}
return respone;
}
public static Model.ResponeData weldMatList(string str)
{
Model.ResponeData respone = new ResponeData();
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var q = from x in db.View_WeldInfoDropDownLists
where x.WeldTypeName.Contains("焊条") && x.WeldName.Contains(str)
select x;
List<WeldInfoItem> res = new List<WeldInfoItem>();
foreach (var p in q)
{
WeldInfoItem item = new WeldInfoItem();
item.WeldId = p.WeldId;
item.WeldName = p.WeldName;
res.Add(item);
}
respone.data = res;
}
return respone;
}
public static Model.ResponeData getWeldInfo(string weldId)
{
Model.ResponeData respone = new ResponeData();
@@ -320,12 +384,13 @@ namespace BLL.API
}
return respone;
}
public static Model.ResponeData baseTeamGroupList(string projectId, string unitId)
public static Model.ResponeData baseTeamGroupList(string projectId, string unitId, string str)
{
Model.ResponeData respone = new ResponeData();
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var q = (from x in db.Base_TeamGroup
where x.TeamGroupName.Contains(str)
orderby x.TeamGroupCode
select x).ToList();
@@ -352,13 +417,14 @@ namespace BLL.API
return respone;
}
public static Model.ResponeData unitStoreList()
public static Model.ResponeData unitStoreList(string str)
{
Model.ResponeData respone = new ResponeData();
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var q = from x in Funs.DB.Weld_UnitStore
join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
where x.UnitStoreName.Contains(str)
orderby y.UnitName, x.UnitStoreCode
select new { x.UnitStoreId, UnitStoreName = x.UnitStoreName, y.UnitName, x.UnitId };
List<BaseTeamgroupItem> res = new List<BaseTeamgroupItem>();
@@ -374,7 +440,7 @@ namespace BLL.API
}
return respone;
}
public static Model.ResponeData bsWelderList(string projectId)
public static Model.ResponeData bsWelderList(string projectId, string str)
{
Model.ResponeData respone = new ResponeData();
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
@@ -382,7 +448,7 @@ namespace BLL.API
var q = (from x in db.HJGL_BS_Welder
join
y in db.Project_Welder on x.WED_ID equals y.WED_ID
where y.ProjectId == projectId
where y.ProjectId == projectId && (x.WED_Name.Contains(str) || x.WED_Code.Contains(str))
orderby x.WED_Code
select x).ToList();
+11 -3
View File
@@ -254,9 +254,9 @@ namespace BLL
//newJointInfo.JOT_JointAttribute = newJointInfo.JOT_JointAttribute;
newJointInfo.JOT_Location = addItem.JOT_Location;
//newJointInfo.JOT_Sch = newJointInfo.JOT_Sch;
//newJointInfo.WME_ID = item.WME_ID;
//newJointInfo.JOT_WeldMat = item.JOT_WeldMat;
//newJointInfo.JOT_WeldSilk = item.JOT_WeldSilk;
newJointInfo.WME_ID = addItem.WME_ID;
newJointInfo.JOT_WeldMat = addItem.JOT_WeldMat;
newJointInfo.JOT_WeldSilk = addItem.JOT_WeldSilk;
//if (item.JOT_Dia.HasValue)
//{
@@ -424,6 +424,10 @@ namespace BLL
strSql += " AND TestPackage =@TestPackage";
listStr.Add(new SqlParameter("@TestPackage", newJointInfo.PressureTestPackageNo));
}
if (newJointInfo.IsGold == true) //黄金口单独组批
{
strSql += " AND IsGold =1";
}
SqlParameter[] parameter = listStr.ToArray();
DataTable batchInfo = SQLHelper.GetDataTableRunText(strSql, parameter);
@@ -460,6 +464,10 @@ namespace BLL
batch.SER_ID = isoInfo.SER_ID;
batch.TestPackage = newJointInfo.PressureTestPackageNo;
batch.BatchStartDate = addItem.WeldDate;
if (newJointInfo.IsGold == true) //黄金口单独组批
{
batch.IsGold = true;
}
BLL.HJGL_BO_BatchService.AddBatch(batch);
}
else
+1 -1
View File
@@ -58,7 +58,7 @@ namespace BLL.API
else
{
respone.code = 0;
respone.message = "身份证后6错误";
respone.message = "身份证后6错误";
}
}
else
+2 -2
View File
@@ -43,14 +43,14 @@ namespace BLL
/// </summary>
/// <param name="projectId">施工Id</param>
/// <returns></returns>
public static List<Model.UnitInfoItem> getUnitByProjectId(string projectId)
public static List<Model.UnitInfoItem> getUnitByProjectId(string projectId,string str)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getData = from x in db.Base_Unit
join y in db.Project_Unit
on x.UnitId equals y.UnitId
where y.ProjectId == projectId
where y.ProjectId == projectId && x.UnitName.Contains(str)
orderby x.UnitCode
select new Model.UnitInfoItem
{ UnitId = x.UnitId, UnitCode = x.UnitCode, UnitName = x.UnitName };
+265 -11
View File
@@ -25,7 +25,7 @@ namespace BLL.API
projectids.AddRange(wpids);
if (userId == BLL.Const.GlyId)
{
projectids = (from x in db.Base_Project where x.ProjectSoft == "1" select x.ProjectId).ToList();
projectids = (from x in db.Base_Project where x.ProjectSoft == "1" select x.ProjectId).Take(2000).ToList();
}
var q = from x in db.Weld_UsingPlan where projectids.Contains(x.ProjectId) && (x.UsingManOne == userId || x.InPutMan == userId) select x;
@@ -217,8 +217,6 @@ namespace BLL.API
Model.ResponeData respone = new ResponeData();
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
Weld_UsingPlan usingPlan = (from x in db.Weld_UsingPlan where x.UsingPlanId == usingPlanId select x).FirstOrDefault();
UsingPlanItem planItem = new UsingPlanItem();
@@ -250,12 +248,17 @@ namespace BLL.API
planItem.IsNeedConfirm = usingPlan.IsNeedConfirm;
planItem.InPutMan = usingPlan.InPutMan;
planItem.IsSteelStru = usingPlan.IsSteelStru;
planItem.TeamGroupId = usingPlan.TeamGroupId;
planItem.TeamGroupName = usingPlan.TeamGroupId;
var teamGroup = db.Base_TeamGroup.FirstOrDefault(x => x.TeamGroupName == usingPlan.TeamGroupId);
if (teamGroup != null)
{
planItem.TeamGroupId = teamGroup.TeamGroupId;
}
planItem.STE_ID = usingPlan.STE_ID;
planItem.IsFinish = usingPlan.IsFinish;
planItem.STE_Name = usingPlan.STE_Name;
planItem.UnitStoreId = BLL.UnitStoreService.GetUnitStoreNameById(usingPlan.UnitStoreId);
planItem.UnitStoreId = usingPlan.UnitStoreId;
planItem.UnitStoreName = BLL.UnitStoreService.GetUnitStoreNameById(usingPlan.UnitStoreId);
if (!string.IsNullOrEmpty(planItem.ProjectId))
{
var project = db.Base_Project.Where(x => x.ProjectId == planItem.ProjectId).FirstOrDefault();
@@ -301,10 +304,6 @@ namespace BLL.API
{
planItem.InPutManName = db.Sys_User.Where(x => x.UserId == planItem.InPutMan).Select(x => x.UserName).FirstOrDefault();
}
if (!string.IsNullOrEmpty(planItem.TeamGroupId))
{
planItem.TeamGroupName = db.Base_TeamGroup.Where(x => x.TeamGroupId == planItem.TeamGroupId).Select(x => x.TeamGroupName).FirstOrDefault();
}
respone.data = planItem;
@@ -312,6 +311,220 @@ namespace BLL.API
return respone;
}
public static Model.ResponeData getUsingPlanTempByUserId(string userId)
{
Model.ResponeData respone = new ResponeData();
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
Weld_UsingPlan_Temp usingPlan = (from x in db.Weld_UsingPlan_Temp where x.InPutMan == userId select x).FirstOrDefault();
UsingPlanItem planItem = new UsingPlanItem();
if (usingPlan != null)
{
planItem.UsingPlanId = usingPlan.UsingPlanTempId;
planItem.WeldId = usingPlan.WeldId;
planItem.ProjectId = usingPlan.ProjectId;
planItem.UsePosition = usingPlan.UsePosition;
planItem.Amount = usingPlan.Amount;
planItem.UsingManOne = usingPlan.UsingManOne;
planItem.UsingManTwo = usingPlan.UsingManTwo;
if (usingPlan.InPutDate != null)
{
planItem.InPutDate = string.Format("{0:yyyy-MM-dd}", usingPlan.InPutDate);
}
if (usingPlan.CancelDate != null)
{
planItem.CancelDate = string.Format("{0:yyyy-MM-dd}", usingPlan.CancelDate);
}
planItem.IsCancel = usingPlan.IsCancel;
planItem.FinishMan = usingPlan.FinishMan;
planItem.OrderTime = usingPlan.OrderTime;
if (usingPlan.OrderDate != null)
{
planItem.OrderDate = string.Format("{0:yyyy-MM-dd}", usingPlan.OrderDate);
}
planItem.CancelResult = usingPlan.CancelResult;
planItem.IsSubmit = usingPlan.IsSubmit;
planItem.UsingUnit = usingPlan.UsingUnit;
planItem.IsNeedConfirm = usingPlan.IsNeedConfirm;
planItem.InPutMan = usingPlan.InPutMan;
planItem.IsSteelStru = usingPlan.IsSteelStru;
planItem.TeamGroupName = usingPlan.TeamGroupId;
var teamGroup = db.Base_TeamGroup.FirstOrDefault(x => x.TeamGroupName == usingPlan.TeamGroupId);
if (teamGroup != null)
{
planItem.TeamGroupId = teamGroup.TeamGroupId;
}
planItem.STE_ID = usingPlan.STE_ID;
planItem.IsFinish = usingPlan.IsFinish;
planItem.STE_Name = usingPlan.STE_Name;
planItem.UnitStoreId = usingPlan.UnitStoreId;
planItem.UnitStoreName = BLL.UnitStoreService.GetUnitStoreNameById(usingPlan.UnitStoreId);
if (!string.IsNullOrEmpty(planItem.ProjectId))
{
var project = db.Base_Project.Where(x => x.ProjectId == planItem.ProjectId).FirstOrDefault();
if (project != null)
{
planItem.ProjectName = project.ProjectName;
planItem.ProjectCode = project.ProjectCode;
}
}
if (!string.IsNullOrEmpty(planItem.WeldId))
{
var weldInfo = db.Weld_WeldInfo.Where(x => x.WeldId == planItem.WeldId).FirstOrDefault();
if (weldInfo != null)
{
planItem.WeldName = weldInfo.WeldName;
planItem.WeldSpec = weldInfo.WeldSpec;
planItem.WeldCode = weldInfo.WeldCode;
}
if (weldInfo != null && !string.IsNullOrEmpty(weldInfo.WeldTypeId))
{
var weldType = db.Weld_WeldType.Where(x => x.WeldTypeId == weldInfo.WeldTypeId).FirstOrDefault();
if (weldType != null)
{
}
}
}
if (!string.IsNullOrEmpty(planItem.UsingManOne))
{
planItem.UsingManOneName = db.HJGL_BS_Welder.Where(x => x.WED_ID == planItem.UsingManOne).Select(x => x.WED_Name).FirstOrDefault();
}
if (!string.IsNullOrEmpty(planItem.UsingManTwo))
{
planItem.UsingManTwoName = db.HJGL_BS_Welder.Where(x => x.WED_ID == planItem.UsingManTwo).Select(x => x.WED_Name).FirstOrDefault();
}
if (!string.IsNullOrEmpty(planItem.UsingUnit))
{
planItem.UsingUnitName = db.Base_Unit.Where(x => x.UnitId == planItem.UsingUnit).Select(x => x.UnitName).FirstOrDefault();
}
if (!string.IsNullOrEmpty(planItem.InPutMan))
{
planItem.InPutManName = db.Sys_User.Where(x => x.UserId == planItem.InPutMan).Select(x => x.UserName).FirstOrDefault();
}
}
respone.data = planItem;
}
return respone;
}
public static Model.ResponeData getUsingPlanByUnitStoreCodeAndWelderCode(string unitStoreId, string wED_ID)
{
Model.ResponeData respone = new ResponeData();
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var usingPlans = from x in db.Weld_UsingPlan
where x.UnitStoreId == unitStoreId && x.UsingManOne == wED_ID
&& (x.IsCancel==false || x.IsCancel==null)
select x;
if (usingPlans.Count() > 0)
{
List<UsingPlanItem> items = new List<UsingPlanItem>();
foreach (var usingPlan in usingPlans)
{
UsingPlanItem planItem = new UsingPlanItem();
planItem.UsingPlanId = usingPlan.UsingPlanId;
planItem.WeldId = usingPlan.WeldId;
planItem.ProjectId = usingPlan.ProjectId;
planItem.UsePosition = usingPlan.UsePosition;
planItem.Amount = usingPlan.Amount;
planItem.UsingManOne = usingPlan.UsingManOne;
planItem.UsingManTwo = usingPlan.UsingManTwo;
if (usingPlan.InPutDate != null)
{
planItem.InPutDate = string.Format("{0:yyyy-MM-dd}", usingPlan.InPutDate);
}
if (usingPlan.CancelDate != null)
{
planItem.CancelDate = string.Format("{0:yyyy-MM-dd}", usingPlan.CancelDate);
}
planItem.IsCancel = usingPlan.IsCancel;
planItem.FinishMan = usingPlan.FinishMan;
planItem.OrderTime = usingPlan.OrderTime;
if (usingPlan.OrderDate != null)
{
planItem.OrderDate = string.Format("{0:yyyy-MM-dd}", usingPlan.OrderDate);
}
planItem.CancelResult = usingPlan.CancelResult;
planItem.IsSubmit = usingPlan.IsSubmit;
planItem.UsingUnit = usingPlan.UsingUnit;
planItem.IsNeedConfirm = usingPlan.IsNeedConfirm;
planItem.InPutMan = usingPlan.InPutMan;
planItem.IsSteelStru = usingPlan.IsSteelStru;
planItem.TeamGroupName = usingPlan.TeamGroupId;
var teamGroup = db.Base_TeamGroup.FirstOrDefault(x => x.TeamGroupName == usingPlan.TeamGroupId);
if (teamGroup != null)
{
planItem.TeamGroupId = teamGroup.TeamGroupId;
}
planItem.STE_ID = usingPlan.STE_ID;
planItem.IsFinish = usingPlan.IsFinish;
planItem.STE_Name = usingPlan.STE_Name;
planItem.UnitStoreId = usingPlan.UnitStoreId;
planItem.UnitStoreName = BLL.UnitStoreService.GetUnitStoreNameById(usingPlan.UnitStoreId);
if (!string.IsNullOrEmpty(planItem.ProjectId))
{
var project = db.Base_Project.Where(x => x.ProjectId == planItem.ProjectId).FirstOrDefault();
if (project != null)
{
planItem.ProjectName = project.ProjectName;
planItem.ProjectCode = project.ProjectCode;
}
}
if (!string.IsNullOrEmpty(planItem.WeldId))
{
var weldInfo = db.Weld_WeldInfo.Where(x => x.WeldId == planItem.WeldId).FirstOrDefault();
if (weldInfo != null)
{
planItem.WeldName = weldInfo.WeldName;
planItem.WeldSpec = weldInfo.WeldSpec;
planItem.WeldCode = weldInfo.WeldCode;
}
if (weldInfo != null && !string.IsNullOrEmpty(weldInfo.WeldTypeId))
{
var weldType = db.Weld_WeldType.Where(x => x.WeldTypeId == weldInfo.WeldTypeId).FirstOrDefault();
if (weldType != null)
{
}
}
}
if (!string.IsNullOrEmpty(planItem.UsingManOne))
{
planItem.UsingManOneName = db.HJGL_BS_Welder.Where(x => x.WED_ID == planItem.UsingManOne).Select(x => x.WED_Name).FirstOrDefault();
}
if (!string.IsNullOrEmpty(planItem.UsingManTwo))
{
planItem.UsingManTwoName = db.HJGL_BS_Welder.Where(x => x.WED_ID == planItem.UsingManTwo).Select(x => x.WED_Name).FirstOrDefault();
}
if (!string.IsNullOrEmpty(planItem.UsingUnit))
{
planItem.UsingUnitName = db.Base_Unit.Where(x => x.UnitId == planItem.UsingUnit).Select(x => x.UnitName).FirstOrDefault();
}
if (!string.IsNullOrEmpty(planItem.InPutMan))
{
planItem.InPutManName = db.Sys_User.Where(x => x.UserId == planItem.InPutMan).Select(x => x.UserName).FirstOrDefault();
}
items.Add(planItem);
}
respone.data = items;
}
else
{
respone.code = 0;
respone.message = "对应焊工无领料计划!";
}
}
return respone;
}
public static Model.ResponeData welderQueIsPass(string welderId, string steelType, bool isSteelStru)
{
Model.ResponeData respone = new ResponeData();
@@ -523,11 +736,12 @@ namespace BLL.API
where x.ProjectId == projectId
select new
{
WED_ID = y.WED_ID,
WED_Code = y.WED_Code,
WED_Name = y.WED_Name,
};
responeData.data = res.Skip(page * pageSize).Take(pageSize);
responeData.data = res.Skip(page * pageSize).Take(pageSize).ToList();
}
}
catch (Exception ex)
@@ -540,5 +754,45 @@ namespace BLL.API
}
#endregion
#region id获取可选择的焊工信息列表
/// <summary>
/// 根据项目id获取可选择的焊工信息列表
/// </summary>
/// <param name="personId">人员ID</param>
/// <param name="type">交换类型</param>
/// <returns></returns>
public static Model.ResponeData getProjectWelderSelectList(string projectId, string str, int page, int pageSize)
{
var responeData = new Model.ResponeData();
try
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var res = db.HJGL_BS_Welder
.Where(w => w.IsOAM == true) // 对应 AND IsOAM=1
.Where(w => !db.Project_Welder
.Any(pw => pw.ProjectId == projectId && pw.WED_ID == w.WED_ID)) // 对应 NOT IN 子查询
.Select(w => new
{
WED_ID = w.WED_ID,
WED_Code = w.WED_Code,
WED_Name = w.WED_Name + "(" + w.WED_Code + ")",
});
if (!string.IsNullOrEmpty(str))
{
res = res.Where(w => w.WED_Code.Contains(str) || w.WED_Name.Contains(str));
}
responeData.data = res.Skip(page * pageSize).Take(pageSize).ToList();
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
ErrLogInfo.WriteLog(ex, "根据项目id获取可选择的焊工信息列表", "WeldController.getProjectWelderSelectList");
}
return responeData;
}
#endregion
}
}
+4
View File
@@ -112,6 +112,9 @@
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="ThoughtWorks.QRCode, Version=1.0.4778.30637, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ThoughtWorks.QRCode.1.1.0\lib\ThoughtWorks.QRCode.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="API\APIBaseServices.cs" />
@@ -135,6 +138,7 @@
<Compile Include="Common\CacheHelper.cs" />
<Compile Include="Common\ChartControlService.cs" />
<Compile Include="Common\ConstValue.cs" />
<Compile Include="Common\CreateQRCodeService.cs" />
<Compile Include="Common\FastReportService.cs" />
<Compile Include="Common\FileManage\Common_FileManageService.cs" />
<Compile Include="Common\JsonHelper.cs" />
+85
View File
@@ -0,0 +1,85 @@
using System;
using System.IO;
using System.Text;
using ThoughtWorks.QRCode.Codec;
using System.Web.UI;
namespace BLL
{
/// <summary>
/// 上传附件相关
/// </summary>
public class CreateQRCodeService
{
/// <summary>
/// 生成二维码方法一
/// </summary>
public static string CreateCode_Simple(string nr)
{
string imageUrl = string.Empty;
if (!string.IsNullOrEmpty(nr))
{
QRCodeEncoder qrCodeEncoder = new QRCodeEncoder
{
QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE,
QRCodeScale = nr.Length,
QRCodeVersion = 0,
QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M
};
System.Drawing.Image image = qrCodeEncoder.Encode(nr, Encoding.UTF8);
string filepath = Funs.RootPath + UploadFileService.QRCodeImageFilePath;
//如果文件夹不存在,则创建
if (!Directory.Exists(filepath))
{
Directory.CreateDirectory(filepath);
}
string filename = DateTime.Now.ToString("yyyymmddhhmmssfff").ToString() + ".jpg";
FileStream fs = new FileStream(filepath + filename, FileMode.OpenOrCreate, FileAccess.Write);
image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg);
fs.Close();
image.Dispose();
imageUrl= UploadFileService.QRCodeImageFilePath + filename;
}
return imageUrl;
}
//public static string CreateCode_Simple2(string nr)
//{
// string imageUrl = string.Empty;
// if (!string.IsNullOrEmpty(nr))
// {
// QRCodeEncoder qrCodeEncoder = new QRCodeEncoder
// {
// QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE,
// QRCodeScale = nr.Length,
// QRCodeVersion = 0,
// QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M
// };
// System.Drawing.Image image = qrCodeEncoder.Encode(nr, Encoding.UTF8);
// string filepath = Funs.RootPath + UploadFileService.WelderQRCodeImageFilePath;
// //如果文件夹不存在,则创建
// if (!Directory.Exists(filepath))
// {
// Directory.CreateDirectory(filepath);
// }
// string filename = DateTime.Now.ToString("yyyymmddhhmmssfff").ToString() + ".jpg";
// FileStream fs = new FileStream(filepath + filename, FileMode.OpenOrCreate, FileAccess.Write);
// image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg);
// fs.Close();
// image.Dispose();
// imageUrl = UploadFileService.WelderQRCodeImageFilePath + filename;
// }
// return imageUrl;
//}
/// <summary>
///
/// </summary>
/// <returns></returns>
public static bool isHaveImage(string url)
{
string filepath = Funs.RootPath + url;
return File.Exists(filepath);
}
}
}
+1 -1
View File
@@ -14,7 +14,7 @@ namespace BLL.Common
{
public class OpenAIhelper
{
private const string ApiKey = "sk-a5014a22a49049d1b2179a6c0d8eec1c";
private const string ApiKey = "sk-8bfd57eaf2c7438388ec584ac86dfb34";
private const string AIURL = "https://api.deepseek.com/chat/completions";
public static string ChatCompletion(string content)
@@ -1358,5 +1358,173 @@ namespace BLL
&& (y.JOTY_Name.Contains("支管连接焊缝") || y.JOTY_Name.Contains("角焊缝"))
select x).ToList();
}
public static string ConvertJointCodeString(string jotIdList)
{
string name = string.Empty;
string[] list = jotIdList.Split(',');
foreach (var item in list)
{
if (!string.IsNullOrEmpty(item))
{
name += GetJointInfoByJotID(item).JOT_JointNo + ",";
}
}
if (!string.IsNullOrEmpty(name))
{
name = name.Substring(0, name.LastIndexOf(","));
}
return name;
}
/// <summary>
/// 根据焊口Id获取焊口信息
/// </summary>
/// <param name="jot_id"></param>
/// <returns></returns>
public static Model.HJGL_SpRpWeldReportItem GetJointItemByJotID(string jot_id)
{
Model.HJGL_SpRpWeldReportItem newWeldReportItem = new Model.HJGL_SpRpWeldReportItem();
Model.SGGLDB db = Funs.DB;
var jotInfo = db.HJGL_PW_JointInfo.FirstOrDefault(e => e.JOT_ID == jot_id);
var jotView = db.HJGL_View_JointInfo.FirstOrDefault(e => e.JOT_ID == jot_id);
newWeldReportItem.JOT_ID = jotInfo.JOT_ID;
newWeldReportItem.JOT_JointNo = jotInfo.JOT_JointNo;
newWeldReportItem.ProjectId = jotInfo.ProjectId;
newWeldReportItem.DReportID = jotInfo.DReportID;
var isoInfo = BLL.HJGL_PW_IsoInfoService.GetIsoInfoByIsoInfoId(jotInfo.ISO_ID);
if (isoInfo != null)
{
newWeldReportItem.ISO_IsoNo = isoInfo.ISO_IsoNo;
newWeldReportItem.ISO_Id = isoInfo.ISO_ID;
}
if (jotInfo.WLO_Code == "F")
{
newWeldReportItem.WLO_CodeName = "现场安装";
newWeldReportItem.WLO_CodeID = "F";
}
else
{
newWeldReportItem.WLO_CodeName = "预制";
newWeldReportItem.WLO_CodeID = "S";
}
newWeldReportItem.JOT_JointAttribute = jotInfo.JOT_JointAttribute;
string steName = string.Empty;
if (jotView.STE_Name1 != null && jotView.STE_Name2 != null && jotView.STE_Name1 != jotView.STE_Name2)
{
steName = jotView.STE_Name1 + "/" + jotView.STE_Name2;
}
else if (jotView.STE_Name1 != null)
{
steName = jotView.STE_Name1;
}
else if (jotView.STE_Name2 != null)
{
steName = jotView.STE_Name2;
}
newWeldReportItem.STE_Code = steName;
var joty = BLL.HJGL_WeldService.GetJointTypeByID(jotInfo.JOTY_ID);
newWeldReportItem.JOTY_Group = joty.JOTY_Group;
if (jotInfo.JOT_JointAttribute == "固定")
{
if (joty != null && (joty.JOTY_Group == "2" || joty.JOTY_Group == "3"))
{
newWeldReportItem.JOT_Location = "5F";
}
else if (joty != null && joty.JOTY_Group == "1")
{
newWeldReportItem.JOT_Location = "2G";
}
else
{
newWeldReportItem.JOT_Location = "5G";
}
}
else
{
if (joty != null && (joty.JOTY_Group == "2" || joty.JOTY_Group == "3"))
{
newWeldReportItem.JOT_Location = "1F";
}
else
{
newWeldReportItem.JOT_Location = "1G";
}
}
if (!string.IsNullOrEmpty(jotInfo.JOT_Location))
{
newWeldReportItem.JOT_Location = jotInfo.JOT_Location;
}
var dayReport = db.HJGL_BO_WeldReportMain.FirstOrDefault(x => x.DReportID == jotInfo.DReportID);
if (dayReport != null && dayReport.JOT_WeldDate != null)
{
newWeldReportItem.WeldDate = dayReport.JOT_WeldDate;
}
newWeldReportItem.JOT_Size = jotInfo.JOT_Size;
newWeldReportItem.JOT_DoneDin = jotInfo.JOT_Size;
newWeldReportItem.JOT_Dia = jotInfo.JOT_Dia;
newWeldReportItem.JOT_Sch = jotInfo.JOT_Sch;
if (!string.IsNullOrEmpty(jotInfo.JOT_CellWelder)) //盖面焊工
{
var cellWelder = BLL.HJGL_PersonManageService.GetWelderByWenId(jotInfo.JOT_CellWelder);
if (cellWelder != null)
{
newWeldReportItem.JOT_CellWelderID = cellWelder.WED_ID;
newWeldReportItem.JOT_CellWelderCode = cellWelder.WED_Name + "(" + cellWelder.WED_Code + ")";
}
}
if (!string.IsNullOrEmpty(jotInfo.JOT_FloorWelder)) //打底焊工
{
var floorWelder = BLL.HJGL_PersonManageService.GetWelderByWenId(jotInfo.JOT_FloorWelder);
if (floorWelder != null)
{
newWeldReportItem.JOT_FloorWelderID = floorWelder.WED_ID;
newWeldReportItem.JOT_FloorWelderCode = floorWelder.WED_Name + "(" + floorWelder.WED_Code + ")";
}
}
if (!string.IsNullOrEmpty(jotInfo.WME_ID))
{
var weldingMethod = BLL.HJGL_WeldingMethodService.GetWeldMethodByWMEID(jotInfo.WME_ID);
if (weldingMethod != null)
{
newWeldReportItem.WME_ID = weldingMethod.WME_ID;
newWeldReportItem.WME_Name = weldingMethod.WME_Name;
}
}
if (!string.IsNullOrEmpty(jotInfo.JOT_WeldMat))
{
//var weldMat = BLL.HJGL_ConsumablesService.getConsumablesByConsumablesId(jotInfo.JOT_WeldMat);
//if (weldMat != null)
//{
// newWeldReportItem.JOT_WeldMat = weldMat.WMT_ID;
// newWeldReportItem.WeldMatCode = weldMat.WMT_MatCode;
//}
var weldMat = (from x in Funs.DB.View_WeldInfoDropDownLists where x.WeldId == jotInfo.JOT_WeldMat select x).FirstOrDefault();
if (weldMat != null)
{
newWeldReportItem.JOT_WeldMat = weldMat.WeldId;
newWeldReportItem.WeldMatCode = weldMat.WeldName;
}
}
if (!string.IsNullOrEmpty(jotInfo.JOT_WeldSilk))
{
//var weldSilk = BLL.HJGL_ConsumablesService.getConsumablesByConsumablesId(jotInfo.JOT_WeldSilk);
//if (weldSilk != null)
//{
// newWeldReportItem.JOT_WeldSilk = weldSilk.WMT_ID;
// newWeldReportItem.WeldSilkCode = weldSilk.WMT_MatCode;
//}
var weldSilk = Funs.DB.View_WeldInfoDropDownLists.FirstOrDefault(x => x.WeldId == jotInfo.JOT_WeldSilk);
if (weldSilk != null)
{
newWeldReportItem.JOT_WeldSilk = weldSilk.WeldId;
newWeldReportItem.WeldSilkCode = weldSilk.WeldName;
}
}
return newWeldReportItem;
}
}
}
+1
View File
@@ -5,4 +5,5 @@
<package id="Portable.BouncyCastle" version="1.8.9" targetFramework="net461" />
<package id="SharpZipLib" version="1.3.2" targetFramework="net461" />
<package id="System.Runtime.Caching" version="4.7.0" targetFramework="net461" />
<package id="ThoughtWorks.QRCode" version="1.1.0" targetFramework="net461" />
</packages>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Report ScriptLanguage="CSharp" ReportInfo.Created="11/19/2024 10:28:42" ReportInfo.Modified="04/22/2026 23:14:16" ReportInfo.CreatorVersion="2017.1.16.0">
<Report ScriptLanguage="CSharp" ReportInfo.Created="11/19/2024 10:28:42" ReportInfo.Modified="07/23/2026 19:28:42" ReportInfo.CreatorVersion="2017.1.16.0">
<ScriptText>using System;
using System.Collections;
using System.Collections.Generic;
@@ -50,7 +50,7 @@ namespace FastReport
}
</ScriptText>
<Dictionary>
<MsSqlDataConnection Name="Connection" ConnectionString="rijcmlqtRsOalcXxDhVt62rPEPNYjaATUoMqziRYvJtgNsyJKYAG7kXKvNAMI/qBkgJNPccFsWrhiII6oyX1HS+uwN7YigxVjqUq3vIet2zpPnmWhwvYEvWOOCZZGx6EC4BfGfWX8aPj6bmoF52Z0fnUA9g71duxa/gvChTW/nzu9qsYVuvlVHliMnnu6jEIF9n+/QFRLE3fVb1N0D74ri9q0f0Mg==">
<MsSqlDataConnection Name="Connection" ConnectionString="rijcmlqIE9zJk/8ULeif4RkZkc80GGytRKlih6tUb0L9Ix0XxfOkXblDHhJG+c8otk7BlkSXigt3h2g8s66LhIA2ej5V44GYDoQsZgDhuvJvrZR+uQhqC/56EHhLH7CmIDKiHpAT83DQaORI7+jJbMhSO9ZCfX4/FxSqRvztAdyM/nMHc8AZlzGidIBKhyWKxYvdUb4uxzlKFoLiFIBFlnPfQ8yK+Exc+GofX+VLIPk0qmGxwQ=">
<TableDataSource Name="Data" DataType="System.Int32" PropName="Attach_Image" Enabled="true" TableName="Data">
<Column Name="ISO_IsoNo" DataType="System.String" PropName="attach_image_id"/>
<Column Name="JOT_JointNo" DataType="System.String" PropName="image_series"/>
@@ -84,7 +84,7 @@ namespace FastReport
<TableRow Name="Row1" Height="67.28">
<TableCell Name="Cell1" Border.Lines="All" Text="SH/T 3503-J415-1" HorzAlign="Center" VertAlign="Center" Font="宋体, 10.5pt" ColSpan="2" RowSpan="2"/>
<TableCell Name="Cell2" Border.Lines="All"/>
<TableCell Name="Cell3" Border.Lines="All" BeforePrintEvent="Cell3_BeforePrint" Text="管道焊接工作记录[header]" HorzAlign="Center" VertAlign="Center" Font="思源宋体 CN, 16pt, style=Bold" ColSpan="6" RowSpan="2"/>
<TableCell Name="Cell3" Border.Lines="All" BeforePrintEvent="Cell3_BeforePrint" Text="管道焊接工作记录[header]" HorzAlign="Center" VertAlign="Center" Font="Microsoft Sans Serif, 16pt, style=Bold" ColSpan="6" RowSpan="2"/>
<TableCell Name="Cell4" Border.Lines="All"/>
<TableCell Name="Cell5" Border.Lines="All"/>
<TableCell Name="Cell26" Border.Lines="All"/>
File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 879 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

@@ -58,6 +58,7 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<PlatformTarget>AnyCPU</PlatformTarget>
<Prefer32Bit>false</Prefer32Bit>
<PreferNativeArm64>false</PreferNativeArm64>
</PropertyGroup>
<ItemGroup>
<Reference Include="Aspose.Words, Version=21.8.0.0, Culture=neutral, PublicKeyToken=716fcc553a201e56, processorArchitecture=MSIL">
@@ -1304,6 +1305,7 @@
<Content Include="HJGL\TrustManage\TrustManageItemEdit.aspx" />
<Content Include="HJGL\WeldingManage\CompleteReportDateEdit.aspx" />
<Content Include="HJGL\WeldingManage\DetectionPoint.aspx" />
<Content Include="HJGL\WeldingManage\JointInfoBatchModity.aspx" />
<Content Include="HJGL\WeldingManage\JointInfoBatchUpdate.aspx" />
<Content Include="HJGL\WeldingManage\JointInfoCopy.aspx" />
<Content Include="HJGL\WeldingManage\JointInfoOut.aspx" />
@@ -6476,6 +6478,13 @@
<Compile Include="HJGL\WeldingManage\DetectionPoint.aspx.designer.cs">
<DependentUpon>DetectionPoint.aspx</DependentUpon>
</Compile>
<Compile Include="HJGL\WeldingManage\JointInfoBatchModity.aspx.cs">
<DependentUpon>JointInfoBatchModity.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="HJGL\WeldingManage\JointInfoBatchModity.aspx.designer.cs">
<DependentUpon>JointInfoBatchModity.aspx</DependentUpon>
</Compile>
<Compile Include="HJGL\WeldingManage\JointInfoBatchUpdate.aspx.cs">
<DependentUpon>JointInfoBatchUpdate.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<UseIISExpress>true</UseIISExpress>
+10 -3
View File
@@ -538,8 +538,8 @@
}
else if (queProject[1].Trim() == ("FeIII") || queProject[1].Trim() == ("FeⅢ"))
{
materialType = "FeⅢ";
materialTypeName = "合金钢";
materialType = "FeⅢ,FeⅡ,Fe";
materialTypeName = "合金钢,不锈钢,碳钢";
}
else if (queProject[1].Trim() == ("FeIV") || queProject[1].Trim() == ("FeⅣ"))
{
@@ -743,7 +743,14 @@
}
else
{
weldType = "1,2";
if (queProject[2].Contains("6G"))
{
weldType = "1,2,3";
}
else
{
weldType = "1,2";
}
}
}
@@ -399,8 +399,11 @@ namespace FineUIPro.Web.HJGL.DataIn
row["remark"] = item.Value<string>("remark");
if (string.IsNullOrEmpty(row["drawing_number"].ToString()))
{
var rowOther = dtOther.Select("page= " + row["page_no"].ToString()).FirstOrDefault();
row["drawing_number"] = rowOther["text"];
var rowOther = dtOther.Select("page= '" + row["page_no"].ToString()+ "'").FirstOrDefault();
if (rowOther != null)
{
row["drawing_number"] = rowOther["text"];
}
}
dt.Rows.Add(row);
}
@@ -36,6 +36,7 @@
<f:FileUpload ID="FileExcel" runat="server" Label="数据文件" EmptyText="请上传EXCEl格式文件" Width="400px" LabelWidth="70px"></f:FileUpload>
<f:Button ID="btnAudit" runat="server" Text="审核" ToolTip="文件审核!" OnClick="btnAudit_Click"></f:Button>
<f:Button ID="imgbtnImport" runat="server" Text="上传" ToolTip="文件上传!" OnClick="imgbtnImport_Click"></f:Button>
<f:CheckBox ID="cbUpdateIn" runat="server" Text="更新导入"></f:CheckBox>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:Button ID="imgbtnUpload" runat="server" Icon="DiskDownload" Text="模板下载" OnClick="imgbtnUpload_Click" EnableAjaxLoading="false"></f:Button>
<f:HiddenField ID="hdFileName" runat="server">
@@ -1,4 +1,8 @@
using System;
using BLL;
using FastReport.Utils;
using NPOI.POIFS.Crypt.Dsig;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
@@ -8,7 +12,6 @@ using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLL;
namespace FineUIPro.Web.HJGL.DataIn
{
public partial class JointIn : PageBase
@@ -607,7 +610,7 @@ namespace FineUIPro.Web.HJGL.DataIn
if (getProject != null && getPWisInfo != null)
{
var getJoint = Funs.DB.HJGL_PW_JointInfo.FirstOrDefault(x => x.ProjectId == getProject.ProjectId && x.ISO_ID == getPWisInfo.ISO_ID && x.JOT_JointNo == col2);
if (getJoint != null)
if (getJoint != null && this.cbUpdateIn.Checked == false)
{
result += "第" + (i + 2).ToString() + "行," + "该焊口已存在" + "\n";
}
@@ -940,7 +943,56 @@ namespace FineUIPro.Web.HJGL.DataIn
}
else
{
result += "第" + (i + 2).ToString() + "行," + "该焊口已存在" + "\n";
if (this.cbUpdateIn.Checked)
{
newJointInfo.JOT_JointNo = col2;
if (col8 == "固定")
{
if (newJointInfo.JOT_JointNo.Last() != 'G')
{
newJointInfo.JOT_JointNo = newJointInfo.JOT_JointNo + "G";
}
}
if (newJointInfo.IsGold == true)
{
if (newJointInfo.JOT_JointNo.Last() != 'H')
{
newJointInfo.JOT_JointNo = newJointInfo.JOT_JointNo + "H";
}
}
newJointInfo.JOT_ID = getJoint.JOT_ID;
BLL.HJGL_PW_JointInfoService.UpdateJointInfo(newJointInfo);
// 更新排序字段
string strSort = @"UPDATE dbo.HJGL_PW_JointInfo SET
Sort1=(case when PATINDEX('[A-Z]%',JOT_JointNo)>0 THEN 'B'
WHEN ISNUMERIC(JOT_JointNo)=1 then 'C' ELSE 'C' END),
Sort2=(CASE WHEN ISNUMERIC(JOT_JointNo)=1 then try_cast(REPLACE(JOT_JointNo,'.','') AS INT)
WHEN ISNUMERIC(SUBSTRING(JOT_JointNo,0,CHARINDEX('Z',JOT_JointNo)))=1
THEN TRY_CAST(SUBSTRING(JOT_JointNo,0,CHARINDEX('Z',JOT_JointNo)) as int)
WHEN PATINDEX('[0-9]%',JOT_JointNo)>0 then
TRY_CAST(left(JOT_JointNo,PATINDEX('%[^0-9]%',JOT_JointNo)-1) as int)
ELSE 0 END),
Sort3= SUBSTRING(JOT_JointNo,1,1),
Sort4=(CASE WHEN CHARINDEX('Z',JOT_JointNo)>0 and SUBSTRING(JOT_JointNo,1,1)<>'Z'
THEN ISNULL(TRY_CAST(SUBSTRING(replace(JOT_JointNo,'#',''),2,CHARINDEX('Z',JOT_JointNo)-2) as int),0)
WHEN PATINDEX('%[A-G]%',SUBSTRING(replace(JOT_JointNo,'#',''),2,len(JOT_JointNo)))>0
THEN ISNULL(TRY_CAST(SUBSTRING(JOT_JointNo,2,len(JOT_JointNo)-2) as int),0)
ELSE ISNULL(TRY_CAST(SUBSTRING(replace(JOT_JointNo,'#',''),2,len(JOT_JointNo)) as int),0) END),
Sort5=(CASE WHEN CHARINDEX('Z',JOT_JointNo)>0
THEN ISNULL(TRY_CAST(SUBSTRING(JOT_JointNo,charindex('Z',JOT_JointNo)+1,len(JOT_JointNo)) AS INT),0)
WHEN PATINDEX('%[A-Y]',SUBSTRING(replace(JOT_JointNo,'#',''),2,len(JOT_JointNo)))>0
THEN ISNULL(TRY_CAST(SUBSTRING(JOT_JointNo,2,len(JOT_JointNo)-1) as int),0) ELSE 0 END)
WHERE JOT_ID='" + newJointInfo.JOT_ID + "'";
SQLHelper.ExecutSql(strSort);
//JOT_IDStr += Funs.DB.HJGL_PW_JointInfo.FirstOrDefault(x => x.ProjectId == getProject.ProjectId && x.ISO_ID == getPWisInfo.ISO_ID && x.JOT_JointNo == col2).JOT_ID + ",";
JOT_IDStr += newJointInfo.JOT_ID + ",";
}
else
{
result += "第" + (i + 2).ToString() + "行," + "该焊口已存在" + "\n";
}
}
}
errorInfos += result;
+34 -23
View File
@@ -7,11 +7,13 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HJGL.DataIn {
public partial class JointIn {
namespace FineUIPro.Web.HJGL.DataIn
{
public partial class JointIn
{
/// <summary>
/// Head1 控件。
/// </summary>
@@ -20,7 +22,7 @@ namespace FineUIPro.Web.HJGL.DataIn {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlHead Head1;
/// <summary>
/// form1 控件。
/// </summary>
@@ -29,7 +31,7 @@ namespace FineUIPro.Web.HJGL.DataIn {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
@@ -38,7 +40,7 @@ namespace FineUIPro.Web.HJGL.DataIn {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
@@ -47,7 +49,7 @@ namespace FineUIPro.Web.HJGL.DataIn {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// panelCenterRegion 控件。
/// </summary>
@@ -56,7 +58,7 @@ namespace FineUIPro.Web.HJGL.DataIn {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelCenterRegion;
/// <summary>
/// Toolbar2 控件。
/// </summary>
@@ -65,7 +67,7 @@ namespace FineUIPro.Web.HJGL.DataIn {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// FileExcel 控件。
/// </summary>
@@ -74,7 +76,7 @@ namespace FineUIPro.Web.HJGL.DataIn {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.FileUpload FileExcel;
/// <summary>
/// btnAudit 控件。
/// </summary>
@@ -83,7 +85,7 @@ namespace FineUIPro.Web.HJGL.DataIn {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAudit;
/// <summary>
/// imgbtnImport 控件。
/// </summary>
@@ -92,7 +94,16 @@ namespace FineUIPro.Web.HJGL.DataIn {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button imgbtnImport;
/// <summary>
/// cbUpdateIn 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.CheckBox cbUpdateIn;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
@@ -101,7 +112,7 @@ namespace FineUIPro.Web.HJGL.DataIn {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// imgbtnUpload 控件。
/// </summary>
@@ -110,7 +121,7 @@ namespace FineUIPro.Web.HJGL.DataIn {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button imgbtnUpload;
/// <summary>
/// hdFileName 控件。
/// </summary>
@@ -119,7 +130,7 @@ namespace FineUIPro.Web.HJGL.DataIn {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdFileName;
/// <summary>
/// Grid1 控件。
/// </summary>
@@ -128,7 +139,7 @@ namespace FineUIPro.Web.HJGL.DataIn {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
@@ -137,7 +148,7 @@ namespace FineUIPro.Web.HJGL.DataIn {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
@@ -146,7 +157,7 @@ namespace FineUIPro.Web.HJGL.DataIn {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
@@ -155,7 +166,7 @@ namespace FineUIPro.Web.HJGL.DataIn {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
@@ -164,7 +175,7 @@ namespace FineUIPro.Web.HJGL.DataIn {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Menu1 控件。
/// </summary>
@@ -173,7 +184,7 @@ namespace FineUIPro.Web.HJGL.DataIn {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>
@@ -12,14 +12,20 @@
<link rel="modulepreload" crossorigin="" href="./assets/pdfjs-HfNT2Y4W.js">
<link rel="modulepreload" crossorigin="" href="./assets/styles-Bno-H3Kc.js">
<link rel="stylesheet" crossorigin="" href="./assets/styles-CDHjsf7D.css">
<link rel="stylesheet" crossorigin="" href="./assets/main-DSskaVYi.css">--%>
<link rel="stylesheet" crossorigin="" href="./assets/main-DSskaVYi.css">
<script type="module" crossorigin src="./assets/main-BVrK8ZH3.js"></script>
<link rel="modulepreload" crossorigin href="./assets/pdf-lib-D5zKcp81.js">
<link rel="modulepreload" crossorigin href="./assets/pdfjs-HfNT2Y4W.js">
<link rel="modulepreload" crossorigin href="./assets/styles-DSX1EPGh.js">
<link rel="stylesheet" crossorigin href="./assets/styles-RcW4wYEA.css">
<link rel="stylesheet" crossorigin href="./assets/main-Ct3Co9Zo.css">
<link rel="stylesheet" crossorigin href="./assets/main-Ct3Co9Zo.css">--%>
<script type="module" crossorigin src="./assets/main-CAQAECJj.js"></script>
<link rel="modulepreload" crossorigin href="./assets/pdf-lib-AfLQbX6n.js">
<link rel="modulepreload" crossorigin href="./assets/pdfjs-DXqArq6h.js">
<link rel="modulepreload" crossorigin href="./assets/styles-BivZUUi2.js">
<link rel="stylesheet" crossorigin href="./assets/styles-D86IH2mE.css">
<link rel="stylesheet" crossorigin href="./assets/main-BrQ26Trd.css">
<style type="text/css">
@@ -7,14 +7,19 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<script type="module" crossorigin="" src="./assets/viewer-Dla4Cfl-.js"></script>
<%-- <script type="module" crossorigin="" src="./assets/viewer-Dla4Cfl-.js"></script>
<link rel="modulepreload" crossorigin="" href="./assets/pdf-lib-D5zKcp81.js">
<link rel="modulepreload" crossorigin="" href="./assets/pdfjs-HfNT2Y4W.js">
<link rel="modulepreload" crossorigin="" href="./assets/styles-Bno-H3Kc.js">
<link rel="stylesheet" crossorigin="" href="./assets/styles-CDHjsf7D.css">
<link rel="stylesheet" crossorigin="" href="./assets/viewer-BilNgxa5.css">
<link rel="stylesheet" crossorigin="" href="./assets/viewer-BilNgxa5.css">--%>
<script type="module" crossorigin src="./assets/viewer-OAWYGAQy.js"></script>
<link rel="modulepreload" crossorigin href="./assets/pdf-lib-AfLQbX6n.js">
<link rel="modulepreload" crossorigin href="./assets/pdfjs-DXqArq6h.js">
<link rel="modulepreload" crossorigin href="./assets/styles-BivZUUi2.js">
<link rel="stylesheet" crossorigin href="./assets/styles-D86IH2mE.css">
<link rel="stylesheet" crossorigin href="./assets/viewer-DahJGFsF.css">
</head>
<body>
<form id="form1" runat="server">
@@ -0,0 +1 @@
.menu-item[data-v-730149df]:hover{background-color:#f3f4f6!important}.annotation-detail-panel[data-v-730149df]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;overflow:hidden}.panel-header[data-v-730149df]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#334155;color:#fff}.close-btn[data-v-730149df]{background:transparent;border:none;color:#fff;font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.close-btn[data-v-730149df]:hover{color:#fca5a5}.detail-content[data-v-730149df]{padding:12px}.detail-row[data-v-730149df]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.detail-row label[data-v-730149df]{min-width:70px;font-size:12px;color:#64748b}.detail-row.readonly[data-v-730149df]{color:#94a3b8;font-size:12px}.detail-row.readonly span[data-v-730149df]{color:#475569}.label-preview[data-v-730149df]{flex:1;padding:6px 10px;background:#1e293b;color:#f1f5f9;border-radius:4px;font-family:monospace;font-size:13px;text-align:center}.detail-input[data-v-730149df]{flex:1;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:12px}.detail-input[data-v-730149df]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.detail-textarea[data-v-730149df]{flex:1;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:12px;min-height:60px;resize:vertical;font-family:inherit}.detail-textarea[data-v-730149df]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.detail-divider[data-v-730149df]{height:1px;background:#e2e8f0;margin:12px 0}.detail-actions[data-v-730149df]{display:flex;gap:8px;margin-top:12px}.detail-actions .btn-primary[data-v-730149df]{flex:1;padding:8px;background:#3b82f6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.detail-actions .btn-primary[data-v-730149df]:hover{background:#2563eb}.detail-actions .btn-danger[data-v-730149df]{padding:8px 12px;background:#fee2e2;color:#dc2626;border:1px solid #fecaca;border-radius:4px;cursor:pointer;font-size:12px}.detail-actions .btn-danger[data-v-730149df]:hover{background:#fecaca}.weld-table-panel[data-v-3f4d92b8]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;overflow:hidden}.weld-table-header[data-v-3f4d92b8]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#334155;color:#fff;font-size:13px;font-weight:600;cursor:pointer;user-select:none}.weld-table-body[data-v-3f4d92b8]{padding:8px;overflow-y:auto;flex:1;min-height:0}.header-close[data-v-3f4d92b8]{cursor:pointer;font-size:16px;line-height:1;padding:0 2px;color:#fff}.header-close[data-v-3f4d92b8]:hover{color:#fca5a5}.weld-table-empty[data-v-3f4d92b8]{font-size:12px;color:#94a3b8;text-align:center;padding:12px 0}.weld-table[data-v-3f4d92b8]{border-collapse:collapse;width:100%;font-size:11px}.weld-table th[data-v-3f4d92b8]{text-align:left;color:#64748b;font-weight:600;padding:4px;border-bottom:1px solid #e2e8f0;white-space:nowrap}.weld-table td[data-v-3f4d92b8]{padding:3px 4px;border-bottom:1px solid #f1f5f9;color:#334155}.weld-table tbody tr[data-v-3f4d92b8]{cursor:pointer}.weld-table tbody tr[data-v-3f4d92b8]:hover{background:#f0f9ff}.weld-table tbody tr.row-selected[data-v-3f4d92b8]{background:#e0f2fe}.cell-input[data-v-3f4d92b8]{box-sizing:border-box;padding:2px 4px;border:1px solid #cbd5e1;border-radius:3px;font-size:11px;background:#fff}.cell-input[data-v-3f4d92b8]:focus{outline:none;border-color:#0ea5e9}.row-delete[data-v-3f4d92b8]{color:#ef4444;cursor:pointer;font-size:13px;padding:0 4px}.row-delete[data-v-3f4d92b8]:hover{color:#b91c1c}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
.menu-item[data-v-99d9d8cd]:hover{background-color:#f3f4f6!important}.annotation-detail-panel[data-v-99d9d8cd]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;overflow:hidden}.panel-header[data-v-99d9d8cd]{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#334155;color:#fff}.close-btn[data-v-99d9d8cd]{background:transparent;border:none;color:#fff;font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.close-btn[data-v-99d9d8cd]:hover{color:#fca5a5}.detail-content[data-v-99d9d8cd]{padding:12px}.detail-row[data-v-99d9d8cd]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.detail-row label[data-v-99d9d8cd]{min-width:70px;font-size:12px;color:#64748b}.detail-row.readonly[data-v-99d9d8cd]{color:#94a3b8;font-size:12px}.detail-row.readonly span[data-v-99d9d8cd]{color:#475569}.label-preview[data-v-99d9d8cd]{flex:1;padding:6px 10px;background:#1e293b;color:#f1f5f9;border-radius:4px;font-family:monospace;font-size:13px;text-align:center}.detail-input[data-v-99d9d8cd]{flex:1;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:12px}.detail-input[data-v-99d9d8cd]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.detail-textarea[data-v-99d9d8cd]{flex:1;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:12px;min-height:60px;resize:vertical;font-family:inherit}.detail-textarea[data-v-99d9d8cd]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.detail-divider[data-v-99d9d8cd]{height:1px;background:#e2e8f0;margin:12px 0}.detail-actions[data-v-99d9d8cd]{display:flex;gap:8px;margin-top:12px}.detail-actions .btn-primary[data-v-99d9d8cd]{flex:1;padding:8px;background:#3b82f6;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.detail-actions .btn-primary[data-v-99d9d8cd]:hover{background:#2563eb}.detail-actions .btn-danger[data-v-99d9d8cd]{padding:8px 12px;background:#fee2e2;color:#dc2626;border:1px solid #fecaca;border-radius:4px;cursor:pointer;font-size:12px}.detail-actions .btn-danger[data-v-99d9d8cd]:hover{background:#fecaca}.weld-table-panel[data-v-3f4d92b8]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;overflow:hidden}.weld-table-header[data-v-3f4d92b8]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#334155;color:#fff;font-size:13px;font-weight:600;cursor:pointer;user-select:none}.weld-table-body[data-v-3f4d92b8]{padding:8px;overflow-y:auto;flex:1;min-height:0}.header-close[data-v-3f4d92b8]{cursor:pointer;font-size:16px;line-height:1;padding:0 2px;color:#fff}.header-close[data-v-3f4d92b8]:hover{color:#fca5a5}.weld-table-empty[data-v-3f4d92b8]{font-size:12px;color:#94a3b8;text-align:center;padding:12px 0}.weld-table[data-v-3f4d92b8]{border-collapse:collapse;width:100%;font-size:11px}.weld-table th[data-v-3f4d92b8]{text-align:left;color:#64748b;font-weight:600;padding:4px;border-bottom:1px solid #e2e8f0;white-space:nowrap}.weld-table td[data-v-3f4d92b8]{padding:3px 4px;border-bottom:1px solid #f1f5f9;color:#334155}.weld-table tbody tr[data-v-3f4d92b8]{cursor:pointer}.weld-table tbody tr[data-v-3f4d92b8]:hover{background:#f0f9ff}.weld-table tbody tr.row-selected[data-v-3f4d92b8]{background:#e0f2fe}.cell-input[data-v-3f4d92b8]{box-sizing:border-box;padding:2px 4px;border:1px solid #cbd5e1;border-radius:3px;font-size:11px;background:#fff}.cell-input[data-v-3f4d92b8]:focus{outline:none;border-color:#0ea5e9}.row-delete[data-v-3f4d92b8]{color:#ef4444;cursor:pointer;font-size:13px;padding:0 4px}.row-delete[data-v-3f4d92b8]:hover{color:#b91c1c}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
.viewer-container[data-v-eda88533]{display:flex;height:100vh;padding:12px;box-sizing:border-box}.viewer-main[data-v-eda88533]{flex:1;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:0 10px 30px -18px #00000059;padding:8px;box-sizing:border-box}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,3 @@
àRCopyright 1990-2009 Adobe Systems Incorporated.
All rights reserved.
See ./LICENSEáCNS2-H

Some files were not shown because too many files have changed in this diff Show More