台州海关TD3600上线版本

This commit is contained in:
terry.wang
2025-11-26 17:20:53 +08:00
parent ccaffc1014
commit 80be2ed45e
961 changed files with 1395034 additions and 0 deletions

215
JJMediSys/STATSRules.cs Normal file
View 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);
}
}
}