tijian_jichuang/Code/SOH.Queuing.Setting/frm_BuJuView.cs
2025-02-20 11:54:48 +08:00

126 lines
4.4 KiB
C#

using EAS.Services;
using SOH.BLL;
using SOH.Entities.DTO;
using SOH.Kernel;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SOH.Entities;
namespace SOH.Queuing.Setting
{
[ModuleAttribute(ModuleID = "EDC121CA-E567-4235-BE83-86CF8A14FF61", ModuleName = "布局浏览")]
public partial class frm_BuJuView : SOH.Window.baseChildForm
{
IPaiDuiJiaoHao vser = ServiceContainer.GetService<IPaiDuiJiaoHao>();
public frm_BuJuView()
{
InitializeComponent();
}
private void frm_BuJuView_Load(object sender, EventArgs e)
{
var lclist = vser.getLouceng(true);
comb_lc.DataSource = lclist;
}
private void pic_lc_MouseDoubleClick(object sender, MouseEventArgs e)
{
for (int i = iks.Count - 1; i >= 0; i--)
{
var rect = new Rectangle(iks[i].img_x, iks[i].img_y, iks[i].img_w, iks[i].img_h);
if (rect.Contains(e.Location))
{
frm_KSPDXX ks = new Setting.frm_KSPDXX();
ks.ks = iks[i];
ks.ShowDialog();
return;
}
}
}
private void comb_lc_SelectedValueChanged(object sender, EventArgs e)
{
string lcid = comb_lc.SelectedValue.ToString();
var lcbj = vser.getbj(lcid);
if (lcbj != null)
{
var bj = Image.FromStream(new MemoryStream(lcbj));
pic_lc.Image = bj;
pic_lc.Width = bj.Width;
pic_lc.Height = bj.Height;
var wlks = vser.getwlkss();
int ilcid = int.Parse(lcid);
var lcks = wlks.Where(t => t.lc_id == ilcid).ToList();
iks.Clear();
lcks.ForEach(t =>
{
var k = new img_ks { img_x = t.img_x, img_h = t.img_h, img_w = t.img_w, img_y = t.img_y, ksmc = t.ksmc, id = t.id };
k.pdrs = vser.getkspdrs(k.id);
iks.Add(k);
});
int wjwrs = 0;
int wjrnv = 0;
int wjwnan = 0;
List<pd_rylb> rylb = vser.getrylb();
List<pd_kspdlb> kspdlb = vser.getkspdlb();
rylb.ForEach(t => {
var jq = kspdlb.FirstOrDefault(j => j.pdid == t.id && j.zxbz != 2);
if (jq != null)
{
wjwrs++;
if (t.xb == 0)
{
wjwnan++;
}
else
{
wjrnv++;
}
}
});
this.lab_ydjrs.Text = rylb.Count.ToString();
this.lab_wjwrs.Text = wjwrs.ToString();
this.lab_nanbrs.Text = wjwnan.ToString();
this.lab_nvbrs.Text = wjrnv.ToString();
}
}
List<img_ks> iks = new List<img_ks>();
private void pic_lc_Paint(object sender, PaintEventArgs e)
{
var g = e.Graphics;
foreach (var k in iks)
{
g.DrawRectangle(Pens.DarkGray, k.img_x, k.img_y, k.img_w, k.img_h);
g.FillRectangle(Brushes.ForestGreen, k.img_x + 1, k.img_y + 1, k.img_w - 1, k.img_h - 1);
//g.FillRectangle(Brushes.DarkGray, k.img_x + k.img_w - 3, k.img_y + k.img_h - 3, 5, 5);
g.DrawString(k.ksmc, new Font("微软雅黑", 12, FontStyle.Bold), Brushes.Black, new Rectangle(k.img_x, k.img_y, k.img_w, k.img_h), new StringFormat(StringFormatFlags.NoWrap));
g.DrawString("("+k.pdrs+"人正在排队)", new Font("微软雅黑", 12, FontStyle.Bold), Brushes.Black, new Rectangle(k.img_x, k.img_y+25, k.img_w, k.img_h), new StringFormat(StringFormatFlags.NoWrap));
}
}
private void btn_bj_Click(object sender, EventArgs e)
{
comb_lc_SelectedValueChanged(null, null);
pic_lc.Invalidate();
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
}
}
}