tijian_jichuang/Code/SOH.JianYan/frmDaYinJianYanDan.cs

420 lines
16 KiB
C#
Raw Normal View History

2025-02-20 11:54:48 +08:00
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();
}
}
}