using cn.sancainet.Resident.health.register;
using cn.sancainet.Resident.health.register.XiTong;
using cn.xinelu.MedicalCheckup.Client.Common;
using cn.xinelu.MedicalCheckup.Client.Models;
using cn.xinelu.MedicalCheckup.Client.Properties;
using CSTest;
using FastReport;
using Google.Protobuf.WellKnownTypes;
using NetDimension.NanUI;
using NetDimension.NanUI.HostWindow;
using NetDimension.NanUI.JavaScript;
using Newtonsoft.Json.Linq;
using Org.BouncyCastle.Crypto.Tls;
using System;
using System.Configuration;
using System.Diagnostics;
using System.Diagnostics.Eventing.Reader;
using System.Drawing;
using System.IO;
using System.IO.Ports;
using System.Linq;
using System.Speech.Synthesis;
using System.Text;
using System.Threading;
using System.Windows.Forms;
using System.Xml.Linq;
namespace cn.xinelu.MedicalCheckup.Client
{
public class MainWindow : Formium
{
internal static string ConnMain { get; set; }
internal static string ConnLocal { get; set; }
internal static string ConnServer { get; set; }
internal static string CurrJGMC { get; set; }
private SpeechSynthesizer speaker;
public override HostWindowType WindowType => HostWindowType.System; //带窗口
//public override HostWindowType WindowType => HostWindowType.Borderless; //不带窗口
public override string StartUrl => ConfigurationManager.AppSettings["StartUrl"];//设备启动页面
SerialPort sp;
//public void InitializeChromium()
//{
// CefSettings settings = new CefSettings();
// settings.CefCommandLineArgs.Add("enable-media-stream", "1");
// Cef.Initialize(settings);
//}
public MainWindow()
{
//InitializeChromium();
Icon ico = Resources.favicon;
//Icon ico = Resources.Icon1;
this.Icon = new Icon(ico, new Size(32, 32));
Location = Screen.PrimaryScreen.WorkingArea.Location;
Size = Screen.PrimaryScreen.WorkingArea.Size;
Title = ConfigurationManager.AppSettings["AppTitle"];
///IsFullScreen = true;
///
WindowState = FormWindowState.Maximized;
//AutoShowMask = false;
CustomizeMaskPanel();
ConnMain = ConfigurationManager.ConnectionStrings["ConnMain"].ConnectionString;
//ConnLocal = ConfigurationManager.ConnectionStrings["ConnLocal"].ConnectionString;
//ConnServer = ConfigurationManager.ConnectionStrings["ConnServer"].ConnectionString;
//身高体重秤
if (ConfigurationManager.AppSettings["EnableHeightWeight"] == "true")
{
try
{
sp = new SerialPort();
sp.DataReceived += Sp_DataReceived;
sp.PortName = ConfigurationManager.AppSettings["hw_PortName"];
sp.DataBits = int.Parse(ConfigurationManager.AppSettings["hw_DataBits"]);
sp.BaudRate = int.Parse(ConfigurationManager.AppSettings["hw_BaudRate"]);
switch (ConfigurationManager.AppSettings["hw_StopBits"])
{
case "None":
sp.StopBits = StopBits.None;
break;
case "One":
sp.StopBits = StopBits.One;
break;
case "OnePointFive":
sp.StopBits = StopBits.OnePointFive;
break;
case "Two":
sp.StopBits = StopBits.Two;
break;
default:
sp.StopBits = StopBits.One;
break;
}
switch (ConfigurationManager.AppSettings["hw_Parity"])
{
case "None":
sp.Parity = Parity.None;
break;
case "Even":
sp.Parity = Parity.Even;
break;
case "Mark":
sp.Parity = Parity.Mark;
break;
case "Odd":
sp.Parity = Parity.Odd;
break;
case "Space":
sp.Parity = Parity.Space;
break;
default:
sp.Parity = Parity.None;
break;
}
sp.Open();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
string twstr = "";
private void Sp_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//throw new NotImplementedException();
while (true)
{
if (sp.BytesToRead > 0)
{
byte[] bs = new byte[sp.BytesToRead];
sp.Read(bs, 0, bs.Length);
string ls = System.Text.Encoding.ASCII.GetString(bs);
twstr += ls;
if (twstr.IndexOf("\r\n") >= 0)
{
ls = twstr.Substring(0, twstr.IndexOf("\r\n") + 2);
twstr = twstr.Substring(twstr.IndexOf("\u000d") + 2);
new Thread(() =>
{
ls = ls.Replace("\r\n", "");
string[] hw = ls.Split(' ');
string w = hw[0];
string h = hw[1];
h = h.Replace("H:", "");
w = w.Replace("W:", "");
try
{
decimal dw = decimal.Parse(w);
decimal dh = decimal.Parse(h);
ExecuteJavaScript(@"if(window.setHW){window.setHW(" + dh + "," + dw + ")}");
}
catch
{
InvokeIfRequired(() =>
{
MessageBox.Show("身高体重异常!");
});
}
}).Start();
}
}
else
{
break;
}
}
}
private void CustomizeMaskPanel()
{
var label = new Label
{
Text = ConfigurationManager.AppSettings["AppTitle"],
AutoSize = false,
TextAlign = ContentAlignment.MiddleCenter,
Anchor = AnchorStyles.None,
ForeColor = Color.White,
Font = new Font("微软雅黑", 24.0f, GraphicsUnit.Point)
};
label.Width = Width;
label.Height = Height / 2;
label.Location = new Point(0, (Height - label.Height) / 2);
// Add a label
Mask.Content.Add(label);
// Add a picture box
//Mask.Content.Add(loaderGif);
Mask.Image = null;
}
protected override void OnReady()
{
base.OnReady();
registerMyobj();
try
{
try
{
// 如果没有语音,则try掉
speaker = new SpeechSynthesizer();
string test = "";
foreach (InstalledVoice iv in speaker.GetInstalledVoices())
{
test += iv.VoiceInfo.Name + ",";
}
//speaker.SelectVoice("VW Lily");
//Microsoft Huihui Desktop
//Microsoft Zira Desktop
speaker.SelectVoice("Microsoft Huihui Desktop");
speaker.Volume = 100;
speaker.Rate = 0;
initSpeaker();
} catch(Exception e)
{
//MessageBox.Show(e.Message + e.StackTrace);
}
Print();
frm();
dicom();
//2023-12-15 xulu 添加记住密码方法
isRememberPwd();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
MessageBox.Show(ex.StackTrace);
}
//print.finit();
#if DEBUG
string showdevtools = "false";
if (ConfigurationManager.AppSettings.Get("showdevtools") != null)
showdevtools = ConfigurationManager.AppSettings.Get("showdevtools").ToString();
if (showdevtools == "true")
{
//工具箱
ShowDevTools();
}
#endif
}
///
/// 语音功能
///
private void initSpeaker()
{
var obj = JavaScriptValue.CreateObject();
obj.SetValue("Speak", JavaScriptValue.CreateFunction(args => {
var msg = args.FirstOrDefault(x => x.IsString);
speaker.SpeakAsync(msg.GetString());
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 1 }));
}));
RegisterExternalObjectValue("Speaker", obj);
}
///
/// 读卡
///
private void registerMyobj()
{
//throw new NotImplementedException();
var obj = JavaScriptValue.CreateObject();
obj.SetValue("ReadIdCard", JavaScriptValue.CreateFunction(args =>
{
//var msg = args.FirstOrDefault(x => x.IsString);
//var text = msg?.GetString();
string errmsg = "";
IDCardInfo info = new IDCardInfo();
InvokeIfRequired(() =>
{
string idcarddevice = ConfigurationManager.AppSettings.Get("IDCardDevice") ?? "HuaShi100UC";
if (idcarddevice == "HuaShi100UC")
info = ReadInfo_HuaShi100UC(out errmsg);
else
info = ReadInfo_ShenSi(out errmsg);
});
if (errmsg == "")
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 1, info, msg = "读身份证成功!" }));
else
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
RegisterExternalObjectValue("IDCard", obj);
}
IDCardInfo ReadInfo_ShenSi(out string errmsg)
{
IDCardInfo info = new IDCardInfo();
int iPort = 1001;
int iIfOpen = 1;
byte[] byCHMsg = new byte[256 + 1]; //个人基本信息
uint uiCHMsgSize = 0; //个人基本信息字节数
byte[] byPHMsg = new byte[1024 + 1]; //照片信息
uint uiPHMsgSize = 0; //照片信息字节数
byte[] byFPMsg = new byte[1024 + 1]; //指纹信息
uint uiFPMsgSize = 0; //指纹信息字节数
int iIsSaveToBmp = 0;
byte[] byBgrBuffer = new byte[38556]; //解码后图片BGR编码值
byte[] byRgbBuffer = new byte[38808]; //解码后图片RGB编码值
byte[] byBmpBuffer = new byte[38862]; //解码后图片RGB编码值
// uint uiDevBaud = 0;
//uint uiCurBaud = 0;
StringBuilder strSAMID = new StringBuilder(64 + 1);
//获得设备SAM模块ID。
//PS :SAM模块ID为二代证设备唯一标志ID;
//PS2:此函通常用来数来区分设备或判断设备是否连接正常;若只读卡信息的话无需添加此函数。
int iResult = extend.SDT_GetSAMIDToStr(1001, strSAMID, 1);
if (0x90 != iResult)
{
errmsg = String.Format("获取SAMID号失败,错误代码:{0:D}", iResult);
//log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType).Info(DateTime.Now.ToString() + errmsg);
//MessageBox.Show(strMsg, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
return info;
}
byte[] byManaID = new byte[8];
//寻卡
iResult = extend.SDT_StartFindIDCard(iPort, byManaID, iIfOpen);
if (0x9F != iResult)
{
errmsg = String.Format("寻卡失败,错误代码:{0:D}", iResult);
//Status s = new Status(errmsg);
//s.ShowDialog();
//log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType).Info(DateTime.Now.ToString() + "没有找到身份证!" + errmsg);
return info;
}
//选卡
byManaID.Initialize();
iResult = extend.SDT_SelectIDCard(iPort, byManaID, iIfOpen);
if (0x90 != iResult)
{
errmsg = String.Format("选卡失败,错误代码:{0:D}", iResult);
return info;
}
//读取身份证个人基本信息、照片信息和指纹信息;
//PS:指纹信息需要专门的指纹比对设备,这里只获取加密的原始数据。
iResult = extend.SDT_ReadBaseFPMsg(iPort, byCHMsg, ref uiCHMsgSize, byPHMsg, ref uiPHMsgSize, byFPMsg, ref uiFPMsgSize, iIfOpen);
if (0x21 == iResult)//0501模块(一种老模块)无法读取指纹信息,会返回0x21错误,这里进行兼容处理;这种模块早就不用了,实际可以不做处理。
{
iResult = extend.SDT_ReadBaseMsg(iPort, byCHMsg, ref uiCHMsgSize, byPHMsg, ref uiPHMsgSize, iIfOpen);//采用只读卡信息和照片,不读指纹信息的接口
}
if (0x90 != iResult)
{
errmsg = String.Format("读取身份信息失败,错误代码:{0:D}", iResult);
return info;
}
//解码照片数据,获得BGR格式数据
//iIsSaveToBmp = 1; //调用解码库unpack函数后,由接口自动生成名为zp.bmp的图片文件,该BMP文件可直接打开,不用B、R转换
iIsSaveToBmp = 0; //不自动生成zp.bmp图片
//PS :解码库需要依赖授权文件(license.dat);要确保“当前工作目录下”license.dat文件存在且正确,否则会返回-22和-12的错误
//PS2 :若设置iIsSaveToBmp = 1,即由接口自动生成zp.bmp文件,请确认“当前工作目录”具有写权限,否侧接口会崩溃(WIN7以上系统需注意此项)
iResult = extend.unpack(byPHMsg, byBgrBuffer, iIsSaveToBmp);
if (1 != iResult)
{
errmsg = String.Format("照片解码失败,错误代码:{0:D}", iResult);
return info;
}
//拼接BMP图片格式头,14字节
byte[] byBmpHead = new byte[14] { 0x42, 0x4D, 0xCE, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00 };
Array.Copy(byBmpHead, 0, byBmpBuffer, 0, 14);
//拼接BMP图像信息,40字节
byte[] byBmpInfo = new byte[40]{ 0x28,0x00,0x00,0x00,//结构所占用40字节
0x66,0x00,0x00,0x00,//位图的宽度102像素
0x7E,0x00,0x00,0x00,//位图的高度126像素
0x01,0x00, //目标设备的级别必须为1
0x18,0x00, //每个像素所需的位数24
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00//......其他信息省略为0
};
Array.Copy(byBmpInfo, 0, byBmpBuffer, 14, 40);
//将解码后的BGR格式数据进行B、R互换
iResult = GFunction.bgr2rgb(byBgrBuffer, byBgrBuffer.Length, byRgbBuffer, byRgbBuffer.Length, 102, 126);
if (iResult <= 0)
{
//MessageBox.Show("照片数据B、R互换失败.", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
errmsg = String.Format("照片数据B、R互换失败.", iResult);
return info;
}
Array.Copy(byRgbBuffer, 0, byBmpBuffer, 54, iResult);
//截取个人信息数据。信息采用UNICODE存储,具体格式参可见《二代证机读信息说明.doc》
byte[] byName = new byte[30];
byte[] bySex = new byte[2];
byte[] byRace = new byte[4];
byte[] byBirth = new byte[16];
byte[] byAddress = new byte[70];
byte[] byID = new byte[36];
byte[] byCompany = new byte[30];
byte[] byBeginDate = new byte[16];
byte[] byEndDate = new byte[16];
Array.Copy(byCHMsg, 0, byName, 0, 30);
Array.Copy(byCHMsg, 30, bySex, 0, 2);
Array.Copy(byCHMsg, 32, byRace, 0, 4);
Array.Copy(byCHMsg, 36, byBirth, 0, 16);
Array.Copy(byCHMsg, 52, byAddress, 0, 70);
Array.Copy(byCHMsg, 122, byID, 0, 36);
Array.Copy(byCHMsg, 158, byCompany, 0, 30);
Array.Copy(byCHMsg, 188, byBeginDate, 0, 16);
Array.Copy(byCHMsg, 204, byEndDate, 0, 16);
info.Name = Encoding.Unicode.GetString(byName).Trim().Replace("\0", "");
info.IDCardNo = Encoding.Unicode.GetString(byID).Trim().Replace("\0", "");
string csrq = Encoding.Unicode.GetString(byBirth).Trim().Replace("\0", "");
info.Born = csrq.Substring(0, 4) + "-" + csrq.Substring(4, 2) + "-" + csrq.Substring(6, 2).Replace("\0", "");
info.Address = Encoding.Unicode.GetString(byAddress).Trim().Replace("\0", "");
info.Sex = Encoding.Unicode.GetString(bySex).Trim().Replace("\0", "");
info.Nation = Encoding.Unicode.GetString(byRace).Trim();
var age = GetBirthdayAgeSex(info.IDCardNo);
info.Age = age.Age;
info.ImageBase64 = Convert.ToBase64String(byBmpBuffer);
errmsg = "";
return info;
}
IDCardInfo ReadInfo_HuaShi100UC(out string errmsg)
{
IDCardInfo info = new IDCardInfo();
bool bool_Init = false;
for (int m = 1001; m <= 1016; m++)
{
int i = extend_100UC.CVR_InitComm(m);
if (i == 1)
{
bool_Init = true;
break;
}
}
//初始化链接
if (!bool_Init)
{
errmsg = "身份证读卡器连接失败";
return info;
}
int i2 = extend_100UC.CVR_AuthenticateForNoJudge();
if (i2 != 1)
{
errmsg = String.Format("寻卡失败,错误代码:{0:D}", i2);
return info;
}
int i3 = extend_100UC.CVR_Read_Content(1);
if (i3 != 1)
{
errmsg = String.Format("读取身份证信息失败,错误代码:{0:D}", i3);
return info;
}
string path = System.IO.Directory.GetCurrentDirectory();
string[] strArray = File.ReadAllLines(path+"\\wz.txt", Encoding.GetEncoding("gb2312"));
info.Name = strArray[0];
info.Sex = strArray[1];
info.Nation = strArray[2];
info.Born = strArray[3];
info.Address=strArray[4];
info.IDCardNo = strArray[5];
//info.IDCardNo = Encoding.Unicode.GetString(byID).Trim().Replace("\0", "");
//string csrq = Encoding.Unicode.GetString(byBirth).Trim().Replace("\0", "");
//info.Born = csrq.Substring(0, 4) + "-" + csrq.Substring(4, 2) + "-" + csrq.Substring(6, 2).Replace("\0", "");
//info.Address = Encoding.Unicode.GetString(byAddress).Trim().Replace("\0", "");
var age = GetBirthdayAgeSex(info.IDCardNo);
info.Age = age.Age;
info.ImageBase64 = GetBase64FromImgFilePath(path+"\\zp.bmp");
errmsg = "";
return info;
}
string GetBase64FromImgFilePath(string path)
{
using (Image image = Image.FromFile(path))
{
using (MemoryStream m = new MemoryStream())
{
image.Save(m, image.RawFormat);
byte[] imageBytes = m.ToArray();
// Convert byte[] to Base64 String
string base64String = Convert.ToBase64String(imageBytes);
return base64String;
}
}
}
///
/// 打印
///
private void Print()
{
var obj = JavaScriptValue.CreateObject();
finit(obj);
PrintTm(obj);
PrintZyd(obj);
PrinterSetting(obj);
PrintJFD(obj);
PrintRJS(obj);
PrintFPB(obj);
PrintFPD(obj);
PrintJZMYTM(obj);
PrintHZBG(obj);
PrintFJTZ(obj);
PrintBHGTZ(obj);
PrintJKZM_YP(obj);
PrintJKZM_GG(obj);
Printzyzyd(obj);
PrintJKZM_SP(obj);
PrintTJB(obj);
PrintBg(obj);
PrintFjbg(obj);
PrintRKD(obj);
PrintCKD(obj);
PrintPDD(obj);
PrintTHD(obj);
PrintTKD(obj);
PrintCGSQD(obj);
PrintFjtzd(obj);
PrintFjrylb(obj);
PrintSftj(obj);
PrintSftjws(obj);
PrintYmtj(obj);
printJFD(obj);
printBSD(obj);
PrintKCPDD(obj);
PrintCBHS(obj);
PrintWSXKZ(obj);
PrintWSXKZ1(obj);
PrintFSXKZ(obj);
PrintFYZC(obj);
PrintWZCGSP(obj);
PrintJFSP(obj);
PrintYSSP(obj);
PrintCCBXD(obj);
PrintSZYD(obj);
PrintCCD(obj);
PrintXXXD(obj);
PrintJKD(obj);
PrintWX(obj);
PrintJBYC(obj);
PrintGWJD(obj);
PrintQTBXD(obj);
PrintWZCGBXD(obj);
PrintGWJDbc(obj);
PrintXgtm(obj);
PrintXgtm1(obj);
PrintXgtmHB(obj);
PaiZhao(obj);
RegisterExternalObjectValue("Print", obj);
}
///
/// 记住密码
/// 2023-12-15 xulu
///
private void isRememberPwd()
{
var obj = JavaScriptValue.CreateObject();
obj.SetValue("show", JavaScriptValue.CreateFunction(args =>
{
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = ConfigurationManager.AppSettings["RememberPwd"], pwd = ConfigurationManager.AppSettings["Pwd"], user = ConfigurationManager.AppSettings["UserName"] }));
}));
obj.SetValue("remember", JavaScriptValue.CreateFunction(args =>
{
var a = args[0].GetString();
var b = args[1].GetString();
var c = args[2].GetString();
Configuration cfa = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (a== "true")
{
cfa.AppSettings.Settings["RememberPwd"].Value = a;
cfa.AppSettings.Settings["Pwd"].Value = b;
cfa.AppSettings.Settings["UserName"].Value = c;
}
else
{
cfa.AppSettings.Settings["RememberPwd"].Value = a;
cfa.AppSettings.Settings["Pwd"].Value = "";
cfa.AppSettings.Settings["UserName"].Value = "";
}
cfa.Save();
ConfigurationManager.RefreshSection("appSettings");
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = "" }));
}));
RegisterExternalObjectValue("isRememberPwd", obj);
}
private void frm()
{
var obj = JavaScriptValue.CreateObject();
obj.SetValue("CaiChao", JavaScriptValue.CreateFunction(args =>
{
InvokeIfRequired(() =>
{
Frm c = new Frm();
c.num = args[0].GetString();
c.name = args[1].GetString();
c.sex = args[2].GetString();
c.age = args[3].GetString();
c.caichao();
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = "", data = frm_CaiChao.data }));
}));
obj.SetValue("setting", JavaScriptValue.CreateFunction(args =>
{
frm_photobc bc = new frm_photobc();
bc.ShowDialog();
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = "" }));
}));
RegisterExternalObjectValue("frm", obj);
}
private void dicom()
{
var obj = JavaScriptValue.CreateObject();
obj.SetValue("open", JavaScriptValue.CreateFunction(args =>
{
//MessageBox.Show("aaaa");
FormMain c = new FormMain();
c.num = args[0].GetString();
c.name = args[1].GetString();
c.sex = args[2].GetString();
c.age = args[3].GetInt();
c.filepath = args[4].GetString();
c.ShowDialog();
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = "", data = c.data }));
}));
obj.SetValue("show", JavaScriptValue.CreateFunction(args =>
{
//MessageBox.Show("aaaa");
FormMain c = new FormMain();
c.hideok();
c.filepath = args[0].GetString();
c.ShowDialog();
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = "", data = c.data }));
}));
RegisterExternalObjectValue("dicom", obj);
}
public static BirthdayAgeSex GetBirthdayAgeSex(string identityCard)
{
if (string.IsNullOrEmpty(identityCard))
{
return null;
}
else
{
if (identityCard.Length != 15 && identityCard.Length != 18)//身份证号码只能为15位或18位其它不合法
{
return null;
}
}
BirthdayAgeSex entity = new BirthdayAgeSex();
string strSex = string.Empty;
if (identityCard.Length == 18)//处理18位的身份证号码从号码中得到生日和性别代码
{
entity.Birthday = identityCard.Substring(6, 4) + "-" + identityCard.Substring(10, 2) + "-" + identityCard.Substring(12, 2);
strSex = identityCard.Substring(14, 3);
}
if (identityCard.Length == 15)
{
entity.Birthday = "19" + identityCard.Substring(6, 2) + "-" + identityCard.Substring(8, 2) + "-" + identityCard.Substring(10, 2);
strSex = identityCard.Substring(12, 3);
}
entity.Age = CalculateAge(entity.Birthday);//根据生日计算年龄
if (int.Parse(strSex) % 2 == 0)//性别代码为偶数是女性奇数为男性
{
entity.Sex = "女";
}
else
{
entity.Sex = "男";
}
return entity;
}
///
/// 根据出生日期,计算精确的年龄
///
/// 生日
///
public static int CalculateAge(string birthDay)
{
DateTime birthDate = DateTime.Parse(birthDay);
DateTime nowDateTime = DateTime.Now;
int age = nowDateTime.Year - birthDate.Year;
//再考虑月、天的因素
if (nowDateTime.Month < birthDate.Month || (nowDateTime.Month == birthDate.Month && nowDateTime.Day < birthDate.Day))
{
age--;
}
return age;
}
#region printjs
static Print print = new Print();
///
/// finit
///
///
public static void finit(JavaScriptValue obj)
{
obj.SetValue("finit", JavaScriptValue.CreateFunction(args =>
{
var msg = args.FirstOrDefault(x => x.IsString);
string val = msg.GetString();
bool b = print.finit(val);
return JavaScriptValue.CreateBool(b);
}));
}
///
/// 打印条码
///
///
public void PrintTm(JavaScriptValue obj)
{
//obj.SetValue("PrintTM", JavaScriptValue.CreateFunction(args =>
//{
// var msg = args.FirstOrDefault(x => x.IsString);
// string val = msg.GetString();
// string errmsg = "";
// print.finit("barcode.frx");
// print.PrintTM(val);
// return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
//}));
obj.SetValue("PrintTM", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
object data = null;
// args为传递过来的参数,按顺序来
var physicalNum = args[0].GetString();
InvokeIfRequired(() =>
{
print.PrintTM(physicalNum);
});
//如果方法有返回值,则将返回值赋值到data
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, data, msg = errmsg }));
}));
}
///
/// 打印指引单
///
///
public void PrintZyd(JavaScriptValue obj)
{
//obj.SetValue("Printzyd", JavaScriptValue.CreateFunction(args =>
//{
// //var msg = args.FirstOrDefault(x => x.IsString);
// var reportname = args[0];
// var tm = args[1];
// string errmsg = "";
// print.finit(reportname.GetString());
// print.Printzyd(tm.GetString());
// return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
//}));
obj.SetValue("Printzyd", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
object data = null;
// args为传递过来的参数,按顺序来
var physicalNum = args[0].GetString();
InvokeIfRequired(() =>
{
print.Printzyd(physicalNum);
});
//如果方法有返回值,则将返回值赋值到data
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, data, msg = errmsg }));
}));
}
///
/// 打印机设置
///
///
public static void PrinterSetting(JavaScriptValue obj)
{
obj.SetValue("PrinterSetting", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
print.PrinterSetting();
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
///
/// 打印缴费单
///
///
public void PrintJFD(JavaScriptValue obj)
{
obj.SetValue("printJFD", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
InvokeIfRequired(() =>
{
print.printJFD(val);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
///
/// 打印机设置
///
///
public void PrintRJS(JavaScriptValue obj)
{
obj.SetValue("PrintRJS", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var result = args[0].GetString();
string sfsj;
try
{
sfsj = args[1].GetString();
}
catch
{
sfsj = "";
}
string sfr;
try
{
sfr = args[2].GetString();
}
catch
{
sfr = "";
}
InvokeIfRequired(() =>
{
print.PrintRJS(result, sfsj, sfr);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
///
/// 打印机设置
///
///
public void PrintFPB(JavaScriptValue obj)
{
obj.SetValue("PrintFPB", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var result = args[0].GetString();
InvokeIfRequired(() =>
{
print.PrintFPB(result);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
///
/// 打印发票段
///
///
public void PrintFPD(JavaScriptValue obj)
{
obj.SetValue("PrintFPD", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var result = args[0].GetString();
InvokeIfRequired(() =>
{
print.PrintFPD(result);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
///
/// 打印疫苗条码
///
///
public void PrintJZMYTM(JavaScriptValue obj)
{
obj.SetValue("PrintJZMYTM", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
object data = null;
// args为传递过来的参数,按顺序来
var barcode = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintJZMYTM(barcode, val1);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, data, msg = errmsg }));
}));
}
///
/// 打印单位汇总报告
///
///
public void PrintHZBG(JavaScriptValue obj)
{
obj.SetValue("PrintHZBG", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
object data = null;
var ids = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintHZBG(ids, val1);
});
//如果方法有返回值,则将返回值赋值到data
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, data, msg = errmsg }));
}));
}
///
/// 打印复检证明
///
///
public void PrintFJTZ(JavaScriptValue obj)
{
obj.SetValue("PrintFJTZ", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
object data = null;
// args为传递过来的参数,按顺序来
var ids = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintFJTZ(ids, val1);
});
//如果方法有返回值,则将返回值赋值到data
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, data, msg = errmsg }));
}));
}
///
/// 打印不合格通知
///
///
public void PrintBHGTZ(JavaScriptValue obj)
{
obj.SetValue("PrintBHGTZ", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
object data = null;
// args为传递过来的参数,按顺序来
var ids = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintBHGTZ(ids, val1);
});
//如果方法有返回值,则将返回值赋值到data
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, data, msg = errmsg }));
}));
}
///
/// 打印健康证明药品
///
///
public void PrintJKZM_YP(JavaScriptValue obj)
{
obj.SetValue("PrintJKZM_YP", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
object data = null;
// args为传递过来的参数,按顺序来
var ids = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintJKZM_YP(ids, val1);
});
//如果方法有返回值,则将返回值赋值到data
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, data, msg = errmsg }));
}));
}
///
/// 打印实例
///
///
public void PrintJKZM_GG(JavaScriptValue obj)
{
obj.SetValue("PrintJKZM_GG", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
object data = null;
// args为传递过来的参数,按顺序来
var ids = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintJKZM_GG(ids, val1);
});
//如果方法有返回值,则将返回值赋值到data
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, data, msg = errmsg }));
}));
}
///
/// 打印实例
///
///
public void Printzyzyd(JavaScriptValue obj)
{
obj.SetValue("Printzyzyd", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
object data = null;
// args为传递过来的参数,按顺序来
var physicalNum = args[0].GetString();
InvokeIfRequired(() =>
{
print.Printzyzyd(physicalNum);
});
//如果方法有返回值,则将返回值赋值到data
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, data, msg = errmsg }));
}));
}
///
/// 打印实例
///
///
public void PrintJKZM_SP(JavaScriptValue obj)
{
obj.SetValue("PrintJKZM_SP", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
object data = null;
// args为传递过来的参数,按顺序来
var ids = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintJKZM_SP(ids, val1);
});
//如果方法有返回值,则将返回值赋值到data
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, data, msg = errmsg }));
}));
}
public void PrintTJB(JavaScriptValue obj)
{
obj.SetValue("PrintTJB", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
InvokeIfRequired(() =>
{
print.PrintTJB(val);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
public void PrintBg(JavaScriptValue obj)
{
obj.SetValue("PrintBg", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
//2023-10-13 xulu
if(args.Count()==2)
{
print.PrintBg(val, val1);
}
else
{
print.PrintBg(val, val1, args[2].GetInt(), args[3].GetString());
}
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
public void PrintFjbg(JavaScriptValue obj)
{
obj.SetValue("PrintFjbg", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintFjbg(val, val1);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
public void PrintRKD(JavaScriptValue obj)
{
obj.SetValue("PrintRKD", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintRKD(val, val1);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//void PrintCKD(string ckdh, string lx);
//void PrintPDD(string pddh, string lx);
//void PrintTHD(string thdh, string lx);
public void PrintCKD(JavaScriptValue obj)
{
obj.SetValue("PrintCKD", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintCKD(val, val1);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
public void PrintPDD(JavaScriptValue obj)
{
obj.SetValue("PrintPDD", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintPDD(val, val1);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
public void PrintTHD(JavaScriptValue obj)
{
obj.SetValue("PrintTHD", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintTHD(val, val1);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//void PrintTKD(string tkdh, string lx);
//void PrintCGSQD(string sqdh, string lx);
//void PrintFjtzd(string ids, string lx);
//void PrintFjrylb(string ids, string lx);
public void PrintTKD(JavaScriptValue obj)
{
obj.SetValue("PrintTKD", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintTKD(val, val1);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
public void PrintCGSQD(JavaScriptValue obj)
{
obj.SetValue("PrintCGSQD", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintCGSQD(val, val1);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
public void PrintFjtzd(JavaScriptValue obj)
{
obj.SetValue("PrintFjtzd", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintFjtzd(val, val1);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
public void PrintFjrylb(JavaScriptValue obj)
{
obj.SetValue("PrintFjrylb", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintFjrylb(val, val1);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//void PrintSftj(string lx, string start, string end);
//void PrintSftjws(string lx, string start, string end, string bm);
//void PrintYmtj(string lx, string start, string end, string xm);
public void PrintSftj(JavaScriptValue obj)
{
obj.SetValue("PrintSftj", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
string val2;
try
{
val2 = args[2].GetString();
}
catch
{
val2 = "";
}
InvokeIfRequired(() =>
{
print.PrintSftj(val, val1, val2);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
public void PrintSftjws(JavaScriptValue obj)
{
obj.SetValue("PrintSftjws", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
string val2;
try
{
val2 = args[2].GetString();
}
catch
{
val2 = "";
}
string val3;
try
{
val3 = args[3].GetString();
}
catch
{
val3 = "";
}
InvokeIfRequired(() =>
{
print.PrintSftjws(val, val1, val2, val3);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
public void PrintYmtj(JavaScriptValue obj)
{
obj.SetValue("PrintYmtj", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
string val2;
try
{
val2 = args[2].GetString();
}
catch
{
val2 = "";
}
string val3;
try
{
val3 = args[3].GetString();
}
catch
{
val3 = "";
}
InvokeIfRequired(() =>
{
print.PrintYmtj(val, val1, val2, val3);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
///
/// 打印缴费单--------------------------------------------------------------------------------------
///
/// 收费表ID
//void printJFD(string id);
public void printJFD(JavaScriptValue obj)
{
obj.SetValue("printJFD", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
InvokeIfRequired(() =>
{
print.printJFD(val);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//void printBSD(string id, string lx);
public void printBSD(JavaScriptValue obj)
{
obj.SetValue("printBSD", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.printBSD(val, val1);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//void PrintKCPDD(string kcid, string wzfl, string key, string lx);
public void PrintKCPDD(JavaScriptValue obj)
{
obj.SetValue("PrintKCPDD", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
string val2;
try
{
val2 = args[2].GetString();
}
catch
{
val2 = "";
}
string val3;
try
{
val3 = args[3].GetString();
}
catch
{
val3 = "";
}
InvokeIfRequired(() =>
{
print.PrintKCPDD(val, val1, val2, val3);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//void PrintCBHS(string b, string e, string lx);
public void PrintCBHS(JavaScriptValue obj)
{
obj.SetValue("PrintCBHS", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
string val2;
try
{
val2 = args[2].GetString();
}
catch
{
val2 = "";
}
InvokeIfRequired(() =>
{
print.PrintCBHS(val, val1, val2);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//void PrintWSXKZ(string id, string lx);
public void PrintWSXKZ(JavaScriptValue obj)
{
obj.SetValue("PrintWSXKZ", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintWSXKZ(val, val1);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//void PrintWSXKZ1(string id, string lx);
public void PrintWSXKZ1(JavaScriptValue obj)
{
obj.SetValue("PrintWSXKZ1", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintWSXKZ1(val, val1);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//void PrintFSXKZ(string id, string lx);
public void PrintFSXKZ(JavaScriptValue obj)
{
obj.SetValue("PrintFSXKZ", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintFSXKZ(val, val1);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
// 打印费用支出
//void PrintFYZC(string id, string lx);
public void PrintFYZC(JavaScriptValue obj)
{
obj.SetValue("PrintFYZC", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintFYZC(val, val1);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//打印物资采购
//void PrintWZCGSP(string id, string lx);
public void PrintWZCGSP(JavaScriptValue obj)
{
obj.SetValue("PrintWZCGSP", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintWZCGSP(val, val1);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
// 打印项目经费
//void PrintJFSP(string id, string lx);
public void PrintJFSP(JavaScriptValue obj)
{
obj.SetValue("PrintJFSP", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
InvokeIfRequired(() =>
{
print.PrintJFSP(val, val1);
});
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//打印预算
//void PrintYSSP(string id, string lx);
public static void PrintYSSP(JavaScriptValue obj)
{
obj.SetValue("PrintYSSP", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
print.PrintYSSP(val, val1);
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//打印出差报销单
//void PrintCCBXD(string id, string lx);
public static void PrintCCBXD(JavaScriptValue obj)
{
obj.SetValue("PrintCCBXD", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
print.PrintCCBXD(val, val1);
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
// 打印三重一大
//void PrintSZYD(string id, string lx);
public static void PrintSZYD(JavaScriptValue obj)
{
obj.SetValue("PrintSZYD", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
print.PrintSZYD(val, val1);
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
// 打印出差申请
//void PrintCCD(string id, string lx);
public static void PrintCCD(JavaScriptValue obj)
{
obj.SetValue("PrintCCD", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
print.PrintCCD(val, val1);
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//打印学习心得
//void PrintXXXD(string id, string lx);
public static void PrintXXXD(JavaScriptValue obj)
{
obj.SetValue("PrintXXXD", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
print.PrintXXXD(val, val1);
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
// 打印借款
//void PrintJKD(string id, string lx);
public static void PrintJKD(JavaScriptValue obj)
{
obj.SetValue("PrintJKD", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
print.PrintJKD(val, val1);
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//打印维修申请
//void PrintWX(string id, string lx);
public static void PrintWX(JavaScriptValue obj)
{
obj.SetValue("PrintWX", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
print.PrintWX(val, val1);
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//打印加班用餐
//void PrintJBYC(string id, string lx);
public static void PrintJBYC(JavaScriptValue obj)
{
obj.SetValue("PrintJBYC", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
print.PrintJBYC(val, val1);
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//打印公务接待
//void PrintGWJD(string id, string lx);
public static void PrintGWJD(JavaScriptValue obj)
{
obj.SetValue("PrintGWJD", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
print.PrintGWJD(val, val1);
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//打印其他报销单
//void PrintQTBXD(string id, string lx);
public static void PrintQTBXD(JavaScriptValue obj)
{
obj.SetValue("PrintQTBXD", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
print.PrintQTBXD(val, val1);
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//打印物资采购报销单
//void PrintWZCGBXD(string id, string lx);
public static void PrintWZCGBXD(JavaScriptValue obj)
{
obj.SetValue("PrintWZCGBXD", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
print.PrintWZCGBXD(val, val1);
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
///
/// 公务接待补充
///
///
///
//void PrintGWJDbc(string id, string lx);
public static void PrintGWJDbc(JavaScriptValue obj)
{
obj.SetValue("PrintGWJDbc", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
print.PrintGWJDbc(val, val1);
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//void PrintXgtm(string id);
public static void PrintXgtm(JavaScriptValue obj)
{
obj.SetValue("PrintXgtm", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
print.PrintXgtm(val);
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//void PrintXgtm1(string id, string a);
public static void PrintXgtm1(JavaScriptValue obj)
{
obj.SetValue("PrintXgtm1", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
print.PrintXgtm1(val, val1);
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//void PrintXgtmHB(string id, string a);
public static void PrintXgtmHB(JavaScriptValue obj)
{
obj.SetValue("PrintXgtmHB", JavaScriptValue.CreateFunction(args =>
{
string errmsg = "";
var val = args[0].GetString();
string val1;
try
{
val1 = args[1].GetString();
}
catch
{
val1 = "";
}
print.PrintXgtmHB(val, val1);
return JavaScriptValue.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(new { state = 0, msg = errmsg }));
}));
}
//void PaiZhao(string id, string a);
public static void PaiZhao(JavaScriptValue obj)
{
obj.SetValue("PaiZhao", JavaScriptValue.CreateFunction(args =>
{
string errmsg = print.PaiZhao();
return JavaScriptValue.CreateString(errmsg);
}));
}
#endregion
}
///
/// 定义 生日年龄性别 实体
///
public class BirthdayAgeSex
{
public string Birthday { get; set; }
public int Age { get; set; }
public string Sex { get; set; }
}
}