feat(hjgl):新增防腐管理

This commit is contained in:
2026-06-15 18:06:19 +08:00
parent 74ce2df18a
commit bd1033ee27
32 changed files with 3866 additions and 454 deletions
@@ -0,0 +1,119 @@
/*
防腐委托单建表脚本
执行后请手动重新生成 LINQ to SQL 模型。
*/
IF OBJECT_ID(N'dbo.Tw_AntiCorrosionTrust', N'U') IS NULL
BEGIN
CREATE TABLE dbo.Tw_AntiCorrosionTrust
(
Id NVARCHAR(50) NOT NULL CONSTRAINT PK_Tw_AntiCorrosionTrust PRIMARY KEY,
ProjectId NVARCHAR(50) NOT NULL,
UnitWorkId NVARCHAR(50) NOT NULL,
ConstructionPart NVARCHAR(200) NULL,
ConstructionProfessional NVARCHAR(100) NULL,
TrustCode NVARCHAR(200) NOT NULL,
OutputMasterId NVARCHAR(50) NOT NULL,
DemandDate DATETIME NULL,
CompleteDate DATETIME NULL,
CreateMan NVARCHAR(50) NULL,
CreateDate DATETIME NULL,
Remark NVARCHAR(500) NULL
);
END;
GO
IF OBJECT_ID(N'dbo.Tw_AntiCorrosionTrustDetail', N'U') IS NULL
BEGIN
CREATE TABLE dbo.Tw_AntiCorrosionTrustDetail
(
Id NVARCHAR(50) NOT NULL CONSTRAINT PK_Tw_AntiCorrosionTrustDetail PRIMARY KEY,
TrustId NVARCHAR(50) NOT NULL,
SortIndex INT NULL,
MaterialCode NVARCHAR(50) NOT NULL,
Quantity DECIMAL(18, 4) NULL,
PaintCode NVARCHAR(50) NULL,
Primer NVARCHAR(300) NULL,
IntermediatePaint NVARCHAR(300) NULL,
Topcoat NVARCHAR(300) NULL,
ColorCode NVARCHAR(100) NULL,
Remark NVARCHAR(500) NULL
);
END;
GO
IF OBJECT_ID(N'dbo.Tw_PaintCodeDict', N'U') IS NULL
BEGIN
CREATE TABLE dbo.Tw_PaintCodeDict
(
Id NVARCHAR(50) NOT NULL CONSTRAINT PK_Tw_PaintCodeDict PRIMARY KEY,
PaintCode NVARCHAR(50) NOT NULL,
Primer NVARCHAR(300) NULL,
IntermediatePaint NVARCHAR(300) NULL,
Topcoat NVARCHAR(300) NULL,
ColorCode NVARCHAR(100) NULL,
SortIndex INT NULL,
IsUsed BIT NOT NULL CONSTRAINT DF_Tw_PaintCodeDict_IsUsed DEFAULT(1)
);
END;
GO
IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE name = N'UX_Tw_AntiCorrosionTrust_Project_TrustCode' AND object_id = OBJECT_ID(N'dbo.Tw_AntiCorrosionTrust'))
BEGIN
CREATE UNIQUE INDEX UX_Tw_AntiCorrosionTrust_Project_TrustCode
ON dbo.Tw_AntiCorrosionTrust(ProjectId, TrustCode);
END;
GO
IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE name = N'UX_Tw_AntiCorrosionTrust_OutputMasterId' AND object_id = OBJECT_ID(N'dbo.Tw_AntiCorrosionTrust'))
BEGIN
CREATE UNIQUE INDEX UX_Tw_AntiCorrosionTrust_OutputMasterId
ON dbo.Tw_AntiCorrosionTrust(OutputMasterId);
END;
GO
IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE name = N'IX_Tw_AntiCorrosionTrust_Project_UnitWork' AND object_id = OBJECT_ID(N'dbo.Tw_AntiCorrosionTrust'))
BEGIN
CREATE INDEX IX_Tw_AntiCorrosionTrust_Project_UnitWork
ON dbo.Tw_AntiCorrosionTrust(ProjectId, UnitWorkId);
END;
GO
IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE name = N'IX_Tw_AntiCorrosionTrustDetail_TrustId' AND object_id = OBJECT_ID(N'dbo.Tw_AntiCorrosionTrustDetail'))
BEGIN
CREATE INDEX IX_Tw_AntiCorrosionTrustDetail_TrustId
ON dbo.Tw_AntiCorrosionTrustDetail(TrustId, SortIndex);
END;
GO
IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE name = N'UX_Tw_PaintCodeDict_PaintCode' AND object_id = OBJECT_ID(N'dbo.Tw_PaintCodeDict'))
BEGIN
CREATE UNIQUE INDEX UX_Tw_PaintCodeDict_PaintCode
ON dbo.Tw_PaintCodeDict(PaintCode);
END;
GO
IF NOT EXISTS (SELECT 1 FROM dbo.Tw_PaintCodeDict WHERE PaintCode = N'A.1')
BEGIN
INSERT INTO dbo.Tw_PaintCodeDict (Id, PaintCode, Primer, IntermediatePaint, Topcoat, ColorCode, SortIndex)
VALUES (CONVERT(NVARCHAR(50), NEWID()), N'A.1', N'无机富锌硅酸盐涂层(60μm)', N'聚酰胺环氧树脂涂层(125μm)', N'/', N'', 1);
END;
IF NOT EXISTS (SELECT 1 FROM dbo.Tw_PaintCodeDict WHERE PaintCode = N'A.2')
BEGIN
INSERT INTO dbo.Tw_PaintCodeDict (Id, PaintCode, Primer, IntermediatePaint, Topcoat, ColorCode, SortIndex)
VALUES (CONVERT(NVARCHAR(50), NEWID()), N'A.2', N'环氧酚醛树脂涂层(100μm)', N'/', N'/', N'', 2);
END;
IF NOT EXISTS (SELECT 1 FROM dbo.Tw_PaintCodeDict WHERE PaintCode = N'B.1')
BEGIN
INSERT INTO dbo.Tw_PaintCodeDict (Id, PaintCode, Primer, IntermediatePaint, Topcoat, ColorCode, SortIndex)
VALUES (CONVERT(NVARCHAR(50), NEWID()), N'B.1', N'无机富锌硅酸盐涂层(60μm)', N'铝硅涂层(25μm)', N'/', N'', 3);
END;
IF NOT EXISTS (SELECT 1 FROM dbo.Tw_PaintCodeDict WHERE PaintCode = N'B.2')
BEGIN
INSERT INTO dbo.Tw_PaintCodeDict (Id, PaintCode, Primer, IntermediatePaint, Topcoat, ColorCode, SortIndex)
VALUES (CONVERT(NVARCHAR(50), NEWID()), N'B.2', N'无机富锌硅酸盐涂层(60μm)', N'铝硅涂层(25μm)', N'/', N'', 4);
END;
GO
@@ -0,0 +1,23 @@
INSERT INTO Sys_Menu (MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES (N'4E88A676-89E3-44EC-BF50-37BE5F09D903',N'防腐管理',N'tag_blue',NULL,40,N'9B828E92-733B-4AF9-9DD0-55ECD8B64AB8',N'Menu_HJGL',0,0,1);
GO
INSERT INTO Sys_Menu (MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES (N'0BDA0F5D-BB5B-4F25-8C67-42C654A8A6A2',N'防腐委托单',N'table',N'CLGL/AntiCorrosionTrust.aspx',10,N'4E88A676-89E3-44EC-BF50-37BE5F09D903',N'Menu_HJGL',0,1,1);
GO
INSERT INTO Sys_ButtonToMenu (ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES (N'1BCEDE3D-2618-490E-8DA6-68922AB3201F',N'0BDA0F5D-BB5B-4F25-8C67-42C654A8A6A2',N'增加',2);
GO
INSERT INTO Sys_ButtonToMenu (ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES (N'47F9ADA6-22D2-42B6-8038-80C3CA5EEB2D',N'0BDA0F5D-BB5B-4F25-8C67-42C654A8A6A2',N'保存',6);
GO
INSERT INTO Sys_ButtonToMenu (ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES (N'715440E4-0C8D-4A2F-8456-06544FA7812B',N'0BDA0F5D-BB5B-4F25-8C67-42C654A8A6A2',N'查询',1);
GO
INSERT INTO Sys_ButtonToMenu (ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES (N'B846AA33-2767-40E5-B227-FE5B8B5ECCC4',N'0BDA0F5D-BB5B-4F25-8C67-42C654A8A6A2',N'删除',4);
GO
INSERT INTO Sys_ButtonToMenu (ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES (N'B937C073-8161-4996-A223-A7A4851791B0',N'0BDA0F5D-BB5B-4F25-8C67-42C654A8A6A2',N'修改',3);
GO
INSERT INTO Sys_ButtonToMenu (ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES (N'E7CA37AF-341A-4D3C-BCF4-65670E699962',N'0BDA0F5D-BB5B-4F25-8C67-42C654A8A6A2',N'打印',5);
+1
View File
@@ -299,6 +299,7 @@
<Compile Include="CLGL\TwMaterialstockService.cs" />
<Compile Include="CLGL\TwOutputdetailService..cs" />
<Compile Include="CLGL\TwOutputmasterService.cs" />
<Compile Include="CLGL\TwAntiCorrosionTrustService.cs" />
<Compile Include="Common\AttachFileService.cs" />
<Compile Include="Common\CodeRecordsService.cs" />
<Compile Include="Common\CommonService.cs" />
@@ -0,0 +1,455 @@
using FineUIPro;
using Model;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
namespace BLL
{
/// <summary>
/// 防腐委托单服务。
/// </summary>
public static class TwAntiCorrosionTrustService
{
public static int Count { get; set; }
public static List<AntiCorrosionTrustOutput> GetListData(AntiCorrosionTrustOutput filter)
{
var query = from t in Funs.DB.Tw_AntiCorrosionTrust
join uw in Funs.DB.WBS_UnitWork on t.UnitWorkId equals uw.UnitWorkId into uwJoin
from uw in uwJoin.DefaultIfEmpty()
join om in Funs.DB.Tw_OutputMaster on t.OutputMasterId equals om.Id into omJoin
from om in omJoin.DefaultIfEmpty()
join p in Funs.DB.Person_Persons on t.CreateMan equals p.PersonId into pJoin
from p in pJoin.DefaultIfEmpty()
where (string.IsNullOrEmpty(filter.Id) || t.Id == filter.Id)
&& (string.IsNullOrEmpty(filter.ProjectId) || t.ProjectId == filter.ProjectId)
&& (string.IsNullOrEmpty(filter.UnitWorkId) || t.UnitWorkId == filter.UnitWorkId)
&& (string.IsNullOrEmpty(filter.TrustCode) || t.TrustCode.Contains(filter.TrustCode))
&& (string.IsNullOrEmpty(filter.OutputMasterCode) || om.CusBillCode.Contains(filter.OutputMasterCode))
orderby t.CreateDate descending, t.TrustCode descending
select new AntiCorrosionTrustOutput
{
Id = t.Id,
ProjectId = t.ProjectId,
UnitWorkId = t.UnitWorkId,
UnitWorkName = uw.UnitWorkName,
ConstructionPart = t.ConstructionPart,
ConstructionProfessional = t.ConstructionProfessional,
TrustCode = t.TrustCode,
OutputMasterId = t.OutputMasterId,
OutputMasterCode = om.CusBillCode,
DemandDate = t.DemandDate,
CompleteDate = t.CompleteDate,
CreateMan = t.CreateMan,
CreateManName = p.PersonName,
CreateDate = t.CreateDate,
Remark = t.Remark
};
return query.ToList();
}
public static IEnumerable<AntiCorrosionTrustOutput> GetListData(AntiCorrosionTrustOutput filter, Grid grid)
{
var list = GetListData(filter);
Count = list.Count;
return list.Skip(grid.PageIndex * grid.PageSize).Take(grid.PageSize).ToList();
}
public static AntiCorrosionTrustOutput GetById(string id)
{
if (string.IsNullOrEmpty(id))
{
return null;
}
return GetListData(new AntiCorrosionTrustOutput { Id = id })
.FirstOrDefault(x => x.Id == id);
}
public static bool IsExistTrustCode(string trustCode, string id, string projectId)
{
return Funs.DB.Tw_AntiCorrosionTrust.Any(x => x.TrustCode == trustCode
&& x.ProjectId == projectId
&& (string.IsNullOrEmpty(id) || x.Id != id));
}
public static string GenerateTrustCode(string unitWorkId)
{
var unitWork = UnitWorkService.GetUnitWorkByUnitWorkId(unitWorkId);
if (unitWork == null)
{
return string.Empty;
}
var prefix = "SXHJ-ECFF-" + unitWork.UnitWorkName + "-";
var maxSerial = Funs.DB.Tw_AntiCorrosionTrust
.Where(x => x.UnitWorkId == unitWorkId && x.TrustCode.StartsWith(prefix))
.Select(x => x.TrustCode)
.ToList()
.Select(x => GetTrustCodeSerial(x))
.DefaultIfEmpty(0)
.Max();
return prefix + (maxSerial + 1).ToString("000");
}
public static List<Tw_InOutMasterOutput> GetAvailableOutputMasters(string projectId, string unitWorkId, string currentTrustId)
{
var usedOutputIds = Funs.DB.Tw_AntiCorrosionTrust
.Where(x => x.ProjectId == projectId && (string.IsNullOrEmpty(currentTrustId) || x.Id != currentTrustId))
.Select(x => x.OutputMasterId)
.ToList();
var query = from om in Funs.DB.Tw_OutputMaster
join plan in Funs.DB.Tw_InOutPlanMaster on om.InOutPlanMasterId equals plan.Id into planJoin
from plan in planJoin.DefaultIfEmpty()
join createPerson in Funs.DB.Person_Persons on om.CreateMan equals createPerson.PersonId into createJoin
from createPerson in createJoin.DefaultIfEmpty()
join reqUnit in Funs.DB.Base_Unit on om.ReqUnitId equals reqUnit.UnitId into unitJoin
from reqUnit in unitJoin.DefaultIfEmpty()
where om.ProjectId == projectId
&& !usedOutputIds.Contains(om.Id)
&& (string.IsNullOrEmpty(unitWorkId) || (plan.WeldTaskId != null && plan.WeldTaskId.Contains(unitWorkId)))
orderby om.CreateDate descending, om.CusBillCode descending
select new Tw_InOutMasterOutput
{
Id = om.Id,
ProjectId = om.ProjectId,
CusBillCode = om.CusBillCode,
InOutPlanMasterId = om.InOutPlanMasterId,
WarehouseCode = om.WarehouseCode,
Source = om.Source,
TypeInt = om.TypeInt,
State = om.State,
CreateMan = om.CreateMan,
CreateManName = createPerson.PersonName,
CreateDate = om.CreateDate,
ReqUnitId = om.ReqUnitId,
ReqUnitName = reqUnit.UnitName,
Category = om.Category,
AuditMan = om.AuditMan,
AuditDate = om.AuditDate,
AuditMan2 = om.AuditMan2,
AuditDate2 = om.AuditDate2,
WarehouseMan = om.WarehouseMan,
WarehouseDate = om.WarehouseDate,
WeldTaskId = plan.WeldTaskId,
Remark = plan.Remark
};
return query.ToList();
}
public static Tw_InOutMasterOutput GetOutputMasterById(string id)
{
if (string.IsNullOrEmpty(id))
{
return null;
}
var query = from om in Funs.DB.Tw_OutputMaster
join plan in Funs.DB.Tw_InOutPlanMaster on om.InOutPlanMasterId equals plan.Id into planJoin
from plan in planJoin.DefaultIfEmpty()
join reqUnit in Funs.DB.Base_Unit on om.ReqUnitId equals reqUnit.UnitId into unitJoin
from reqUnit in unitJoin.DefaultIfEmpty()
where om.Id == id
select new Tw_InOutMasterOutput
{
Id = om.Id,
ProjectId = om.ProjectId,
CusBillCode = om.CusBillCode,
InOutPlanMasterId = om.InOutPlanMasterId,
WarehouseCode = om.WarehouseCode,
Source = om.Source,
TypeInt = om.TypeInt,
State = om.State,
CreateMan = om.CreateMan,
CreateDate = om.CreateDate,
ReqUnitId = om.ReqUnitId,
ReqUnitName = reqUnit.UnitName,
Category = om.Category,
AuditMan = om.AuditMan,
AuditDate = om.AuditDate,
AuditMan2 = om.AuditMan2,
AuditDate2 = om.AuditDate2,
WarehouseMan = om.WarehouseMan,
WarehouseDate = om.WarehouseDate,
WeldTaskId = plan.WeldTaskId,
Remark = plan.Remark
};
return query.FirstOrDefault();
}
public static List<AntiCorrosionTrustDetailOutput> GetDetailList(string trustId)
{
var query = from d in Funs.DB.Tw_AntiCorrosionTrustDetail
join m in Funs.DB.HJGL_MaterialCodeLib on d.MaterialCode equals m.MaterialCode into materialJoin
from m in materialJoin.DefaultIfEmpty()
where d.TrustId == trustId
orderby d.SortIndex
select new AntiCorrosionTrustDetailOutput
{
Id = d.Id,
TrustId = d.TrustId,
SortIndex = d.SortIndex,
MaterialCode = d.MaterialCode,
Code = m.Code,
MaterialName = m.MaterialName,
MaterialSpec = m.MaterialSpec,
MaterialDef = m.MaterialDef,
MaterialUnit = m.MaterialUnit,
Quantity = d.Quantity,
PaintCode = d.PaintCode,
Primer = d.Primer,
IntermediatePaint = d.IntermediatePaint,
Topcoat = d.Topcoat,
ColorCode = d.ColorCode,
Remark = d.Remark
};
return query.ToList();
}
public static List<AntiCorrosionTrustDetailOutput> GetDetailsByOutputMasterId(string outputMasterId)
{
var outputDetails = Funs.DB.Tw_OutputDetail
.Where(x => x.OutputMasterId == outputMasterId)
.OrderBy(x => x.Id)
.ToList();
var materialCodes = outputDetails.Select(x => x.MaterialCode).Where(x => !string.IsNullOrEmpty(x)).Distinct().ToList();
var materials = Funs.DB.HJGL_MaterialCodeLib
.Where(x => materialCodes.Contains(x.MaterialCode))
.ToDictionary(x => x.MaterialCode, x => x);
var index = 0;
var result = new List<AntiCorrosionTrustDetailOutput>();
foreach (var detail in outputDetails)
{
index++;
HJGL_MaterialCodeLib material = null;
if (!string.IsNullOrEmpty(detail.MaterialCode) && materials.ContainsKey(detail.MaterialCode))
{
material = materials[detail.MaterialCode];
}
// 防腐明细只保存材料主编码和数量,展示字段统一由材料编码库补齐。
result.Add(new AntiCorrosionTrustDetailOutput
{
Id = SQLHelper.GetNewID(),
SortIndex = index,
MaterialCode = detail.MaterialCode,
Code = material == null ? string.Empty : material.Code,
MaterialName = material == null ? string.Empty : material.MaterialName,
MaterialSpec = material == null ? string.Empty : material.MaterialSpec,
MaterialDef = material == null ? string.Empty : material.MaterialDef,
MaterialUnit = material == null ? string.Empty : material.MaterialUnit,
Quantity = detail.ActNum ?? detail.PlanNum
});
}
return result;
}
public static List<PaintCodeDictOutput> GetPaintCodeList()
{
return Funs.DB.Tw_PaintCodeDict
.Where(x => x.IsUsed)
.OrderBy(x => x.SortIndex)
.ThenBy(x => x.PaintCode)
.Select(x => new PaintCodeDictOutput
{
Id = x.Id,
PaintCode = x.PaintCode,
Primer = x.Primer,
IntermediatePaint = x.IntermediatePaint,
Topcoat = x.Topcoat,
ColorCode = x.ColorCode,
SortIndex = x.SortIndex
})
.ToList();
}
public static void Save(AntiCorrosionTrustOutput trust, List<AntiCorrosionTrustDetailOutput> details)
{
var isNew = string.IsNullOrEmpty(trust.Id);
Tw_AntiCorrosionTrust entity;
if (isNew)
{
entity = new Tw_AntiCorrosionTrust
{
Id = SQLHelper.GetNewID(),
ProjectId = trust.ProjectId,
CreateMan = trust.CreateMan,
CreateDate = DateTime.Now
};
Funs.DB.Tw_AntiCorrosionTrust.InsertOnSubmit(entity);
}
else
{
entity = Funs.DB.Tw_AntiCorrosionTrust.FirstOrDefault(x => x.Id == trust.Id);
if (entity == null)
{
throw new Exception("防腐委托单不存在或已删除!");
}
}
entity.UnitWorkId = trust.UnitWorkId;
entity.ConstructionPart = trust.ConstructionPart;
entity.ConstructionProfessional = trust.ConstructionProfessional;
entity.TrustCode = trust.TrustCode;
entity.OutputMasterId = trust.OutputMasterId;
entity.DemandDate = trust.DemandDate;
entity.CompleteDate = trust.CompleteDate;
entity.Remark = trust.Remark;
var oldDetails = Funs.DB.Tw_AntiCorrosionTrustDetail.Where(x => x.TrustId == entity.Id).ToList();
Funs.DB.Tw_AntiCorrosionTrustDetail.DeleteAllOnSubmit(oldDetails);
var paintMap = GetPaintCodeList().ToDictionary(x => x.PaintCode ?? string.Empty, x => x);
var index = 0;
foreach (var detail in details.Where(x => !string.IsNullOrEmpty(x.MaterialCode)))
{
index++;
if (!string.IsNullOrEmpty(detail.PaintCode) && paintMap.ContainsKey(detail.PaintCode))
{
var paint = paintMap[detail.PaintCode];
detail.Primer = paint.Primer;
detail.IntermediatePaint = paint.IntermediatePaint;
detail.Topcoat = paint.Topcoat;
detail.ColorCode = paint.ColorCode;
}
// 涂漆代码保存时按字典补齐,避免前端联动遗漏造成打印字段为空。
Funs.DB.Tw_AntiCorrosionTrustDetail.InsertOnSubmit(new Tw_AntiCorrosionTrustDetail
{
Id = SQLHelper.GetNewID(),
TrustId = entity.Id,
SortIndex = detail.SortIndex ?? index,
MaterialCode = detail.MaterialCode,
Quantity = detail.Quantity,
PaintCode = detail.PaintCode,
Primer = detail.Primer,
IntermediatePaint = detail.IntermediatePaint,
Topcoat = detail.Topcoat,
ColorCode = detail.ColorCode,
Remark = detail.Remark
});
}
Funs.DB.SubmitChanges();
trust.Id = entity.Id;
}
public static void DeleteById(string id)
{
var details = Funs.DB.Tw_AntiCorrosionTrustDetail.Where(x => x.TrustId == id).ToList();
Funs.DB.Tw_AntiCorrosionTrustDetail.DeleteAllOnSubmit(details);
var trust = Funs.DB.Tw_AntiCorrosionTrust.FirstOrDefault(x => x.Id == id);
if (trust != null)
{
Funs.DB.Tw_AntiCorrosionTrust.DeleteOnSubmit(trust);
}
Funs.DB.SubmitChanges();
}
public static DataTable GetPrintMasterTable(string id)
{
var query = (from t in Funs.DB.Tw_AntiCorrosionTrust
join p in Funs.DB.Base_Project on t.ProjectId equals p.ProjectId into projectJoin
from p in projectJoin.DefaultIfEmpty()
join uw in Funs.DB.WBS_UnitWork on t.UnitWorkId equals uw.UnitWorkId into uwJoin
from uw in uwJoin.DefaultIfEmpty()
join om in Funs.DB.Tw_OutputMaster on t.OutputMasterId equals om.Id into omJoin
from om in omJoin.DefaultIfEmpty()
join createPerson in Funs.DB.Person_Persons on t.CreateMan equals createPerson.PersonId into personJoin
from createPerson in personJoin.DefaultIfEmpty()
where t.Id == id
select new
{
p.ProjectName,
uw.UnitWorkName,
uw.UnitWorkCode,
t.ConstructionPart,
t.ConstructionProfessional,
t.TrustCode,
OutputMasterCode = om.CusBillCode,
t.DemandDate,
t.CompleteDate,
CreateManName = createPerson.PersonName
})
.ToList()
.Select(x => new
{
x.ProjectName,
x.UnitWorkName,
x.UnitWorkCode,
x.ConstructionPart,
x.ConstructionProfessional,
x.TrustCode,
x.OutputMasterCode,
DemandDate = x.DemandDate.HasValue ? x.DemandDate.Value.ToString("yyyy-MM-dd") : string.Empty,
CompleteDate = x.CompleteDate.HasValue ? x.CompleteDate.Value.ToString("yyyy-MM-dd") : string.Empty,
x.CreateManName
});
return ToDataTable(query, "Table1");
}
public static DataTable GetPrintDetailTable(string id)
{
var query = from d in Funs.DB.Tw_AntiCorrosionTrustDetail
join m in Funs.DB.HJGL_MaterialCodeLib on d.MaterialCode equals m.MaterialCode into materialJoin
from m in materialJoin.DefaultIfEmpty()
where d.TrustId == id
orderby d.SortIndex
select new
{
d.SortIndex,
m.MaterialName,
m.Code,
m.MaterialSpec,
m.MaterialDef,
m.MaterialUnit,
d.Quantity,
d.PaintCode,
d.Primer,
d.IntermediatePaint,
d.Topcoat,
d.ColorCode,
d.Remark
};
return ToDataTable(query.ToList(), "Data");
}
private static int GetTrustCodeSerial(string trustCode)
{
if (string.IsNullOrEmpty(trustCode) || trustCode.Length < 3)
{
return 0;
}
int serial;
return int.TryParse(trustCode.Substring(trustCode.Length - 3), out serial) ? serial : 0;
}
private static DataTable ToDataTable<T>(IEnumerable<T> data, string tableName)
{
var table = new DataTable(tableName);
var properties = typeof(T).GetProperties();
foreach (var property in properties)
{
var propertyType = Nullable.GetUnderlyingType(property.PropertyType) ?? property.PropertyType;
table.Columns.Add(property.Name, propertyType);
}
foreach (var item in data)
{
var row = table.NewRow();
foreach (var property in properties)
{
row[property.Name] = property.GetValue(item, null) ?? DBNull.Value;
}
table.Rows.Add(row);
}
return table;
}
}
}
+4
View File
@@ -4938,6 +4938,10 @@ namespace BLL
/// </summary>
public const string Tw_OutputMasterMenuId = "BCCA4D81-410C-4746-B1E4-F882BC3A25F4";
/// <summary>
/// 防腐委托单
/// </summary>
public const string Tw_AntiCorrosionTrustMenuId = "0BDA0F5D-BB5B-4F25-8C67-42C654A8A6A2";
/// <summary>
/// 库存管理
/// </summary>
public const string Tw_MaterialStockMenuId = "803F9828-52FA-4EF7-99C7-ADA99DADE9FB";
@@ -0,0 +1,139 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AntiCorrosionTrust.aspx.cs" Inherits="FineUIPro.Web.CLGL.AntiCorrosionTrust" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>防腐委托单</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="300px" Title="WBS目录"
ShowBorder="true" Layout="VBox" ShowHeader="true" AutoScroll="true" BodyPadding="5px">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox ID="txtTreeSearch" runat="server" Label="单位工程" LabelAlign="Right"
EmptyText="输入查询条件" Width="230px" LabelWidth="70px">
</f:TextBox>
<f:Button ID="btnTreeFind" ToolTip="查询" Icon="SystemSearch"
EnablePostBack="true" OnClick="btnTreeFind_Click" runat="server">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Items>
<f:Tree ID="tvControlItem" ShowHeader="false" Height="560px" Title="单位工程"
OnNodeCommand="tvControlItem_NodeCommand" runat="server" ShowBorder="false" EnableCollapse="true"
AutoLeafIdentification="true" EnableTextSelection="true">
</f:Tree>
</Items>
</f:Panel>
<f:Panel ID="Panel2" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="Region" BoxConfigAlign="Stretch">
<Items>
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" ShowBorder="true"
Layout="VBox" ShowHeader="false" BodyPadding="5px" Title="防腐委托单" AutoScroll="true">
<Toolbars>
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox ID="txtTrustCode" runat="server" Label="委托单编号" Width="260px" LabelWidth="100px" LabelAlign="Right">
</f:TextBox>
<f:TextBox ID="txtOutputMasterCode" runat="server" Label="出库单编号" Width="260px" LabelWidth="100px" LabelAlign="Right">
</f:TextBox>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnSearch" ToolTip="查询" Icon="SystemSearch" runat="server" Text="查询" OnClick="btnSearch_Click">
</f:Button>
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" runat="server" Text="新增" OnClick="btnNew_Click">
</f:Button>
<f:Button ID="btnPrint" ToolTip="打印" Icon="Printer" runat="server" Text="打印" OnClick="btnPrint_Click" Hidden="true">
</f:Button>
<f:Button ID="btnExportTrust" ToolTip="导出委托单" Icon="PageExcel" runat="server" Text="导出委托单" OnClick="btnExportTrust_Click"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="防腐委托单"
EnableCollapse="true" runat="server" BoxFlex="1" DataKeyNames="Id" PageSize="1000"
AllowColumnLocking="true" EnableColumnLines="true" DataIDField="Id"
AllowSorting="true" SortField="TrustCode" SortDirection="ASC"
EnableTextSelection="True" EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick">
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="50px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center">
<ItemTemplate>
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="220px" ColumnID="UnitWorkName" DataField="UnitWorkName" SortField="UnitWorkName"
FieldType="String" HeaderText="单位工程名称" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="180px" ColumnID="ConstructionPart" DataField="ConstructionPart" SortField="ConstructionPart"
FieldType="String" HeaderText="施工部位" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="160px" ColumnID="ConstructionProfessional" DataField="ConstructionProfessional" SortField="ConstructionProfessional"
FieldType="String" HeaderText="施工专业" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="260px" ColumnID="TrustCode" DataField="TrustCode" SortField="TrustCode"
FieldType="String" HeaderText="委托单编号" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="220px" ColumnID="OutputMasterCode" DataField="OutputMasterCode" SortField="OutputMasterCode"
FieldType="String" HeaderText="出库单编号" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="DemandDate" DataField="DemandDate" SortField="DemandDate" Renderer="Date"
RendererArgument="yyyy-MM-dd" FieldType="Date" HeaderText="需求时间" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="CompleteDate" DataField="CompleteDate" SortField="CompleteDate" Renderer="Date"
RendererArgument="yyyy-MM-dd" FieldType="Date" HeaderText="完成时间" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="CreateManName" DataField="CreateManName" SortField="CreateManName"
FieldType="String" HeaderText="创建人" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="CreateDate" DataField="CreateDate" SortField="CreateDate" Renderer="Date"
RendererArgument="yyyy-MM-dd" FieldType="Date" HeaderText="创建时间" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu1" />
</Listeners>
</f:Grid>
</Items>
</f:Panel>
</Items>
</f:Panel>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="弹出窗体" Hidden="true" EnableIFrame="true"
EnableMaximize="true" Target="Top" EnableResize="false" runat="server" OnClose="Window1_Close"
IsModal="true" Width="1200px" Height="680px">
</f:Window>
<f:Window ID="Window3" Title="打印" Hidden="true" EnableIFrame="true"
EnableMaximize="true" Target="Top" EnableResize="false" runat="server"
IsModal="true" Width="1010px" Height="660px">
</f:Window>
<f:Menu ID="Menu1" runat="server" Hidden="true">
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true" Hidden="true"
runat="server" Text="编辑" Icon="TableEdit">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true" Hidden="true"
ConfirmText="删除选中行?" ConfirmTarget="Top" runat="server" Text="删除" Icon="Delete">
</f:MenuButton>
</f:Menu>
</form>
<script type="text/javascript">
var menuID1 = '<%= Menu1.ClientID %>';
function onRowContextMenu1(event, rowId) {
F(menuID1).show();
return false;
}
</script>
</body>
</html>
@@ -0,0 +1,259 @@
using BLL;
using MiniExcelLibs;
using Model;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
namespace FineUIPro.Web.CLGL
{
public partial class AntiCorrosionTrust : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetButtonPower();
InitTreeMenu();
BindGrid();
}
}
private void BindGrid()
{
var filter = new AntiCorrosionTrustOutput
{
ProjectId = this.CurrUser.LoginProjectId,
UnitWorkId = tvControlItem.SelectedNodeID,
TrustCode = txtTrustCode.Text.Trim(),
OutputMasterCode = txtOutputMasterCode.Text.Trim()
};
Grid1.DataSource = TwAntiCorrosionTrustService.GetListData(filter, Grid1);
Grid1.RecordCount = TwAntiCorrosionTrustService.Count;
Grid1.DataBind();
}
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode1 = new TreeNode();
rootNode1.NodeID = "1";
rootNode1.Text = "建筑工程";
rootNode1.CommandName = "建筑工程";
rootNode1.Selectable = false;
this.tvControlItem.Nodes.Add(rootNode1);
TreeNode rootNode2 = new TreeNode();
rootNode2.NodeID = "2";
rootNode2.Text = "安装工程";
rootNode2.CommandName = "安装工程";
rootNode2.Expanded = true;
rootNode2.Selectable = false;
this.tvControlItem.Nodes.Add(rootNode2);
var keyword = txtTreeSearch.Text.Trim();
var unitWorkList = (from x in Funs.DB.WBS_UnitWork
where x.ProjectId == this.CurrUser.LoginProjectId
&& x.SuperUnitWork == null && x.UnitId != null && x.ProjectType != null
&& (string.IsNullOrEmpty(keyword) || x.UnitWorkName.Contains(keyword) || x.UnitWorkCode.Contains(keyword))
select x).ToList();
foreach (var q in unitWorkList.Where(x => x.ProjectType == "1"))
{
TreeNode tn = BuildUnitWorkNode(q);
rootNode1.Nodes.Add(tn);
}
foreach (var q in unitWorkList.Where(x => x.ProjectType == "2"))
{
TreeNode tn = BuildUnitWorkNode(q);
rootNode2.Nodes.Add(tn);
}
}
private TreeNode BuildUnitWorkNode(Model.WBS_UnitWork unitWork)
{
var unitNamesUnitIds = BLL.UnitService.getUnitNamesUnitIds(unitWork.UnitId);
TreeNode node = new TreeNode();
node.NodeID = unitWork.UnitWorkId;
node.Text = unitWork.UnitWorkName;
node.ToolTip = "施工单位:" + unitNamesUnitIds;
node.EnableClickEvent = true;
return node;
}
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
BindGrid();
}
protected void btnTreeFind_Click(object sender, EventArgs e)
{
InitTreeMenu();
}
protected void btnSearch_Click(object sender, EventArgs e)
{
BindGrid();
}
protected void btnNew_Click(object sender, EventArgs e)
{
if (!CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, Const.Tw_AntiCorrosionTrustMenuId, Const.BtnAdd))
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrEmpty(tvControlItem.SelectedNodeID) || tvControlItem.SelectedNodeID == "1" || tvControlItem.SelectedNodeID == "2")
{
Alert.ShowInTop("请选择单位工程!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(string.Format("AntiCorrosionTrustEdit.aspx?UnitWorkId={0}", tvControlItem.SelectedNodeID)));
}
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
EditSelected();
}
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
EditSelected();
}
private void EditSelected()
{
if (!CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, Const.Tw_AntiCorrosionTrustMenuId, Const.BtnModify))
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrEmpty(Grid1.SelectedRowID))
{
Alert.ShowInTop("请选择要编辑的项", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(string.Format("AntiCorrosionTrustEdit.aspx?Id={0}", Grid1.SelectedRowID)));
}
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
if (!CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, Const.Tw_AntiCorrosionTrustMenuId, Const.BtnDelete))
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
return;
}
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
return;
}
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
TwAntiCorrosionTrustService.DeleteById(rowID);
}
BindGrid();
ShowNotify("删除成功!", MessageBoxIcon.Success);
}
protected void btnPrint_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(Grid1.SelectedRowID))
{
ShowNotify("请选择要打印的项", MessageBoxIcon.Warning);
return;
}
BLL.FastReportService.ResetData();
DataTable master = TwAntiCorrosionTrustService.GetPrintMasterTable(Grid1.SelectedRowID);
DataTable detail = TwAntiCorrosionTrustService.GetPrintDetailTable(Grid1.SelectedRowID);
BLL.FastReportService.AddFastreportTable(master);
BLL.FastReportService.AddFastreportTable(detail);
string rootPath = Server.MapPath("~/");
string initTemplatePath = "File\\Fastreport\\防腐委托单.frx";
if (File.Exists(rootPath + initTemplatePath))
{
PageContext.RegisterStartupScript(Window3.GetShowReference(string.Format("~/Controls/Fastreport.aspx?ReportPath={0}", rootPath + initTemplatePath)));
}
else
{
ShowNotify("打印模板不存在!", MessageBoxIcon.Warning);
}
}
protected void btnExportTrust_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(Grid1.SelectedRowID))
{
ShowNotify("请选择要导出的项", MessageBoxIcon.Warning);
return;
}
string templatePath = Funs.RootPath + @"File\Excel\DataOut\防腐委托单.xlsx";
if (!File.Exists(templatePath))
{
ShowNotify("导出模板不存在!", MessageBoxIcon.Warning);
return;
}
DataTable master = TwAntiCorrosionTrustService.GetPrintMasterTable(Grid1.SelectedRowID);
DataTable detail = TwAntiCorrosionTrustService.GetPrintDetailTable(Grid1.SelectedRowID);
if (master.Rows.Count == 0)
{
ShowNotify("未找到防腐委托单数据!", MessageBoxIcon.Warning);
return;
}
var value = GetExportValue(master.Rows[0], detail);
string tempPath = Funs.RootPath + @"File\Excel\Temp\防腐委托单.xlsx";
tempPath = tempPath.Replace(".xlsx", string.Format("{0:yyyy-MM-dd-HH-mm-ss}", DateTime.Now) + ".xlsx");
Directory.CreateDirectory(Path.GetDirectoryName(tempPath));
MiniExcel.SaveAsByTemplate(tempPath, templatePath, value);
string trustCode = Convert.ToString(master.Rows[0]["TrustCode"]);
string fileName = string.IsNullOrEmpty(trustCode) ? "防腐委托单.xlsx" : trustCode + ".xlsx";
FileInfo info = new FileInfo(tempPath);
long fileSize = info.Length;
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.ContentType = "application/x-zip-compressed";
System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString());
System.Web.HttpContext.Current.Response.TransmitFile(tempPath, 0, fileSize);
System.Web.HttpContext.Current.Response.Flush();
File.Delete(tempPath);
System.Web.HttpContext.Current.Response.End();
}
private Dictionary<string, object> GetExportValue(DataRow master, DataTable detail)
{
var value = new Dictionary<string, object>();
foreach (DataColumn column in master.Table.Columns)
{
value[column.ColumnName] = master[column] == DBNull.Value ? string.Empty : master[column];
}
value["Data"] = detail;
return value;
}
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
private void GetButtonPower()
{
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, BLL.Const.Tw_AntiCorrosionTrustMenuId);
if (buttonList.Count > 0)
{
btnNew.Hidden = !buttonList.Contains(BLL.Const.BtnAdd);
btnMenuEdit.Hidden = !buttonList.Contains(BLL.Const.BtnModify);
btnMenuDelete.Hidden = !buttonList.Contains(BLL.Const.BtnDelete);
btnExportTrust.Hidden = !buttonList.Contains(BLL.Const.BtnPrint);
}
}
}
}
@@ -0,0 +1,242 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.CLGL
{
public partial class AntiCorrosionTrust
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// panelLeftRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// txtTreeSearch 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtTreeSearch;
/// <summary>
/// btnTreeFind 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnTreeFind;
/// <summary>
/// tvControlItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvControlItem;
/// <summary>
/// Panel2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel2;
/// <summary>
/// panelCenterRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelCenterRegion;
/// <summary>
/// Toolbar3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// txtTrustCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtTrustCode;
/// <summary>
/// txtOutputMasterCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtOutputMasterCode;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSearch 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSearch;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// btnPrint 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnPrint;
/// <summary>
/// btnExportTrust 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnExportTrust;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// lblNumber 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblNumber;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Window3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window3;
/// <summary>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuEdit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuEdit;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDelete;
}
}
@@ -0,0 +1,166 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AntiCorrosionTrustEdit.aspx.cs" Inherits="FineUIPro.Web.CLGL.AntiCorrosionTrustEdit" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>防腐委托单编辑</title>
<base target="_self" />
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" ShowBorder="true"
Layout="VBox" ShowHeader="false" BodyPadding="5px" Title="防腐委托单" AutoScroll="true">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnSave" Text="保存" ToolTip="保存"
Icon="SystemSave" ValidateForms="SimpleForm1" runat="server" OnClick="btnSave_Click">
</f:Button>
<f:Button ID="btnSubmit" Text="提交" ToolTip="提交"
Icon="Accept" ValidateForms="SimpleForm1" runat="server" OnClick="btnSubmit_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Items>
<f:Form ID="SimpleForm1" ShowBorder="true" ShowHeader="false" AutoScroll="true" BodyPadding="10px"
runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:TextBox ID="txtUnitWorkName" Label="单位工程名称" runat="server" Readonly="true"
Required="true" ShowRedStar="true" LabelWidth="140px">
</f:TextBox>
<f:TextBox ID="txtConstructionPart" Label="施工部位" runat="server"
Required="true" ShowRedStar="true" LabelWidth="120px">
</f:TextBox>
<f:TextBox ID="txtConstructionProfessional" Label="施工专业" runat="server"
Required="true" ShowRedStar="true" LabelWidth="120px">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtTrustCode" Label="委托单编号" runat="server" Readonly="true"
Required="true" ShowRedStar="true" LabelWidth="140px">
</f:TextBox>
<f:DropDownList ID="drpOutputMaster" Label="出库单编号" runat="server"
Required="true" ShowRedStar="true" AutoPostBack="true" OnSelectedIndexChanged="drpOutputMaster_SelectedIndexChanged"
LabelWidth="120px">
</f:DropDownList>
<f:DatePicker ID="txtDemandDate" Label="需求时间" runat="server" LabelWidth="120px">
</f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DatePicker ID="txtCompleteDate" Label="完成时间" runat="server" LabelWidth="140px">
</f:DatePicker>
<f:TextBox ID="txtRemark" Label="备注" runat="server" LabelWidth="120px">
</f:TextBox>
<f:Label ID="lblBlank" runat="server" Text="">
</f:Label>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</Items>
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="防腐委托单明细"
EnableCollapse="true" runat="server" BoxFlex="1" DataKeyNames="Id"
EnableColumnLines="true" AllowCellEditing="true" ClicksToEdit="1" DataIDField="Id"
AllowSorting="false" AllowPaging="false" PageSize="10000" EnableTextSelection="True">
<Columns>
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号" Width="60px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField HeaderText="Id" ColumnID="Id" DataField="Id" FieldType="String" Hidden="true">
</f:RenderField>
<f:RenderField HeaderText="材料主编码" ColumnID="MaterialCode" DataField="MaterialCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="160px">
</f:RenderField>
<f:RenderField HeaderText="材料编码" ColumnID="Code" DataField="Code"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="140px">
</f:RenderField>
<f:RenderField HeaderText="材料名称" ColumnID="MaterialName" DataField="MaterialName"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="130px">
</f:RenderField>
<f:RenderField HeaderText="规格型号" ColumnID="MaterialSpec" DataField="MaterialSpec"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="130px">
</f:RenderField>
<f:RenderField HeaderText="材料描述" ColumnID="MaterialDef" DataField="MaterialDef"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="300px">
</f:RenderField>
<f:RenderField HeaderText="单位" ColumnID="MaterialUnit" DataField="MaterialUnit"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="70px">
</f:RenderField>
<f:RenderField HeaderText="数量" ColumnID="Quantity" DataField="Quantity"
FieldType="String" HeaderTextAlign="Center" TextAlign="Right" Width="90px">
</f:RenderField>
<f:RenderField HeaderText="涂漆代码" ColumnID="PaintCode" DataField="PaintCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="110px">
<Editor>
<f:DropDownList ID="drpPaintCodeEditor" runat="server">
</f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField HeaderText="底漆" ColumnID="Primer" DataField="Primer"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="190px">
</f:RenderField>
<f:RenderField HeaderText="中间漆" ColumnID="IntermediatePaint" DataField="IntermediatePaint"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="190px">
</f:RenderField>
<f:RenderField HeaderText="面漆" ColumnID="Topcoat" DataField="Topcoat"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="120px">
</f:RenderField>
<f:RenderField HeaderText="色标颜色" ColumnID="ColorCode" DataField="ColorCode"
FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="100px">
</f:RenderField>
<f:RenderField HeaderText="备注" ColumnID="Remark" DataField="Remark"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" Width="180px">
<Editor>
<f:TextBox ID="txtDetailRemarkEditor" runat="server">
</f:TextBox>
</Editor>
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="afteredit" Handler="onGridAfterEdit" />
</Listeners>
</f:Grid>
</Items>
</f:Panel>
</Items>
</f:Panel>
</form>
<script type="text/javascript">
var grid1ClientID = '<%= Grid1.ClientID %>';
var paintCodeDict = <%= PaintCodeJson %>;
function onGridAfterEdit(event, value, params) {
if (params.columnId !== 'PaintCode') {
return;
}
var grid = F(grid1ClientID);
var paint = null;
for (var i = 0; i < paintCodeDict.length; i++) {
if (paintCodeDict[i].PaintCode === value) {
paint = paintCodeDict[i];
break;
}
}
grid.updateCellValue(params.rowId, 'Primer', paint ? paint.Primer : '');
grid.updateCellValue(params.rowId, 'IntermediatePaint', paint ? paint.IntermediatePaint : '');
grid.updateCellValue(params.rowId, 'Topcoat', paint ? paint.Topcoat : '');
grid.updateCellValue(params.rowId, 'ColorCode', paint ? paint.ColorCode : '');
}
</script>
</body>
</html>
@@ -0,0 +1,223 @@
using BLL;
using Model;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
namespace FineUIPro.Web.CLGL
{
public partial class AntiCorrosionTrustEdit : PageBase
{
public string TrustId
{
get { return (string)ViewState["TrustId"]; }
set { ViewState["TrustId"] = value; }
}
public string UnitWorkId
{
get { return (string)ViewState["UnitWorkId"]; }
set { ViewState["UnitWorkId"] = value; }
}
public string PaintCodeJson
{
get
{
var list = TwAntiCorrosionTrustService.GetPaintCodeList();
return JsonConvert.SerializeObject(list);
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
TrustId = Request.Params["Id"];
InitPaintCodeEditor();
PageInfoLoad();
}
}
private void PageInfoLoad()
{
var trust = TwAntiCorrosionTrustService.GetById(TrustId);
if (trust != null)
{
UnitWorkId = trust.UnitWorkId;
txtUnitWorkName.Text = trust.UnitWorkName;
txtConstructionPart.Text = trust.ConstructionPart;
txtConstructionProfessional.Text = trust.ConstructionProfessional;
txtTrustCode.Text = trust.TrustCode;
txtDemandDate.Text = string.Format("{0:yyyy-MM-dd}", trust.DemandDate);
txtCompleteDate.Text = string.Format("{0:yyyy-MM-dd}", trust.CompleteDate);
txtRemark.Text = trust.Remark;
InitOutputMasterDropDown(trust.OutputMasterId);
BindGrid(TwAntiCorrosionTrustService.GetDetailList(TrustId));
}
else
{
UnitWorkId = Request.Params["UnitWorkId"];
var unitWork = UnitWorkService.GetUnitWorkByUnitWorkId(UnitWorkId);
if (unitWork != null)
{
txtUnitWorkName.Text = unitWork.UnitWorkName;
}
txtTrustCode.Text = TwAntiCorrosionTrustService.GenerateTrustCode(UnitWorkId);
InitOutputMasterDropDown(null);
BindGrid(new List<AntiCorrosionTrustDetailOutput>());
}
}
private void InitOutputMasterDropDown(string selectedOutputMasterId)
{
drpOutputMaster.DataTextField = "CusBillCode";
drpOutputMaster.DataValueField = "Id";
var list = TwAntiCorrosionTrustService.GetAvailableOutputMasters(this.CurrUser.LoginProjectId, UnitWorkId, TrustId);
if (!string.IsNullOrEmpty(selectedOutputMasterId) && list.All(x => x.Id != selectedOutputMasterId))
{
var current = TwAntiCorrosionTrustService.GetOutputMasterById(selectedOutputMasterId);
if (current != null)
{
list.Insert(0, current);
}
}
drpOutputMaster.DataSource = list;
drpOutputMaster.DataBind();
Funs.FineUIPleaseSelect(drpOutputMaster);
if (!string.IsNullOrEmpty(selectedOutputMasterId))
{
drpOutputMaster.SelectedValue = selectedOutputMasterId;
}
}
private void InitPaintCodeEditor()
{
drpPaintCodeEditor.DataTextField = "PaintCode";
drpPaintCodeEditor.DataValueField = "PaintCode";
drpPaintCodeEditor.DataSource = TwAntiCorrosionTrustService.GetPaintCodeList();
drpPaintCodeEditor.DataBind();
Funs.FineUIPleaseSelect(drpPaintCodeEditor);
}
private void BindGrid(List<AntiCorrosionTrustDetailOutput> list)
{
Grid1.DataSource = list;
Grid1.DataBind();
}
protected void drpOutputMaster_SelectedIndexChanged(object sender, EventArgs e)
{
if (drpOutputMaster.SelectedValue != Const._Null)
{
BindGrid(TwAntiCorrosionTrustService.GetDetailsByOutputMasterId(drpOutputMaster.SelectedValue));
}
else
{
BindGrid(new List<AntiCorrosionTrustDetailOutput>());
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
var trust = SaveTrust();
if (trust == null)
{
return;
}
TrustId = trust.Id;
ShowNotify("保存成功!", MessageBoxIcon.Success);
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
var trust = SaveTrust();
if (trust == null)
{
return;
}
TrustId = trust.Id;
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
private AntiCorrosionTrustOutput SaveTrust()
{
if (!CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, Const.Tw_AntiCorrosionTrustMenuId, Const.BtnSave))
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
return null;
}
if (drpOutputMaster.SelectedValue == Const._Null)
{
ShowNotify("请选择出库单编号!", MessageBoxIcon.Warning);
return null;
}
if (TwAntiCorrosionTrustService.IsExistTrustCode(txtTrustCode.Text.Trim(), TrustId, this.CurrUser.LoginProjectId))
{
ShowNotify("委托单编号已存在,请重新生成!", MessageBoxIcon.Warning);
return null;
}
var trust = new AntiCorrosionTrustOutput
{
Id = TrustId,
ProjectId = this.CurrUser.LoginProjectId,
UnitWorkId = UnitWorkId,
ConstructionPart = txtConstructionPart.Text.Trim(),
ConstructionProfessional = txtConstructionProfessional.Text.Trim(),
TrustCode = txtTrustCode.Text.Trim(),
OutputMasterId = drpOutputMaster.SelectedValue,
DemandDate = Funs.GetNewDateTime(txtDemandDate.Text.Trim()),
CompleteDate = Funs.GetNewDateTime(txtCompleteDate.Text.Trim()),
CreateMan = this.CurrUser.PersonId,
Remark = txtRemark.Text.Trim()
};
var details = CollectGridDetailInfo();
if (details.Count == 0)
{
ShowNotify("防腐委托单明细不能为空!", MessageBoxIcon.Warning);
return null;
}
TwAntiCorrosionTrustService.Save(trust, details);
return trust;
}
private List<AntiCorrosionTrustDetailOutput> CollectGridDetailInfo()
{
var result = new List<AntiCorrosionTrustDetailOutput>();
int sortIndex = 0;
JArray mergedData = Grid1.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
JObject values = mergedRow.Value<JObject>("values");
sortIndex++;
result.Add(new AntiCorrosionTrustDetailOutput
{
Id = values.Value<string>("Id"),
SortIndex = sortIndex,
MaterialCode = values.Value<string>("MaterialCode"),
Quantity = GetDecimal(values.Value<string>("Quantity")),
PaintCode = values.Value<string>("PaintCode"),
Remark = values.Value<string>("Remark")
});
}
return result;
}
private decimal? GetDecimal(string value)
{
decimal result;
if (decimal.TryParse(value, out result))
{
return result;
}
return null;
}
}
}
@@ -0,0 +1,206 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.CLGL
{
public partial class AntiCorrosionTrustEdit
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// panelCenterRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelCenterRegion;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnSubmit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSubmit;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// txtUnitWorkName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtUnitWorkName;
/// <summary>
/// txtConstructionPart 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtConstructionPart;
/// <summary>
/// txtConstructionProfessional 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtConstructionProfessional;
/// <summary>
/// txtTrustCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtTrustCode;
/// <summary>
/// drpOutputMaster 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpOutputMaster;
/// <summary>
/// txtDemandDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtDemandDate;
/// <summary>
/// txtCompleteDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtCompleteDate;
/// <summary>
/// txtRemark 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtRemark;
/// <summary>
/// lblBlank 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lblBlank;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// drpPaintCodeEditor 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpPaintCodeEditor;
/// <summary>
/// txtDetailRemarkEditor 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtDetailRemarkEditor;
}
}
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Report ScriptLanguage="CSharp" ReportInfo.Created="12/29/2021 10:56:08" ReportInfo.Modified="03/11/2026 16:13:59" ReportInfo.CreatorVersion="2017.1.16.0">
<Report ScriptLanguage="CSharp" ReportInfo.Created="12/29/2021 10:56:08" ReportInfo.Modified="06/15/2026 15:26:16" ReportInfo.CreatorVersion="2017.1.16.0">
<ScriptText>using System;
using System.Collections;
using System.Collections.Generic;
@@ -99,7 +99,7 @@ namespace FastReport
}
</ScriptText>
<Dictionary>
<MsSqlDataConnection Name="Connection" ConnectionString="rijcmlqvJIqZbrmqGn7L0P56UFhaUHihKXxbhpqie4wmZgM2ymDKry7UxzO5md9ybQlkfKpN2rHYbp9GtH1LDQPa7z2vVu/kEnNnTKeHt9obmaC7TQDh0IvsUBSuzhGZdfAIK7YyBqykCgeZm5rvA6K5b7zHGdA+7pUpJ/9ZLpp1NuxWRF3o/LeJFRC5FM7f/mM4Wzy"/>
<MsSqlDataConnection Name="Connection" ConnectionString="rijcmlqvJIqZbrmqGn7L0P56UFhaXj7MTwVWd+W15ZHXWbvUTygn/8kT7Dd8PAtwcQdvSWlUEyCU1xPvJPbQKwTsqQwLM+O2fcBJVGvSTxsXNEsa1vy5JNdjQE5XXU2qh41PMt4c4Lp/j2o5C6htb8mS4/JfQOgej7CCf0JujCt3dJ+YxUa4vt7plmc6JvUw8qm4mg5"/>
<TableDataSource Name="Table1" ReferenceName="Table1" DataType="System.Int32" Enabled="true">
<Column Name="pipelineCode" DataType="System.String" PropName="PipelineComponentId"/>
<Column Name="Mat" DataType="System.String" PropName="PipelineComponentCode"/>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Report ScriptLanguage="CSharp" ReportInfo.Created="12/29/2021 10:56:08" ReportInfo.Modified="09/07/2023 16:37:58" ReportInfo.CreatorVersion="2017.1.16.0">
<Report ScriptLanguage="CSharp" ReportInfo.Created="12/29/2021 10:56:08" ReportInfo.Modified="06/15/2026 15:31:26" ReportInfo.CreatorVersion="2017.1.16.0">
<ScriptText>using System;
using System.Collections;
using System.Collections.Generic;
@@ -89,7 +89,7 @@ namespace FastReport
}
</ScriptText>
<Dictionary>
<MsSqlDataConnection Name="Connection" ConnectionString="rijcmlqvJIqZbrmqGn7L0P56UFhaUHihKXxbhpqie4wmZgM2ymDKry7UxzO5md9ybQlkfKpN2rHYbp9GtH1LDQPa7z2vVu/kEnNnTKeHt9obmaC7TQDh0IvsUBSuzhGZdfAIK7YyBqykCgeZm5rvA6K5b7zHGdA+7pUpJ/9ZLpp1NuxWRGRimlRRNsAVGXGMeiv1H1L">
<MsSqlDataConnection Name="Connection" ConnectionString="rijcmlqvJIqZbrmqGn7L0P56UFhaXj7MTwVWd+W15ZHXWbvUTygn/8kT7Dd8PAtwcQdvSWlUEyCU1xPvJPbQKwTsqQwLM+O2fcBJVGvSTxsXNEsa1vy5JNdjQE5XXU2qh41PMt4c4Lp/j2o5C6htb8mS4/JfQOgej7CCf0JujCt3dJ+YxXL+XFzk+95kEmkY8jGbKIY">
<TableDataSource Name="Table1" Alias="Head" DataType="System.Int32" Enabled="true" SelectCommand="select * from CH_Trust where CH_TrustID=@CH_TrustID">
<Column Name="CH_TrustID" DataType="System.String"/>
<Column Name="CH_TrustCode" DataType="System.String"/>
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Report ScriptLanguage="CSharp" ReportInfo.Created="12/29/2021 10:56:08" ReportInfo.Modified="02/19/2025 17:36:29" ReportInfo.CreatorVersion="2017.1.16.0">
<Report ScriptLanguage="CSharp" ReportInfo.Created="12/29/2021 10:56:08" ReportInfo.Modified="06/15/2026 15:26:09" ReportInfo.CreatorVersion="2017.1.16.0">
<ScriptText>using System;
using System.Collections;
using System.Collections.Generic;
@@ -59,7 +59,7 @@ namespace FastReport
}
</ScriptText>
<Dictionary>
<MsSqlDataConnection Name="Connection" ConnectionString="rijcmlqvJIqZbrmqGn7L0P56UFhaUHihKXxbhpqie4wmZgM2ymDKry7UxzO5md9ybQlkfKpN2rHYbp9GtH1LDQPa7z2vVu/kEnNnTKeHt9obmaC7TQDh0IvsUBSuzhGZdfAIK7YyBqykCgeZm5rvA6K5b7zHGdA+7pUpJ/9ZLpp1NuxWRFQPhjrCqee9t6Yw/Fyq9Re"/>
<MsSqlDataConnection Name="Connection" ConnectionString="rijcmlqvJIqZbrmqGn7L0P56UFhaXj7MTwVWd+W15ZHXWbvUTygn/8kT7Dd8PAtwcQdvSWlUEyCU1xPvJPbQKwTsqQwLM+O2fcBJVGvSTxsXNEsa1vy5JNdjQE5XXU2qh41PMt4c4Lp/j2o5C6htb8mS4/JfQOgej7CCf0JujCt3dJ+YxXXseI88rmE3YizSXMF6mQn"/>
<TableDataSource Name="Table1" ReferenceName="Table1" DataType="System.Int32" Enabled="true">
<Column Name="BillName" DataType="System.String" PropName="CH_TrustCode"/>
<Column Name="ReqUnitName" DataType="System.String" PropName="CH_TrustUnit"/>
@@ -0,0 +1,130 @@
<?xml version="1.0" encoding="utf-8"?>
<Report ScriptLanguage="CSharp" ReportInfo.Created="06/14/2026 00:00:00" ReportInfo.Modified="06/14/2026 00:00:00" ReportInfo.CreatorVersion="2017.1.16.0">
<Dictionary>
<TableDataSource Name="Table1" ReferenceName="Table1" DataType="System.Int32" Enabled="true">
<Column Name="ProjectName" DataType="System.String"/>
<Column Name="UnitWorkName" DataType="System.String"/>
<Column Name="UnitWorkCode" DataType="System.String"/>
<Column Name="ConstructionPart" DataType="System.String"/>
<Column Name="ConstructionProfessional" DataType="System.String"/>
<Column Name="TrustCode" DataType="System.String"/>
<Column Name="OutputMasterCode" DataType="System.String"/>
<Column Name="DemandDate" DataType="System.String"/>
<Column Name="CompleteDate" DataType="System.String"/>
<Column Name="CreateManName" DataType="System.String"/>
</TableDataSource>
<TableDataSource Name="Data" ReferenceName="Data" DataType="System.Int32" Enabled="true">
<Column Name="SortIndex" DataType="System.Int32"/>
<Column Name="MaterialName" DataType="System.String"/>
<Column Name="Code" DataType="System.String"/>
<Column Name="MaterialSpec" DataType="System.String"/>
<Column Name="MaterialDef" DataType="System.String"/>
<Column Name="MaterialUnit" DataType="System.String"/>
<Column Name="Quantity" DataType="System.Decimal"/>
<Column Name="PaintCode" DataType="System.String"/>
<Column Name="Primer" DataType="System.String"/>
<Column Name="IntermediatePaint" DataType="System.String"/>
<Column Name="Topcoat" DataType="System.String"/>
<Column Name="ColorCode" DataType="System.String"/>
<Column Name="Remark" DataType="System.String"/>
</TableDataSource>
</Dictionary>
<ReportPage Name="Page1" Landscape="true" PaperWidth="297" PaperHeight="210" RawPaperSize="9" LeftMargin="6" TopMargin="6" RightMargin="6" BottomMargin="6">
<ReportTitleBand Name="ReportTitle1" Width="1077.3" Height="95">
<TextObject Name="TextTitle" Left="0" Top="0" Width="1077.3" Height="28" Text="[Table1.ProjectName]防腐委托单" HorzAlign="Center" VertAlign="Center" Font="宋体, 16pt, style=Bold"/>
<TableObject Name="HeaderTable" Left="0" Top="34" Width="1077" Height="54">
<TableColumn Name="HeaderColumn1" Width="120"/>
<TableColumn Name="HeaderColumn2" Width="180"/>
<TableColumn Name="HeaderColumn3" Width="120"/>
<TableColumn Name="HeaderColumn4" Width="180"/>
<TableColumn Name="HeaderColumn5" Width="120"/>
<TableColumn Name="HeaderColumn6" Width="357"/>
<TableRow Name="HeaderRow1" Height="27">
<TableCell Name="HeaderCell1" Border.Lines="All" Text="单位工程名称" HorzAlign="Center" VertAlign="Center" Font="宋体, 9pt, style=Bold"/>
<TableCell Name="HeaderCell2" Border.Lines="All" Text="[Table1.UnitWorkName]" HorzAlign="Center" VertAlign="Center" Font="宋体, 9pt"/>
<TableCell Name="HeaderCell3" Border.Lines="All" Text="施工部位" HorzAlign="Center" VertAlign="Center" Font="宋体, 9pt, style=Bold"/>
<TableCell Name="HeaderCell4" Border.Lines="All" Text="[Table1.ConstructionPart]" HorzAlign="Center" VertAlign="Center" Font="宋体, 9pt"/>
<TableCell Name="HeaderCell5" Border.Lines="All" Text="委托单编号" HorzAlign="Center" VertAlign="Center" Font="宋体, 9pt, style=Bold"/>
<TableCell Name="HeaderCell6" Border.Lines="All" Text="[Table1.TrustCode]" HorzAlign="Center" VertAlign="Center" Font="宋体, 9pt"/>
</TableRow>
<TableRow Name="HeaderRow2" Height="27">
<TableCell Name="HeaderCell7" Border.Lines="All" Text="施工专业" HorzAlign="Center" VertAlign="Center" Font="宋体, 9pt, style=Bold"/>
<TableCell Name="HeaderCell8" Border.Lines="All" Text="[Table1.ConstructionProfessional]" HorzAlign="Center" VertAlign="Center" Font="宋体, 9pt"/>
<TableCell Name="HeaderCell9" Border.Lines="All" Text="出库单编号" HorzAlign="Center" VertAlign="Center" Font="宋体, 9pt, style=Bold"/>
<TableCell Name="HeaderCell10" Border.Lines="All" Text="[Table1.OutputMasterCode]" HorzAlign="Center" VertAlign="Center" Font="宋体, 9pt"/>
<TableCell Name="HeaderCell11" Border.Lines="All" Text="需求/完成时间" HorzAlign="Center" VertAlign="Center" Font="宋体, 9pt, style=Bold"/>
<TableCell Name="HeaderCell12" Border.Lines="All" Text="[Table1.DemandDate] / [Table1.CompleteDate]" HorzAlign="Center" VertAlign="Center" Font="宋体, 9pt"/>
</TableRow>
</TableObject>
</ReportTitleBand>
<PageHeaderBand Name="PageHeader1" Top="99" Width="1077.3" Height="30">
<TableObject Name="DetailHeader" Left="0" Top="0" Width="1077" Height="30">
<TableColumn Name="DHC1" Width="42"/>
<TableColumn Name="DHC2" Width="88"/>
<TableColumn Name="DHC3" Width="94"/>
<TableColumn Name="DHC4" Width="88"/>
<TableColumn Name="DHC5" Width="258"/>
<TableColumn Name="DHC6" Width="44"/>
<TableColumn Name="DHC7" Width="55"/>
<TableColumn Name="DHC8" Width="62"/>
<TableColumn Name="DHC9" Width="112"/>
<TableColumn Name="DHC10" Width="112"/>
<TableColumn Name="DHC11" Width="62"/>
<TableColumn Name="DHC12" Width="60"/>
<TableRow Name="DHR1" Height="30">
<TableCell Name="DHH1" Border.Lines="All" Text="序号" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt, style=Bold"/>
<TableCell Name="DHH2" Border.Lines="All" Text="材料名称" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt, style=Bold"/>
<TableCell Name="DHH3" Border.Lines="All" Text="材料编码" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt, style=Bold"/>
<TableCell Name="DHH4" Border.Lines="All" Text="规格型号" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt, style=Bold"/>
<TableCell Name="DHH5" Border.Lines="All" Text="材料描述" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt, style=Bold"/>
<TableCell Name="DHH6" Border.Lines="All" Text="单位" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt, style=Bold"/>
<TableCell Name="DHH7" Border.Lines="All" Text="数量" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt, style=Bold"/>
<TableCell Name="DHH8" Border.Lines="All" Text="涂漆代码" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt, style=Bold"/>
<TableCell Name="DHH9" Border.Lines="All" Text="底漆" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt, style=Bold"/>
<TableCell Name="DHH10" Border.Lines="All" Text="中间漆" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt, style=Bold"/>
<TableCell Name="DHH11" Border.Lines="All" Text="面漆" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt, style=Bold"/>
<TableCell Name="DHH12" Border.Lines="All" Text="色标颜色" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt, style=Bold"/>
</TableRow>
</TableObject>
</PageHeaderBand>
<DataBand Name="Data1" Top="133" Width="1077.3" Height="34" DataSource="Data">
<TableObject Name="DetailTable" Left="0" Top="0" Width="1077" Height="34">
<TableColumn Name="DC1" Width="42"/>
<TableColumn Name="DC2" Width="88"/>
<TableColumn Name="DC3" Width="94"/>
<TableColumn Name="DC4" Width="88"/>
<TableColumn Name="DC5" Width="258"/>
<TableColumn Name="DC6" Width="44"/>
<TableColumn Name="DC7" Width="55"/>
<TableColumn Name="DC8" Width="62"/>
<TableColumn Name="DC9" Width="112"/>
<TableColumn Name="DC10" Width="112"/>
<TableColumn Name="DC11" Width="62"/>
<TableColumn Name="DC12" Width="60"/>
<TableRow Name="DR1" Height="34">
<TableCell Name="DCELL1" Border.Lines="All" Text="[Data.SortIndex]" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt"/>
<TableCell Name="DCELL2" Border.Lines="All" Text="[Data.MaterialName]" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt"/>
<TableCell Name="DCELL3" Border.Lines="All" Text="[Data.Code]" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt"/>
<TableCell Name="DCELL4" Border.Lines="All" Text="[Data.MaterialSpec]" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt"/>
<TableCell Name="DCELL5" Border.Lines="All" Text="[Data.MaterialDef]" VertAlign="Center" Font="宋体, 7pt"/>
<TableCell Name="DCELL6" Border.Lines="All" Text="[Data.MaterialUnit]" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt"/>
<TableCell Name="DCELL7" Border.Lines="All" Text="[Data.Quantity]" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt"/>
<TableCell Name="DCELL8" Border.Lines="All" Text="[Data.PaintCode]" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt"/>
<TableCell Name="DCELL9" Border.Lines="All" Text="[Data.Primer]" HorzAlign="Center" VertAlign="Center" Font="宋体, 7pt"/>
<TableCell Name="DCELL10" Border.Lines="All" Text="[Data.IntermediatePaint]" HorzAlign="Center" VertAlign="Center" Font="宋体, 7pt"/>
<TableCell Name="DCELL11" Border.Lines="All" Text="[Data.Topcoat]" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt"/>
<TableCell Name="DCELL12" Border.Lines="All" Text="[Data.ColorCode]" HorzAlign="Center" VertAlign="Center" Font="宋体, 8pt"/>
</TableRow>
</TableObject>
</DataBand>
<PageFooterBand Name="PageFooter1" Top="171" Width="1077.3" Height="78">
<TextObject Name="Footer1" Left="0" Top="0" Width="360" Height="18" Text="项目部专业工程师:" VertAlign="Center" Font="宋体, 9pt"/>
<TextObject Name="Footer2" Left="0" Top="20" Width="360" Height="18" Text="防腐单位技术员:" VertAlign="Center" Font="宋体, 9pt"/>
<TextObject Name="Footer3" Left="0" Top="40" Width="360" Height="18" Text="使用单位技术员:" VertAlign="Center" Font="宋体, 9pt"/>
<TextObject Name="Footer4" Left="720" Top="0" Width="250" Height="18" Text="年 月 日" VertAlign="Center" Font="宋体, 9pt"/>
<TextObject Name="Footer5" Left="720" Top="20" Width="250" Height="18" Text="年 月 日" VertAlign="Center" Font="宋体, 9pt"/>
<TextObject Name="Footer6" Left="720" Top="40" Width="250" Height="18" Text="年 月 日" VertAlign="Center" Font="宋体, 9pt"/>
<TextObject Name="PageNo" Left="930" Top="58" Width="140" Height="18" Text="第 [Page#] 页" HorzAlign="Right" VertAlign="Center" Font="宋体, 9pt"/>
</PageFooterBand>
</ReportPage>
</Report>
+18
View File
@@ -365,6 +365,10 @@
<Content Include="CLGL\OutPlanMasterSelectStock.aspx" />
<Content Include="CLGL\OutputMaster.aspx" />
<Content Include="CLGL\OutputMasterEdit.aspx" />
<Content Include="CLGL\AntiCorrosionTrust.aspx" />
<Content Include="CLGL\AntiCorrosionTrustEdit.aspx" />
<Content Include="File\Excel\DataOut\防腐委托单.xlsx" />
<Content Include="File\Fastreport\防腐委托单.frx" />
<Content Include="common\main2.aspx" />
<Content Include="common\mainMenu_DigitalSite.aspx" />
<Content Include="common\mainMenu_HJGL.aspx" />
@@ -8310,6 +8314,20 @@
<Compile Include="CLGL\OutputMasterEdit.aspx.designer.cs">
<DependentUpon>OutputMasterEdit.aspx</DependentUpon>
</Compile>
<Compile Include="CLGL\AntiCorrosionTrust.aspx.cs">
<DependentUpon>AntiCorrosionTrust.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="CLGL\AntiCorrosionTrust.aspx.designer.cs">
<DependentUpon>AntiCorrosionTrust.aspx</DependentUpon>
</Compile>
<Compile Include="CLGL\AntiCorrosionTrustEdit.aspx.cs">
<DependentUpon>AntiCorrosionTrustEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="CLGL\AntiCorrosionTrustEdit.aspx.designer.cs">
<DependentUpon>AntiCorrosionTrustEdit.aspx</DependentUpon>
</Compile>
<Compile Include="common\main2.aspx.cs">
<DependentUpon>main2.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1525,7 +1525,8 @@ namespace FineUIPro.Web.HJGL.WeldingManage
keyValuePairs.Add("Code", weldTask?.TaskCode ?? weldTask_CreateName?.TaskCode ?? string.Empty);
keyValuePairs.Add("TaskDate", string.Format("{0:yyyy-MM-dd}", taskTime.Value));
keyValuePairs.Add("UnitName", UnitService.GetUnitNameByUnitId(tvControlItem.SelectedNodeID.Split('|')[1]));
keyValuePairs.Add("UnitWorkName", UnitWorkService.getUnitWorkByUnitWorkId(tvControlItem.SelectedNodeID.Split('|')[0]).UnitWorkName);
var unitWorkModel = UnitWorkService.getUnitWorkByUnitWorkId(tvControlItem.SelectedNodeID.Split('|')[0]);
keyValuePairs.Add("UnitWorkName", unitWorkModel?.UnitWorkName ?? string.Empty);
// 创建一个新的DataTable
DataTable dataTable = new DataTable();
dataTable.TableName = "Data";
@@ -1541,13 +1542,21 @@ namespace FineUIPro.Web.HJGL.WeldingManage
{
DataRow dr = dataTable.NewRow();
var pipelineModel = PipelineService.GetPipelineByPipelineId(pipeline);
List<string> list = new List<string> { pipeline };
if (pipelineModel == null)
{
continue;
}
dr["PipelineCode"] = pipelineModel.PipelineCode;
dr["FlowingSection"] = pipelineModel.FlowingSection;
dr["MaterialCode"] = Base_MaterialService.GetMaterialByMaterialId(pipelineModel.MaterialId).MaterialCode;
// 管线基础资料可能未维护材质,打印时保留空值,避免整张任务单打印失败。
var materialModel = string.IsNullOrEmpty(pipelineModel.MaterialId) ? null : Base_MaterialService.GetMaterialByMaterialId(pipelineModel.MaterialId);
dr["MaterialCode"] = materialModel?.MaterialCode ?? string.Empty;
dr["MaterialSpec"] = string.Join(",", weldTaskList.Select(x => x.Specification).Distinct().ToList());
dr["MatchRate"] = Math.Round((decimal)TwArrivalStatisticsService.GetPipeMatch(pipeline) * 100, 2).ToString() + "%";
// 匹配率计算依赖管线仓库,未维护仓库时按0显示,避免基础资料缺项阻断打印。
var warehouseModel = string.IsNullOrEmpty(pipelineModel.WarehouseId) ? null : Base_WarehouseService.GetWarehouseByWarehouseId(pipelineModel.WarehouseId);
var matchRate = warehouseModel == null ? 0 : TwArrivalStatisticsService.GetPipeMatch(pipeline) ?? 0;
dr["MatchRate"] = Math.Round(matchRate * 100, 2).ToString() + "%";
dr["Dia"] = weldTaskList.Where(x => x.PipelineId == pipeline).Sum(x => x.Size ?? 0)
.ToString();
dataTable.Rows.Add(dr);
+3
View File
@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Tree>
</Tree>
+54 -9
View File
@@ -1,9 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<Tree>
<TreeNode id="FF0D9166-4509-4411-8039-F035BC251114" Text="数据仓库" NavigateUrl="">
<TreeNode id="0E9C6A47-E410-43C4-95D1-1EC1C01E9967" Text="WBS数据仓库" NavigateUrl="DigData/WBSDW.aspx">
</TreeNode>
<TreeNode id="92B50285-30BD-4B62-9E23-A0D6B4BA1577" Text="项目数据仓库" NavigateUrl=""><TreeNode id="AA670914-6EAA-4CFA-8BD6-E0648F8FD21C" Text="安全数据库" NavigateUrl=""><TreeNode id="E1ABD1B1-1563-433A-972B-555076A96D06" Text="安全数据库" NavigateUrl="DigData/HSEDataDW.aspx"></TreeNode>
<TreeNode id="6A992AB8-A32D-448F-B06F-8DD4C112CC91" Text="法律法规制度标准库" NavigateUrl="">
<TreeNode id="CF1F59BB-215A-4E9D-9F19-DE188D322477" Text="标准分类" NavigateUrl="">
<TreeNode id="8B550B58-C681-4F34-83F0-F1E99CE04A47" Text="国内标准" NavigateUrl="">
</TreeNode>
<TreeNode id="97D1E401-EA0F-4C90-B7DC-61D568BAE617" Text="国外标准" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="DC3C36E0-4CD4-43E1-9CF8-D98D053E31FB" Text="法律法规" NavigateUrl=""><TreeNode id="2C7F78D3-DA7B-4193-A37F-CC479E4B9583" Text="法律法规" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="97D20BA1-9378-4268-901B-3747EDFB15F4" Text="赛鼎体系" NavigateUrl=""><TreeNode id="406EBAAB-05B2-4249-BAC2-5589F50AE365" Text="企业标准" NavigateUrl=""></TreeNode>
<TreeNode id="59F3FA81-7D08-4611-A3FF-22BFA656A940" Text="企业制度" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="35092B0F-1B7B-4014-A41D-41354FD87374" Text="遵照执行的集团制度" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="BAEBE57F-2858-49E0-BEFE-4D2FDF2FA4FE" Text="公共资源库" NavigateUrl=""><TreeNode id="664094A9-3DEF-4674-8FE2-ACF30B71B8DB" Text="安全公共资源库" NavigateUrl=""><TreeNode id="FDVXFGDS-5THM-CCDE-DCS2-TGHNO48F7UKM" Text="安全合规" NavigateUrl=""><TreeNode id="F4B02718-0616-4623-ABCE-885698DDBEB1" Text="安全法律法规" NavigateUrl="HSSE/Law/LawRegulationList.aspx"></TreeNode>
<TreeNode id="499E23C1-057C-4B04-B92A-973B1DACD546" Text="赛鼎制度" NavigateUrl="HSSE/HSSESystem/SafetyInstitution.aspx"></TreeNode>
<TreeNode id="EFDSFVDE-RTHN-7UMG-4THA-5TGED48F8IOL" Text="安全标准规范" NavigateUrl="HSSE/Law/HSSEStandardList.aspx"></TreeNode>
<TreeNode id="DF1413F3-4CE5-40B3-A574-E01CE64FEA25" Text="安全规章制度" NavigateUrl="HSSE/Law/RulesRegulations.aspx"></TreeNode>
<TreeNode id="56960940-81A8-43D1-9565-C306EC7AFD12" Text="集团制度" NavigateUrl="HSSE/Law/ManageRule.aspx"></TreeNode>
</TreeNode>
<TreeNode id="2B49BFE2-734F-489E-91B9-D05F02E1976D" Text="安全生产责任制" NavigateUrl=""><TreeNode id="1DB91420-47D3-4219-AAB4-7E613FCBCC90" Text="安全主体责任" NavigateUrl="HSSE/HSSESystem/HSSEMainDuty.aspx"></TreeNode>
</TreeNode>
<TreeNode id="E26D223B-4CA2-4A6D-82D0-224CC9C8676D" Text="安全教育" NavigateUrl=""><TreeNode id="9D99A981-7380-4085-84FA-8C3B1AFA6202" Text="培训教材库" NavigateUrl="HSSE/EduTrain/TrainDB.aspx"></TreeNode>
<TreeNode id="9D4F76A1-CD2E-4E66-B833-49425CD879EB" Text="公司教材库" NavigateUrl="HSSE/EduTrain/CompanyTraining.aspx"></TreeNode>
<TreeNode id="4D6BD686-DA06-45CC-9DB8-54B342651724" Text="考试试题库" NavigateUrl="HSSE/EduTrain/TestTraining.aspx"></TreeNode>
<TreeNode id="F58EE8ED-9EB5-47C7-9D7F-D751EFEA44CA" Text="安全试题库" NavigateUrl="HSSE/EduTrain/TrainTestDB.aspx"></TreeNode>
<TreeNode id="D86917DB-D00A-4E18-9793-C290B5BBA84C" Text="事故案例库" NavigateUrl="HSSE/EduTrain/AccidentCase.aspx"></TreeNode>
</TreeNode>
<TreeNode id="D70D9BF5-C72E-414D-941B-CF9B4065F6BA" Text="安全技术" NavigateUrl=""><TreeNode id="8333727B-A2CE-4CE2-A019-21AC9EE61A4C" Text="危险源清单" NavigateUrl="HSSE/Technique/HazardList.aspx"></TreeNode>
<TreeNode id="C0018E8C-C88B-4E25-BCFC-F0BF3CACC63A" Text="公司危险源清单" NavigateUrl="HSSE/Technique/CompanyHazardList.aspx"></TreeNode>
<TreeNode id="773B59F9-61F9-4F5E-9D68-A1BF9322AFFA" Text="环境因素危险源" NavigateUrl="HSSE/Technique/Environmental.aspx"></TreeNode>
<TreeNode id="DC2AA8C2-82A8-4F7A-832D-9889C65AA228" Text="公司环境因素危险源" NavigateUrl="HSSE/Technique/CompanyEnvironmental.aspx"></TreeNode>
<TreeNode id="2D86AD87-4108-428C-BA3D-F81FB85511FE" Text="安全隐患" NavigateUrl="HSSE/Technique/Rectify.aspx"></TreeNode>
<TreeNode id="9C26BF2A-091D-4AC3-8678-334DE4E1CED7" Text="项目安全检查项" NavigateUrl="HSSE/Technique/CheckItemSet.aspx"></TreeNode>
<TreeNode id="D11BFC83-BE64-457D-B8FA-11C37D35CD72" Text="应急预案" NavigateUrl="HSSE/Technique/Emergency.aspx"></TreeNode>
<TreeNode id="3E2F2FFD-ED2E-4914-8370-D97A68398814" Text="施工方案" NavigateUrl="HSSE/Technique/SpecialScheme.aspx"></TreeNode>
</TreeNode>
<TreeNode id="1B688B07-AEF4-43D8-BF31-1907522967ED" Text="标牌管理" NavigateUrl=""><TreeNode id="022CA9C1-70F0-4C07-996C-0736D32B442A" Text="标牌管理" NavigateUrl="HSSE/Resources/SignManage.aspx"></TreeNode>
</TreeNode>
</TreeNode>
<TreeNode id="34705FFF-0BA5-4C4F-BD70-721AA0EF874F" Text="质量公共资源库" NavigateUrl=""></TreeNode>
<TreeNode id="AB48BB81-A0F1-4E90-9E01-3F203E5ACFDE" Text="施工公共资源库" NavigateUrl=""></TreeNode>
<TreeNode id="EDDED4C1-B01E-4831-8552-38CB30CE8817" Text="开车公共资源库" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="DCVVBDE3-1B48-4615-FCD0-VDBCDS3ET4D9" Text="施工WBS基础数据库" NavigateUrl="CQMS/WBS/ControlItemInitSet.aspx"></TreeNode>
<TreeNode id="FF0D9166-4509-4411-8039-F035BC251114" Text="数据仓库" NavigateUrl=""><TreeNode id="AA670914-6EAA-4CFA-8BD6-E0648F8FD21C" Text="安全数据库" NavigateUrl=""><TreeNode id="E1ABD1B1-1563-433A-972B-555076A96D06" Text="安全数据库" NavigateUrl="DigData/HSEDataDW.aspx"></TreeNode>
<TreeNode id="427AB060-2510-4568-B85B-AD6796EBE569" Text="项目HSE数据汇总" NavigateUrl="DigData/HSEDataCollect.aspx"></TreeNode>
<TreeNode id="04B182E4-D31E-449F-9803-322F3F380D89" Text="HSE日常检查问题分析" NavigateUrl="DigData/DailyProblemAnalysis.aspx"></TreeNode>
<TreeNode id="24939ABD-E174-4C3D-8B04-494917B7BE40" Text="HSE隐患整改问题分析" NavigateUrl="DigData/RectifyProblemAnalysis.aspx"></TreeNode>
<TreeNode id="4B2E7EE5-AC7C-4143-B5BC-60080C763A24" Text="HSE教育培训统计" NavigateUrl="DigData/TrainRecordAnalysis.aspx"></TreeNode>
@@ -16,12 +58,15 @@
<TreeNode id="A20E2443-A118-4C67-9084-FFEB685CA539" Text="清单子目使用率及价格走势图" NavigateUrl=""></TreeNode>
<TreeNode id="6D1F3A3F-EFD1-420A-87E7-8CFAEF971165" Text="日工效统计" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="5BE7F83B-C02D-4481-815F-153279B44C39" Text="劳务数据库" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="B87413D8-4EFB-42F3-A4F6-9D21C0CD3DFE" Text="数据分析室" NavigateUrl=""><TreeNode id="AF5C32FD-F0CB-404E-B56D-C4AE79A8A050" Text="人员功效分析" NavigateUrl=""></TreeNode>
<TreeNode id="0DB6BB5F-B17A-4A38-AABB-278300EA9E39" Text="员工产值分析" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="B87413D8-4EFB-42F3-A4F6-9D21C0CD3DFE" Text="数据分析室" NavigateUrl=""><TreeNode id="CFEF47C0-8EFA-46FF-8648-5B1922519DCC" Text="WBS数据分析" NavigateUrl="DigData/WBSAnalysis.aspx"></TreeNode>
<TreeNode id="B146FC96-B199-426B-8504-4BE093C0DCB1" Text="项目数据汇总分析" NavigateUrl=""><TreeNode id="427AB060-2510-4568-B85B-AD6796EBE569" Text="项目HSE数据汇总" NavigateUrl="DigData/HSEDataCollect.aspx"></TreeNode>
<TreeNode id="DD960B76-1F33-468B-9FEF-76328235C079" Text="项目质量数据汇总" NavigateUrl="DigData/CQMSDataCollect.aspx"></TreeNode>
<TreeNode id="A705738B-D0A2-41D2-A01A-18774B5AED49" Text="项目施工数据汇总" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="6136C2AE-2AF8-498D-BC19-7D693841239C" Text="文件柜" NavigateUrl=""><TreeNode id="506F42F3-F4CF-46A7-AC90-787117B4F1DC" Text="安全文件柜" NavigateUrl=""></TreeNode>
<TreeNode id="A90460D0-2658-43F7-9558-A72E91E54ABD" Text="质量文件柜" NavigateUrl=""></TreeNode>
<TreeNode id="2539A5CE-E209-4A16-A9B7-4C43E4E3CBEC" Text="进度文件柜" NavigateUrl=""></TreeNode>
<TreeNode id="8FB0A651-485F-4413-BCD6-22BF82438125" Text="焊接文件柜" NavigateUrl=""></TreeNode>
<TreeNode id="F596EC1A-71A3-4B34-B36C-68628F2F42FE" Text="合同文件柜" NavigateUrl=""></TreeNode>
</TreeNode>
</Tree>
+4 -2
View File
@@ -27,13 +27,15 @@
<TreeNode id="16A22282-4966-4946-B0F8-855E1300AE2B" Text="出库管理" NavigateUrl=""><TreeNode id="E910F410-07FB-41C3-AA80-8E30D1563BC1" Text="出库申请" NavigateUrl="CLGL/OutPlanMaster.aspx"></TreeNode>
<TreeNode id="BCCA4D81-410C-4746-B1E4-F882BC3A25F4" Text="出库单管理" NavigateUrl="CLGL/OutputMaster.aspx"></TreeNode>
</TreeNode>
<TreeNode id="4E88A676-89E3-44EC-BF50-37BE5F09D903" Text="防腐管理" NavigateUrl=""><TreeNode id="0BDA0F5D-BB5B-4F25-8C67-42C654A8A6A2" Text="防腐委托单" NavigateUrl="CLGL/AntiCorrosionTrust.aspx"></TreeNode>
</TreeNode>
<TreeNode id="9579C717-769E-4CC0-9E54-EE03D87C15A5" Text="库存管理" NavigateUrl=""><TreeNode id="803F9828-52FA-4EF7-99C7-ADA99DADE9FB" Text="库存管理" NavigateUrl="CLGL/MaterialStock.aspx"></TreeNode>
<TreeNode id="D15E534F-98F3-4B8A-8656-EAF165DE917F" Text="盘点" NavigateUrl="CLGL/MaterialStock.aspx"></TreeNode>
<TreeNode id="D15E534F-98F3-4B8A-8656-EAF165DE917F" Text="盘点" NavigateUrl="CLGL/InputMaster.aspx"></TreeNode>
<TreeNode id="C05EF3BE-AB13-4852-B2AA-1095BE4EEB2F" Text="到货分析" NavigateUrl="CLGL/ArrivalStatistics.aspx"></TreeNode>
</TreeNode>
</TreeNode>
<TreeNode id="0FC79768-7235-4E8C-AA7F-B33B85AD90D5" Text="施工准备" NavigateUrl=""><TreeNode id="3EFCE9C3-1983-4AEC-8FA1-D7A90F08CBCB" Text="焊接人员管理" NavigateUrl=""><TreeNode id="1908E4C9-4A63-4A6C-6666-DA4910C2A8C7" Text="焊工管理" NavigateUrl="CQMS/PersonManage/WelderManage.aspx"></TreeNode>
<TreeNode id="13F11D51-1B54-400F-BDBB-36685BC94819" Text="无损检测工管理" NavigateUrl="HJGL/PersonManage/CheckerManage.aspx"></TreeNode>
<TreeNode id="13F11D51-1B54-400F-BDBB-36685BC94819" Text="无损检测工管理" NavigateUrl="CQMS/PersonManage/CheckerManage.aspx"></TreeNode>
</TreeNode>
<TreeNode id="63CD1C52-1A87-4946-9CA7-8C3C2CB0CA2E" Text="焊接工艺规程编制" NavigateUrl="HJGL/WPQ/WPQList.aspx"></TreeNode>
<TreeNode id="66290870-2B12-46CA-8E5D-8CB7233ACB8C" Text="焊接施工基础数据录入" NavigateUrl="HJGL/WeldingManage/WeldingConDate.aspx"></TreeNode>
+3 -3
View File
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Tree>
<TreeNode id="E36CBDD0-2E49-415E-BBE7-B8222F40D749" Text="合同模板" NavigateUrl="">
<TreeNode id="C141ABE5-E377-45C1-9507-E723C40099B8" Text="基本信息" NavigateUrl="PHTGL/ContractCompile/Contract.aspx">
</TreeNode>
<TreeNode id="E9D387EB-2797-43E3-AACE-93413839CCF7" Text="合同管理" NavigateUrl="">
</TreeNode>
<TreeNode id="E36CBDD0-2E49-415E-BBE7-B8222F40D749" Text="合同模板" NavigateUrl=""><TreeNode id="C141ABE5-E377-45C1-9507-E723C40099B8" Text="基本信息" NavigateUrl="PHTGL/ContractCompile/Contract.aspx"></TreeNode>
<TreeNode id="C5560FF5-8181-4BA2-8326-D2B49E45660C" Text="合同协议书" NavigateUrl="PHTGL/ContractCompile/ContractAgreementEdit.aspx"></TreeNode>
<TreeNode id="98573D16-3310-4292-96A5-A59B9A5E6B6B" Text="通用条款" NavigateUrl="PHTGL/ContractCompile/GeneralTermsConditions.aspx"></TreeNode>
<TreeNode id="98367C43-9C85-467E-9144-288D80101E41" Text="专用条款" NavigateUrl="PHTGL/ContractCompile/SpecialTermsConditions.aspx"></TreeNode>
+5 -1
View File
@@ -1,7 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Tree>
<TreeNode id="E23F0879-3E9F-4E7B-9A2D-EFF34798D629" Text="进度计划编制" NavigateUrl="JDGL/Check/PlanSet.aspx">
<TreeNode id="BAC3D994-03A8-466C-8975-A31039998BCC" Text="施工进度统计" NavigateUrl="JDGL/Check/ProgressShow.aspx">
</TreeNode>
<TreeNode id="1172B112-2A12-4410-AD66-E5BA6B461475" Text="施工进度赢得值曲线" NavigateUrl="JDGL/Check/ProgressStatistics.aspx"></TreeNode>
<TreeNode id="B479EC55-E12A-4F91-AF3F-864DAAA136FB" Text="进度完成情况录入" NavigateUrl="JDGL/Check/CompleteInput.aspx"></TreeNode>
<TreeNode id="4288426D-E49B-4E5D-A495-7E6A76F269B5" Text="周计划" NavigateUrl=""></TreeNode>
<TreeNode id="F0E296C3-6499-43E5-88CD-E00C5180D3BC" Text="赢得值曲线" NavigateUrl="JDGL/Check/EarnedValueCurve.aspx"></TreeNode>
<TreeNode id="C75F0853-8A2B-4B32-83B7-509278D11957" Text="项目里程碑节点" NavigateUrl=""></TreeNode>
<TreeNode id="3550F422-E520-4962-9816-B691B0EE2865" Text="形象进度照片" NavigateUrl=""></TreeNode>
</Tree>
+1 -1
View File
@@ -4,10 +4,10 @@
<TreeNode id="2E57E92E-31BE-46B3-89AF-E08DAE8FC8E7" Text="实施计划编制" NavigateUrl="PHTGL/BiddingManagement/ActionPlanFormation.aspx">
</TreeNode>
<TreeNode id="303B6753-ED3C-438A-A860-F9C5E5489C8F" Text="实施计划审批" NavigateUrl="PHTGL/BiddingManagement/ActionPlanReview.aspx"></TreeNode>
<TreeNode id="687991B6-73AC-42FA-9A72-178AF94D1EB4" Text="招标工程量清单定制" NavigateUrl="PHTGL/BillOfQuantities/BidProjectQuantityList.aspx"></TreeNode>
<TreeNode id="0BB31BB1-469D-41E8-9039-A53A2B1EEB86" Text="招标文件审批" NavigateUrl="PHTGL/BiddingManagement/BidDocumentsReview.aspx"></TreeNode>
<TreeNode id="133C55A1-3744-40F5-9C74-24E85AB1261F" Text="评标小组名单审批" NavigateUrl="PHTGL/BiddingManagement/ApproveUserReview.aspx"></TreeNode>
<TreeNode id="11503AD6-742D-406D-96F1-17BA3B9E7580" Text="确定中标人审批" NavigateUrl="PHTGL/BiddingManagement/SetSubReview.aspx"></TreeNode>
<TreeNode id="687991B6-73AC-42FA-9A72-178AF94D1EB4" Text="招标工程量清单定制" NavigateUrl="PHTGL/BillOfQuantities/BidProjectQuantityList.aspx"></TreeNode>
</TreeNode>
<TreeNode id="C041D799-47A0-4ECA-A6A2-C387857165D6" Text="合同管理" NavigateUrl=""><TreeNode id="C609FEA5-0904-4F59-A920-22B6459F1A94" Text="合同编制" NavigateUrl="PHTGL/ContractCompile/ContractFormation.aspx"></TreeNode>
<TreeNode id="B32E7F62-5AA3-46B2-A438-E286909A47B4" Text="合同评审" NavigateUrl="PHTGL/ContractCompile/ContractReview_Countersign.aspx"></TreeNode>
-42
View File
@@ -58,51 +58,9 @@
<TreeNode id="3BBFCD70-D7A3-435C-9571-DD499D5ED7B8" Text="应急信息" NavigateUrl=""><TreeNode id="D12C2412-E12A-4F78-9AEF-1EE8AC84A561" Text="应急预案管理清单" NavigateUrl="ZHGL/Emergency/EmergencyList.aspx"></TreeNode>
<TreeNode id="172F25E0-F5E2-42E3-AD67-AC824D4E0FBB" Text="应急演练开展情况" NavigateUrl="ZHGL/Emergency/DrillRecordList.aspx"></TreeNode>
</TreeNode>
<TreeNode id="6A992AB8-A32D-448F-B06F-8DD4C112CC91" Text="法律法规制度标准库" NavigateUrl=""><TreeNode id="CF1F59BB-215A-4E9D-9F19-DE188D322477" Text="标准分类" NavigateUrl=""></TreeNode>
<TreeNode id="DC3C36E0-4CD4-43E1-9CF8-D98D053E31FB" Text="法律法规" NavigateUrl=""></TreeNode>
<TreeNode id="97D20BA1-9378-4268-901B-3747EDFB15F4" Text="赛鼎体系" NavigateUrl=""></TreeNode>
<TreeNode id="35092B0F-1B7B-4014-A41D-41354FD87374" Text="遵照执行的集团制度" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="BAEBE57F-2858-49E0-BEFE-4D2FDF2FA4FE" Text="公共资源库" NavigateUrl=""><TreeNode id="664094A9-3DEF-4674-8FE2-ACF30B71B8DB" Text="安全公共资源库" NavigateUrl=""><TreeNode id="FDVXFGDS-5THM-CCDE-DCS2-TGHNO48F7UKM" Text="安全合规" NavigateUrl=""><TreeNode id="F4B02718-0616-4623-ABCE-885698DDBEB1" Text="安全法律法规" NavigateUrl="HSSE/Law/LawRegulationList.aspx"></TreeNode>
<TreeNode id="499E23C1-057C-4B04-B92A-973B1DACD546" Text="赛鼎制度" NavigateUrl="HSSE/HSSESystem/SafetyInstitution.aspx"></TreeNode>
<TreeNode id="EFDSFVDE-RTHN-7UMG-4THA-5TGED48F8IOL" Text="安全标准规范" NavigateUrl="HSSE/Law/HSSEStandardList.aspx"></TreeNode>
<TreeNode id="DF1413F3-4CE5-40B3-A574-E01CE64FEA25" Text="安全规章制度" NavigateUrl="HSSE/Law/RulesRegulations.aspx"></TreeNode>
<TreeNode id="56960940-81A8-43D1-9565-C306EC7AFD12" Text="集团制度" NavigateUrl="HSSE/Law/ManageRule.aspx"></TreeNode>
</TreeNode>
<TreeNode id="2B49BFE2-734F-489E-91B9-D05F02E1976D" Text="安全生产责任制" NavigateUrl=""><TreeNode id="1DB91420-47D3-4219-AAB4-7E613FCBCC90" Text="安全主体责任" NavigateUrl="HSSE/HSSESystem/HSSEMainDuty.aspx"></TreeNode>
</TreeNode>
<TreeNode id="E26D223B-4CA2-4A6D-82D0-224CC9C8676D" Text="安全教育" NavigateUrl=""><TreeNode id="9D99A981-7380-4085-84FA-8C3B1AFA6202" Text="培训教材库" NavigateUrl="HSSE/EduTrain/TrainDB.aspx"></TreeNode>
<TreeNode id="9D4F76A1-CD2E-4E66-B833-49425CD879EB" Text="公司教材库" NavigateUrl="HSSE/EduTrain/CompanyTraining.aspx"></TreeNode>
<TreeNode id="4D6BD686-DA06-45CC-9DB8-54B342651724" Text="考试试题库" NavigateUrl="HSSE/EduTrain/TestTraining.aspx"></TreeNode>
<TreeNode id="F58EE8ED-9EB5-47C7-9D7F-D751EFEA44CA" Text="安全试题库" NavigateUrl="HSSE/EduTrain/TrainTestDB.aspx"></TreeNode>
<TreeNode id="D86917DB-D00A-4E18-9793-C290B5BBA84C" Text="事故案例库" NavigateUrl="HSSE/EduTrain/AccidentCase.aspx"></TreeNode>
</TreeNode>
<TreeNode id="D70D9BF5-C72E-414D-941B-CF9B4065F6BA" Text="安全技术" NavigateUrl=""><TreeNode id="8333727B-A2CE-4CE2-A019-21AC9EE61A4C" Text="危险源清单" NavigateUrl="HSSE/Technique/HazardList.aspx"></TreeNode>
<TreeNode id="C0018E8C-C88B-4E25-BCFC-F0BF3CACC63A" Text="公司危险源清单" NavigateUrl="HSSE/Technique/CompanyHazardList.aspx"></TreeNode>
<TreeNode id="773B59F9-61F9-4F5E-9D68-A1BF9322AFFA" Text="环境因素危险源" NavigateUrl="HSSE/Technique/Environmental.aspx"></TreeNode>
<TreeNode id="DC2AA8C2-82A8-4F7A-832D-9889C65AA228" Text="公司环境因素危险源" NavigateUrl="HSSE/Technique/CompanyEnvironmental.aspx"></TreeNode>
<TreeNode id="2D86AD87-4108-428C-BA3D-F81FB85511FE" Text="安全隐患" NavigateUrl="HSSE/Technique/Rectify.aspx"></TreeNode>
<TreeNode id="9C26BF2A-091D-4AC3-8678-334DE4E1CED7" Text="项目安全检查项" NavigateUrl="HSSE/Technique/CheckItemSet.aspx"></TreeNode>
<TreeNode id="D11BFC83-BE64-457D-B8FA-11C37D35CD72" Text="应急预案" NavigateUrl="HSSE/Technique/Emergency.aspx"></TreeNode>
<TreeNode id="3E2F2FFD-ED2E-4914-8370-D97A68398814" Text="施工方案" NavigateUrl="HSSE/Technique/SpecialScheme.aspx"></TreeNode>
</TreeNode>
<TreeNode id="1B688B07-AEF4-43D8-BF31-1907522967ED" Text="标牌管理" NavigateUrl=""><TreeNode id="022CA9C1-70F0-4C07-996C-0736D32B442A" Text="标牌管理" NavigateUrl="HSSE/Resources/SignManage.aspx"></TreeNode>
</TreeNode>
</TreeNode>
<TreeNode id="34705FFF-0BA5-4C4F-BD70-721AA0EF874F" Text="质量公共资源库" NavigateUrl=""></TreeNode>
<TreeNode id="AB48BB81-A0F1-4E90-9E01-3F203E5ACFDE" Text="施工公共资源库" NavigateUrl=""></TreeNode>
<TreeNode id="EDDED4C1-B01E-4831-8552-38CB30CE8817" Text="开车公共资源库" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="DCVVBDE3-1B48-4615-FCD0-VDBCDS3ET4D9" Text="施工WBS基础数据库" NavigateUrl="CQMS/WBS/ControlItemInitSet.aspx"></TreeNode>
<TreeNode id="C4B90ED3-0258-437A-BC0D-4AB43721EE08" Text="看板数据汇总" NavigateUrl="ZHGL/DataSync/DataStatistics.aspx"></TreeNode>
<TreeNode id="A9E94BE9-6F53-4A41-9A65-250F09D9E449" Text="安全巡检统计分析" NavigateUrl="HSSE/HiddenInspection/CheckStatisticsAnalysis.aspx?Types=1"></TreeNode>
<TreeNode id="28848506-234F-4D21-8E79-A0F24F2B2DDA" Text="质量巡检统计分析" NavigateUrl="HSSE/HiddenInspection/CheckStatisticsAnalysis.aspx?Types=2"></TreeNode>
<TreeNode id="6136C2AE-2AF8-498D-BC19-7D693841239C" Text="文件柜" NavigateUrl=""><TreeNode id="506F42F3-F4CF-46A7-AC90-787117B4F1DC" Text="安全文件柜" NavigateUrl=""></TreeNode>
<TreeNode id="A90460D0-2658-43F7-9558-A72E91E54ABD" Text="质量文件柜" NavigateUrl=""></TreeNode>
<TreeNode id="2539A5CE-E209-4A16-A9B7-4C43E4E3CBEC" Text="进度文件柜" NavigateUrl=""></TreeNode>
<TreeNode id="8FB0A651-485F-4413-BCD6-22BF82438125" Text="焊接文件柜" NavigateUrl=""></TreeNode>
<TreeNode id="F596EC1A-71A3-4B34-B36C-68628F2F42FE" Text="合同文件柜" NavigateUrl=""></TreeNode>
</TreeNode>
<TreeNode id="1E216BE3-DB22-4649-BD9A-0777B0DC03E6" Text="QHSE上报" NavigateUrl=""><TreeNode id="94F94EC1-54B3-4BEB-A019-0A755A66D8FD" Text="安全数据" NavigateUrl="ZHGL/DataSync/HSSEData_HSSE.aspx"></TreeNode>
<TreeNode id="4C9920AE-F335-48B1-BDB0-276173305952" Text="质量数据" NavigateUrl="ZHGL/DataSync/CQMSData_CQMS.aspx"></TreeNode>
<TreeNode id="2110702F-4E12-479A-8EA1-E5A8EEF77276" Text="焊接数据" NavigateUrl="ZHGL/DataSync/HJGLData_HJGL.aspx"></TreeNode>
+10 -10
View File
@@ -232,42 +232,42 @@
</div>
<div class="sd-header2-center">
<ul>
<li>
<%--<li>
<f:Button runat="server" CssClass="bgbtn" Text="合同管理" OnClick="btnPHTGL_Click" OnClientClick="parent.removeActiveTab();"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnPHTGL">
</f:Button>
</li>
</li>--%>
<li>
<f:Button runat="server" CssClass="bgbtn" Text="安全管理" OnClick="btnHSSE_Click" OnClientClick="parent.removeActiveTab();"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnHSSE">
</f:Button>
</li>
<li>
<%-- <li>
<f:Button runat="server" CssClass="bgbtn" Text="质量管理" OnClick="btnCQMS_Click" OnClientClick="parent.removeActiveTab();"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnCQMS">
</f:Button>
</li>
<li>
</li>--%>
<%-- <li>
<f:Button runat="server" CssClass="bgbtn" Text="进度管理" OnClick="btnJDGL_Click" OnClientClick="parent.removeActiveTab();"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnJDGL">
</f:Button>
</li>
</li>--%>
<li>
<f:Button runat="server" CssClass="bgbtn" Text="管道工程" OnClick="btnHJGL_Click" OnClientClick="parent.removeActiveTab();"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="Button1">
</f:Button>
</li>
<li>
<%--<li>
<f:Button runat="server" CssClass="bgbtn" Text="智慧工地" OnClick="btnDigitalSite_Click" OnClientClick="parent.removeActiveTab();"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnDigitalSite">
</f:Button>
</li>
</li>--%>
<li>
<f:Button runat="server" CssClass="bgbtn" Text="人员管理" OnClick="btnPPerson_Click" OnClientClick="parent.removeActiveTab();"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnPPerson">
</f:Button>
</li>
<li>
<%--<li>
<f:Button runat="server" CssClass="bgbtn" Text="施工综合" OnClick="btnPZHGL_Click" OnClientClick="parent.removeActiveTab();"
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnPZHGL">
</f:Button>
@@ -277,7 +277,7 @@
EnablePostBack="true" EnableDefaultState="true" EnableDefaultCorner="false" ID="btnPDigData">
</f:Button>
</li>
</li>--%>
</ul>
</div>
<div class="sd-header2-right">
+4 -56
View File
@@ -7,10 +7,12 @@
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web {
namespace FineUIPro.Web
{
public partial class indexProject {
public partial class indexProject
{
/// <summary>
/// form1 控件。
@@ -75,15 +77,6 @@ namespace FineUIPro.Web {
/// </remarks>
protected global::FineUIPro.DropDownList drpProject;
/// <summary>
/// btnPHTGL 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnPHTGL;
/// <summary>
/// btnHSSE 控件。
/// </summary>
@@ -93,24 +86,6 @@ namespace FineUIPro.Web {
/// </remarks>
protected global::FineUIPro.Button btnHSSE;
/// <summary>
/// btnCQMS 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnCQMS;
/// <summary>
/// btnJDGL 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnJDGL;
/// <summary>
/// Button1 控件。
/// </summary>
@@ -120,15 +95,6 @@ namespace FineUIPro.Web {
/// </remarks>
protected global::FineUIPro.Button Button1;
/// <summary>
/// btnDigitalSite 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnDigitalSite;
/// <summary>
/// btnPPerson 控件。
/// </summary>
@@ -138,24 +104,6 @@ namespace FineUIPro.Web {
/// </remarks>
protected global::FineUIPro.Button btnPPerson;
/// <summary>
/// btnPZHGL 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnPZHGL;
/// <summary>
/// btnPDigData 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnPDigData;
/// <summary>
/// btnHelp 控件。
/// </summary>
@@ -0,0 +1,22 @@
namespace Model
{
public class AntiCorrosionTrustDetailOutput
{
public string Id { get; set; }
public string TrustId { get; set; }
public int? SortIndex { get; set; }
public string MaterialCode { get; set; }
public string Code { get; set; }
public string MaterialName { get; set; }
public string MaterialSpec { get; set; }
public string MaterialDef { get; set; }
public string MaterialUnit { get; set; }
public decimal? Quantity { get; set; }
public string PaintCode { get; set; }
public string Primer { get; set; }
public string IntermediatePaint { get; set; }
public string Topcoat { get; set; }
public string ColorCode { get; set; }
public string Remark { get; set; }
}
}
@@ -0,0 +1,23 @@
using System;
namespace Model
{
public class AntiCorrosionTrustOutput
{
public string Id { get; set; }
public string ProjectId { get; set; }
public string UnitWorkId { get; set; }
public string UnitWorkName { get; set; }
public string ConstructionPart { get; set; }
public string ConstructionProfessional { get; set; }
public string TrustCode { get; set; }
public string OutputMasterId { get; set; }
public string OutputMasterCode { get; set; }
public DateTime? DemandDate { get; set; }
public DateTime? CompleteDate { get; set; }
public string CreateMan { get; set; }
public string CreateManName { get; set; }
public DateTime? CreateDate { get; set; }
public string Remark { get; set; }
}
}
+13
View File
@@ -0,0 +1,13 @@
namespace Model
{
public class PaintCodeDictOutput
{
public string Id { get; set; }
public string PaintCode { get; set; }
public string Primer { get; set; }
public string IntermediatePaint { get; set; }
public string Topcoat { get; set; }
public string ColorCode { get; set; }
public int? SortIndex { get; set; }
}
}
+1675 -278
View File
File diff suppressed because it is too large Load Diff
+3
View File
@@ -232,6 +232,9 @@
<Compile Include="CLGL\Tw_OutHistoryDataIn.cs" />
<Compile Include="CLGL\Tw_OutHistoryImportRow.cs" />
<Compile Include="CLGL\Tw_PipeLineMat.cs" />
<Compile Include="CLGL\AntiCorrosionTrustOutput.cs" />
<Compile Include="CLGL\AntiCorrosionTrustDetailOutput.cs" />
<Compile Include="CLGL\PaintCodeDictOutput.cs" />
<Compile Include="ConstructionLogCQMS.cs" />
<Compile Include="ConstructionLogHSE.cs" />
<Compile Include="ConstructionLogMachineItem.cs" />