BaoKai_202508_Wms_Jingwang_.../WMS.FrmBaseData/FrmGoodsSKUDet.cs
2025-08-24 21:52:42 +08:00

393 lines
12 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 WMS.Frm.Base;
using WMS.Model.Base;
using WMS.Model.SystemManage;
using WMS.Common;
using System.IO;
using System.Data.SqlClient;
using System.Drawing.Imaging;
using DevExpress.XtraEditors;
using WMS.Ctrl;
using DevExpress.XtraGrid.Views.Grid;
using WMS.Business;
using WMS.Business.Base;
using WMS.Business.SystemManage;
namespace WMS.FrmBaseData
{
/// <summary>
/// 商品规格信息
/// </summary>
public partial class FrmGoodsSKUDet : FormBase
{
#region
/// <summary>
/// 商品规格信息实体
/// </summary>
public static SKUModel skuModel = new SKUModel();
static FrmGoodsSKUDet frmSKUDet;
//窗体标记 0新增 1修改 2查看 3编辑导入的数据
static int iFlag = -1;
public static int IFlag
{
get { return FrmGoodsSKUDet.iFlag; }
set { FrmGoodsSKUDet.iFlag = value; }
}
static string strGoodsID = string.Empty;
public static string StrGoodsID
{
get { return FrmGoodsSKUDet.strGoodsID; }
set { FrmGoodsSKUDet.strGoodsID = value; }
}
#endregion
#region
/// <summary>
/// 实例化窗体
/// </summary>
/// <returns></returns>
public static FrmGoodsSKUDet GetInstance()
{
if (frmSKUDet == null || frmSKUDet.IsDisposed)
{
frmSKUDet = new FrmGoodsSKUDet();
}
return frmSKUDet;
}
#endregion
#region
public FrmGoodsSKUDet()
{
InitializeComponent();
}
#endregion
#region
private void FrmGoodsSKUDet_Load(object sender, EventArgs e)
{
bsSKU.DataSource = skuModel;
#region
#region
if (IBussFactory<BussSystemParams>.Instance().GetParamValue("autoGoodsID") == "0")
{
txt_SKUID.Enabled = true;
}
else
{
txt_SKUID.Enabled = false;
}
if (iFlag == 1)
{
txt_SKUID.Enabled = false;
}
#endregion
#endregion
#region
//供应商
LueProvider.LoadData();
//ABC分类
LueABC.LoadData();
//存储类型
LueStored.LoadData();
//保质期
LueBZQ.LoadData();
//重量单位
LueZLDW.LoadData();
//商品规格单位
LueSPDW.LoadData();
//季节
LueJJ.LoadData();
//商品规格状态
LueStatus.LoadData();
#endregion
#region
if (IFlag == 0)
{
skuModel = new SKUModel();
skuModel.STATUS = "1";
skuModel.GIFT_FLAG = "0";
skuModel.SC_FLAG = "0";
skuModel.HAZARDOUS = "0";
}
if (IFlag == 2)
{
//获取商品规格信息
List<SKUModel> list = IBussFactory<BussSKU>.Instance().GetSKUList(skuModel);
if (list.Count == 0)
{
SystemCommon.ShowInfoMessageBox("找不到该商品规格");
Close();
Dispose();
return;
}
skuModel = list[0];
foreach (Control item in this.Controls)
{
//item.Enabled = false;
switch (item.GetType().Name)
{
case "PictureEdit":
PictureEdit pictureEdit = item as PictureEdit;
pictureEdit.Properties.ReadOnly = true;
break;
case "WMSCtrlTextBox":
WMSCtrlTextBox textBox = item as WMSCtrlTextBox;
textBox.Properties.ReadOnly = true;
textBox.Enabled = false;
break;
case "TreeListLookUpEdit":
TreeListLookUpEdit treeListLookUpEdit = item as TreeListLookUpEdit;
treeListLookUpEdit.Properties.ReadOnly = true;
break;
case "LookUpEditSystem":
LookUpEditSystem lookUpEditSystem = item as LookUpEditSystem;
lookUpEditSystem.Properties.ReadOnly = true;
break;
case "RadioButton":
RadioButton radioButton = item as RadioButton;
radioButton.Enabled = false;
break;
case "MemoEdit":
MemoEdit memoEdit = item as MemoEdit;
memoEdit.Properties.ReadOnly = true;
break;
//case "GridControlCustom":
// GridControlCustom gridControlCustom = item as GridControlCustom;
// GridView view = gridControlCustom.MainView as GridView;
// view.OptionsBehavior.Editable = false;
// break;
default:
break;
}
}
}
bsSKU.DataSource = skuModel;
//if (skuModel.HAZARDOUS == "0")
//{
// radioButton1.Checked = true;
//}
//else
//{
// radioButton2.Checked = true;
//}
//显示图片
if (skuModel.IMG != null)
{
MemoryStream ms = new System.IO.MemoryStream(skuModel.IMG);
pictureEdit.Image = System.Drawing.Image.FromStream(ms);
}
#endregion
}
#endregion
#region
private void ctrlButtons1_Click(object sender, EventArgs e)
{
if (Validation() == false)
return;
string errText = string.Empty;
//if (radioButton1.Checked == true)
//{
// skuModel.HAZARDOUS = "1";
//}
//else
//{
// skuModel.HAZARDOUS = "0";
//}
//图片
if (pictureEdit.Image != null)
{
MemoryStream Ms = new MemoryStream();
pictureEdit.Image.Save(Ms, pictureEdit.Image.RawFormat);
byte[] img = new byte[Ms.Length];
Ms.Position = 0;
Ms.Read(img, 0, Convert.ToInt32(Ms.Length));
Ms.Close();
skuModel.IMG = img;
}
FrmClose();
//if (iFlag == 3 || iFlag == 2)
//{
// FrmClose();
// return;
//}
//SKUModel sku = bsSKU.DataSource as SKUModel;
//sku.CREATE_MAN = userData.USER_ID;
//sku.UPDATE_MAN = userData.USER_ID;
//string strGoodsInfo = Newtonsoft.Json.JsonConvert.SerializeObject(sku);
//if (iFlag == 0)
//{
// string ID = string.Empty;
// errText = WebLockConfig.Instance.WebSKU.InsertSKU(strGoodsInfo,ref ID);
// sku.SKU_ID = ID;
// if (errText != "")
// {
// SystemCommon.ShowErrorMessageBox(errText);
// }
// else
// {
// SystemCommon.ShowInfoMessageBox("添加成功!");
// FrmClose();
// }
//}
//else if (iFlag == 1)
//{
// errText = WebLockConfig.Instance.WebSKU.UpdateSKU(strGoodsInfo);
// if (errText != "")
// {
// SystemCommon.ShowErrorMessageBox(errText);
// }
// else
// {
// SystemCommon.ShowInfoMessageBox("修改成功!");
// FrmClose();
// }
//}
}
#endregion
#region
private void ctrlButtons2_Click(object sender, EventArgs e)
{
FrmClose();
}
#endregion
#region
/// <summary>
/// 验证
/// </summary>
/// <returns></returns>
private bool Validation()
{
this.Focus();
if (iFlag == 0)
{
SKUModel sku = new SKUModel();
sku.SKU_ID = txt_SKUID.Text;
List<SKUModel> li =IBussFactory<BussSKU>.Instance().GetSKUList(sku);
if (li.Count > 0)
{
SystemCommon.ShowInfoMessageBox("该商品编号已经存在!请重新输入");
txt_SKUID.Focus();
txt_SKUID.SelectAll();
return false;
}
}
if (txtGoodsName.Text == "")
{
SystemCommon.ShowErrorMessageBox("请填写商品规格名称!");
txtGoodsName.Focus();
return false;
}
//if (txtGoodsShortName.Text == "")
//{
// SystemCommon.ShowErrorMessageBox("请填写商品规格简称!");
// txtGoodsShortName.Focus();
// return false;
//}
//if (txtPyName.Text == "")
//{
// SystemCommon.ShowErrorMessageBox("请填写助记码!");
// txtPyName.Focus();
// return false;
//}
if (LueProvider.EditValue == null)
{
SystemCommon.ShowErrorMessageBox("请选择供应商!");
LueProvider.Focus();
return false;
}
if (LueSPDW.EditValue == null)
{
SystemCommon.ShowErrorMessageBox("请选择单位!");
LueSPDW.Focus();
return false;
}
return true;
}
#endregion
#region
/// <summary>
/// 关闭窗体
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void FrmGoodsSKUDet_FormClosing(object sender, FormClosingEventArgs e)
{
FrmClose();
}
/// <summary>
/// 关闭窗体
/// </summary>
private void FrmClose()
{
frmSKUDet.Dispose();
frmSKUDet.Close();
}
#endregion
/// <summary>
/// 计算体积
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void txtLong_TextChanged(object sender, EventArgs e)
{
if (txtLong.Text == "" || txtWidth.Text == "" || txtHeight.Text == "")
return;
decimal temp = 0;
if (!decimal.TryParse(txtLong.Text, out temp)) return;
if (!decimal.TryParse(txtWidth.Text, out temp)) return;
if (!decimal.TryParse(txtHeight.Text, out temp)) return;
decimal decVOLUME = decimal.Parse(txtLong.Text) * decimal.Parse(txtWidth.Text) * decimal.Parse(txtHeight.Text);
skuModel.GVOLUME = decVOLUME;
txtVOLUME.Text = decVOLUME.ToString();
}
}
}