Files
zhengxuan.zhang 08e623410f 260520 优化历史已解析入库但没有分发成功的问题
新到文件是否仍然正常出现 匹配成功 -> 待解析区 -> 解析成功 -> 正式区 -> 双侧完成 -> 客户报告生成。
历史遗留文件是否出现 已补充分发到正式区 这类新日志,并从源目录消失。
已经真正分发完成的文件,是否仍然保持 已处理且目标区域已存在,跳过,没有重复搬运。
2026-05-20 16:06:37 +08:00

221 lines
5.8 KiB
C#

using NSAnalysis.DAL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using Telerik.WinControls.UI;
namespace NSAnalysis
{
public partial class FConfigSetup : Telerik.WinControls.UI.ShapedForm
{
private CjlrDAL tmdal = new CjlrDAL();
public int idgvSelectRowNumber = 0;
#region
private void btn_MouseHover(object sender, EventArgs e)
{
RadButton btn = sender as RadButton;
btn.BackColor = Color.FromArgb(0, 151, 186);
}
private void btn_MouseLeave(object sender, EventArgs e)
{
RadButton btn = sender as RadButton;
btn.BackColor = Color.FromArgb(19, 46, 53);
}
#endregion
public FConfigSetup()
{
InitializeComponent();
InitStatusComboBox();
SQLHelper.connStr = DatabaseDfn.SqlConnectStr();
}
private void FToleranceSetup_Load(object sender, EventArgs e)
{
dgvTolList.ColumnHeadersDefaultCellStyle.Font = new Font("Segoe UI", 8, FontStyle.Regular);
lpcAddTol.labPicture.Click += lpcAddTol_Click;
lpcAddTol.labText.Click += lpcAddTol_Click;
rtbnSearch_Click(null, null);
}
// 初始化ComboBox数据源
private void InitStatusComboBox()
{
var statusList = new List<KeyValuePair<string, string>>();
statusList.Add(new KeyValuePair<string, string>("全部", "all"));
statusList.Add(new KeyValuePair<string, string>("启动", "start"));
statusList.Add(new KeyValuePair<string, string>("停止", "stop"));
CB_TaskStatus.DataSource = statusList;
CB_TaskStatus.DisplayMember = "Key";
CB_TaskStatus.ValueMember = "Value";
// 设置默认选中项为“全部”
}
// 获取选中状态值
private string GetSelectedStatus()
{
if (CB_TaskStatus.SelectedIndex < 0)
return string.Empty;
return CB_TaskStatus.SelectedValue.ToString();
}
public void rtbnSearch_Click(object sender, EventArgs e)
{
DataTable dt = tmdal.SelectTaskByCondition(rtbCarName.Text.Trim(), rtbCarModel.Text.Trim(), GetSelectedStatus());
if (dt.Rows.Count > 0)
{
dgvTolList.AutoGenerateColumns = false;
dgvTolList.DataSource = dt;
SetdgvRowBgColor(dgvTolList);
labSearchResult.Visible = false;
}
else
{
dgvTolList.AutoGenerateColumns = false;
dgvTolList.DataSource = dt;
labSearchResult.Visible = true;
}
}
/// <summary>
/// 设置DataGridView各行变色
/// </summary>
/// <param name="dgv">DataGridView</param>
public void SetdgvRowBgColor(DataGridView dgv)
{
if (dgv.Rows.Count > 0)
{
foreach (DataGridViewRow item in dgv.Rows)
{
if (item.Index % 2 == 0)
{
item.DefaultCellStyle.BackColor = Color.FromArgb(19, 46, 53);
}
else
{
item.DefaultCellStyle.BackColor = Color.FromArgb(27, 60, 68);
}
}
}
}
private void dgvTolList_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
{
e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1);
}
private void lpcAddTol_Click(object sender, EventArgs e)
{
FAddConfig fat = new FAddConfig(this);
fat.ShowDialog(this);
}
private void dgvTolList_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
string buttonText = "";
if (e.RowIndex < 0 || e.ColumnIndex < 0)
{
return;
}
try
{
buttonText = dgvTolList.Columns[e.ColumnIndex].HeaderText;
}
catch (Exception)
{
buttonText = " ";
}
if (buttonText == "删除")
{
if (DialogResult.Yes == MessageBox.Show("您确定要删除该条分发配置吗,注意:删除后不可恢复!", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning))
{
string modelName = dgvTolList.Rows[e.RowIndex].Cells["modelsName"].Value.ToString();
string modelsCode = dgvTolList.Rows[e.RowIndex].Cells["modelsCode"].Value.ToString();
if (string.IsNullOrEmpty(modelsCode) || string.IsNullOrEmpty(modelName))
{
MessageBox.Show("分发配置代码或名称不能为空,无法删除!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
try
{
tmdal.UpdateIsDelete(modelName, modelsCode);
}
catch (Exception ex)
{
MessageBox.Show("删除分发配置失败,原因:" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
MessageBox.Show("删除分发配置成功! ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
rtbnSearch_Click(null, null);
}
}
if (buttonText == "修改" || buttonText == "Edit")
{
idgvSelectRowNumber = e.RowIndex;
FEditConfig sfeditcnc = new FEditConfig(this);
sfeditcnc.ShowDialog();
}
}
private void dgvTolList_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
// 系统状态
if (dgvTolList.Columns
.Cast<DataGridViewColumn>()
.Any(c => c.DataPropertyName == "status" && c.Index == e.ColumnIndex))
{
switch (e.Value.ToString())
{
case "start":
e.Value = "启动";
//dgvTolList.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White; // 默认背景色
break;
case "stop":
dgvTolList.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Red;
e.Value = "停止";
break;
}
}
//读取方式
if (dgvTolList.Columns
.Cast<DataGridViewColumn>()
.Any(c => c.DataPropertyName == "readType" && c.Index == e.ColumnIndex))
{
switch (e.Value.ToString())
{
case "1": e.Value = "文件内容"; break;
case "2": e.Value = "文件名称"; break;
}
}
// 位置
if (dgvTolList.Columns
.Cast<DataGridViewColumn>()
.Any(c => c.DataPropertyName == "position" && c.Index == e.ColumnIndex))
{
switch (e.Value.ToString())
{
case "L": e.Value = "左侧"; break;
case "R": e.Value = "右侧"; break;
}
}
}
}
}