420 lines
16 KiB
C#
420 lines
16 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using SOH.Kernel;
|
|
using EAS.Services;
|
|
using SOH.BLL;
|
|
using SOH.Entities;
|
|
using SOH.Data;
|
|
using SOH.Common;
|
|
using System.Text.RegularExpressions;
|
|
using FastReport;
|
|
using FastReport.Data;
|
|
using FastReport.Design;
|
|
using EAS;
|
|
using SOH.Entities.DTO;
|
|
using System.Collections;
|
|
using FastReport.Export.Pdf;
|
|
using System.IO;
|
|
using System.Drawing.Imaging;
|
|
|
|
namespace SOH.JianYan
|
|
{
|
|
[ModuleAttribute(ModuleID = "B144F784-1B3A-4AB3-B8BA-30A6B1FB421D", ModuleName = "打印检验报告")]
|
|
public partial class frmDaYinJianYanDan : SOH.Window.baseChildForm
|
|
{
|
|
public FastReport.Report re = new FastReport.Report();
|
|
public string dz = "";
|
|
public string dh = "";
|
|
public string name = "";
|
|
public bool showview = false;
|
|
DataTable dtnew = new DataTable();
|
|
DataTable dtnew2 = new DataTable();
|
|
public frmDaYinJianYanDan()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void frmDaYinJianYanDan_Load(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
public void init()
|
|
{
|
|
var vser = ServiceContainer.GetService<IZongJian>();
|
|
var gzb = vser.getGzbByTms(int.Parse(textBox1.Text.Trim()));
|
|
if (gzb == null)
|
|
{
|
|
lbl_zt.Text = "当前条码无效!";
|
|
lbl_zt.ForeColor = Color.Red;
|
|
textBox1.Focus();
|
|
textBox1.SelectAll();
|
|
return;
|
|
}
|
|
lbl_xm.Text = gzb.xm;
|
|
lbl_xb.Text = gzb.v_xb;
|
|
lbl_nl.Text = gzb.nl.ToString();
|
|
lbl_csrq.Text = gzb.csrq.ToString("yyy-MM-dd");
|
|
lbl_zt.Text = "";
|
|
|
|
|
|
//DataTable jydDt = vser.GetJydDtByTm(gzb.tm);
|
|
//DataTable jydDt = vser.GetJydDtByTmFromZhxm(gzb.tm);
|
|
//DataTable jydDt = vser.GetJyjgAllByTmFromKSbm(gzb.tm);
|
|
DataTable jydDt = vser.GetJyjgAllByTmFromKSbm2(gzb.tm,gzb.xb);
|
|
|
|
if (jydDt.Rows.Count != 0)
|
|
{
|
|
//DataTable jgDt = vser.GetJyjgByTmFromZhxmAll(gzb.tm);
|
|
//DataTable jgDt = vser.GetJyjgByTm(jydDt.Rows[0]["jytm"].ToString());
|
|
//if (jgDt.Rows.Count == 0)
|
|
//{
|
|
// jgDt = vser.GetJyjgByTm(jydDt.Rows[1]["jytm"].ToString());
|
|
// if (jgDt.Rows.Count == 0)
|
|
// {
|
|
// lbl_zt.Text = "当前条码号检验结果为空";
|
|
// lbl_zt.ForeColor = Color.Red;
|
|
// textBox1.Focus();
|
|
// textBox1.SelectAll();
|
|
// return;
|
|
// }
|
|
//}
|
|
|
|
foreach (DataRow dr1 in jydDt.Rows)
|
|
{
|
|
double jg = 0;
|
|
double cksx = 0;
|
|
double ckxx = 0;
|
|
if (double.TryParse(dr1["jg"].ToString(), out jg) && double.TryParse(dr1["cksx"].ToString(), out cksx) && double.TryParse(dr1["ckxx"].ToString(), out ckxx))
|
|
{
|
|
if (jg < ckxx)
|
|
dr1["bz"] = "↓";
|
|
else if (jg > cksx)
|
|
dr1["bz"] = "↑";
|
|
}
|
|
}
|
|
|
|
re.Load(System.Windows.Forms.Application.StartupPath + "\\Report\\hyxmzyd3.frx");
|
|
//re.RegisterData(jgDt, "jy_sqd_jg");
|
|
re.RegisterData(jydDt, "Table");
|
|
re.SetParameterValue("tmh", gzb.tm);
|
|
re.SetParameterValue("xm", gzb.xm);
|
|
re.SetParameterValue("xb", gzb.xb);
|
|
re.SetParameterValue("nl", gzb.nl);
|
|
re.SetParameterValue("hyh", gzb.hyh);
|
|
re.SetParameterValue("dwmc", gzb.dwmc);
|
|
re.SetParameterValue("tjrq", gzb.tjrq);
|
|
|
|
if (LoginUser.yydm.Equals("1"))
|
|
{
|
|
re.SetParameterValue("name", "德州");
|
|
re.SetParameterValue("dh", "三八东路鑫星国际大厦三楼");
|
|
re.SetParameterValue("dz", "0534-7052967");
|
|
}
|
|
else if (LoginUser.yydm.Equals("2"))
|
|
{
|
|
re.SetParameterValue("name", "淄博");
|
|
re.SetParameterValue("dh", "0533-7997555");
|
|
re.SetParameterValue("dz", "鲁泰大道99号汇金大厦西裙楼三楼");
|
|
|
|
string lsdt = vser.GetZjysXm2(jydDt.Rows[0][0].ToString());
|
|
dtnew = Newtonsoft.Json.JsonConvert.DeserializeObject(lsdt, typeof(DataTable)) as DataTable;
|
|
|
|
if (dtnew.Rows.Count == 0)
|
|
{
|
|
lsdt = vser.GetZjysXm(jydDt.Rows[0][0].ToString());
|
|
dtnew = Newtonsoft.Json.JsonConvert.DeserializeObject(lsdt, typeof(DataTable)) as DataTable;
|
|
}
|
|
|
|
dtnew.Columns.Add(new DataColumn("image", typeof(byte[])));
|
|
foreach (DataRow drnew in dtnew.Rows)
|
|
{
|
|
if (drnew["image1"].ToString() == "")
|
|
{
|
|
string zdys = drnew["xm"].ToString();
|
|
Bitmap b = new Bitmap(80, 20);
|
|
Graphics g = Graphics.FromImage(b);
|
|
g.Clear(Color.White);
|
|
|
|
g.DrawString(zdys, new Font("宋体", 12), new SolidBrush(Color.Black), new Point(2, 2));
|
|
|
|
MemoryStream stream = new MemoryStream();
|
|
b.Save(stream, ImageFormat.Jpeg);
|
|
//输出图片流
|
|
//return File(stream.ToArray(), "image/jpeg");
|
|
drnew["image"] = stream.ToArray();
|
|
}
|
|
else
|
|
{
|
|
byte[] bs = Convert.FromBase64String(drnew["image1"].ToString());
|
|
drnew["image"] = bs;
|
|
}
|
|
}
|
|
|
|
|
|
string lsdt2 = vser.GetZjysXm3("trdwj");
|
|
dtnew2 = Newtonsoft.Json.JsonConvert.DeserializeObject(lsdt2, typeof(DataTable)) as DataTable;
|
|
|
|
dtnew2.Columns.Add(new DataColumn("image", typeof(byte[])));
|
|
foreach (DataRow drnew2 in dtnew2.Rows)
|
|
{
|
|
if (drnew2["image1"].ToString() == "")
|
|
{
|
|
string zdys = drnew2["xm"].ToString();
|
|
Bitmap b = new Bitmap(80, 20);
|
|
Graphics g = Graphics.FromImage(b);
|
|
g.Clear(Color.White);
|
|
|
|
g.DrawString(zdys, new Font("宋体", 12), new SolidBrush(Color.Black), new Point(2, 2));
|
|
|
|
MemoryStream stream = new MemoryStream();
|
|
b.Save(stream, ImageFormat.Jpeg);
|
|
//输出图片流
|
|
//return File(stream.ToArray(), "image/jpeg");
|
|
drnew2["image"] = stream.ToArray();
|
|
}
|
|
else
|
|
{
|
|
byte[] bs = Convert.FromBase64String(drnew2["image1"].ToString());
|
|
drnew2["image"] = bs;
|
|
}
|
|
}
|
|
|
|
re.RegisterData(dtnew, "hzfxImage");
|
|
re.RegisterData(dtnew2, "hzfxImage2");
|
|
}
|
|
else
|
|
{
|
|
re.SetParameterValue("name", "");
|
|
re.SetParameterValue("dh", "");
|
|
re.SetParameterValue("dz", "");
|
|
}
|
|
|
|
|
|
re.SetParameterValue("dyry", LoginUser.xm);
|
|
|
|
re.Preview = previewControl1;
|
|
|
|
re.Refresh();
|
|
|
|
re.Show();
|
|
|
|
}
|
|
else
|
|
{
|
|
lbl_zt.Text = "当前条码号检验结果为空";
|
|
lbl_zt.ForeColor = Color.Red;
|
|
textBox1.Focus();
|
|
textBox1.SelectAll();
|
|
return;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
public void init1()
|
|
{
|
|
var vser = ServiceContainer.GetService<IZongJian>();
|
|
var gzb = vser.getGzbByTms(int.Parse(textBox1.Text.Trim()));
|
|
if (gzb == null)
|
|
{
|
|
lbl_zt.Text = "当前条码无效!";
|
|
lbl_zt.ForeColor = Color.Red;
|
|
textBox1.Focus();
|
|
textBox1.SelectAll();
|
|
return;
|
|
}
|
|
lbl_xm.Text = gzb.xm;
|
|
lbl_xb.Text = gzb.v_xb;
|
|
lbl_nl.Text = gzb.nl.ToString();
|
|
lbl_csrq.Text = gzb.csrq.ToString("yyy-MM-dd");
|
|
lbl_zt.Text = "";
|
|
//tm = gzb.tm;
|
|
|
|
//DataTable jydDt = vser.GetJydDtByTm(gzb.tm);
|
|
//DataTable jydDt = vser.GetJydDtByTmFromZhxm(gzb.tm);
|
|
DataTable jydDt = vser.GetJydDtByTmFromKSbm(gzb.tm);
|
|
|
|
if (jydDt.Rows.Count != 0)
|
|
{
|
|
foreach (DataRow dr in jydDt.Rows)
|
|
{
|
|
//DataTable jgDt = vser.GetJyjgByTm(dr["jytm"].ToString());
|
|
//DataTable jgDt = vser.GetJyjgByTmFromZhxm(gzb.tm, dr["zhbm"].ToString());
|
|
//DataTable jgDt = vser.GetJyjgByTmFromKSbm2(gzb.tm, dr["ksbm"].ToString());
|
|
DataTable jgDt = vser.GetJyjgByTmFromKSbm3(gzb.tm, dr["ksbm"].ToString(),gzb.xb);
|
|
|
|
if (jgDt.Rows.Count == 0)
|
|
{
|
|
lbl_zt.Text = "当前条码号检验结果为空";
|
|
lbl_zt.ForeColor = Color.Red;
|
|
textBox1.Focus();
|
|
textBox1.SelectAll();
|
|
return;
|
|
}
|
|
|
|
foreach (DataRow dr1 in jgDt.Rows)
|
|
{
|
|
double jg = 0;
|
|
double cksx = 0;
|
|
double ckxx = 0;
|
|
if (double.TryParse(dr1["jg"].ToString(), out jg) && double.TryParse(dr1["cksx"].ToString(), out cksx) && double.TryParse(dr1["ckxx"].ToString(), out ckxx))
|
|
{
|
|
if (jg < ckxx)
|
|
dr1["bz"] = "↓";
|
|
else if (jg > cksx)
|
|
dr1["bz"] = "↑";
|
|
}
|
|
}
|
|
|
|
re.Load(System.Windows.Forms.Application.StartupPath + "\\Report\\hyxmzyd3.frx");
|
|
//re.RegisterData(jgDt, "jy_sqd_jg");
|
|
re.RegisterData(jgDt, "Table");
|
|
re.SetParameterValue("tmh", gzb.tm);
|
|
re.SetParameterValue("xm", gzb.xm);
|
|
re.SetParameterValue("xb", gzb.xb);
|
|
re.SetParameterValue("nl", gzb.nl);
|
|
re.SetParameterValue("hyh", gzb.hyh);
|
|
re.SetParameterValue("dwmc", gzb.dwmc);
|
|
re.SetParameterValue("tjrq", gzb.tjrq);
|
|
|
|
if (LoginUser.yydm.Equals("1"))
|
|
{
|
|
re.SetParameterValue("name", "德州");
|
|
re.SetParameterValue("dh", "三八东路鑫星国际大厦三楼");
|
|
re.SetParameterValue("dz", "0534-7052967");
|
|
}
|
|
else if (LoginUser.yydm.Equals("2"))
|
|
{
|
|
re.SetParameterValue("name", "淄博");
|
|
re.SetParameterValue("dh", "0533-7997555");
|
|
re.SetParameterValue("dz", "鲁泰大道99号汇金大厦西裙楼三楼");
|
|
|
|
string lsdt = vser.GetZjysXm2(jgDt.Rows[0][0].ToString());
|
|
dtnew = Newtonsoft.Json.JsonConvert.DeserializeObject(lsdt, typeof(DataTable)) as DataTable;
|
|
|
|
if (dtnew.Rows.Count==0)
|
|
{
|
|
lsdt = vser.GetZjysXm(jgDt.Rows[0][0].ToString());
|
|
dtnew = Newtonsoft.Json.JsonConvert.DeserializeObject(lsdt, typeof(DataTable)) as DataTable;
|
|
}
|
|
|
|
dtnew.Columns.Add(new DataColumn("image", typeof(byte[])));
|
|
foreach (DataRow drnew in dtnew.Rows)
|
|
{
|
|
if (drnew["image1"].ToString() == "")
|
|
{
|
|
string zdys = drnew["xm"].ToString();
|
|
Bitmap b = new Bitmap(80, 20);
|
|
Graphics g = Graphics.FromImage(b);
|
|
g.Clear(Color.White);
|
|
|
|
g.DrawString(zdys, new Font("宋体", 12), new SolidBrush(Color.Black), new Point(2, 2));
|
|
|
|
MemoryStream stream = new MemoryStream();
|
|
b.Save(stream, ImageFormat.Jpeg);
|
|
//输出图片流
|
|
//return File(stream.ToArray(), "image/jpeg");
|
|
drnew["image"] = stream.ToArray();
|
|
}
|
|
else
|
|
{
|
|
byte[] bs = Convert.FromBase64String(drnew["image1"].ToString());
|
|
drnew["image"] = bs;
|
|
}
|
|
}
|
|
|
|
|
|
string lsdt2 = vser.GetZjysXm3("trdwj");
|
|
dtnew2 = Newtonsoft.Json.JsonConvert.DeserializeObject(lsdt2, typeof(DataTable)) as DataTable;
|
|
|
|
dtnew2.Columns.Add(new DataColumn("image", typeof(byte[])));
|
|
foreach (DataRow drnew2 in dtnew2.Rows)
|
|
{
|
|
if (drnew2["image1"].ToString() == "")
|
|
{
|
|
string zdys = drnew2["xm"].ToString();
|
|
Bitmap b = new Bitmap(80, 20);
|
|
Graphics g = Graphics.FromImage(b);
|
|
g.Clear(Color.White);
|
|
|
|
g.DrawString(zdys, new Font("宋体", 12), new SolidBrush(Color.Black), new Point(2, 2));
|
|
|
|
MemoryStream stream = new MemoryStream();
|
|
b.Save(stream, ImageFormat.Jpeg);
|
|
//输出图片流
|
|
//return File(stream.ToArray(), "image/jpeg");
|
|
drnew2["image"] = stream.ToArray();
|
|
}
|
|
else
|
|
{
|
|
byte[] bs = Convert.FromBase64String(drnew2["image1"].ToString());
|
|
drnew2["image"] = bs;
|
|
}
|
|
}
|
|
|
|
re.RegisterData(dtnew, "hzfxImage");
|
|
re.RegisterData(dtnew2, "hzfxImage2");
|
|
}
|
|
else
|
|
{
|
|
re.SetParameterValue("name", "");
|
|
re.SetParameterValue("dh", "");
|
|
re.SetParameterValue("dz", "");
|
|
}
|
|
|
|
|
|
re.SetParameterValue("dyry", LoginUser.xm);
|
|
|
|
re.Preview = previewControl1;
|
|
print();
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
private void textBox1_KeyDown(object sender, KeyEventArgs e)
|
|
{
|
|
if (e.KeyCode == Keys.Enter)
|
|
{
|
|
init();
|
|
|
|
}
|
|
}
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
init1();
|
|
|
|
}
|
|
|
|
public void print()
|
|
{
|
|
if (previewControl1.Report == null)
|
|
{
|
|
//MessageBox.Show("请先初始化数据!");
|
|
return;
|
|
}
|
|
if (showview)
|
|
{
|
|
if (!this.Visible)
|
|
{
|
|
this.Show();
|
|
}
|
|
return;
|
|
}
|
|
previewControl1.Report.PrintSettings.ShowDialog = false;
|
|
previewControl1.Report.Print();
|
|
}
|
|
}
|
|
}
|