110 lines
3.9 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|