20231114本部检查检查管理优化

This commit is contained in:
2023-11-14 16:02:36 +08:00
parent 0391faa14c
commit c76127bbba
11 changed files with 572 additions and 499 deletions
@@ -74,7 +74,14 @@ namespace FineUIPro.Web.OfficeCheck.Check
{
this.lbTotal100Score.Text = "本表百分制得分 = (实查项实得分之和/实查项应得满分之和*100) 分";
}
if (table1.Total100Score.HasValue)
{
this.lbTotalCheckScore.Text = table1.Total100Score.ToString();
}
else
{
this.lbTotalCheckScore.Text = "100";
}
//if (table1.TotalLastScore.HasValue)
//{
// this.lbTotalLastScore.Text = "综合评定得分 = 本表得分 - 负面清单罚分 = " + table1.TotalLastScore + " 分";
@@ -95,19 +102,9 @@ namespace FineUIPro.Web.OfficeCheck.Check
#region
private void BindGrid()
{
string strSql = @"SELECT [ID],
[SortIndex],
[CheckItem],
[CheckStandard],
[CheckMethod],
[CheckResult],
[BaseScore],
[DeletScore],
[GetScore],
[Type],
[CheckNoticeId]"
+ @" FROM ProjectSupervision_Check1"
+ @" WHERE Type='1' AND CheckNoticeId=@CheckNoticeId ORDER BY SortIndex";
string strSql = @"SELECT CheckNoticeId,ID,SortIndex,CheckItem,CheckStandard,CheckMethod,CheckResult,BaseScore,DeletScore,GetScore,Type,IsSelect
FROM ProjectSupervision_Check1
WHERE Type='1' AND CheckNoticeId=@CheckNoticeId ORDER BY SortIndex";
SqlParameter[] parameter = new SqlParameter[]
{
new SqlParameter("@CheckNoticeId",this.CheckNoticeId),
@@ -116,29 +113,6 @@ namespace FineUIPro.Web.OfficeCheck.Check
this.Grid1.DataSource = tb;
//求和
this.OutputSummaryData(tb);
if (tb.Rows.Count == 0)
{
string strSql2 = @"SELECT [ID],
[SortIndex],
[CheckItem],
[CheckStandard],
[CheckMethod],
[BaseScore],
[Type],
[Indexs],
NULL as DeletScore,
[BaseScore] AS GetScore"
+ @" FROM [dbo].[ProjectSupervision_CheckTemplate]"
+ @" WHERE Type='1' ORDER BY [Indexs]";
List<SqlParameter> listStr2 = new List<SqlParameter>();
SqlParameter[] parameter2 = listStr2.ToArray();
DataTable tb2 = SQLHelper.GetDataTableRunText(strSql2, parameter2);
this.Grid1.DataSource = tb2;
//求和
this.OutputSummaryData(tb2);
}
this.Grid1.DataBind();
}
@@ -151,35 +125,13 @@ namespace FineUIPro.Web.OfficeCheck.Check
decimal baseScoreTotal = 0;
decimal deletScoreTotal = 0;
decimal getScoreTotal = 0;
List<string> lists = new List<string>();
foreach (DataRow row in source.Rows)
{
var checks = BLL.ProjectSupervision_Check1Service.GetCheck1ByCheckItem(row["CheckItem"].ToString(), this.CheckNoticeId);
if (checks != null)
if (row["IsSelect"].ToString() == "True")
{
if (!lists.Contains(checks.CheckItem))
{
baseScoreTotal += Funs.GetNewDecimalOrZero(row["BaseScore"].ToString());
deletScoreTotal += Funs.GetNewDecimalOrZero(row["DeletScore"].ToString());
getScoreTotal += Funs.GetNewDecimalOrZero(row["GetScore"].ToString());
lists.Add(row["CheckItem"].ToString());
}
}
else
{
var temp = Funs.DB.ProjectSupervision_CheckTemplate.FirstOrDefault(x => x.CheckItem == row["CheckItem"].ToString() && x.Type == "1");
if (temp != null)
{
if (!lists.Contains(temp.CheckItem))
{
baseScoreTotal += Funs.GetNewDecimalOrZero(row["BaseScore"].ToString());
deletScoreTotal += Funs.GetNewDecimalOrZero(row["DeletScore"].ToString());
getScoreTotal += Funs.GetNewDecimalOrZero(row["GetScore"].ToString());
lists.Add(row["CheckItem"].ToString());
}
}
baseScoreTotal += Funs.GetNewDecimalOrZero(row["BaseScore"].ToString());
deletScoreTotal += Funs.GetNewDecimalOrZero(row["DeletScore"].ToString());
getScoreTotal += Funs.GetNewDecimalOrZero(row["GetScore"].ToString());
}
}
@@ -219,44 +171,23 @@ namespace FineUIPro.Web.OfficeCheck.Check
}
if (this.Grid1.GetModifiedData().Count > 0)
{
BLL.ProjectSupervision_Check1Service.DeleteCheckByNoticeId(this.CheckNoticeId);
//BLL.ProjectSupervision_Check1Service.DeleteCheckByNoticeId(this.CheckNoticeId);
JArray teamGroupData = this.Grid1.GetMergedData();
foreach (JObject teamGroupRow in teamGroupData)
{
JObject values = teamGroupRow.Value<JObject>("values");
var checks = BLL.ProjectSupervision_Check1Service.GetCheck1ByCheckItem(values.Value<string>("CheckItem"), this.CheckNoticeId);
if (checks == null)
{
Model.ProjectSupervision_Check1 newCheck = new Model.ProjectSupervision_Check1();
newCheck.ID = SQLHelper.GetNewID();
newCheck.SortIndex = Funs.GetNewInt(values.Value<string>("SortIndex"));
newCheck.CheckItem = values.Value<string>("CheckItem");
newCheck.CheckStandard = values.Value<string>("CheckStandard");
newCheck.CheckMethod = values.Value<string>("CheckMethod");
newCheck.CheckResult = values.Value<string>("CheckResult");
newCheck.BaseScore = Funs.GetNewDecimalOrZero(values.Value<string>("BaseScore"));
newCheck.DeletScore = Funs.GetNewDecimalOrZero(values.Value<string>("DeletScore"));
newCheck.GetScore = Funs.GetNewDecimalOrZero(values.Value<string>("GetScore"));
newCheck.Type = "1";
newCheck.CheckNoticeId = this.CheckNoticeId;
BLL.ProjectSupervision_Check1Service.AddCheck1(newCheck);
}
else
{
Model.ProjectSupervision_Check1 newCheck = new Model.ProjectSupervision_Check1();
newCheck.ID = SQLHelper.GetNewID();
newCheck.SortIndex = checks.SortIndex;
newCheck.CheckItem = checks.CheckItem;
newCheck.CheckStandard = values.Value<string>("CheckStandard");
newCheck.CheckMethod = checks.CheckMethod;
newCheck.CheckResult = checks.CheckResult;
newCheck.BaseScore = checks.BaseScore;
newCheck.DeletScore = checks.DeletScore;
newCheck.GetScore = checks.GetScore;
newCheck.Type = "1";
newCheck.CheckNoticeId = this.CheckNoticeId;
BLL.ProjectSupervision_Check1Service.AddCheck1(newCheck);
JObject values = teamGroupRow.Value<JObject>("values"); bool isSelect = Convert.ToBoolean(values.Value<string>("IsSelect"));
if (isSelect)
{
var taleItem = Funs.DB.ProjectSupervision_Check1.FirstOrDefault(x => x.ID == values.Value<string>("ID"));
if (taleItem != null)
{
taleItem.CheckResult = values.Value<string>("CheckResult");
taleItem.IsSelect = Convert.ToBoolean(values.Value<string>("IsSelect"));
taleItem.BaseScore = Funs.GetNewDecimalOrZero(values.Value<string>("BaseScore"));
taleItem.DeletScore = Funs.GetNewDecimalOrZero(values.Value<string>("DeletScore"));
taleItem.GetScore = (taleItem.BaseScore - taleItem.DeletScore);
Funs.DB.SubmitChanges();
}
}
}
}
@@ -269,15 +200,12 @@ namespace FineUIPro.Web.OfficeCheck.Check
var tale1Item = from x in Funs.DB.ProjectSupervision_Check1 where x.CheckNoticeId == this.CheckNoticeId && x.Type == "1" orderby x.SortIndex select x;
if (tale1Item.Count() > 0)
{
List<string> lists = new List<string>();
foreach (var item in tale1Item)
{
var result = lists.Exists(t => t == item.CheckItem);//如果是相同的检查项目,则只增加其中一条的分数
if (!result)
if (item.IsSelect == true)
{
totalBaseScore += item.BaseScore.Value;
totalDeletScore += item.DeletScore.Value;
lists.Add(item.CheckItem);
}
}
@@ -286,7 +214,7 @@ namespace FineUIPro.Web.OfficeCheck.Check
totalGetScore = totalBaseScore - totalDeletScore;
decimal sS = (totalGetScore / totalBaseScore) * 100;
total100Score = Math.Round(sS, 2);
totalLastScore = total100Score; //total100Score - Funs.GetNewDecimalOrZero(this.hdTotalDeletScore6_7.Text));
totalLastScore = total100Score;
}
}