台州海关TD3600上线版本
This commit is contained in:
215
JJMediSys/STATSRules.cs
Normal file
215
JJMediSys/STATSRules.cs
Normal file
@@ -0,0 +1,215 @@
|
||||
using JJMediSys.cs;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml;
|
||||
using static JJMediSys.AlertForm;
|
||||
|
||||
namespace JJMediSys
|
||||
{
|
||||
public partial class STATSRules : Form
|
||||
{
|
||||
|
||||
[DllImport("user32.dll")]//*********************拖动无窗体的控件
|
||||
public static extern bool ReleaseCapture();
|
||||
[DllImport("user32.dll")]
|
||||
public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
|
||||
public const int WM_SYSCOMMAND = 0x0112;
|
||||
public const int SC_MOVE = 0xF010;
|
||||
public const int HTCAPTION = 0x0002;
|
||||
public STATSRules()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
|
||||
|
||||
public struct Rule
|
||||
{
|
||||
public string Type { get; set; } //类型XM项目 SG试管
|
||||
public string Name { get; set; }
|
||||
public string Details { get; set; }
|
||||
public string SendKS { get; set; }
|
||||
public List<string> DetailItem { get; set; }
|
||||
public string INUSE { get; set; } //1启用
|
||||
}
|
||||
public List<Rule> rules;
|
||||
private void STATSRules_Load(object sender, EventArgs e)
|
||||
{
|
||||
int x = (Screen.PrimaryScreen.WorkingArea.Width - this.Width) / 2;
|
||||
int y = (Screen.PrimaryScreen.WorkingArea.Height - this.Height) / 2;
|
||||
this.Location = new Point(x, y);
|
||||
BDel.Visible = false;
|
||||
RadXM.Checked = true;
|
||||
RadJYK.Checked = true;
|
||||
listView1.Columns.Add("规则类型", 100);
|
||||
listView1.Columns.Add("规则名称", 100);
|
||||
listView1.Columns.Add("规则明细", 300);
|
||||
listView1.Columns.Add("送检科室", 100);
|
||||
listView1.Columns.Add("启用标志", 100);
|
||||
rules = LoadRule();
|
||||
foreach (Rule rule in rules)
|
||||
{
|
||||
listView1.Items.Add(new ListViewItem(new string[] { (rule.Type == "XM" ? "项目" : "试管"), rule.Name, rule.Details,rule.SendKS, (rule.INUSE == "1" ? "启用" : "未启用") }));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static List<Rule> LoadRule()
|
||||
{
|
||||
List<Rule> rules = new List<Rule>();
|
||||
string Rulestr = ConfigFileReader.GetValue("/configuration/appSettings/add[@key='STATSRules']");
|
||||
string[] Rules = Rulestr.Split('|');
|
||||
foreach (string temp in Rules)
|
||||
{
|
||||
if(temp!="")
|
||||
{
|
||||
string[] Details = temp.Split('^');
|
||||
if(Details.Length==5)
|
||||
{
|
||||
Rule rule = new Rule();
|
||||
rule.Type = Details[0];
|
||||
rule.Name = Details[1];
|
||||
rule.Details = Details[2];
|
||||
rule.SendKS = Details[3];
|
||||
rule.INUSE = Details[4];
|
||||
rule.DetailItem = Details[2].Split(';').ToList().Where(item => !string.IsNullOrWhiteSpace(item)).ToList();
|
||||
rules.Add(rule);
|
||||
}
|
||||
}
|
||||
}
|
||||
return rules;
|
||||
}
|
||||
|
||||
private void STATSRules_MouseDown(object sender, MouseEventArgs e)
|
||||
{
|
||||
ReleaseCapture();
|
||||
SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
|
||||
}
|
||||
|
||||
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (this.listView1.SelectedItems.Count > 0)
|
||||
{
|
||||
BDel.Visible = true;
|
||||
string Type = this.listView1.SelectedItems[0].SubItems[0].Text;
|
||||
if(Type.Equals("项目"))
|
||||
{
|
||||
RadXM.Checked = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
RadSG.Checked = true;
|
||||
}
|
||||
RuleName.Text = this.listView1.SelectedItems[0].SubItems[1].Text;
|
||||
RuleDetail.Text = this.listView1.SelectedItems[0].SubItems[2].Text;
|
||||
string SendKS = this.listView1.SelectedItems[0].SubItems[3].Text;
|
||||
if (SendKS.Equals("检验科"))
|
||||
{
|
||||
RadJYK.Checked = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
RadQT.Checked = true;
|
||||
}
|
||||
|
||||
if (this.listView1.SelectedItems[0].SubItems[4].Text.Equals("启用"))
|
||||
{
|
||||
InUse.Checked = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
InUse.Checked = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
BDel.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void BDel_Click(object sender, EventArgs e)
|
||||
{
|
||||
string TagRuleName = RuleName.Text;//this.listView1.SelectedItems[0].SubItems[0].Text;
|
||||
bool isfinded = false;
|
||||
foreach (Rule rule in rules)
|
||||
{
|
||||
if(rule.Name.Equals(TagRuleName))
|
||||
{
|
||||
rules.Remove(rule);
|
||||
isfinded = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(isfinded)
|
||||
{
|
||||
MessageBox.Show("没有找到原始规则");
|
||||
return;
|
||||
}
|
||||
string Rulestr = "";
|
||||
listView1.Items.Clear();
|
||||
foreach (Rule rule in rules)
|
||||
{
|
||||
listView1.Items.Add(new ListViewItem(new string[] { (rule.Type == "XM" ? "项目" : "试管"),rule.Name, rule.Details,rule.SendKS, (rule.INUSE == "1" ? "启用" : "未启用") }));
|
||||
Rulestr = Rulestr + rule.Type + "^" + rule.Name + "^" + rule.Details + "^" + rule.SendKS + "^" + rule.INUSE + "|";
|
||||
}
|
||||
ConfigFileReader.SetValue("/configuration/appSettings/add[@key='STATSRules']", Rulestr);
|
||||
AlertForm.ShowAlert("删除成功", AlertType.Success, 3);
|
||||
|
||||
}
|
||||
|
||||
private void BSave_Click(object sender, EventArgs e)
|
||||
{
|
||||
if(RuleName.Text==""|| RuleDetail.Text=="")
|
||||
{
|
||||
MessageBox.Show("请先设置规则参数");
|
||||
return;
|
||||
}
|
||||
foreach (Rule rule in rules)
|
||||
{
|
||||
if (rule.Name.Equals(RuleName.Text))
|
||||
{
|
||||
rules.Remove(rule);
|
||||
break;
|
||||
}
|
||||
}
|
||||
Rule rule1 = new Rule();
|
||||
if(RadXM.Checked)
|
||||
{
|
||||
rule1.Type = "XM";
|
||||
}
|
||||
else
|
||||
{
|
||||
rule1.Type = "SG";
|
||||
}
|
||||
if (RadJYK.Checked)
|
||||
{
|
||||
rule1.SendKS = "检验科";
|
||||
}
|
||||
else
|
||||
{
|
||||
rule1.SendKS = "其他";
|
||||
}
|
||||
rule1.Name = RuleName.Text;
|
||||
rule1.Details = RuleDetail.Text;
|
||||
rule1.INUSE = InUse.Checked?"1":"0";
|
||||
rules.Add(rule1);
|
||||
string Rulestr = "";
|
||||
listView1.Items.Clear();
|
||||
foreach (Rule rule in rules)
|
||||
{
|
||||
listView1.Items.Add(new ListViewItem(new string[] { (rule.Type == "XM" ? "项目" : "试管"),rule.Name, rule.Details,rule.SendKS, (rule.INUSE == "1" ? "启用" : "未启用") }));
|
||||
Rulestr = Rulestr + rule.Type+"^"+rule.Name + "^" + rule.Details + "^" + rule.SendKS + "^" + rule.INUSE + "|";
|
||||
}
|
||||
ConfigFileReader.SetValue("/configuration/appSettings/add[@key='STATSRules']", Rulestr);
|
||||
AlertForm.ShowAlert("保存成功", AlertType.Success, 3);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user