using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Data.SqlClient;
|
using System.Drawing;
|
using System.Linq;
|
using System.Text;
|
using System.Windows.Forms;
|
using System.Drawing.Printing;
|
using System.IO;
|
using HH.WMS.Client;
|
using Newtonsoft.Json;
|
using DevComponents.DotNetBar.Controls;
|
using System.Collections;
|
using Newtonsoft.Json.Linq;
|
using System.Net;
|
using System.Management;
|
using HH.WMS.Client.Common;
|
using HH.WMS.Entitys.Basic;
|
using HH.WMS.Entitys.Entitys.PrintDataSource;
|
using HH.WMS.Client.frm;
|
using HH.WMS.Entitys.Sys;
|
using DevComponents.DotNetBar;
|
|
|
namespace WindowsFormsApplication2
|
{
|
public partial class ItemTagPrint : frmTemplet
|
{
|
//全局变量
|
DataTable dt = new DataTable();
|
private string currentPrintOrder = "";
|
public ItemTagPrint()
|
{
|
InitializeComponent();
|
}
|
/// <summary>
|
/// 物料编码
|
/// </summary>
|
public bool isItems { get; set; }
|
|
private void ItemTagPrint_Load(object sender, EventArgs e)
|
{
|
dgvWaitPrintDg.AutoGenerateColumns = false;
|
PrintService();
|
GetOrder();
|
GetPrinter();
|
GetBarMode();
|
|
|
DevComponents.DotNetBar.ButtonItem btnItemSet = new DevComponents.DotNetBar.ButtonItem();
|
btnItemSet.Image = global::HH.WMS.Client.Properties.Resources.moban;
|
btnItemSet.ItemAlignment = DevComponents.DotNetBar.eItemAlignment.Center;
|
//btnItemHome.Name = "btnItemHome";
|
btnItemSet.PopupWidth = 100;
|
btnItemSet.Text = "设置";
|
btnItemSet.Click += btnItemSet_Click;
|
//btnItemSet.ItemAlignment = DevComponents.DotNetBar.eItemAlignment.Far;
|
this.AddMenu(btnItemSet);
|
}
|
|
void btnItemSet_Click(object sender, EventArgs e)
|
{
|
frmTempletSet from = new frmTempletSet();
|
from.ShowDialog();
|
}
|
|
|
//填充表格
|
public void BindData(string opNo)
|
{
|
dgvlist.Refresh();
|
string str = "";
|
var type = this.cmbOrderType.Text;
|
if (type == "入库单")
|
{
|
str = WebApiManager.HttpWMS_Get("/api/In/GetListInventoryDtl?opNo=" + opNo);
|
}
|
else if (type == "采购单")
|
{
|
str = WebApiManager.HttpWMS_Get("/api/In/GetInDtlList?opNo=" + opNo);
|
}
|
else if (type == "到货单")
|
{
|
str = WebApiManager.HttpWMS_Get("/api/Arrival/GetDtlList?opNo=" + opNo);
|
}
|
OperateResult results = JsonConvert.DeserializeObject<OperateResult>(str);
|
dgvlist.AutoGenerateColumns = false;
|
|
this.dgvlist.DataSource = results.Data;
|
SetPrintQty();
|
}
|
|
#region 计算打印数量
|
public void SetPrintQty()
|
{
|
List<string> items = new List<string>();
|
foreach (DataGridViewRow r in this.dgvlist.Rows)
|
{
|
items.Add(r.Cells["CN_S_ITEM_CODE"].Value.ToString());
|
}
|
string str = WebApiManager.HttpWMS_Get("/api/Item/GetItemModels?itemCodes=" + string.Join(",", items));
|
OperateResult results = JsonConvert.DeserializeObject<OperateResult>(str);
|
|
if (results.Status == ResultStatus.Success)
|
{
|
List<AutoBomItemEntity> itemlist = JsonConvert.DeserializeObject<List<AutoBomItemEntity>>(results.Data.ToString());
|
|
foreach (DataGridViewRow r in this.dgvlist.Rows)
|
{
|
AutoBomItemEntity item = itemlist.Find(x => x.CN_S_ITEM_CODE.Equals(r.Cells["CN_S_ITEM_CODE"].Value.ToString()));
|
if (item == null)
|
{
|
MessageBoxEx.Show("Mongo中未找到该物料!");
|
return;
|
}
|
if (item.CN_F_MIN_PACK_QTY == 0)
|
{
|
r.Cells["CN_F_MIN_PACK_QTY"].Value = Convert.ToInt16(r.Cells["CN_F_QUANTITY"].Value);
|
r.Cells["PrintQuantity"].Value = 1;
|
}
|
else
|
{
|
r.Cells["CN_F_MIN_PACK_QTY"].Value = item.CN_F_MIN_PACK_QTY;
|
r.Cells["PrintQuantity"].Value = Convert.ToInt16(Convert.ToInt16(r.Cells["CN_F_QUANTITY"].Value) / item.CN_F_MIN_PACK_QTY);
|
}
|
}
|
}
|
}
|
#endregion
|
|
//事件处理方法
|
void frm_TransfEvent(string value)
|
{
|
BindData(value);
|
}
|
/// <summary>
|
/// 绑定选择Item的数据源
|
/// </summary>
|
/// <param name="ds"></param>
|
public void GetItemlist(DataTable ds)
|
{
|
isItems = true;
|
dgvlist.Refresh();
|
dgvlist.AutoGenerateColumns = false;
|
ds.Columns.Add("PrintQuantity");
|
foreach (DataRow dr in ds.Rows)
|
dr["PrintQuantity"] = 1;
|
this.dgvlist.DataSource = ds; //results.Data;
|
|
}
|
|
#region 加载打印机
|
/// <summary>
|
/// 加载打印机
|
/// </summary>
|
public void GetPrinter()
|
{
|
PrintDocument print = new PrintDocument();
|
string sDefault = print.PrinterSettings.PrinterName;//默认打印机名
|
var printers = PrinterSettings.InstalledPrinters;//获取全部打印机
|
foreach (string sPrint in PrinterSettings.InstalledPrinters)//获取所有打印机名称
|
{
|
cmbPrinter.Items.Add(sPrint);
|
}
|
}
|
#endregion
|
|
//加载单据
|
public void GetOrder()
|
{
|
DataTable dt = new DataTable();
|
dt.Columns.Add("id", typeof(string));
|
dt.Columns.Add("name", typeof(string));
|
dt.Rows.Add("0", "--请选择--");
|
dt.Rows.Add("1", "入库单");
|
dt.Rows.Add("2", "采购单");
|
dt.Rows.Add("3", "到货单");
|
|
this.cmbOrderType.DataSource = dt;
|
this.cmbOrderType.ValueMember = "id";
|
this.cmbOrderType.DisplayMember = "name";
|
|
}
|
|
#region 获取bartender文件模版
|
/// <summary>
|
/// 获取bartender文件模版
|
/// </summary>
|
public void GetBarMode()
|
{
|
this.cmbBartender.Items.Clear();
|
|
string path = @"ActionReport/Template/";
|
DirectoryInfo root = new DirectoryInfo(path);
|
FileInfo[] files = root.GetFiles();
|
|
foreach (FileInfo m in files)
|
this.cmbBartender.Items.Add(m.Name);
|
|
|
|
//string str = WebApiManager.HttpWMS_Get("/api/PrintTemplet/GetPrintTemplet?ip=" + StaticUtil.Ip
|
// + "&mac=" + StaticUtil.Mac);
|
//OperateResult results = JsonConvert.DeserializeObject<OperateResult>(str);
|
//if (results.Status == ResultStatus.Success)
|
//{
|
//List<TN_WM_PRINT_TEMPLETEntity> v = JsonConvert.DeserializeObject<List<TN_WM_PRINT_TEMPLETEntity>>(results.Data.ToString());
|
//this.cmbBartender.DataSource = v.FindAll(x => x.CN_S_TEMPLET_TYPE.Equals("物料标签") && x.CN_S_MAC.Equals(StaticUtil.Mac));
|
//this.cmbBartender.DisplayMember ="CN_S_TEMPLET_NAME";
|
//}
|
//else
|
//{
|
// MessageBoxEx.Show("打印模板加载失败!");
|
//}
|
}
|
#endregion
|
|
#region 打印
|
/// <summary>
|
/// 打印
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void btnPrint_Click(object sender, EventArgs e)
|
{
|
//组织打印信息
|
List<MONGO_PRINT_BARCODE> list = new List<MONGO_PRINT_BARCODE>();
|
dt = new DataTable();
|
if (this.dgvlist.Rows.Count == 0)
|
{
|
MessageBoxEx.Show("请选择打印信息!", "汉和信息");
|
return;
|
}
|
if (string.IsNullOrEmpty(this.cmbBartender.Text))
|
{
|
MessageBoxEx.Show("请选择打印模版!", "汉和信息");
|
return;
|
}
|
TN_WM_B_STRATEGY_VALUEEntity strategy = StaticUtil.StrategyList.Find(x => x.CN_S_CODE.Equals("IsUseSNCode"));
|
string IsUseSNCode = "Y";
|
if (strategy != null)
|
IsUseSNCode = strategy.CN_S_VALUE;
|
|
DataTable printDt = new DataTable();
|
printDt.Columns.Add("ItemCode");
|
printDt.Columns.Add("ItemName");
|
printDt.Columns.Add("Model");
|
printDt.Columns.Add("Qty");
|
printDt.Columns.Add("Unit");
|
printDt.Columns.Add("FigureNo");
|
printDt.Columns.Add("UniqueCode");
|
|
for (int i = 0; i < dgvlist.Rows.Count; i++)
|
{
|
int printQuantity = Convert.ToInt32(dgvlist.Rows[i].Cells["PrintQuantity"].FormattedValue);
|
|
for (int j = 0; j < printQuantity; j++)
|
{
|
string itemCode = dgvlist.Rows[i].Cells["CN_S_ITEM_CODE"].Value.ToString();
|
decimal packQty = Convert.ToDecimal(dgvlist.Rows[i].Cells["CN_F_MIN_PACK_QTY"].Value);
|
if (packQty == 0)
|
{
|
MessageBoxEx.Show("请维护最小包装数!");
|
return;
|
}
|
string uniqueCode = "";
|
if (IsUseSNCode == "Y")
|
{
|
//启用唯一码时生成 PAK唯一号
|
uniqueCode = Guid.NewGuid().ToString();
|
}
|
printDt.Rows.Add(
|
itemCode,
|
dgvlist.Rows[i].Cells["CN_S_ITEM_NAME"].Value,
|
dgvlist.Rows[i].Cells["CN_S_MODEL"].Value,
|
packQty,
|
dgvlist.Rows[i].Cells["CN_S_MEASURE_UNIT"].Value,
|
dgvlist.Rows[i].Cells["CN_S_FIGURE_NO"].Value,
|
uniqueCode);
|
|
list.Add(new MONGO_PRINT_BARCODE()
|
{
|
CN_S_IN_ORDER = currentPrintOrder,
|
CN_S_ITEM_CODE = itemCode,
|
CN_S_ITEM_NAME = dgvlist.Rows[i].Cells["CN_S_ITEM_NAME"].Value.ToString(),
|
CN_S_FIGURE_NO = dgvlist.Rows[i].Cells["CN_S_FIGURE_NO"].Value.ToString(),
|
CN_S_UNIQUE_CODE = uniqueCode,
|
//CN_S_PACKING_UNIT =
|
CN_F_PACKING_QTY = packQty,
|
CN_F_QUANTITY = packQty//.ToDecimal(dgvlist.Rows[i].Cells["CN_F_QUANTITY"].Value)
|
});
|
}
|
}
|
currPrintDS = printDt;
|
//var info = SysStrategyList.Where(x => (x["CN_S_STOCK_CODE"]).ToString() ==StaticUtil.StockCode && (x["CN_S_CODE"]).ToString() == "IsUseSNCode").ToArray();
|
if (IsUseSNCode.Equals("Y"))
|
{
|
string str = WebApiManager.HttpWMS_Post("/api/PrintTag/PrintItemTag", JsonConvert.SerializeObject(list));
|
|
OperateResult results = JsonConvert.DeserializeObject<OperateResult>(str);
|
if (results.Status == ResultStatus.Error)
|
{
|
MessageBoxEx.Show("打印失败", "合肥汉和");
|
return;
|
}
|
}
|
OperateResult or = ArPrint(cmbPrinter.Text, cmbBartender.Text, currPrintDS);
|
if (or.Status != ResultStatus.Success)
|
MessageBoxEx.Show(or.Msg);
|
else
|
MessageBoxEx.Show("打印成功!");
|
//ArPrint();
|
}
|
#endregion
|
|
#region 删除
|
/// <summary>
|
/// 删除
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void btnDelete_Click(object sender, EventArgs e)
|
{
|
if (this.dgvlist.SelectedRows.Count == 0)
|
{
|
MessageBoxEx.Show(this, "请选择需要删除的行!", "合肥汉和");
|
return;
|
}
|
|
DialogResult dr = MessageBoxEx.Show(this, "确定要删除选中行数据码?", "合肥汉和", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
|
|
if (dr == System.Windows.Forms.DialogResult.Yes)
|
{
|
for (int i = this.dgvlist.SelectedRows.Count; i > 0; i--)
|
{
|
dgvlist.Rows.RemoveAt(dgvlist.SelectedRows[i - 1].Index);
|
if (dgvlist.Rows.Count == 0)
|
btnSelectOne.Enabled = true;
|
}
|
}
|
}
|
#endregion
|
|
//新增
|
private void btnSelectOne_Click(object sender, EventArgs e)
|
{
|
ItemForm item = new ItemForm();
|
item.Text = "单品选择";
|
item.itemCodes += GetItemlist;
|
item.Show();
|
}
|
//弹出子窗体
|
private void btnSelect_Click(object sender, EventArgs e)
|
{
|
var fromtext = this.cmbOrderType.Text;
|
if (fromtext == "--请选择--")
|
{
|
MessageBoxEx.Show("请选择单据类型", "合肥汉和");
|
return;
|
}
|
if (fromtext == "入库单")
|
{
|
InFrom f2 = new InFrom();
|
f2.Text = fromtext;
|
//注册事件
|
f2.TransfEvent += frm_TransfEvent;
|
f2.ShowDialog();
|
}
|
else if (fromtext == "采购单")
|
{
|
InOrderFrom io = new InOrderFrom();
|
io.Text = fromtext;
|
//注册事件
|
io.TransfEvent += frm_TransfEvent;
|
io.ShowDialog();
|
}
|
else if (fromtext == "到货单")
|
{
|
ArrivalOrderForm ao = new ArrivalOrderForm();
|
ao.Text = fromtext;
|
ao.TransfEvent += frm_TransfEvent;
|
ao.ShowDialog();
|
}
|
}
|
|
private void dgvlist_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
|
{
|
for (int i = 0; i < this.dgvlist.Rows.Count; i++)
|
{
|
DataGridViewRow r = this.dgvlist.Rows[i];
|
r.HeaderCell.Value = string.Format("{0}", i + 1);
|
}
|
}
|
|
private void btnEmpty_Click(object sender, EventArgs e)
|
{
|
this.dgvlist.DataSource = null;
|
btnSelectOne.Enabled = true;
|
}
|
|
//设置默认值
|
private void dgvlist_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs e)
|
{
|
e.Row.Cells["PrintQuantity"].Value = "1";
|
}
|
|
#region 打印
|
private DataTable currPrintDS;
|
/// <summary>
|
/// 打印
|
/// </summary>
|
/// <param name="printer">打印机名</param>
|
/// <param name="templetName">打印模板</param>
|
/// <param name="dt">打印数据源</param>
|
private OperateResult ArPrint(string printer, string templetName, DataTable dt)
|
{
|
try
|
{
|
currPrintDS = dt;
|
GrapeCity.ActiveReports.PageReport rpt = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(@"ActionReport/Template/" + templetName + ""));//打开模版
|
rpt.Document.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(SetPrintDataSource);
|
rpt.Document.Printer.PrinterName = printer;
|
//this.viewer1.LoadDocument(rpt.Document);
|
bool b = GrapeCity.ActiveReports.PrintExtension.Print(rpt.Document, false, false);
|
if (b)
|
return OperateResult.Succeed();
|
else
|
return OperateResult.Error("打印异常!");
|
}
|
catch (Exception ex)
|
{
|
return OperateResult.Error(ex.Message);
|
}
|
}
|
|
private void SetPrintDataSource(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
|
{
|
args.Data = currPrintDS;
|
}
|
#endregion
|
|
#region 刷新模板
|
/// <summary>
|
/// 刷新模板
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void btnShuaxin_Click(object sender, EventArgs e)
|
{
|
//清除
|
GetBarMode();//从新加载
|
}
|
#endregion
|
|
#region 编辑格式限制
|
/// <summary>
|
/// 编辑格式限制
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
TextBox control;
|
private void dgvlist_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
|
{
|
if (e.Control.GetType().BaseType.Name == "TextBox")
|
{
|
control = new TextBox();
|
control = (TextBox)e.Control;
|
if (control.Text == "0") //需要限制输入数字的单元格
|
{
|
control.KeyPress += new KeyPressEventHandler(control_KeyPress);
|
}
|
else
|
{
|
//非数字类型单元格
|
control.Leave += new EventHandler(control_Leave);
|
}
|
}
|
}
|
|
void control_KeyPress(object sender, KeyPressEventArgs e)
|
{
|
//限制只能输入-9的数字,退格键,小数点和回车
|
//if (((int)e.KeyChar >= 48 && (int)e.KeyChar <= 57) || e.KeyChar == 13 || e.KeyChar == 8 || e.KeyChar == 46)
|
if (((int)e.KeyChar >= 48 && (int)e.KeyChar <= 57) || e.KeyChar == 13 || e.KeyChar == 8)
|
{
|
e.Handled = false;
|
}
|
else
|
{
|
e.Handled = true;
|
MessageBoxEx.Show("只能输入数字!");
|
}
|
}
|
void control_Leave(object sender, EventArgs e)
|
{
|
//如果需要限制字符串输入长度
|
//if (control.Text.Length != 11)
|
//{
|
// MessageBox.Show("只能为位!");
|
// control.Focus();
|
//}
|
}
|
#endregion
|
|
#region 后台打印服务
|
Timer GetTaskTimer;
|
/// <summary>
|
/// 后台打印服务
|
/// </summary>
|
private void PrintService()
|
{
|
GetTaskTimer = new Timer();
|
GetTaskTimer.Interval = 2000;
|
GetTaskTimer.Tick += GetTaskTimer_Tick;
|
GetTaskTimer.Start();
|
}
|
|
|
|
private void GetTaskTimer_Tick(object sender, EventArgs e)
|
{
|
GetPrintTask(true);
|
}
|
#endregion
|
|
#region 复选历史打印任务
|
/// <summary>
|
/// 复选历史打印任务
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void cbkHistory_CheckedChanged(object sender, EventArgs e)
|
{
|
dtiStart.Visible = dtiEnd.Visible = lbl1.Visible = chkHistory.Checked;
|
}
|
#endregion
|
|
#region 补打任务
|
/// <summary>
|
/// 补打任务
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void btnRePrint_Click(object sender, EventArgs e)
|
{
|
try
|
{
|
if (dgvTask.SelectedRows.Count == 0)
|
{
|
MessageBoxEx.Show("请选择需要补打的行!");
|
return;
|
}
|
bool isOk = true;
|
foreach (DataGridViewRow m in dgvTask.SelectedRows)
|
{
|
string content = m.Cells["CN_S_CONTENT"].Value.ToString().Replace('<', '[').Replace('(', '{').Replace('\\', '\"').Replace(')', '}').Replace('>', ']');
|
currPrintDS = JsonConvert.DeserializeObject<DataTable>(content);
|
|
OperateResult or = ArPrint(m.Cells["CN_S_PRINTER"].Value.ToString().Replace('!', '\\'), m.Cells["CN_S_TEMPLET_NAME"].Value.ToString(), currPrintDS);
|
if (or.Status == ResultStatus.Success)
|
WebApiManager.HttpWMS_Get("/api/PrintTemplet/UpdatePrintFlag?guids=" + m.Cells["CN_GUID"].ToString());
|
else
|
{
|
m.Cells["columnRemark"].Value = or.Msg;
|
isOk = false;
|
}
|
}
|
if (!isOk)
|
{
|
MessageBoxEx.Show("打印失败,请查看备注!");
|
}
|
}
|
catch (Exception ex)
|
{
|
MessageBoxEx.Show(ex.Message);
|
}
|
}
|
#endregion
|
|
#region 搜索
|
/// <summary>
|
/// 搜索
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void btnSearch_Click(object sender, EventArgs e)
|
{
|
if (chkHistory.Checked && (dtiStart.Value.ToShortDateString().Equals("0001/1/1") || dtiEnd.Value.ToShortDateString().Equals("0001/1/1")))
|
{
|
MessageBoxEx.Show("请选择查找范围!");
|
return;
|
}
|
GetPrintTask(false);
|
}
|
#endregion
|
|
#region 获取打印任务
|
/// <summary>
|
/// 获取打印任务
|
/// </summary>
|
/// <param name="isPrint">是否自动打印</param>
|
private void GetPrintTask(bool isPrint)
|
{
|
string startDate = "", endDate = "";
|
if (chkHistory.Checked)
|
{
|
startDate = dtiStart.Value.ToShortDateString();
|
endDate = dtiEnd.Value.ToShortDateString();
|
}
|
string str = WebApiManager.HttpWMS_Get("/api/PrintTemplet/GetPrintTask?mac=" + StaticUtil.Mac + "&isHistory=" + (chkHistory.Checked ? "Y" : "N") + "&key=" + txtKey.Text + "&startDate=" + startDate + "&endDate=" + endDate);
|
|
OperateResult results = JsonConvert.DeserializeObject<OperateResult>(str);
|
if (results.Status == ResultStatus.Error)
|
{
|
return;
|
}
|
if (!isPrint)
|
{
|
dgvTask.Rows.Clear();
|
}
|
if (!results.Data.ToString().Equals("[]"))
|
{
|
foreach (TN_WM_PRINT_TASKEntity m in JsonConvert.DeserializeObject<List<TN_WM_PRINT_TASKEntity>>(results.Data.ToString()))
|
{
|
bool b = true;
|
foreach (DataGridViewRow r in dgvTask.Rows)
|
{
|
if (r.Cells[0].Tag.ToString().Equals(m.CN_GUID))
|
{
|
b = false;
|
break;
|
}
|
}
|
if (!b)
|
continue;
|
if (!chkHistory.Checked)
|
{
|
DataGridViewRow row = new DataGridViewRow();
|
DataGridViewCheckBoxCell cell0 = new DataGridViewCheckBoxCell();
|
cell0.Tag = m.CN_GUID;
|
row.Cells.Add(cell0);
|
DataGridViewTextBoxCell cell1 = new DataGridViewTextBoxCell();
|
cell1.Value = m.CN_S_TEMPLET_TYPE.Trim();
|
row.Cells.Add(cell1);
|
DataGridViewTextBoxCell cell2 = new DataGridViewTextBoxCell();
|
cell2.Value = m.CN_S_TEMPLET_NAME.Trim();
|
row.Cells.Add(cell2);
|
DataGridViewTextBoxCell cell3 = new DataGridViewTextBoxCell();
|
cell3.Value = m.CN_S_PRINTER.Trim();
|
row.Cells.Add(cell3);
|
DataGridViewTextBoxCell cell5 = new DataGridViewTextBoxCell();
|
cell5.Value = m.CN_S_CONTENT.Trim();
|
row.Cells.Add(cell5);
|
DataGridViewTextBoxCell cell9 = new DataGridViewTextBoxCell();
|
cell9.Value = m.CN_T_CREATE;
|
row.Cells.Add(cell9);
|
DataGridViewTextBoxCell cell8 = new DataGridViewTextBoxCell();
|
cell8.Value = m.CN_C_IS_PRINTED.Trim();
|
row.Cells.Add(cell8);
|
dgvTask.Rows.Add(row);
|
}
|
if (isPrint)
|
{
|
m.CN_S_CONTENT = m.CN_S_CONTENT.Replace('<', '[').Replace('(', '{').Replace('\\', '\"').Replace(')', '}').Replace('>', ']');
|
currPrintDS = JsonConvert.DeserializeObject<DataTable>(m.CN_S_CONTENT);
|
|
OperateResult or = ArPrint(m.CN_S_PRINTER.Replace('!', '\\'), m.CN_S_TEMPLET_NAME, currPrintDS);
|
if (or.Status == ResultStatus.Success)
|
{
|
string strResult = WebApiManager.HttpWMS_Get("/api/PrintTemplet/UpdatePrintFlag?guids=" + m.CN_GUID.Trim());
|
or = JsonConvert.DeserializeObject<OperateResult>(strResult);
|
if (or.Status == ResultStatus.Success)
|
{
|
//清除已打印的任务
|
foreach (DataGridViewRow r in dgvTask.Rows)
|
{
|
if (r.Cells[0].Tag.ToString().Trim().Equals(m.CN_GUID.Trim()))
|
{
|
dgvTask.Rows.Remove(r);
|
break;
|
}
|
}
|
}
|
else
|
{
|
foreach (DataGridViewRow r in dgvTask.Rows)
|
{
|
if (r.Cells[0].Tag.ToString().Trim().Equals(m.CN_GUID.Trim()))
|
{
|
r.Cells["columnRemark"].Value = or.Msg;
|
break;
|
}
|
}
|
}
|
}
|
else
|
{
|
foreach (DataGridViewRow r in dgvTask.Rows)
|
{
|
if (r.Cells[0].Tag.ToString().Trim().Equals(m.CN_GUID.Trim()))
|
{
|
r.Cells["columnRemark"].Value = or.Msg;
|
break;
|
}
|
}
|
}
|
}
|
}
|
}
|
}
|
#endregion
|
|
#region 选择打印机模板
|
/// <summary>
|
/// 选择打印机模板
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void cmbBartender_SelectedValueChanged(object sender, EventArgs e)
|
{
|
if (cmbBartender.SelectedValue != null)
|
{
|
string printer = cmbBartender.SelectedValue.ToString().Replace('!', '\\');
|
cmbPrinter.SelectedIndex = cmbPrinter.Items.IndexOf(printer);
|
}
|
}
|
#endregion
|
|
#region 刷新未完全打印的入库单
|
/// <summary>
|
/// 刷新未完全打印的入库单
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void btnRef_Click(object sender, EventArgs e)
|
{
|
string strResult = WebApiManager.HttpWMS_Get("/api/In/GetWaitPrintOrder?StockCode=" + StaticUtil.StockCode);
|
OperateResult or = JsonConvert.DeserializeObject<OperateResult>(strResult);
|
if (or.Status == ResultStatus.Success)
|
{
|
//JsonConvert.DeserializeObject<List<TN_WM_PRINT_TASKEntity>>(results.Data.ToString())
|
dgvWaitPrintDg.DataSource = or.Data;
|
}
|
else
|
{
|
MessageBoxEx.Show(or.Msg);
|
}
|
}
|
#endregion
|
|
/// <summary>
|
/// 单击待打印的入库单单号
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void dgvWaitPrintDg_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
{
|
if (e.ColumnIndex == 0)
|
{
|
string opNo = dgvWaitPrintDg.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
|
string str = WebApiManager.HttpWMS_Get("/api/In/GetListInventoryDtl?opNo=" + opNo);
|
OperateResult results = JsonConvert.DeserializeObject<OperateResult>(str);
|
if (results.Status == ResultStatus.Success)
|
{
|
tabControl1.SelectedTabIndex = 1;
|
btnSelectOne.Enabled = false;
|
currentPrintOrder = opNo;
|
|
dgvlist.AutoGenerateColumns = false;
|
this.dgvlist.DataSource = results.Data;
|
SetPrintQty();
|
|
colPrintedQty.Visible = true;
|
}
|
}
|
}
|
|
private void cmbPrinter_SelectedIndexChanged(object sender, EventArgs e)
|
{
|
|
}
|
}
|
}
|