using CefSharp.DevTools.Debugger;
using DevExpress.Spreadsheet;
using DevExpress.Utils.DirectXPaint;
using DevExpress.XtraEditors;
using DevExpress.XtraLayout.Customization;
using Gs.DevApp.ToolBox;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Data.SqlTypes;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Gs.DevApp.UserControl
{
public partial class CopyXls : DevExpress.XtraEditors.XtraForm
{
private string orderType;
private string orderGuid;
private string orgId;
private static readonly string filePath = AppContext.BaseDirectory + "xlsCopy.xls";
public CopyXls(string _orgId, string _orderGuid, string _orderType)
{
InitializeComponent();
this.orderType = _orderType;
this.orderGuid = _orderGuid;
this.orgId = _orgId;
this.spreadsheetControl1.DocumentLoaded += new EventHandler(spreadsheetControl1_DocumentLoaded);
if (!string.IsNullOrEmpty(filePath))
{
if (File.Exists(filePath))
{
IWorkbook workbook = spreadsheetControl1.Document;
workbook.LoadDocument(filePath);
switch (this.orderType)
{
case "其它入库":
SetCellText(spreadsheetControl1.ActiveWorksheet, "A1", "物料编号", true);
SetCellText(spreadsheetControl1.ActiveWorksheet, "B1", "申请数量", true);
SetCellText(spreadsheetControl1.ActiveWorksheet, "C1", "申请备注", true);
SetCellText(spreadsheetControl1.ActiveWorksheet, "D1", "不良类型", true);
break;
case "物料调拨":
SetCellText(spreadsheetControl1.ActiveWorksheet, "A1", "物料编号", true);
SetCellText(spreadsheetControl1.ActiveWorksheet, "B1", "申请数量", true);
SetCellText(spreadsheetControl1.ActiveWorksheet, "C1", "申请备注", true);
break;
}
}
else
{
Gs.DevApp.ToolBox.MsgHelper.ShowError("找不到xlsCopy.xls文件,请联系管理员!");
}
}
}
///
/// 文档变化后,实现对新文件名称的显示
///
void spreadsheetControl1_DocumentLoaded(object sender, EventArgs e)
{
string fileName = Path.GetFileName(this.spreadsheetControl1.Document.Path);
if (String.IsNullOrEmpty(fileName))
{
Text = "请选择文件";
}
else
{
Text = "正在快捷录入到【" + this.orderType.ToString() + "】,组织ID为【" + this.orgId.ToString() + "】";
}
}
///
/// 保存
///
///
///
private void btnSave_Click(object sender, EventArgs e)
{
int rowsCount = spreadsheetControl1.ActiveWorksheet.GetUsedRange().RowCount;
spreadsheetControl1.ActiveWorksheet.MoveToEnd();
if (rowsCount < 2)
{
MsgHelper.ShowError("复制失败:表格不能为空!");
return;
}
if (!MsgHelper.AskQuestion("共有【" + (rowsCount - 1).ToString() + "】条数据,确定复制吗?"))
return;
var list = new List();
switch (this.orderType)
{
case "其它入库":
#region MyRegion
{
for (int row = 2; row <= rowsCount; row++)
{
string itemNo = spreadsheetControl1.ActiveWorksheet.Cells["A" + row.ToString()].Value.ToString().Trim();
string sl = spreadsheetControl1.ActiveWorksheet.Cells["B" + row.ToString()].Value.ToString().Trim();
string bz = spreadsheetControl1.ActiveWorksheet.Cells["C" + row.ToString()].Value.ToString().Trim();
string bllx = spreadsheetControl1.ActiveWorksheet.Cells["D" + row.ToString()].Value.ToString().Trim();
var _obj = new
{
itemNo = itemNo,
orgId = this.orgId,
};
try
{
var strJson = UtilityHelper.HttpPost("", "MesItemsManager/GetModelByOrg", JsonConvert.SerializeObject(_obj));
var _rtn = UtilityHelper.ReturnToDynamic(strJson);
if (_rtn.rtnCode > 0)
{
var dy = _rtn.rtnData;
list.Add(new
{
itemNo = itemNo,
sl = sl,
bz = bz,
bllx = bllx,
itemName = dy.itemName,
itemModel = dy.itemModel,
dwName = dy.kfName,
itemId = dy.itemId
});
}
else
{
MsgHelper.ShowError("复制失败:【" + itemNo + "】可能不存在,请检查后重试!");
return;
}
}
catch (Exception ex)
{
MsgHelper.ShowError("复制失败:【" + itemNo + "】发生错误,请检查后重试!" + ex.Message);
return;
}
}
}
#endregion
break;
case "物料调拨":
#region MyRegion
{
for (int row = 2; row <= rowsCount; row++)
{
string itemNo = spreadsheetControl1.ActiveWorksheet.Cells["A" + row.ToString()].Value.ToString().Trim();
string sl = spreadsheetControl1.ActiveWorksheet.Cells["B" + row.ToString()].Value.ToString().Trim();
string bz = spreadsheetControl1.ActiveWorksheet.Cells["C" + row.ToString()].Value.ToString().Trim();
var _obj = new
{
itemNo = itemNo,
orgId = this.orgId,
};
try
{
var strJson = UtilityHelper.HttpPost("", "MesItemsManager/GetModelByOrg", JsonConvert.SerializeObject(_obj));
var _rtn = UtilityHelper.ReturnToDynamic(strJson);
if (_rtn.rtnCode > 0)
{
var dy = _rtn.rtnData;
list.Add(new
{
itemNo = itemNo,
sl = sl,
bz = bz,
itemName = dy.itemName,
itemModel = dy.itemModel,
dwName = dy.kfName,
itemId = dy.itemId
});
}
else
{
MsgHelper.ShowError("复制失败:【" + itemNo + "】可能不存在,请检查后重试!");
return;
}
}
catch (Exception ex)
{
MsgHelper.ShowError("复制失败:【" + itemNo + "】发生错误,请检查后重试!" + ex.Message);
return;
}
}
}
#endregion
break;
}
UpdateParent?.Invoke(this,
new UpdateParentEventArgs { DynamicList = list });
Close();
}
///
/// 从数据库里读取到Excel
///
///
/// 位置格式如A1 B2
/// 值
/// 是否加粗
private void SetCellText(Worksheet workSheet, string coordinates, string coordValue, bool isBold)
{
workSheet.Cells[coordinates].Value = coordValue;
workSheet.Cells[coordinates].Style.Font.Bold = isBold;
}
///
/// 选择后的回调事件
///
public event EventHandler UpdateParent;
}
}