2022-12-26 14:34:56 +08:00
|
|
|
|
using FineUIPro;
|
|
|
|
|
using RestSharp;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using Model;
|
|
|
|
|
using Newtonsoft.Json;
|
|
|
|
|
|
|
|
|
|
namespace BLL
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
public static class Project_CQMSDataService
|
|
|
|
|
{
|
|
|
|
|
public static Model.SGGLDB db = Funs.DB;
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// CQMS数据类型
|
|
|
|
|
/// </summary>
|
2023-05-09 19:56:06 +08:00
|
|
|
|
public enum CQMSDateType
|
2022-12-26 14:34:56 +08:00
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 质量培训数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
QualityTraining,
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 计量器具数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
MeasuringInstruments,
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 管理人员数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
ManagerData,
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 质量问题数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
QualityProblem,
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 质量控制点数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
QualityControlPoint,
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 质量验收数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
QualityAcceptance,
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 工程划分数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
ProjectDivision,
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 全部数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
All
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
#region 获取列表
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 记录数
|
|
|
|
|
/// </summary>
|
|
|
|
|
public static int count
|
|
|
|
|
{
|
|
|
|
|
get;
|
|
|
|
|
set;
|
|
|
|
|
}
|
|
|
|
|
public static List<Model.Project_CQMSData_CQMS> GetProject_CQMSData_CQMSByModle(Model.Project_CQMSData_CQMS table)
|
|
|
|
|
{
|
|
|
|
|
var q = from x in db.Project_CQMSData_CQMS
|
|
|
|
|
where
|
|
|
|
|
(string.IsNullOrEmpty(table.Id) || x.Id.Contains(table.Id)) &&
|
|
|
|
|
(string.IsNullOrEmpty(table.ProjectId) || x.Id.Contains(table.ProjectId)) &&
|
|
|
|
|
(string.IsNullOrEmpty(table.UnitId) || x.UnitId.Contains(table.UnitId)) &&
|
|
|
|
|
(string.IsNullOrEmpty(table.CollCropCode) || x.CollCropCode.Contains(table.CollCropCode)) &&
|
|
|
|
|
(string.IsNullOrEmpty(table.UnitName) || x.UnitName.Contains(table.UnitName))
|
|
|
|
|
select x
|
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
return q.ToList();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// 获取分页列表
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="PageIndex">页码</param>
|
|
|
|
|
/// <param name="PageSize">每页数量</param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static IEnumerable getListData(Model.Project_CQMSData_CQMS table, Grid Grid1)
|
|
|
|
|
{
|
|
|
|
|
var q = GetProject_CQMSData_CQMSByModle(table);
|
|
|
|
|
count = q.Count();
|
|
|
|
|
if (count == 0)
|
|
|
|
|
{
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
// q= q.Take(Grid1.PageSize * Grid1.PageIndex).Skip(Grid1.PageSize * (Grid1.PageIndex)).ToList();
|
|
|
|
|
// q = SortConditionHelper.SortingAndPaging(q, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize);
|
|
|
|
|
return from x in q
|
|
|
|
|
select new
|
|
|
|
|
{
|
|
|
|
|
x.Id,
|
|
|
|
|
x.ProjectId,
|
|
|
|
|
x.UnitId,
|
|
|
|
|
x.CollCropCode,
|
|
|
|
|
x.UnitName,
|
|
|
|
|
x.ReportDate,
|
|
|
|
|
x.TrainPersonNum,
|
|
|
|
|
x.TechnicalDisclosePersonNum,
|
|
|
|
|
x.UseNum,
|
|
|
|
|
x.OKNum,
|
|
|
|
|
x.CompanyPersonNum,
|
|
|
|
|
x.BranchPersonNum,
|
|
|
|
|
x.ProjectPersonNum,
|
|
|
|
|
x.ProblemNum,
|
|
|
|
|
x.ProblemCompletedNum,
|
|
|
|
|
x.ProblemNotCompletedNum,
|
|
|
|
|
x.SNum,
|
|
|
|
|
x.ANum,
|
|
|
|
|
x.BNum,
|
|
|
|
|
x.CNum,
|
|
|
|
|
x.KeyProcessNum,
|
|
|
|
|
x.KeyProcessOKNum,
|
|
|
|
|
x.SpecialProcessNum,
|
|
|
|
|
x.SpecialProcessOKNum,
|
|
|
|
|
x.ConcealedWorksNum,
|
|
|
|
|
x.ConcealedWorksOKNum,
|
|
|
|
|
x.UnitProjectOnesNum,
|
|
|
|
|
x.UnitProjectOnesOKNum,
|
|
|
|
|
x.MaterialInRecheckNum,
|
|
|
|
|
x.MaterialInRecheckOKNum,
|
|
|
|
|
x.SingleProjectNum,
|
|
|
|
|
x.UnitProjectNum,
|
|
|
|
|
x.SubProjectNum,
|
|
|
|
|
x.SubdivisionalWorksNum,
|
|
|
|
|
x.InspectionLotNum,
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据id获取实体
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="Id"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static Model.Project_CQMSData_CQMS GetProject_CQMSData_CQMSById(string Id)
|
|
|
|
|
{
|
|
|
|
|
return db.Project_CQMSData_CQMS.FirstOrDefault(x => x.Id == Id);
|
|
|
|
|
}
|
|
|
|
|
public static List<Model.Project_CQMSData_CQMS> GetProject_CQMSData_CQMSByprojectid(string projectid)
|
|
|
|
|
{
|
2023-05-09 19:56:06 +08:00
|
|
|
|
var q = (from x in db.Project_CQMSData_CQMS
|
|
|
|
|
where x.ProjectId == projectid
|
|
|
|
|
select x).ToList();
|
2022-12-26 14:34:56 +08:00
|
|
|
|
return q;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 新增
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="newtable"></param>
|
|
|
|
|
public static void AddProject_CQMSData_CQMS(Model.Project_CQMSData_CQMS newtable)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
Model.Project_CQMSData_CQMS table = new Model.Project_CQMSData_CQMS
|
|
|
|
|
{
|
|
|
|
|
Id = newtable.Id,
|
|
|
|
|
ProjectId = newtable.ProjectId,
|
|
|
|
|
UnitId = newtable.UnitId,
|
|
|
|
|
CollCropCode = newtable.CollCropCode,
|
|
|
|
|
UnitName = newtable.UnitName,
|
|
|
|
|
ReportDate = newtable.ReportDate,
|
|
|
|
|
TrainPersonNum = newtable.TrainPersonNum,
|
|
|
|
|
TechnicalDisclosePersonNum = newtable.TechnicalDisclosePersonNum,
|
|
|
|
|
UseNum = newtable.UseNum,
|
|
|
|
|
OKNum = newtable.OKNum,
|
|
|
|
|
CompanyPersonNum = newtable.CompanyPersonNum,
|
|
|
|
|
BranchPersonNum = newtable.BranchPersonNum,
|
|
|
|
|
ProjectPersonNum = newtable.ProjectPersonNum,
|
|
|
|
|
ProblemNum = newtable.ProblemNum,
|
|
|
|
|
ProblemCompletedNum = newtable.ProblemCompletedNum,
|
|
|
|
|
ProblemNotCompletedNum = newtable.ProblemNotCompletedNum,
|
|
|
|
|
SNum = newtable.SNum,
|
|
|
|
|
ANum = newtable.ANum,
|
|
|
|
|
BNum = newtable.BNum,
|
|
|
|
|
CNum = newtable.CNum,
|
|
|
|
|
KeyProcessNum = newtable.KeyProcessNum,
|
|
|
|
|
KeyProcessOKNum = newtable.KeyProcessOKNum,
|
|
|
|
|
SpecialProcessNum = newtable.SpecialProcessNum,
|
|
|
|
|
SpecialProcessOKNum = newtable.SpecialProcessOKNum,
|
|
|
|
|
ConcealedWorksNum = newtable.ConcealedWorksNum,
|
|
|
|
|
ConcealedWorksOKNum = newtable.ConcealedWorksOKNum,
|
|
|
|
|
UnitProjectOnesNum = newtable.UnitProjectOnesNum,
|
|
|
|
|
UnitProjectOnesOKNum = newtable.UnitProjectOnesOKNum,
|
|
|
|
|
MaterialInRecheckNum = newtable.MaterialInRecheckNum,
|
|
|
|
|
MaterialInRecheckOKNum = newtable.MaterialInRecheckOKNum,
|
|
|
|
|
SingleProjectNum = newtable.SingleProjectNum,
|
|
|
|
|
UnitProjectNum = newtable.UnitProjectNum,
|
|
|
|
|
SubProjectNum = newtable.SubProjectNum,
|
|
|
|
|
SubdivisionalWorksNum = newtable.SubdivisionalWorksNum,
|
|
|
|
|
InspectionLotNum = newtable.InspectionLotNum,
|
|
|
|
|
};
|
|
|
|
|
db.Project_CQMSData_CQMS.InsertOnSubmit(table);
|
|
|
|
|
db.SubmitChanges();
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 修改
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="newtable"></param>
|
|
|
|
|
public static void UpdateProject_CQMSData_CQMS(Model.Project_CQMSData_CQMS newtable)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
Model.Project_CQMSData_CQMS table = db.Project_CQMSData_CQMS.FirstOrDefault(x => x.Id == newtable.Id);
|
|
|
|
|
if (table != null)
|
|
|
|
|
{
|
|
|
|
|
table.Id = newtable.Id;
|
|
|
|
|
table.ProjectId = newtable.ProjectId;
|
|
|
|
|
table.UnitId = newtable.UnitId;
|
|
|
|
|
table.CollCropCode = newtable.CollCropCode;
|
|
|
|
|
table.UnitName = newtable.UnitName;
|
|
|
|
|
table.ReportDate = newtable.ReportDate;
|
|
|
|
|
table.TrainPersonNum = newtable.TrainPersonNum;
|
|
|
|
|
table.TechnicalDisclosePersonNum = newtable.TechnicalDisclosePersonNum;
|
|
|
|
|
table.UseNum = newtable.UseNum;
|
|
|
|
|
table.OKNum = newtable.OKNum;
|
|
|
|
|
table.CompanyPersonNum = newtable.CompanyPersonNum;
|
|
|
|
|
table.BranchPersonNum = newtable.BranchPersonNum;
|
|
|
|
|
table.ProjectPersonNum = newtable.ProjectPersonNum;
|
|
|
|
|
table.ProblemNum = newtable.ProblemNum;
|
|
|
|
|
table.ProblemCompletedNum = newtable.ProblemCompletedNum;
|
|
|
|
|
table.ProblemNotCompletedNum = newtable.ProblemNotCompletedNum;
|
|
|
|
|
table.SNum = newtable.SNum;
|
|
|
|
|
table.ANum = newtable.ANum;
|
|
|
|
|
table.BNum = newtable.BNum;
|
|
|
|
|
table.CNum = newtable.CNum;
|
|
|
|
|
table.KeyProcessNum = newtable.KeyProcessNum;
|
|
|
|
|
table.KeyProcessOKNum = newtable.KeyProcessOKNum;
|
|
|
|
|
table.SpecialProcessNum = newtable.SpecialProcessNum;
|
|
|
|
|
table.SpecialProcessOKNum = newtable.SpecialProcessOKNum;
|
|
|
|
|
table.ConcealedWorksNum = newtable.ConcealedWorksNum;
|
|
|
|
|
table.ConcealedWorksOKNum = newtable.ConcealedWorksOKNum;
|
|
|
|
|
table.UnitProjectOnesNum = newtable.UnitProjectOnesNum;
|
|
|
|
|
table.UnitProjectOnesOKNum = newtable.UnitProjectOnesOKNum;
|
|
|
|
|
table.MaterialInRecheckNum = newtable.MaterialInRecheckNum;
|
|
|
|
|
table.MaterialInRecheckOKNum = newtable.MaterialInRecheckOKNum;
|
|
|
|
|
table.SingleProjectNum = newtable.SingleProjectNum;
|
|
|
|
|
table.UnitProjectNum = newtable.UnitProjectNum;
|
|
|
|
|
table.SubProjectNum = newtable.SubProjectNum;
|
|
|
|
|
table.SubdivisionalWorksNum = newtable.SubdivisionalWorksNum;
|
|
|
|
|
table.InspectionLotNum = newtable.InspectionLotNum;
|
|
|
|
|
db.SubmitChanges();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据id删除
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="Id"></param>
|
|
|
|
|
public static void DeleteProject_CQMSData_CQMSById(string Id)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
Model.Project_CQMSData_CQMS table = db.Project_CQMSData_CQMS.FirstOrDefault(x => x.Id == Id);
|
|
|
|
|
if (table != null)
|
|
|
|
|
{
|
|
|
|
|
db.Project_CQMSData_CQMS.DeleteOnSubmit(table);
|
|
|
|
|
db.SubmitChanges();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据projectid判断当天项目是否已统计数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static bool IsReportByToday(string projectid)
|
|
|
|
|
{
|
|
|
|
|
var result = false;
|
|
|
|
|
var q = (from x in Funs.DB.Project_CQMSData_CQMS
|
|
|
|
|
where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date && x.ProjectId == projectid
|
|
|
|
|
select x).ToList();
|
|
|
|
|
if (q != null && q.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
result = true;
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 判断该项目的该日期是否统计数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="dateTime"></param>
|
|
|
|
|
/// <returns></returns>
|
2023-05-09 19:56:06 +08:00
|
|
|
|
public static bool IsReportByDate(DateTime dateTime, string projectid)
|
2022-12-26 14:34:56 +08:00
|
|
|
|
{
|
|
|
|
|
var result = false;
|
|
|
|
|
var q = (from x in Funs.DB.Project_CQMSData_CQMS
|
|
|
|
|
where x.ReportDate >= dateTime.Date && x.ReportDate < (dateTime.Date.AddDays(1).Date) && x.ProjectId == projectid
|
|
|
|
|
select x).ToList();
|
|
|
|
|
if (q != null && q.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
result = true;
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 根据projectid,获取该项目当天的统计数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="projectid"></param>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static Model.Project_CQMSData_CQMS getTodayProject_CQMSData_CQMS(string projectid)
|
|
|
|
|
{
|
|
|
|
|
var q = (from x in Funs.DB.Project_CQMSData_CQMS
|
|
|
|
|
where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date && x.ProjectId == projectid
|
|
|
|
|
select x).FirstOrDefault();
|
|
|
|
|
return q;
|
|
|
|
|
}
|
|
|
|
|
public static void StatisticalAllProjectData()
|
|
|
|
|
{
|
|
|
|
|
var projectlist = ProjectService.GetProjectWorkList();
|
|
|
|
|
foreach (var item in projectlist)
|
|
|
|
|
{
|
|
|
|
|
StatisticalData(item.ProjectId, CQMSDateType.All);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 统计数据
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="projectid">项目id</param>
|
|
|
|
|
/// <param name="cQMSDateType">数据类型</param>
|
2023-05-09 19:56:06 +08:00
|
|
|
|
public static void StatisticalData(string projectid, CQMSDateType cQMSDateType)
|
2022-12-26 14:34:56 +08:00
|
|
|
|
{
|
2023-05-09 19:56:06 +08:00
|
|
|
|
string thisUnitId = string.Empty;
|
2023-08-10 11:40:02 +08:00
|
|
|
|
var thisUnit = CommonService.GetIsThisUnit();
|
2023-05-09 19:56:06 +08:00
|
|
|
|
if (thisUnit != null)
|
|
|
|
|
{
|
2023-08-10 11:40:02 +08:00
|
|
|
|
thisUnitId = thisUnit.UnitId;
|
2023-05-09 19:56:06 +08:00
|
|
|
|
}
|
2023-08-10 11:40:02 +08:00
|
|
|
|
var baseUnit = BLL.UnitService.GetUnitByUnitId(thisUnitId);
|
2022-12-26 14:34:56 +08:00
|
|
|
|
Model.Project_CQMSData_CQMS table = new Model.Project_CQMSData_CQMS();
|
|
|
|
|
|
|
|
|
|
if (IsReportByToday(projectid))
|
|
|
|
|
{
|
2023-05-09 19:56:06 +08:00
|
|
|
|
table = getTodayProject_CQMSData_CQMS(projectid);
|
2022-12-26 14:34:56 +08:00
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
table.Id = SQLHelper.GetNewID();
|
|
|
|
|
}
|
|
|
|
|
table.UnitId = thisUnitId;
|
2023-08-10 11:40:02 +08:00
|
|
|
|
table.CollCropCode = baseUnit.CollCropCode;
|
|
|
|
|
table.UnitName = baseUnit.UnitName;
|
2022-12-26 14:34:56 +08:00
|
|
|
|
table.ProjectId = projectid;
|
|
|
|
|
table.ReportDate = DateTime.Now.Date;
|
2023-05-09 19:56:06 +08:00
|
|
|
|
if (cQMSDateType == CQMSDateType.QualityTraining || cQMSDateType == CQMSDateType.All)
|
2022-12-26 14:34:56 +08:00
|
|
|
|
{
|
|
|
|
|
table.TrainPersonNum = GetTrainPersonNum(projectid);
|
|
|
|
|
table.TechnicalDisclosePersonNum = GetTechnicalDisclosePersonNum(projectid);
|
|
|
|
|
}
|
|
|
|
|
if (cQMSDateType == CQMSDateType.MeasuringInstruments || cQMSDateType == CQMSDateType.All)
|
|
|
|
|
{
|
|
|
|
|
table.UseNum = GetUseNum(projectid);
|
2023-08-10 11:40:02 +08:00
|
|
|
|
table.OKNum = GetOkNum(projectid);
|
2022-12-26 14:34:56 +08:00
|
|
|
|
}
|
|
|
|
|
if (cQMSDateType == CQMSDateType.ManagerData || cQMSDateType == CQMSDateType.All)
|
|
|
|
|
{
|
|
|
|
|
table.CompanyPersonNum = GetCompanyPersonNum(projectid);
|
|
|
|
|
table.BranchPersonNum = GetBranchPersonNum(projectid);
|
|
|
|
|
table.ProjectPersonNum = GetProjectPersonNum(projectid);
|
|
|
|
|
}
|
|
|
|
|
if (cQMSDateType == CQMSDateType.QualityProblem || cQMSDateType == CQMSDateType.All)
|
|
|
|
|
{
|
|
|
|
|
table.ProblemNum = GetProblemNum(projectid);
|
|
|
|
|
table.ProblemCompletedNum = GetProblemCompletedNum(projectid);
|
|
|
|
|
table.ProblemNotCompletedNum = GetProblemNotCompletedNum(projectid);
|
|
|
|
|
}
|
|
|
|
|
if (cQMSDateType == CQMSDateType.QualityControlPoint || cQMSDateType == CQMSDateType.All)
|
|
|
|
|
{
|
|
|
|
|
table.SNum = GetSNum(projectid);
|
|
|
|
|
table.ANum = GetANum(projectid);
|
|
|
|
|
table.BNum = GetBNum(projectid);
|
|
|
|
|
table.CNum = GetCNum(projectid);
|
|
|
|
|
}
|
|
|
|
|
if (cQMSDateType == CQMSDateType.QualityAcceptance || cQMSDateType == CQMSDateType.All)
|
|
|
|
|
{
|
|
|
|
|
table.KeyProcessNum = GetKeyProcessNum(projectid);
|
2023-08-10 11:40:02 +08:00
|
|
|
|
table.KeyProcessOKNum = GetKeyProcessOkNum(projectid);
|
2022-12-26 14:34:56 +08:00
|
|
|
|
table.SpecialProcessNum = GetSpecialProcessNum(projectid);
|
2023-08-10 11:40:02 +08:00
|
|
|
|
table.SpecialProcessOKNum = GetSpecialProcessOkNum(projectid);
|
2022-12-26 14:34:56 +08:00
|
|
|
|
table.ConcealedWorksNum = GetConcealedWorksNum(projectid);
|
2023-08-10 11:40:02 +08:00
|
|
|
|
table.ConcealedWorksOKNum = GetConcealedWorksOkNum(projectid);
|
2022-12-26 14:34:56 +08:00
|
|
|
|
table.UnitProjectOnesNum = GetUnitProjectOnesNum(projectid);
|
|
|
|
|
table.UnitProjectOnesOKNum = GetUnitProjectOnesOKNum(projectid);
|
|
|
|
|
table.MaterialInRecheckNum = GetMaterialInRecheckNum(projectid);
|
|
|
|
|
table.MaterialInRecheckOKNum = GetMaterialInRecheckOKNum(projectid);
|
|
|
|
|
}
|
|
|
|
|
if (cQMSDateType == CQMSDateType.ProjectDivision || cQMSDateType == CQMSDateType.All)
|
|
|
|
|
{
|
|
|
|
|
table.SingleProjectNum = GetSingleProjectNum(projectid);
|
|
|
|
|
table.UnitProjectNum = GetUnitProjectNum(projectid);
|
|
|
|
|
table.SubProjectNum = GetSubProjectNum(projectid);
|
|
|
|
|
table.SubdivisionalWorksNum = GetSubdivisionalWorksNum(projectid);
|
|
|
|
|
table.InspectionLotNum = GetInspectionLotNum(projectid);
|
2023-05-09 19:56:06 +08:00
|
|
|
|
}
|
2022-12-26 14:34:56 +08:00
|
|
|
|
|
|
|
|
|
if (IsReportByToday(projectid))
|
|
|
|
|
{
|
|
|
|
|
UpdateProject_CQMSData_CQMS(table);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
AddProject_CQMSData_CQMS(table);
|
|
|
|
|
}
|
|
|
|
|
CQMSDataService.UpdateTodyData_State();
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取质量培训人次数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetTrainPersonNum(string projectid)
|
|
|
|
|
{
|
2023-08-10 11:40:02 +08:00
|
|
|
|
var result = (from x in Funs.DB.Comprehensive_InspectionPerson
|
|
|
|
|
where x.ProjectId == projectid && x.IsTrain == true && x.CompileDate>Const.DtmarkTime
|
2023-05-09 19:56:06 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
2022-12-26 14:34:56 +08:00
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取技术交底人次数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetTechnicalDisclosePersonNum(string projectid)
|
|
|
|
|
{
|
2023-08-10 11:40:02 +08:00
|
|
|
|
var result = (from x in Funs.DB.Comprehensive_DesignDetails
|
|
|
|
|
where x.ProjectId == projectid && x.CompileDate > Const.DtmarkTime
|
2023-05-09 19:56:06 +08:00
|
|
|
|
select x.JoinPersonNum).ToList().Sum(x => x.Value);
|
|
|
|
|
var q = Funs.GetNewIntOrZero(result.ToString());
|
|
|
|
|
return q;
|
2022-12-26 14:34:56 +08:00
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取在用计量器具数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetUseNum(string projectid)
|
|
|
|
|
{
|
|
|
|
|
int result = (from x in Funs.DB.Comprehensive_InspectionMachine
|
|
|
|
|
where x.ProjectId == projectid && x.IsOnSite == true && x.InspectionType.Contains("计量")
|
2023-08-10 11:40:02 +08:00
|
|
|
|
&& x.CompileDate > Const.DtmarkTime
|
2022-12-26 14:34:56 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取校准合格数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
2023-08-10 11:40:02 +08:00
|
|
|
|
public static int GetOkNum(string projectid)
|
2022-12-26 14:34:56 +08:00
|
|
|
|
{
|
2023-05-09 19:56:06 +08:00
|
|
|
|
int result = (from x in Funs.DB.Comprehensive_InspectionMachine
|
|
|
|
|
where x.ProjectId == projectid && x.IsOnSite == true && x.InspectionType.Contains("计量") && x.IsCheckOK == true
|
2023-08-10 11:40:02 +08:00
|
|
|
|
&& x.CompileDate > Const.DtmarkTime
|
2023-05-09 19:56:06 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
2022-12-26 14:34:56 +08:00
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取企业总部人数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetCompanyPersonNum(string projectid)
|
|
|
|
|
{
|
|
|
|
|
int result = 0;
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取分支机构人数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetBranchPersonNum(string projectid)
|
|
|
|
|
{
|
|
|
|
|
int result = 0;
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取项目部人数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetProjectPersonNum(string projectid)
|
|
|
|
|
{
|
2023-08-10 11:40:02 +08:00
|
|
|
|
int result = (from x in Funs.DB.SitePerson_Person
|
|
|
|
|
join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
|
|
|
|
|
where x.ProjectId == projectid && y.IsCQMS == true && x.IsUsed == true
|
2023-05-09 19:56:06 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
2022-12-26 14:34:56 +08:00
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取问题个数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetProblemNum(string projectid)
|
|
|
|
|
{
|
2023-08-10 11:40:02 +08:00
|
|
|
|
int result = (from x in Funs.DB.Check_CheckControl
|
|
|
|
|
where x.ProjectId == projectid && x.CheckDate > Const.DtmarkTime
|
2022-12-26 14:34:56 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取整改完成数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetProblemCompletedNum(string projectid)
|
|
|
|
|
{
|
|
|
|
|
int result = (from x in Funs.DB.Check_CheckControl
|
2023-08-10 11:40:02 +08:00
|
|
|
|
where x.ProjectId == projectid && x.CheckDate > Const.DtmarkTime && x.State == "7"
|
2022-12-26 14:34:56 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取未整改数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetProblemNotCompletedNum(string projectid)
|
|
|
|
|
{
|
|
|
|
|
int result = (from x in Funs.DB.Check_CheckControl
|
2023-08-10 11:40:02 +08:00
|
|
|
|
where x.ProjectId == projectid && x.CheckDate > Const.DtmarkTime && x.State != "7"
|
2022-12-26 14:34:56 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取S级数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetSNum(string projectid)
|
|
|
|
|
{
|
|
|
|
|
int result = (from x in Funs.DB.WBS_BreakdownProject
|
2023-08-10 11:40:02 +08:00
|
|
|
|
where x.ProjectId == projectid && x.Class.Contains("S") && x.IsSelected == true && x.CompileDate > Const.DtmarkTime
|
2022-12-26 14:34:56 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取A级数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetANum(string projectid)
|
|
|
|
|
{
|
|
|
|
|
int result = (from x in Funs.DB.WBS_BreakdownProject
|
2023-08-10 11:40:02 +08:00
|
|
|
|
where x.ProjectId == projectid && x.Class.Contains("A") && x.IsSelected == true && x.CompileDate > Const.DtmarkTime
|
2022-12-26 14:34:56 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取B级数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetBNum(string projectid)
|
|
|
|
|
{
|
|
|
|
|
int result = (from x in Funs.DB.WBS_BreakdownProject
|
2023-08-10 11:40:02 +08:00
|
|
|
|
where x.ProjectId == projectid && x.Class.Contains("B") && x.IsSelected == true && x.CompileDate > Const.DtmarkTime
|
2022-12-26 14:34:56 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取C级数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetCNum(string projectid)
|
|
|
|
|
{
|
|
|
|
|
int result = (from x in Funs.DB.WBS_BreakdownProject
|
2023-08-10 11:40:02 +08:00
|
|
|
|
where x.ProjectId == projectid && x.Class.Contains("C") && x.IsSelected == true && x.CompileDate > Const.DtmarkTime
|
2022-12-26 14:34:56 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取关键工序验收数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetKeyProcessNum(string projectid)
|
|
|
|
|
{
|
2023-05-09 19:56:06 +08:00
|
|
|
|
int result = (from x in Funs.DB.ProcessControl_InspectionManagementDetail
|
|
|
|
|
join y in Funs.DB.WBS_BreakdownProject on x.ControlPointType equals y.BreakdownProjectId
|
2023-08-10 11:40:02 +08:00
|
|
|
|
where y.ProjectId == projectid && y.CheckAcceptType == "1" && x.CreateDate> Const.DtmarkTime
|
2023-05-09 19:56:06 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
2022-12-26 14:34:56 +08:00
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取关键工序验收合格数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
2023-08-10 11:40:02 +08:00
|
|
|
|
public static int GetKeyProcessOkNum(string projectid)
|
2022-12-26 14:34:56 +08:00
|
|
|
|
{
|
2023-05-09 19:56:06 +08:00
|
|
|
|
int result = (from x in Funs.DB.ProcessControl_InspectionManagementDetail
|
|
|
|
|
join y in Funs.DB.WBS_BreakdownProject on x.ControlPointType equals y.BreakdownProjectId
|
|
|
|
|
join z in Funs.DB.ProcessControl_InspectionManagement on x.InspectionId equals z.InspectionId
|
2023-08-10 11:40:02 +08:00
|
|
|
|
where y.ProjectId == projectid && y.CheckAcceptType == "1" && z.IsOnceQualified == true && x.CreateDate>Const.DtmarkTime
|
2023-05-09 19:56:06 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
2022-12-26 14:34:56 +08:00
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取特殊过程验收数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetSpecialProcessNum(string projectid)
|
|
|
|
|
{
|
2023-05-09 19:56:06 +08:00
|
|
|
|
int result = (from x in Funs.DB.ProcessControl_InspectionManagementDetail
|
|
|
|
|
join y in Funs.DB.WBS_BreakdownProject on x.ControlPointType equals y.BreakdownProjectId
|
2023-08-10 11:40:02 +08:00
|
|
|
|
where y.ProjectId == projectid && y.CheckAcceptType == "2" && x.CreateDate > Const.DtmarkTime
|
2023-05-09 19:56:06 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
2022-12-26 14:34:56 +08:00
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取特殊过程验收合格数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
2023-08-10 11:40:02 +08:00
|
|
|
|
public static int GetSpecialProcessOkNum(string projectid)
|
2022-12-26 14:34:56 +08:00
|
|
|
|
{
|
2023-08-10 11:40:02 +08:00
|
|
|
|
var result = (from x in Funs.DB.ProcessControl_InspectionManagementDetail
|
2023-05-09 19:56:06 +08:00
|
|
|
|
join y in Funs.DB.WBS_BreakdownProject on x.ControlPointType equals y.BreakdownProjectId
|
|
|
|
|
join z in Funs.DB.ProcessControl_InspectionManagement on x.InspectionId equals z.InspectionId
|
2023-08-10 11:40:02 +08:00
|
|
|
|
where y.ProjectId == projectid && y.CheckAcceptType == "2" && z.IsOnceQualified == true && x.CreateDate > Const.DtmarkTime
|
2023-05-09 19:56:06 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
2022-12-26 14:34:56 +08:00
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取隐蔽工程验收数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetConcealedWorksNum(string projectid)
|
|
|
|
|
{
|
2023-05-09 19:56:06 +08:00
|
|
|
|
int result = (from x in Funs.DB.ProcessControl_InspectionManagementDetail
|
|
|
|
|
join y in Funs.DB.WBS_BreakdownProject on x.ControlPointType equals y.BreakdownProjectId
|
2023-08-10 11:40:02 +08:00
|
|
|
|
where y.ProjectId == projectid && y.CheckAcceptType == "3" && x.CreateDate > Const.DtmarkTime
|
2023-05-09 19:56:06 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
2022-12-26 14:34:56 +08:00
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取隐蔽工程验收合格数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
2023-08-10 11:40:02 +08:00
|
|
|
|
public static int GetConcealedWorksOkNum(string projectid)
|
2022-12-26 14:34:56 +08:00
|
|
|
|
{
|
2023-05-09 19:56:06 +08:00
|
|
|
|
int result = (from x in Funs.DB.ProcessControl_InspectionManagementDetail
|
|
|
|
|
join y in Funs.DB.WBS_BreakdownProject on x.ControlPointType equals y.BreakdownProjectId
|
|
|
|
|
join z in Funs.DB.ProcessControl_InspectionManagement on x.InspectionId equals z.InspectionId
|
2023-08-10 11:40:02 +08:00
|
|
|
|
where y.ProjectId == projectid && y.CheckAcceptType == "3" && z.IsOnceQualified == true && x.CreateDate > Const.DtmarkTime
|
2023-05-09 19:56:06 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
2022-12-26 14:34:56 +08:00
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取单位工程一次验收数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetUnitProjectOnesNum(string projectid)
|
|
|
|
|
{
|
2023-05-09 19:56:06 +08:00
|
|
|
|
int result = (from x in Funs.DB.ProcessControl_InspectionManagementDetail
|
|
|
|
|
join y in Funs.DB.WBS_BreakdownProject on x.ControlPointType equals y.BreakdownProjectId
|
2023-08-10 11:40:02 +08:00
|
|
|
|
where y.ProjectId == projectid && y.CheckAcceptType == "4" && x.CreateDate > Const.DtmarkTime
|
2023-05-09 19:56:06 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
2022-12-26 14:34:56 +08:00
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取单位工程一次验收合格数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetUnitProjectOnesOKNum(string projectid)
|
|
|
|
|
{
|
2023-05-09 19:56:06 +08:00
|
|
|
|
int result = (from x in Funs.DB.ProcessControl_InspectionManagementDetail
|
|
|
|
|
join y in Funs.DB.WBS_BreakdownProject on x.ControlPointType equals y.BreakdownProjectId
|
|
|
|
|
join z in Funs.DB.ProcessControl_InspectionManagement on x.InspectionId equals z.InspectionId
|
2023-08-10 11:40:02 +08:00
|
|
|
|
where y.ProjectId == projectid && y.CheckAcceptType == "4" && z.IsOnceQualified == true && x.CreateDate > Const.DtmarkTime
|
2023-05-09 19:56:06 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
2022-12-26 14:34:56 +08:00
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取材料进场复验数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetMaterialInRecheckNum(string projectid)
|
|
|
|
|
{
|
2023-05-09 19:56:06 +08:00
|
|
|
|
int result = (from x in Funs.DB.ProcessControl_InspectionManagementDetail
|
|
|
|
|
join y in Funs.DB.WBS_BreakdownProject on x.ControlPointType equals y.BreakdownProjectId
|
2023-08-10 11:40:02 +08:00
|
|
|
|
where y.ProjectId == projectid && y.CheckAcceptType == "5" && x.CreateDate > Const.DtmarkTime
|
2023-05-09 19:56:06 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
2022-12-26 14:34:56 +08:00
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取材料进场复验合格数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetMaterialInRecheckOKNum(string projectid)
|
|
|
|
|
{
|
2023-05-09 19:56:06 +08:00
|
|
|
|
int result = (from x in Funs.DB.ProcessControl_InspectionManagementDetail
|
|
|
|
|
join y in Funs.DB.WBS_BreakdownProject on x.ControlPointType equals y.BreakdownProjectId
|
|
|
|
|
join z in Funs.DB.ProcessControl_InspectionManagement on x.InspectionId equals z.InspectionId
|
2023-08-10 11:40:02 +08:00
|
|
|
|
where y.ProjectId == projectid && y.CheckAcceptType == "5" && z.IsOnceQualified == true && x.CreateDate > Const.DtmarkTime
|
2023-05-09 19:56:06 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
2022-12-26 14:34:56 +08:00
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取单项工程个数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetSingleProjectNum(string projectid)
|
|
|
|
|
{
|
|
|
|
|
int result = (from x in Funs.DB.Project_Installation
|
2023-08-10 11:40:02 +08:00
|
|
|
|
where x.ProjectId == projectid && x.SuperInstallationId == "0"
|
2022-12-26 14:34:56 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取单位工程个数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetUnitProjectNum(string projectid)
|
|
|
|
|
{
|
|
|
|
|
int result = (from x in Funs.DB.WBS_UnitWork
|
2024-08-22 11:00:20 +08:00
|
|
|
|
where x.ProjectId == projectid && (x.SuperUnitWork == null || x.SuperUnitWork == "0")
|
2022-12-26 14:34:56 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取分部工程个数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetSubProjectNum(string projectid)
|
|
|
|
|
{
|
2023-05-09 19:56:06 +08:00
|
|
|
|
int result = (from x in Funs.DB.WBS_DivisionProject
|
|
|
|
|
where x.ProjectId == projectid && x.SubItemType == "1" && x.IsSelected == true
|
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
2022-12-26 14:34:56 +08:00
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取分项工程个数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetSubdivisionalWorksNum(string projectid)
|
|
|
|
|
{
|
2023-05-09 19:56:06 +08:00
|
|
|
|
int result = (from x in Funs.DB.WBS_DivisionProject
|
|
|
|
|
where x.ProjectId == projectid && x.SubItemType == "3" && x.IsSelected == true
|
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
2022-12-26 14:34:56 +08:00
|
|
|
|
}
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 获取检验批个数
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public static int GetInspectionLotNum(string projectid)
|
|
|
|
|
{
|
|
|
|
|
int result = (from x in Funs.DB.WBS_BreakdownProject
|
2023-08-10 11:40:02 +08:00
|
|
|
|
where x.ProjectId == projectid && x.IsSelected == true
|
2022-12-26 14:34:56 +08:00
|
|
|
|
select x).Count();
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|