tijian_jichuang/Code/SOH.JianYan.YiQi.Base/Lis_result.cs
2025-02-20 11:54:48 +08:00

110 lines
3.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EAS.Services;
using SOH.BLL;
using Microsoft.Win32;
using System.Runtime.InteropServices;
using System.IO;
namespace SOH.JianYan.YiQi.Base
{
public static class Lis_result
{
[DllImport("user32.dll", EntryPoint = "SendMessage")]
private static extern int SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
/// <summary>
/// 计算标本计算项
/// </summary>
/// <param name="yq">仪器</param>
/// <param name="rq">日期</param>
/// <param name="sampleno">标本号</param>
public static void calcsample(string yq, DateTime rq, string sampleno)
{
Lis_RiZhi.log(yq + "\t" + rq + "\t" + sampleno);
Lis_RiZhi.resultlog("开始计算" + yq + ":" + rq.ToString("yyyy-MM-dd") + "的标本号" + sampleno + "结果!");
var vser = ServiceContainer.GetService<IJianYan>();
try
{
vser.jycalcsample(yq, rq, sampleno);
}
catch (Exception ex)
{
Lis_RiZhi.resultlog("计算" + yq + ":" + rq.ToString("yyyy-MM-dd") + "的标本号" + sampleno + "失败,详细信息看错误日志!");
Lis_RiZhi.log(ex.Message);
}
Lis_RiZhi.resultlog("计算" + yq + ":" + rq.ToString("yyyy-MM-dd") + "的标本号" + sampleno + "结果完成!");
var software = Registry.LocalMachine.OpenSubKey("SOFTWARE");
var soh = software.OpenSubKey("SOH");
object o = "";
if (soh == null)
{
Lis_RiZhi.log("没有SOH");
string p = System.Windows.Forms.Application.StartupPath;
p = Path.GetDirectoryName(p);
p = Path.GetDirectoryName(p);
if(File.Exists(p+ "\\JYMainHande.txt"))
{
StreamReader sr = new StreamReader(p + "\\JYMainHande.txt", Encoding.Default);
o =int.Parse( sr.ReadToEnd());
sr.Close();
}
else
{ return; }
}
else
{
o = soh.GetValue("main", 0);
}
IntPtr ip = (IntPtr)(int)o;
SendMessage(ip, 61135, 0, 0);
Lis_RiZhi.log(ip + "\t" + 61135 + "\t" + sampleno);
}
public static bool canmodify(string yq, DateTime rq, string sampleno)
{
var vser = ServiceContainer.GetService<IJianYan>();
return vser.jycanmodify(yq, rq, int.Parse(sampleno));
}
public static bool canmodifybyjytm(string yq, DateTime rq, string sampleno)
{
var vser = ServiceContainer.GetService<IJianYan>();
return vser.jycanmodifybytm(yq, rq, sampleno);
}
public static int addresult(DateTime sampledate, string yq, string sampleno, string itemno, string srcresult)
{
int ri = 0;
var vser = ServiceContainer.GetService<IJianYan>();
ri = vser.jyaddresult(sampledate, yq, sampleno, itemno, srcresult);
switch (ri)
{
case 0:
Lis_RiZhi.resultlog("仪器没有维护项目" + itemno + "跳过!");
break;
case 1:
Lis_RiZhi.resultlog(sampledate.ToString() + "\t" + yq + "仪器项目" + itemno + "入库成功!");
break;
case 2:
Lis_RiZhi.resultlog(sampledate.ToString() + "\t" + yq + "仪器项目" + itemno + "更新成功!");
break;
case 3:
Lis_RiZhi.resultlog(sampledate.ToString() + "\t" + yq + "仪器项目" + itemno + "失败!");
break;
}
return ri;
}
}
}