修改工效
This commit is contained in:
@@ -219,17 +219,17 @@ namespace BLL
|
||||
/// </summary>
|
||||
/// <param name="contractid"></param>
|
||||
/// <param name="projectid"></param>
|
||||
public static void CheckContractWeightByContractId(string contractid ,string projectid)
|
||||
public static void CheckContractWeightByContractId(string contractid, string projectid)
|
||||
{
|
||||
Model.PHTGL_ContractTrack table = new Model.PHTGL_ContractTrack();
|
||||
table.ProjectId = projectid;
|
||||
table.ContractId = contractid;
|
||||
var list= GetPHTGL_ContractTrackByModle(table);
|
||||
var list = GetPHTGL_ContractTrackByModle(table);
|
||||
foreach (var item in list)
|
||||
{
|
||||
item .ContractWeight = GetContractWeightById(item.Id);
|
||||
item.ContractWeight = GetContractWeightById(item.Id);
|
||||
UpdatePHTGL_ContractTrack(item);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
@@ -237,7 +237,7 @@ namespace BLL
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
public static string GetContractWeightById(string id )
|
||||
public static string GetContractWeightById(string id)
|
||||
{
|
||||
string ContractWeight = "0";
|
||||
var model = GetPHTGL_ContractTrackById(id);
|
||||
@@ -256,11 +256,11 @@ namespace BLL
|
||||
/// </summary>
|
||||
public static decimal GetSumSettledAmountByContractId(string contractid, string projectid)
|
||||
{
|
||||
decimal SumSettledAmount = 0;
|
||||
decimal SumSettledAmount = 0;
|
||||
SumSettledAmount =
|
||||
(from x in Funs.DB.PHTGL_ContractTrack
|
||||
where x.ProjectId == projectid && x.ContractId == contractid
|
||||
select x.SettledAmount ?? 0).ToList().Sum();
|
||||
where x.ProjectId == projectid && x.ContractId == contractid
|
||||
select x.SettledAmount ?? 0).ToList().Sum();
|
||||
return SumSettledAmount;
|
||||
}
|
||||
|
||||
@@ -302,7 +302,7 @@ namespace BLL
|
||||
if (string.IsNullOrEmpty(item.ProjectCode)) continue;
|
||||
var resultModel = GetPHTGL_ContractTrackByModle(phtglContractTrack);
|
||||
item.ContractNum = ContractService.GetContractById(contractid)?.ContractNum;
|
||||
if (!string .IsNullOrEmpty(item.ProjectCode)&& !item.ProjectCode.Contains("-"))
|
||||
if (!string.IsNullOrEmpty(item.ProjectCode) && !item.ProjectCode.Contains("-"))
|
||||
{
|
||||
|
||||
item.ProjectCode = item.MainItemCode + "-" + item.ProjectCode;
|
||||
@@ -331,7 +331,7 @@ namespace BLL
|
||||
{
|
||||
using (var db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
var pros = BLL.PHTGL_QuantityService.GetMajorItems();
|
||||
var pros = BLL.PHTGL_QuantityService.GetMajorItems2();
|
||||
List<string> proNames = new List<string>();
|
||||
foreach (var item in professionalList)
|
||||
{
|
||||
@@ -349,11 +349,15 @@ namespace BLL
|
||||
where x.ConstructionLogId == constructionLogId
|
||||
select x;
|
||||
var unitWorks = (from x in getContractTracks
|
||||
select new { MainItemCode = x.MainItemCode, MainItemName = x.MainItemName }).Distinct().ToList();
|
||||
select new { MainItemCode = x.MainItemCode, MainItemName = x.MainItemName }).Distinct().OrderBy(x => x.MainItemCode).ToList();
|
||||
|
||||
DataTable table = new DataTable();
|
||||
table.Columns.Add(new DataColumn("Id", typeof(String)));
|
||||
table.Columns.Add(new DataColumn("Code", typeof(String)));
|
||||
table.Columns.Add(new DataColumn("MainItemCode", typeof(String)));
|
||||
table.Columns.Add(new DataColumn("MainItemName", typeof(String)));
|
||||
table.Columns.Add(new DataColumn("MajorCode", typeof(String)));
|
||||
table.Columns.Add(new DataColumn("MajorName", typeof(String)));
|
||||
table.Columns.Add(new DataColumn("ProjectCode", typeof(String)));
|
||||
table.Columns.Add(new DataColumn("ProjectName", typeof(String)));
|
||||
table.Columns.Add(new DataColumn("UnitOfMeasurement", typeof(String)));
|
||||
@@ -447,7 +451,7 @@ namespace BLL
|
||||
row = table.NewRow();
|
||||
row[0] = unitWork.MainItemCode;
|
||||
row[1] = a;
|
||||
row[2] = string.Empty;
|
||||
row[2] = unitWork.MainItemCode;
|
||||
row[3] = unitWork.MainItemName;
|
||||
table.Rows.Add(row);
|
||||
int b = 1;
|
||||
@@ -457,60 +461,138 @@ namespace BLL
|
||||
row[0] = unitWork.MainItemCode + b.ToString();
|
||||
row[1] = a + "." + b;
|
||||
row[2] = string.Empty;
|
||||
row[3] = proName;
|
||||
table.Rows.Add(row);
|
||||
int c = 1;
|
||||
var contractTracks = getContractTracks.Where(x => x.MainItemCode == unitWork.MainItemCode && x.MajorName == proName);
|
||||
foreach (Model.PHTGL_ContractTrack item in contractTracks)
|
||||
row[3] = string.Empty;
|
||||
var pro = pros.FirstOrDefault(x => x.Value == proName);
|
||||
if (pro != null)
|
||||
{
|
||||
row = table.NewRow();
|
||||
row[0] = item.Id;
|
||||
row[1] = a + "." + b + "." + c;
|
||||
row[2] = item.ProjectCode;
|
||||
row[3] = item.ProjectName;
|
||||
row[4] = item.UnitOfMeasurement;
|
||||
row[7] = item.Id;
|
||||
if (workEfficiencys.Count() > 0)
|
||||
row[4] = pro.Text;
|
||||
}
|
||||
row[5] = proName;
|
||||
table.Rows.Add(row);
|
||||
var subProjects = (from x in getContractTracks
|
||||
where x.MainItemCode == unitWork.MainItemCode && x.MajorName == proName && x.SubProject != null
|
||||
select x.SubProject).Distinct().ToList();
|
||||
if (subProjects.Count == 0) //未填分部工程
|
||||
{
|
||||
int c = 1;
|
||||
var contractTracks = getContractTracks.Where(x => x.MainItemCode == unitWork.MainItemCode && x.MajorName == proName);
|
||||
foreach (Model.PHTGL_ContractTrack item in contractTracks)
|
||||
{
|
||||
var we = workEfficiencys.FirstOrDefault(x => x.ContractTrackId == item.Id);
|
||||
if (we != null)
|
||||
row = table.NewRow();
|
||||
row[0] = item.Id;
|
||||
row[1] = a + "." + b + "." + c;
|
||||
row[6] = item.ProjectCode;
|
||||
row[7] = item.ProjectName;
|
||||
row[8] = item.UnitOfMeasurement;
|
||||
row[11] = item.Id;
|
||||
if (workEfficiencys.Count() > 0)
|
||||
{
|
||||
row[5] = we.PhysicalCompletionQuantity;
|
||||
row[6] = we.MaterialConsumption;
|
||||
}
|
||||
for (int i = 0; i < workPostIds.Count; i++)
|
||||
{
|
||||
var workEfficiency = workEfficiencys.FirstOrDefault(x => x.Type == "Person" && x.TypeId == workPostIds[i] && x.ContractTrackId == item.Id);
|
||||
if (workEfficiency != null)
|
||||
var we = workEfficiencys.FirstOrDefault(x => x.ContractTrackId == item.Id);
|
||||
if (we != null)
|
||||
{
|
||||
if (workEfficiency.ConsumeHours != null)
|
||||
row[9] = we.PhysicalCompletionQuantity;
|
||||
row[10] = we.MaterialConsumption;
|
||||
}
|
||||
for (int i = 0; i < workPostIds.Count; i++)
|
||||
{
|
||||
var workEfficiency = workEfficiencys.FirstOrDefault(x => x.Type == "Person" && x.TypeId == workPostIds[i] && x.ContractTrackId == item.Id);
|
||||
if (workEfficiency != null)
|
||||
{
|
||||
row[8 + i * 2] = decimal.Round(Convert.ToDecimal(workEfficiency.ConsumeHours), 2);
|
||||
if (we.PhysicalCompletionQuantity != null && we.PhysicalCompletionQuantity > 0)
|
||||
if (workEfficiency.ConsumeHours != null)
|
||||
{
|
||||
row[9 + i * 2] = decimal.Round(Convert.ToDecimal(we.PhysicalCompletionQuantity / workEfficiency.ConsumeHours), 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < machineIds.Count; i++)
|
||||
{
|
||||
var workEfficiency = workEfficiencys.FirstOrDefault(x => x.Type == "Machine" && x.TypeId == machineIds[i] && x.ContractTrackId == item.Id);
|
||||
if (workEfficiency != null)
|
||||
{
|
||||
if (workEfficiency.ConsumeHours != null)
|
||||
{
|
||||
row[48 + i * 2] = decimal.Round(Convert.ToDecimal(workEfficiency.ConsumeHours), 2);
|
||||
if (we.PhysicalCompletionQuantity != null && we.PhysicalCompletionQuantity > 0)
|
||||
{
|
||||
row[49 + i * 2] = decimal.Round(Convert.ToDecimal(we.PhysicalCompletionQuantity / workEfficiency.ConsumeHours), 2);
|
||||
row[12 + i * 2] = decimal.Round(Convert.ToDecimal(workEfficiency.ConsumeHours), 2);
|
||||
if (we.PhysicalCompletionQuantity != null && we.PhysicalCompletionQuantity > 0)
|
||||
{
|
||||
row[13 + i * 2] = decimal.Round(Convert.ToDecimal(we.PhysicalCompletionQuantity / workEfficiency.ConsumeHours), 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < machineIds.Count; i++)
|
||||
{
|
||||
var workEfficiency = workEfficiencys.FirstOrDefault(x => x.Type == "Machine" && x.TypeId == machineIds[i] && x.ContractTrackId == item.Id);
|
||||
if (workEfficiency != null)
|
||||
{
|
||||
if (workEfficiency.ConsumeHours != null)
|
||||
{
|
||||
row[52 + i * 2] = decimal.Round(Convert.ToDecimal(workEfficiency.ConsumeHours), 2);
|
||||
if (we.PhysicalCompletionQuantity != null && we.PhysicalCompletionQuantity > 0)
|
||||
{
|
||||
row[53 + i * 2] = decimal.Round(Convert.ToDecimal(we.PhysicalCompletionQuantity / workEfficiency.ConsumeHours), 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
table.Rows.Add(row);
|
||||
c++;
|
||||
}
|
||||
}
|
||||
else //存在分部工程
|
||||
{
|
||||
int c = 1;
|
||||
foreach (var subProject in subProjects)
|
||||
{
|
||||
row = table.NewRow();
|
||||
row[0] = unitWork.MainItemCode + b.ToString() + c.ToString();
|
||||
row[1] = a + "." + b + "." + c;
|
||||
row[7] = subProject;
|
||||
table.Rows.Add(row);
|
||||
int d = 1;
|
||||
var contractTracks = getContractTracks.Where(x => x.MainItemCode == unitWork.MainItemCode && x.MajorName == proName && x.SubProject == subProject);
|
||||
foreach (Model.PHTGL_ContractTrack item in contractTracks)
|
||||
{
|
||||
row = table.NewRow();
|
||||
row[0] = item.Id;
|
||||
row[1] = a + "." + b + "." + c + "." + d;
|
||||
row[6] = item.ProjectCode;
|
||||
row[7] = item.ProjectName;
|
||||
row[8] = item.UnitOfMeasurement;
|
||||
row[11] = item.Id;
|
||||
if (workEfficiencys.Count() > 0)
|
||||
{
|
||||
var we = workEfficiencys.FirstOrDefault(x => x.ContractTrackId == item.Id);
|
||||
if (we != null)
|
||||
{
|
||||
row[9] = we.PhysicalCompletionQuantity;
|
||||
row[10] = we.MaterialConsumption;
|
||||
}
|
||||
for (int i = 0; i < workPostIds.Count; i++)
|
||||
{
|
||||
var workEfficiency = workEfficiencys.FirstOrDefault(x => x.Type == "Person" && x.TypeId == workPostIds[i] && x.ContractTrackId == item.Id);
|
||||
if (workEfficiency != null)
|
||||
{
|
||||
if (workEfficiency.ConsumeHours != null)
|
||||
{
|
||||
row[12 + i * 2] = decimal.Round(Convert.ToDecimal(workEfficiency.ConsumeHours), 2);
|
||||
if (we.PhysicalCompletionQuantity != null && we.PhysicalCompletionQuantity > 0)
|
||||
{
|
||||
row[13 + i * 2] = decimal.Round(Convert.ToDecimal(we.PhysicalCompletionQuantity / workEfficiency.ConsumeHours), 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
for (int i = 0; i < machineIds.Count; i++)
|
||||
{
|
||||
var workEfficiency = workEfficiencys.FirstOrDefault(x => x.Type == "Machine" && x.TypeId == machineIds[i] && x.ContractTrackId == item.Id);
|
||||
if (workEfficiency != null)
|
||||
{
|
||||
if (workEfficiency.ConsumeHours != null)
|
||||
{
|
||||
row[52 + i * 2] = decimal.Round(Convert.ToDecimal(workEfficiency.ConsumeHours), 2);
|
||||
if (we.PhysicalCompletionQuantity != null && we.PhysicalCompletionQuantity > 0)
|
||||
{
|
||||
row[53 + i * 2] = decimal.Round(Convert.ToDecimal(we.PhysicalCompletionQuantity / workEfficiency.ConsumeHours), 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
table.Rows.Add(row);
|
||||
d++;
|
||||
}
|
||||
c++;
|
||||
}
|
||||
table.Rows.Add(row);
|
||||
c++;
|
||||
}
|
||||
b++;
|
||||
}
|
||||
@@ -528,7 +610,7 @@ namespace BLL
|
||||
{
|
||||
using (var db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
var pros = BLL.PHTGL_QuantityService.GetMajorItems();
|
||||
var pros = BLL.PHTGL_QuantityService.GetMajorItems2();
|
||||
List<string> proNames = new List<string>();
|
||||
foreach (var item in professionalList)
|
||||
{
|
||||
@@ -747,7 +829,7 @@ namespace BLL
|
||||
{
|
||||
using (var db = new Model.SGGLDB(Funs.ConnString))
|
||||
{
|
||||
var pros = BLL.PHTGL_QuantityService.GetMajorItems();
|
||||
var pros = BLL.PHTGL_QuantityService.GetMajorItems2();
|
||||
List<string> proNames = new List<string>();
|
||||
foreach (var item in professionalList)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user