1663 lines
62 KiB
C#
1663 lines
62 KiB
C#
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.Stock;
|
|
|
|
using WMS.Common;
|
|
using WMS.Model.Base;
|
|
using DevExpress.XtraEditors.Repository;
|
|
using DevExpress.XtraReports.UI;
|
|
using WMS.FrmBaseData;
|
|
using WMS.Ctrl;
|
|
using System.Threading;
|
|
using WMS.Model.SystemManage;
|
|
|
|
using WMS.Model.RK;
|
|
using WMS.Business;
|
|
using WMS.Business.Common;
|
|
using WMS.Business.Base;
|
|
using WMS.Business.Strategy;
|
|
using WMS.Business.SystemManage;
|
|
using WMS.Business.Stock;
|
|
|
|
namespace WMS.FrmStock
|
|
{
|
|
public partial class FrmProviderREP : FormBase
|
|
{
|
|
#region 全局变量
|
|
|
|
public ProvideRepModel proModel;
|
|
|
|
|
|
|
|
private List<SKUTabModel> listSKU = new List<SKUTabModel>();//规格集合
|
|
private bool isSKU = false;//默认未开启SKU
|
|
|
|
/// <summary>
|
|
/// 供应商明细补货Model
|
|
/// </summary>
|
|
public ProvideRepInfoModel infoInsertModel;
|
|
|
|
/// <summary>
|
|
/// 库存表集合
|
|
/// </summary>
|
|
public List<MIStockModel> stockList;
|
|
/// <summary>
|
|
/// 库存表Model
|
|
/// </summary>
|
|
public MIStockModel stockModel;
|
|
|
|
/// <summary>
|
|
/// 绑定供应商补货上半屏主表数据
|
|
/// </summary>
|
|
List<ProvideRepModel> bindList;
|
|
/// <summary>
|
|
/// 供应商补货Model
|
|
/// </summary>
|
|
ProvideRepModel pmodel;
|
|
|
|
/// <summary>
|
|
/// 绑定供应商补货下半屏明细数据
|
|
/// </summary>
|
|
List<ProvideRepInfoModel> bindInfoList;
|
|
|
|
|
|
/// <summary>
|
|
/// 数据源Copy
|
|
/// </summary>
|
|
List<ProvideRepInfoModel> CopyList = new List<ProvideRepInfoModel>();
|
|
|
|
/// <summary>
|
|
/// 明细增加
|
|
/// </summary>
|
|
List<ProvideRepInfoModel> AddList = new List<ProvideRepInfoModel>();
|
|
|
|
/// <summary>
|
|
/// 明细修改
|
|
/// </summary>
|
|
List<ProvideRepInfoModel> UpList = new List<ProvideRepInfoModel>();
|
|
|
|
/// <summary>
|
|
/// 明细删除
|
|
/// </summary>
|
|
List<ProvideRepInfoModel> DelList = new List<ProvideRepInfoModel>();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 供应商补货明细Model
|
|
/// </summary>
|
|
ProvideRepInfoModel pinfomodel;
|
|
/// <summary>
|
|
/// 同时删除主表 明细表集合
|
|
/// </summary>
|
|
List<string> strlist = new List<string>();
|
|
/// <summary>
|
|
/// 全局计量
|
|
/// </summary>
|
|
int i = 0;
|
|
/// <summary>
|
|
/// 全局库存量
|
|
/// </summary>
|
|
decimal sumTotalCount = 0;
|
|
|
|
/// <summary>
|
|
/// 单个累加
|
|
/// </summary>
|
|
decimal sumCountAdd = 0;
|
|
|
|
/// <summary>
|
|
/// 获得自动生成的验收单号流水号
|
|
/// </summary>
|
|
string pro_ID = "";
|
|
|
|
int flag = 3;
|
|
bool imp = true;
|
|
/// <summary>
|
|
/// 下拉单位选择
|
|
/// </summary>
|
|
private DevExpress.XtraEditors.Repository.RepositoryItemLookUpEdit lueUnits = new RepositoryItemLookUpEdit();
|
|
#endregion
|
|
|
|
#region 构造函数
|
|
/// <summary>
|
|
/// 无参构造
|
|
/// </summary>
|
|
public FrmProviderREP()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region 窗体加载
|
|
/// <summary>
|
|
/// 窗体加载
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
public void FrmProviderREP_Load(object sender, EventArgs e)
|
|
{
|
|
imp = true;
|
|
//检测是否开启SKU
|
|
|
|
//通用查询
|
|
FrmSelectModle = new ProvideRepModel();
|
|
xtraTabControl1.SelectedTabPageIndex = 0;
|
|
//xtraTab2.PageEnabled = false;
|
|
#region 默认加载前一周的数据
|
|
BindProvideRepData();
|
|
if (bindList.Count > 0)
|
|
{
|
|
bgsProvideTab.DataSource = BindProvideRepInfoData(bindList[0].PROREP_ID);
|
|
}
|
|
#endregion
|
|
|
|
lueUnit.NullText = "";
|
|
lueUnit.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("VC_DICTIONARY_NAME", "单位"));
|
|
lueUnit.ValueMember = "VC_CHAR_VALUE";
|
|
lueUnit.DisplayMember = "VC_DICTIONARY_NAME";
|
|
DataTable strResult = new DataTable();
|
|
try
|
|
{
|
|
strResult = IBussFactory<BussCommon>.Instance().GetCustomCtrlData("t_sys_dictionary_tab", "VC_CHAR_VALUE", "VC_DICTIONARY_NAME", " VC_DICTIONARY_TYPE = 'vc_uom' and c_flag = '1'", "");
|
|
if(strResult!=null)
|
|
{
|
|
lueUnit.DataSource = strResult;
|
|
lueUnits.NullText = "";
|
|
lueUnits.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("UNIT_NAME", "单位"));
|
|
lueUnits.ValueMember = "UNIT";
|
|
lueUnits.DisplayMember = "UNIT_NAME";
|
|
lkpUnit.NullText = "";
|
|
lkpUnit.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("VC_DICTIONARY_NAME", "单位"));
|
|
lkpUnit.ValueMember = "VC_CHAR_VALUE";
|
|
lkpUnit.DisplayMember = "VC_DICTIONARY_NAME";
|
|
lkpUnit.DataSource = strResult;
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
|
|
}
|
|
|
|
//供应商
|
|
lkpProvider.LoadData();
|
|
this.dicCreate.TextBoxFlag = userData.USER_ID;
|
|
this.dicCreate.TextBoxValue = userData.NAME;
|
|
this.dicConfirm.TextBoxFlag = userData.USER_ID;
|
|
this.dicConfirm.TextBoxValue = userData.NAME;
|
|
//this.dicReview.TextBoxFlag = userData.USER_ID;
|
|
//this.dicReview.TextBoxValue = userData.NAME;
|
|
|
|
//补货原因
|
|
this.lkpResion.LoadData();
|
|
#region 加载默认所属仓库
|
|
RoleStorageModel roles = new RoleStorageModel();
|
|
|
|
roles.ROLE_ID = userData.ROLE_ID;
|
|
|
|
List<RoleStorageModel> lists = IBussFactory<BussRoleStorage>.Instance().GetList(roles);
|
|
|
|
if(lists!=null)
|
|
{
|
|
lkpStorage.Properties.DataSource = lists;
|
|
lkpStorage.Properties.DisplayMember = "STORAGE_NAME";
|
|
lkpStorage.Properties.ValueMember = "STORAGE_ID";
|
|
if (lists.Count != 0)
|
|
{
|
|
lkpStorage.EditValue = lists[0].STORAGE_ID;
|
|
}
|
|
}
|
|
|
|
//所属仓库
|
|
//lkpStorage.LoadData();
|
|
#endregion
|
|
|
|
//只加载 库存表中有的商品数据
|
|
this.ctrGoods.selSql = @"select INVENTORY_ITEM_ID, goods_name from T_BASE_GOODS t where t.INVENTORY_ITEM_ID in (select INVENTORY_ITEM_ID from T_MI_STOCK)";
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region 公共按钮
|
|
|
|
#region 增加
|
|
/// <summary>
|
|
/// 增加按钮
|
|
/// </summary>
|
|
public void Add()
|
|
{
|
|
flag = 0;
|
|
// xtraTab2.PageEnabled = true;
|
|
//新增修改页面
|
|
xtraTabControl1.SelectedTabPageIndex = 1;
|
|
this.ctrGoods.Enabled = true;
|
|
this.dicCreate.Enabled = true;
|
|
this.daCreateDate.Enabled = true;
|
|
this.lkpProvider.Enabled = true;
|
|
this.lkpStorage.Enabled = true;
|
|
this.lkpResion.Enabled = true;
|
|
this.dicConfirm.Enabled = false;
|
|
this.daConfirmDate.Enabled = false;
|
|
// this.dicReview.Enabled = false;
|
|
//this.daReviewDate.Enabled = false;
|
|
bgsProvide.DataSource = new ProvideRepModel();
|
|
bgsProvideInfo.DataSource = null;
|
|
|
|
pro_ID = IBussFactory<BussProRepStrategy>.Instance().GetNextValNum();
|
|
proModel = new ProvideRepModel();
|
|
this.txtID.Text = pro_ID;
|
|
proModel.PROREP_STATUS = "0";
|
|
proModel.PROREP_ID = this.txtID.Text.Trim();
|
|
|
|
this.dicCreate.TextBoxFlag = userData.USER_ID;
|
|
this.dicCreate.TextBoxValue = userData.NAME;
|
|
proModel.CREATE_MAN = this.dicCreate.TextBoxFlag;
|
|
proModel.CREATE_MAN_NAME = this.dicCreate.TextBoxValue;
|
|
proModel.CREATE_DATE = DateTime.Now;
|
|
proModel.CONFIRM_DATE = DateTime.Now;
|
|
proModel.STORAGE_ID = userData.STORAGE_ID;
|
|
// proModel.REVIEW_DATE = DateTime.Now;
|
|
proModel.EXPECT_DATE = DateTime.Now.AddDays(7);
|
|
bgsProvide.DataSource = proModel;
|
|
this.label1.Focus();
|
|
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = false; }
|
|
this.gridViewProvideInfo.OptionsBehavior.Editable = true;
|
|
|
|
|
|
listSKU = new List<SKUTabModel>();
|
|
}
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// 确认人确认单据状态按钮
|
|
/// </summary>
|
|
public void EnSure()
|
|
{
|
|
|
|
}
|
|
/// <summary>
|
|
/// 审核人审核单据状态按钮
|
|
/// </summary>
|
|
public void Review()
|
|
{
|
|
if (proModel.PROREP_STATUS == null)
|
|
{
|
|
return;
|
|
}
|
|
if (proModel.PROREP_STATUS != "1")
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("该单据不需要审核!");
|
|
return;
|
|
}
|
|
|
|
proModel.PROREP_STATUS = "2";
|
|
bgsProvide.DataSource = proModel;
|
|
UpdateProvideRep();
|
|
splitContainerControl1.Panel1.Enabled = false;
|
|
this.gridViewProvideInfo.OptionsBehavior.Editable = false;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 提交
|
|
/// </summary>
|
|
public void Commit()
|
|
{
|
|
if (proModel.PROREP_STATUS == null)
|
|
{
|
|
return;
|
|
}
|
|
if (proModel.PROREP_STATUS != "2")
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("该单据不需要提交!");
|
|
return;
|
|
}
|
|
proModel.PROREP_STATUS = "3";
|
|
bgsProvide.DataSource = proModel;
|
|
}
|
|
|
|
#region 编辑
|
|
/// <summary>
|
|
/// 编辑按钮
|
|
/// </summary>
|
|
public void Edit()
|
|
{
|
|
gridViewProvideMain_DoubleClick(null, null);
|
|
}
|
|
#endregion
|
|
|
|
#region 删除
|
|
/// <summary>
|
|
/// 删除按钮
|
|
/// </summary>
|
|
public void Del()
|
|
{
|
|
#region 新增操作 界面删除不需要补货的商品数据
|
|
|
|
if (this.gridViewProvideInfo.RowCount > 0 && frmButtonItem["Confirm"].Enabled == true)
|
|
{
|
|
bindInfoList.RemoveAt(this.gridViewProvideInfo.FocusedRowHandle);
|
|
return;
|
|
}
|
|
#endregion
|
|
|
|
this.xtraTab1.Focus();
|
|
if (DialogResult.OK == SystemCommon.ShowMessageBoxResult("删除选中单据将同时删除改单据下的所有明细数据,是否要删除?"))
|
|
{
|
|
DeleteProvideRep();
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 查询
|
|
/// <summary>
|
|
/// 查询按钮
|
|
/// </summary>
|
|
public void Search()
|
|
{
|
|
LoadForm load = new LoadForm();
|
|
DevExpress.XtraSplashScreen.SplashScreenManager.ShowForm(load, load.GetType(), false, true, false, 30);
|
|
DevExpress.XtraSplashScreen.SplashScreenManager.Default.SetWaitFormDescription("数据查询中,请等待...");
|
|
|
|
BindProvideRepData();
|
|
DevExpress.XtraSplashScreen.SplashScreenManager.CloseForm();
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 重置
|
|
/// <summary>
|
|
/// 重置按钮
|
|
/// </summary>
|
|
public void Refresh()
|
|
{
|
|
imp = true;
|
|
BindProvideRepData();
|
|
if (bindList.Count != 0)
|
|
{
|
|
bgsProvideTab.DataSource = BindProvideRepInfoData(bindList[0].PROREP_ID);
|
|
}
|
|
if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("EnSure")) { frmButtonItem["EnSure"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("Review")) { frmButtonItem["Review"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("Commit")) { frmButtonItem["Commit"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Search")) { frmButtonItem["Search"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Refresh")) { frmButtonItem["Refresh"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; }
|
|
bgsProvide.DataSource = new ProvideRepModel();
|
|
this.ctrGoods.TextBoxFlag = string.Empty;
|
|
this.ctrGoods.TextBoxValue = string.Empty;
|
|
|
|
this.dicCreate.TextBoxFlag = string.Empty;
|
|
this.dicCreate.TextBoxValue = string.Empty;
|
|
this.dicConfirm.TextBoxFlag = string.Empty;
|
|
this.dicConfirm.TextBoxValue = string.Empty;
|
|
//this.dicReview.TextBoxFlag = string.Empty;
|
|
//this.dicReview.TextBoxValue = string.Empty;
|
|
|
|
bgsProvideInfo.DataSource = null;
|
|
xtraTabControl1.SelectedTabPageIndex = 0;
|
|
}
|
|
#endregion
|
|
|
|
#region 清空
|
|
/// <summary>
|
|
/// 清空按钮
|
|
/// </summary>
|
|
//public void Clear()
|
|
//{
|
|
//this.ctrGoods.TextBoxValue = string.Empty;
|
|
//this.ctrGoods.TextBoxFlag = string.Empty;
|
|
//this.lkpProvider.EditValue = string.Empty;
|
|
//this.txtID.Text = string.Empty;
|
|
//this.txtRemark.Text = string.Empty;
|
|
//this.dicCreate.TextBoxFlag = string.Empty;
|
|
//this.dicCreate.TextBoxValue = string.Empty;
|
|
//this.dicConfirm.TextBoxFlag = string.Empty;
|
|
//this.dicConfirm.TextBoxValue = string.Empty;
|
|
//this.dicReview.TextBoxFlag = string.Empty;
|
|
//this.dicReview.TextBoxValue = string.Empty;
|
|
//this.lkpResion.EditValue = string.Empty;
|
|
//this.daCreateDate.EditValue = null;
|
|
//this.daConfirmDate.EditValue = null;
|
|
//this.daReviewDate.EditValue = null;
|
|
//this.daArriveDate.EditValue = null;
|
|
|
|
//}
|
|
#endregion
|
|
|
|
#region 导出
|
|
/// <summary>
|
|
/// 导出按钮
|
|
/// </summary>
|
|
public void Export()
|
|
{
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 打印
|
|
/// <summary>
|
|
/// 打印按钮
|
|
/// </summary>
|
|
public void Print()
|
|
{
|
|
|
|
if (proModel.PROREP_STATUS == "0")
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("该单据未确认,不能打印!请选择确认单据!");
|
|
return;
|
|
}
|
|
|
|
if (proModel.PRINT_COUNT > 0)
|
|
{
|
|
if (DialogResult.No == SystemCommon.ShowMessageBoxResult("供应商补货单 - " + proModel.PROREP_ID + Environment.NewLine + " 已打印" + Convert.ToInt32(proModel.PRINT_COUNT) + "次,是否开始打印"))
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
//打印时给单位名称赋值
|
|
string errText = string.Empty;
|
|
string strDataSet = string.Empty;
|
|
List<DictionaryTabModel> listDictionaryTab = new List<DictionaryTabModel>();
|
|
try
|
|
{
|
|
listDictionaryTab = IBussFactory<BussDictionaryTab>.Instance().GetDictionaryTab("vc_uom");//调用Web服务读取字典明细信息
|
|
}
|
|
catch (Exception)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
|
|
}
|
|
|
|
foreach (ProvideRepInfoModel item in bindInfoList)
|
|
{
|
|
if (item.UNIT != null)
|
|
{
|
|
item.UNIT_NAME = listDictionaryTab.Find(p => p.VC_CHAR_VALUE == item.UNIT).VC_DICTIONARY_NAME;
|
|
}
|
|
}
|
|
proModel.DOCUMENT_PERSON_ID = userData.USER_ID;
|
|
proModel.DOCUMENT_PERSON = userData.NAME;
|
|
proModel.DOCUMENT_TIME = DateTime.Now;
|
|
|
|
string strModel = Newtonsoft.Json.JsonConvert.SerializeObject(proModel);
|
|
//string errText = string.Empty;
|
|
try
|
|
{
|
|
// errText = WebLockConfig.Instance.WebProvideRep.PrintOK(strModel);
|
|
}
|
|
catch (Exception)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
|
|
}
|
|
if (string.IsNullOrEmpty(errText))//如果成功
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("打印成功");
|
|
BindReviewOthers();
|
|
}
|
|
else
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("修改打印记录失败,请重新打印。" + errText);
|
|
}
|
|
//}
|
|
//else
|
|
//{
|
|
// SystemCommon.ShowInfoMessageBox("打印失败");
|
|
//}
|
|
}
|
|
#endregion
|
|
|
|
#region 确认按钮
|
|
/// <summary>
|
|
/// 生成单据按钮(生成的单据为未确认状态)
|
|
/// </summary>
|
|
public void Confirm()
|
|
{
|
|
|
|
if (proModel.PROREP_STATUS == null)
|
|
{
|
|
return;
|
|
}
|
|
if (proModel.PROREP_STATUS != "0")
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("该单据不需要审核!");
|
|
return;
|
|
}
|
|
proModel.CONFIRM_DATE = DateTime.Now;
|
|
this.dicConfirm.TextBoxFlag = userData.USER_ID;
|
|
this.dicConfirm.TextBoxValue = userData.NAME;
|
|
proModel.CONFIRM_MAN = this.dicConfirm.TextBoxFlag;
|
|
proModel.CONFIRM_MAN_NAME = this.dicConfirm.TextBoxValue;
|
|
proModel.PROREP_STATUS = "1";
|
|
bgsProvide.DataSource = proModel;
|
|
UpdateProvideRep();
|
|
splitContainerControl1.Panel1.Enabled = false;
|
|
splitContainerControl1.Panel2.Enabled = false;
|
|
}
|
|
#endregion
|
|
|
|
#region 保存
|
|
/// <summary>
|
|
/// 保存按钮
|
|
/// </summary>
|
|
public void Save()
|
|
{
|
|
if (isSKU)
|
|
{
|
|
//判断是否都选了商品规格 数量是否相同
|
|
gridViewProvideInfo.CloseEditor();
|
|
bindInfoList = bgsProvideInfo.DataSource as List<ProvideRepInfoModel>;
|
|
foreach (var item in bindInfoList)
|
|
{
|
|
decimal i = 0;
|
|
//List<SKUTabModel> listSKUTab = listSKU.FindAll(p => p.INVENTORY_ITEM_ID == item.INVENTORY_ITEM_ID);
|
|
//foreach (var ite in listSKUTab)
|
|
//{
|
|
// i += ite.SKU_NUM;
|
|
//}
|
|
//if (item.GOODS_COUNT != i)
|
|
//{
|
|
// SystemCommon.ShowInfoMessageBox("请为" + item.GOODS_NAME + "选择规格");
|
|
// xtraTabControl1.SelectedTabPageIndex = 1;
|
|
// return;
|
|
//}
|
|
}
|
|
|
|
}
|
|
if (flag == 0)
|
|
{
|
|
|
|
proModel.TOTAL_NUM = sumTotalCount;
|
|
proModel.OPERATEDATE = DateTime.Now;
|
|
proModel.OPERATORID = userData.USER_ID;
|
|
bgsProvide.DataSource = proModel;
|
|
|
|
if (this.gridViewProvideInfo.RowCount < 1)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("没有商品可以进行补货,请先选择至少一种商品!");
|
|
return;
|
|
}
|
|
InsertProvideRep();
|
|
}
|
|
else if (flag == 1)
|
|
{
|
|
bgsProvide.EndEdit();
|
|
this.xtraTab1.Focus();
|
|
if (string.IsNullOrEmpty(this.lkpProvider.EditValue.ToString()))
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("请选择要补货的供应商!");
|
|
return;
|
|
}
|
|
UpdateProvideRep();
|
|
flag = 3;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 通用查询
|
|
/// <summary>
|
|
/// 通用查询
|
|
/// </summary>
|
|
/// <param name="table"></param>
|
|
public override void LoadListData(DataTable table)
|
|
{
|
|
|
|
bindList = ConvertHelper<ProvideRepModel>.ConvertToList(table);
|
|
bgsProvideMain.DataSource = bindList;
|
|
this.gridViewProvideMain.RefreshData();
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 明细增加
|
|
/// <summary>
|
|
/// 明细增加
|
|
/// </summary>
|
|
public void Rebreak()
|
|
{
|
|
|
|
this.ctrGoods.Enabled = true;
|
|
if (proModel.PROREP_STATUS == "2")
|
|
{
|
|
return;
|
|
}
|
|
CopyList.AddRange(bindInfoList);
|
|
UpList.AddRange(CopyList);
|
|
this.gridViewProvideInfo.OptionsBehavior.Editable = true;
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 明细删除
|
|
/// <summary>
|
|
/// 明细删除
|
|
/// </summary>
|
|
public void Clear()
|
|
{
|
|
if (this.gridViewProvideInfo.FocusedRowHandle < 0)
|
|
{
|
|
return;
|
|
}
|
|
if (proModel.PROREP_STATUS == "2")
|
|
{
|
|
return;
|
|
}
|
|
if (CopyList.Count == 0)
|
|
{
|
|
CopyList.AddRange(bindInfoList);
|
|
UpList.AddRange(CopyList);
|
|
}
|
|
ProvideRepInfoModel mod = CopyList[gridViewProvideInfo.FocusedRowHandle];
|
|
CopyList.Remove(mod);
|
|
if (AddList.Contains(mod))
|
|
{
|
|
AddList.Remove(mod);
|
|
}
|
|
//if (!string.IsNullOrEmpty(mod.INVENTORY_ITEM_ID))
|
|
//{
|
|
// if (UpList.Contains(mod))
|
|
// {
|
|
// DelList.Add(mod);
|
|
// }
|
|
//}
|
|
if (UpList.Contains(mod))
|
|
{
|
|
UpList.Remove(mod);
|
|
}
|
|
|
|
this.gridControlCustomProInfo.DataSource = CopyList;
|
|
this.gridViewProvideInfo.RefreshData();
|
|
}
|
|
#endregion
|
|
/// <summary>
|
|
/// 明细保存
|
|
/// </summary>
|
|
public void Audit()
|
|
{
|
|
//if (UpList.Count > 0 || AddList.Count > 0 || DelList.Count > 0)
|
|
//{
|
|
// string UpListModel = Newtonsoft.Json.JsonConvert.SerializeObject(UpList);
|
|
// string AddListModel = Newtonsoft.Json.JsonConvert.SerializeObject(AddList);
|
|
// string DelListModel = Newtonsoft.Json.JsonConvert.SerializeObject(DelList);
|
|
// foreach (ProvideRepInfoModel m in AddList)
|
|
// {
|
|
// if (m.GOODS_COUNT == 0)
|
|
// {
|
|
// SystemCommon.ShowInfoMessageBox("新增明细商品中含有未填写补货数量的数据,请填写完毕!");
|
|
// return;
|
|
// }
|
|
|
|
// }
|
|
// //string err = WebLockConfig.Instance.WebProvideRep.NewProvideRepInfoFuc(UpListModel, AddListModel, DelListModel);
|
|
// string err = WebLockConfig.Instance.WebProvideRep.NewProvideRepInfoFuc(UpListModel, AddListModel, DelListModel);
|
|
// if (!string.IsNullOrEmpty(err))
|
|
// {
|
|
// SystemCommon.ShowErrorMessageBox(err);
|
|
// }
|
|
// else
|
|
// {
|
|
// SystemCommon.ShowInfoMessageBox("明细修改成功!");
|
|
|
|
// CopyList = new List<ProvideRepInfoModel>();
|
|
// UpList = new List<ProvideRepInfoModel>();
|
|
// DelList = new List<ProvideRepInfoModel>();
|
|
// AddList = new List<ProvideRepInfoModel>();
|
|
// BindReviewOthers();
|
|
// xtraTabControl1.SelectedTabPageIndex = 0;
|
|
|
|
// }
|
|
//}
|
|
}
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region ctrGoods_Button_Click事件
|
|
/// <summary>
|
|
/// ctrGoods_Button_Click 选商品获得需要补货的商品信息
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void ctrGoods_Button_Click(object sender, EventArgs e)
|
|
{
|
|
if (this.ctrGoods.SelectTable.Rows.Count == 0)
|
|
{
|
|
//SystemCommon.ShowErrorMessageBox("请选择商品!");
|
|
return;
|
|
}
|
|
//商品放大镜集合
|
|
List<JWGoodsInfoModel> goods = ConvertHelper<JWGoodsInfoModel>.ConvertToList(ctrGoods.SelectTable);
|
|
////商品表集合
|
|
//List<JWGoodsInfoModel> goodslist = new List<JWGoodsInfoModel>();
|
|
//库存集合(多个商品数据集)
|
|
stockList = new List<MIStockModel>();
|
|
//库存集合(单个商品数据集)
|
|
List<MIStockModel> milist = new List<MIStockModel>();
|
|
//补货明细集合
|
|
bindInfoList = new List<ProvideRepInfoModel>();
|
|
|
|
foreach (JWGoodsInfoModel info in goods)
|
|
{
|
|
stockModel = new MIStockModel();
|
|
//stockModel.INVENTORY_ITEM_ID = info.INVENTORY_ITEM_ID;
|
|
string errtext = "";
|
|
|
|
milist = IBussFactory<BussMIStock>.Instance().GetMIStockList(stockModel);
|
|
|
|
stockList.AddRange(milist);
|
|
milist = new List<MIStockModel>();
|
|
}
|
|
|
|
//var ll = stockList.GroupBy(s => new { s.INVENTORY_ITEM_ID, s.GOODS_NAME, }).Select(g => new { g.Key.INVENTORY_ITEM_ID, g.Key.GOODS_NAME, SHELVES_NUM = g.Sum(f => f.SHELVES_NUM) });
|
|
//bgsMiStock.DataSource = ll.ToList();
|
|
|
|
//foreach (var ii in ll)
|
|
//{
|
|
// infoInsertModel = new ProvideRepInfoModel();
|
|
// infoInsertModel.INVENTORY_ITEM_ID = ii.INVENTORY_ITEM_ID;
|
|
// infoInsertModel.GOODS_NAME = ii.GOODS_NAME;
|
|
// infoInsertModel.SHEVL_NUM = ii.SHELVES_NUM;
|
|
// List<JWGoodsInfoModel> lg = IBussFactory<BussGoods>.Instance().GetGoodsList(infoInsertModel.INVENTORY_ITEM_ID, "", "", "");
|
|
|
|
// if(lg!=null)
|
|
// {
|
|
// if (lg.Count != 0)
|
|
// {
|
|
// //infoInsertModel.PRICE = lg[0].PRICE;
|
|
// //infoInsertModel.UNIT = lg[0].UNIT;
|
|
// }
|
|
// bindInfoList.Add(infoInsertModel);
|
|
// }
|
|
|
|
//}
|
|
|
|
gridControlCustomProInfo.DataSource = bindInfoList;
|
|
bgsProvideInfo.DataSource = gridControlCustomProInfo.DataSource;
|
|
gridViewProvideInfo.RefreshData();
|
|
|
|
if (CopyList.Count > 0)
|
|
{
|
|
List<ProvideRepInfoModel> add = new List<ProvideRepInfoModel>();
|
|
foreach (ProvideRepInfoModel mo in bindInfoList)
|
|
{
|
|
//if (CopyList.Find(r => r.INVENTORY_ITEM_ID == mo.INVENTORY_ITEM_ID) != null)
|
|
//{
|
|
// continue;
|
|
//}
|
|
mo.PROREP_ID = proModel.PROREP_ID;
|
|
add.Add(mo);
|
|
}
|
|
AddList.AddRange(add);
|
|
CopyList.AddRange(add);
|
|
|
|
gridControlCustomProInfo.DataSource = CopyList;
|
|
bgsProvideInfo.DataSource = gridControlCustomProInfo.DataSource;
|
|
gridViewProvideInfo.RefreshData();
|
|
}
|
|
|
|
#region 判断是不是由新增按钮触发的 选商品
|
|
if (flag == 0 || frmButtonItem["Rebreak"].Enabled == true)
|
|
{
|
|
this.gridViewProvideInfo.OptionsBehavior.Editable = true;
|
|
}
|
|
else
|
|
{
|
|
this.gridViewProvideInfo.OptionsBehavior.Editable = false;
|
|
}
|
|
#endregion
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region Xtab1
|
|
|
|
#region 生成单据
|
|
/// <summary>
|
|
/// 生成供应商补货单据
|
|
/// </summary>
|
|
private void InsertProvideRep()
|
|
{
|
|
this.label1.Focus();
|
|
//将输入改变值挂起
|
|
bgsProvide.EndEdit();
|
|
string errtext = "";
|
|
try
|
|
{
|
|
//明细表
|
|
foreach (ProvideRepInfoModel pinfo in bindInfoList)
|
|
{
|
|
if (!string.IsNullOrEmpty(this.txtID.Text))
|
|
{
|
|
pinfo.PROREP_ID = proModel.PROREP_ID;
|
|
}
|
|
if (pinfo.GOODS_COUNT == 0)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("含有未填写补货量的商品,请填写完毕!");
|
|
return;
|
|
}
|
|
}
|
|
string strSKUList = Newtonsoft.Json.JsonConvert.SerializeObject(listSKU);//List转字符串
|
|
ProvideRepModel modele =(ProvideRepModel) bgsProvide.DataSource;
|
|
//errtext = WebLockConfig.Instance.WebProvideRep.InsertProvideRepData(mode, modelinfo);
|
|
errtext = IBussFactory<BussProvideRep>.Instance().InsertProvideRepData(modele , bindInfoList );
|
|
if (!string.IsNullOrEmpty(errtext))
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("操作失败!" + errtext);
|
|
}
|
|
else
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("操作成功!");
|
|
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("网络连接错误,请检查当前网络环境是否可用!");
|
|
}
|
|
this.ctrGoods.TextBoxFlag = string.Empty;
|
|
this.ctrGoods.TextBoxValue = string.Empty;
|
|
|
|
BindReviewOthers();
|
|
xtraTabControl1.SelectedTabPageIndex = 0;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region Xtab2
|
|
|
|
#region 绑定供应商补货 上半屏
|
|
/// <summary>
|
|
/// 获得供应商补货数据 上半屏
|
|
/// </summary>
|
|
private void BindProvideRepData()
|
|
{
|
|
LoadForm load = new LoadForm();
|
|
DevExpress.XtraSplashScreen.SplashScreenManager.ShowForm(load, load.GetType(), false, true, false, 70);
|
|
DevExpress.XtraSplashScreen.SplashScreenManager.Default.SetWaitFormDescription("数据加载中...");
|
|
bindList = new List<ProvideRepModel>();
|
|
proModel = new ProvideRepModel();
|
|
new Thread(delegate()
|
|
{
|
|
|
|
proModel.TIMESTART = DateTime.Now.AddDays(-30);
|
|
proModel.TIMEEND = DateTime.Now.AddDays(1);
|
|
string strlist = "";
|
|
|
|
try
|
|
{
|
|
this.Invoke(new MethodInvoker(delegate()
|
|
{
|
|
|
|
bindList = IBussFactory<BussProvideRep>.Instance().GetProvideRepData(proModel);
|
|
|
|
if (bindList != null)
|
|
{
|
|
if (bindList.Count > 0)
|
|
{
|
|
List<ProvideRepModel> lp = bindList.FindAll(r => r.PROREP_STATUS != "3");
|
|
bgsProvideMain.DataSource = lp;
|
|
if (lp.Count > 0)
|
|
{
|
|
proModel = lp[0];
|
|
bgsProvideTab.DataSource = BindProvideRepInfoData(lp[0].PROREP_ID);
|
|
}
|
|
|
|
|
|
}
|
|
//没数据时 2表清空
|
|
else if (bindList.Count == 0)
|
|
{
|
|
bgsProvideMain.DataSource = null;
|
|
bgsProvideTab.DataSource = null;
|
|
}
|
|
else
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("没有查询到符合条件的数据!");
|
|
}
|
|
}
|
|
DevExpress.XtraSplashScreen.SplashScreenManager.CloseForm();
|
|
}));
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
SystemCommon.ShowErrorMessageBox("网络连接错误,请检查当前网络环境是否可用!");
|
|
}
|
|
|
|
}).Start();
|
|
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 上半屏单条数据 Click事件
|
|
/// <summary>
|
|
/// Click 显示供应商补货明细表数据
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void gridControlCustomProvide_Click(object sender, EventArgs e)
|
|
{
|
|
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("EnSure")) { frmButtonItem["EnSure"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("Review")) { frmButtonItem["Review"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; }
|
|
//明细增加
|
|
if (frmButtonItem.ContainsKey("Rebreak")) { frmButtonItem["Rebreak"].Enabled = false; }
|
|
//明细删除
|
|
if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = false; }
|
|
|
|
pinfomodel = new ProvideRepInfoModel();
|
|
if (this.gridViewProvideMain.RowCount < 1)
|
|
{
|
|
return;
|
|
}
|
|
//没有数据时 点击跳出
|
|
if (this.gridViewProvideMain.FocusedRowHandle < 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
bindInfoList = new List<ProvideRepInfoModel>();
|
|
proModel = this.gridViewProvideMain.GetRow(this.gridViewProvideMain.FocusedRowHandle) as ProvideRepModel;
|
|
string strID = this.gridViewProvideMain.GetRowCellValue(this.gridViewProvideMain.FocusedRowHandle, "PROREP_ID").ToString();
|
|
if (!string.IsNullOrEmpty(strID))
|
|
{
|
|
bgsProvideTab.DataSource = BindProvideRepInfoData(strID);
|
|
|
|
bindInfoList = bgsProvideTab.DataSource as List<ProvideRepInfoModel>;
|
|
if (bindInfoList.Count > 0)
|
|
{
|
|
bgsProvideTab.DataSource = bindInfoList;
|
|
}
|
|
}
|
|
this.gridViewProvideTab.RefreshData();
|
|
}
|
|
#endregion
|
|
|
|
#region 上半屏单条数据 DoubleClick事件 进行修改
|
|
/// <summary>
|
|
/// DoubleClick 进行修改
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void gridViewProvideMain_DoubleClick(object sender, EventArgs e)
|
|
{
|
|
flag = 1;
|
|
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Rebreak")) { frmButtonItem["Rebreak"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = false; }
|
|
// if (frmButtonItem.ContainsKey("Search")) { frmButtonItem["Search"].Enabled = false; }
|
|
|
|
if (this.gridViewProvideMain.RowCount < 1)
|
|
{
|
|
return;
|
|
}
|
|
if (this.gridViewProvideMain.FocusedRowHandle < 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
proModel = this.gridViewProvideMain.GetRow(this.gridViewProvideMain.FocusedRowHandle) as ProvideRepModel;
|
|
#region 已审核的数据不需要修改
|
|
//确认人确认单据
|
|
if (proModel.PROREP_STATUS == "0")
|
|
{
|
|
if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = true; }
|
|
this.dicConfirm.Enabled = true;
|
|
this.daConfirmDate.Enabled = true;
|
|
this.dicCreate.TextBoxFlag = proModel.CREATE_MAN;
|
|
this.dicCreate.TextBoxValue = proModel.CREATE_MAN_NAME;
|
|
this.dicConfirm.TextBoxFlag = userData.USER_ID;
|
|
this.dicConfirm.TextBoxValue = userData.NAME;
|
|
proModel.CONFIRM_DATE = DateTime.Now;
|
|
}
|
|
//审核人审核单据
|
|
//else if (proModel.PROREP_STATUS == "1")
|
|
//{
|
|
// frmButtonItem["Review"].Enabled = true;
|
|
// if (frmButtonItem.ContainsKey("Rebreak")) { frmButtonItem["Rebreak"].Enabled = false; }
|
|
// if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = false; }
|
|
// if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; }
|
|
// this.dicCreate.Enabled = false;
|
|
// this.daCreateDate.Enabled = false;
|
|
// this.dicConfirm.Enabled = false;
|
|
// this.daConfirmDate.Enabled = false;
|
|
// this.lkpProvider.Enabled = false;
|
|
// this.lkpStorage.Enabled = false;
|
|
// this.lkpResion.Enabled = false;
|
|
// this.dicReview.Enabled = true;
|
|
// this.daReviewDate.Enabled = true;
|
|
// this.dicCreate.TextBoxFlag = proModel.CREATE_MAN;
|
|
// this.dicCreate.TextBoxValue = proModel.CREATE_MAN_NAME;
|
|
// this.dicConfirm.TextBoxFlag = proModel.CONFIRM_MAN;
|
|
// this.dicConfirm.TextBoxValue = proModel.CONFIRM_MAN_NAME;
|
|
// this.dicReview.TextBoxFlag = userData.USER_ID;
|
|
// this.dicReview.TextBoxValue = userData.NAME;
|
|
// //proModel.REVIEW_DATE = DateTime.Now;
|
|
//}
|
|
//审核过的数据
|
|
else
|
|
{
|
|
//frmButtonItem["Review"].Enabled = false;
|
|
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("Rebreak")) { frmButtonItem["Rebreak"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = true; }
|
|
// if (frmButtonItem.ContainsKey("Search")) { frmButtonItem["Search"].Enabled = false; }
|
|
|
|
|
|
bgsProvideInfo.DataSource = null;
|
|
bgsProvide.DataSource = new ProvideRepModel();
|
|
this.dicCreate.TextBoxFlag = string.Empty;
|
|
this.dicCreate.TextBoxValue = string.Empty;
|
|
this.dicConfirm.TextBoxFlag = string.Empty;
|
|
this.dicConfirm.TextBoxValue = string.Empty;
|
|
this.daCreateDate.EditValue = DateTime.Now;
|
|
this.daConfirmDate.EditValue = DateTime.Now;
|
|
return;
|
|
}
|
|
#endregion
|
|
string strID = this.gridViewProvideMain.GetRowCellValue(this.gridViewProvideMain.FocusedRowHandle, "PROREP_ID").ToString();
|
|
proModel.OPERATEDATE = DateTime.Now;
|
|
proModel.OPERATORID = userData.USER_ID;
|
|
bgsProvide.EndEdit();
|
|
bgsProvide.DataSource = proModel;
|
|
|
|
|
|
gridControlCustomProInfo.DataSource = BindProvideRepInfoData(strID);
|
|
bgsProvideInfo.DataSource = gridControlCustomProInfo.DataSource;
|
|
gridViewProvideInfo.RefreshData();
|
|
xtraTabControl1.SelectedTabPageIndex = 1;
|
|
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = true; }
|
|
|
|
#region 编辑修改时 明细数据可编辑 选商品不能进行
|
|
this.gridViewProvideInfo.OptionsBehavior.Editable = true;
|
|
this.ctrGoods.Enabled = false;
|
|
#endregion
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 绑定供应商补货明细数据 下半屏源数据
|
|
/// <summary>
|
|
/// 绑定供应商补货 明细数据方法
|
|
/// </summary>
|
|
/// <param name="strId">供应商补货编号</param>
|
|
/// <returns></returns>
|
|
private List<ProvideRepInfoModel> BindProvideRepInfoData(string strId)
|
|
{
|
|
bindInfoList = new List<ProvideRepInfoModel>();
|
|
if (!string.IsNullOrEmpty(strId))
|
|
{
|
|
string detailinfo = "";
|
|
try
|
|
{
|
|
bindInfoList = IBussFactory<BussProvideRep>.Instance().GetProvideRepInfoData(strId);
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("网络连接错误,请检查当前网络环境是否可用");
|
|
}
|
|
return bindInfoList;
|
|
}
|
|
return bindInfoList;
|
|
}
|
|
#endregion
|
|
|
|
#region 删除
|
|
/// <summary>
|
|
/// 删查询后的数据(主表、明细表)
|
|
/// </summary>
|
|
public void DeleteProvideRep()
|
|
{
|
|
string errtext = "";
|
|
GetCheckData();
|
|
List<ProvideRepModel> pro = new List<ProvideRepModel>();
|
|
|
|
if (i > 0)
|
|
{
|
|
try
|
|
{
|
|
|
|
errtext = IBussFactory<BussProvideRep>.Instance().DeleteProvideRepByID(strlist);
|
|
if (!string.IsNullOrEmpty(errtext))
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("操作失败!");
|
|
}
|
|
else
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("操作成功!");
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("网络连接错误,请检查当前网络环境是否可用!");
|
|
}
|
|
}
|
|
BindReviewOthers();
|
|
}
|
|
#endregion
|
|
|
|
#region 获得主表明细表删除选中项数据
|
|
/// <summary>
|
|
/// 获得查询数据主表check 选中项
|
|
/// </summary>
|
|
private void GetCheckData()
|
|
{
|
|
strlist = new List<string>();
|
|
string str = "";
|
|
//赋值为初始值 是为了再次操作时 重新计量
|
|
i = 0;
|
|
this.xtraTab2.Focus();
|
|
foreach (ProvideRepModel model in bindList)
|
|
{
|
|
str = string.Empty;
|
|
if (model.SELECTID == "1")
|
|
{
|
|
str = model.PROREP_ID;
|
|
strlist.Add(str);
|
|
i++;
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 新增 修改 删除 数据重新绑定
|
|
/// <summary>
|
|
/// 新增 修改 删除 数据重新绑定
|
|
/// </summary>
|
|
private void BindReviewOthers()
|
|
{
|
|
//重绑主表数据
|
|
BindProvideRepData();
|
|
List<ProvideRepModel> lp = bindList.FindAll(r => r.PROREP_STATUS != "3");
|
|
bgsProvideMain.DataSource = lp;
|
|
if (lp.Count != 0)
|
|
{
|
|
this.gridViewProvideMain.FocusedRowHandle = 0;
|
|
gridControlCustomProvide_Click(null, null);
|
|
}
|
|
if (frmButtonItem.ContainsKey("Search")) { frmButtonItem["Search"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("EnSure")) { frmButtonItem["EnSure"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("Review")) { frmButtonItem["Review"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("Rebreak")) { frmButtonItem["Rebreak"].Enabled = false; }
|
|
//if (frmButtonItem.ContainsKey("Audit")) { frmButtonItem["Audit"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("Clear")) { frmButtonItem["Clear"].Enabled = false; }
|
|
splitContainerControl1.Panel1.Enabled = true;
|
|
splitContainerControl1.Panel2.Enabled = true;
|
|
this.gridViewProvideMain.RefreshData();
|
|
//操作主表文本框清空
|
|
bgsProvide.DataSource = new ProvideRepModel();
|
|
this.dicCreate.TextBoxFlag = string.Empty;
|
|
this.dicCreate.TextBoxValue = string.Empty;
|
|
this.dicConfirm.TextBoxFlag = string.Empty;
|
|
this.dicConfirm.TextBoxValue = string.Empty;
|
|
//this.dicReview.TextBoxFlag = string.Empty;
|
|
//this.dicReview.TextBoxValue = string.Empty;
|
|
this.daCreateDate.EditValue = DateTime.Now;
|
|
this.daConfirmDate.EditValue = DateTime.Now;
|
|
//this.daReviewDate.EditValue = DateTime.Now;
|
|
//明细表清空
|
|
bgsProvideInfo.DataSource = null;
|
|
this.gridViewProvideMain.RefreshData();
|
|
this.gridViewProvideTab.RefreshData();
|
|
}
|
|
#endregion
|
|
|
|
#region 修改更新
|
|
/// <summary>
|
|
/// 改 供应商补货数据方法
|
|
/// </summary>
|
|
public void UpdateProvideRep()
|
|
{
|
|
string wid = string.Empty;
|
|
string errtext = string.Empty;
|
|
this.label1.Focus();
|
|
try
|
|
{
|
|
#region 明细表有新增或删除调用此方法(同时保存主表、明细表数据)
|
|
if (UpList.Count > 0 || AddList.Count > 0 || DelList.Count > 0)
|
|
{
|
|
|
|
foreach (ProvideRepInfoModel m in AddList)
|
|
{
|
|
if (m.GOODS_COUNT == 0)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("新增明细商品中含有未填写补货数量的数据,请填写完毕!");
|
|
return;
|
|
}
|
|
|
|
}
|
|
ProvideRepModel strmodel = (ProvideRepModel)bgsProvide.DataSource;
|
|
|
|
// errtext = WebLockConfig.Instance.WebProvideRep.NewProvideRepInfoFuc(strmodel, UpListModel, AddListModel, DelListModel);
|
|
errtext = IBussFactory<BussProvideRep>.Instance().NewProvideRepInfoFuc(strmodel, UpList, AddList, DelList );
|
|
CopyList = new List<ProvideRepInfoModel>();
|
|
UpList = new List<ProvideRepInfoModel>();
|
|
DelList = new List<ProvideRepInfoModel>();
|
|
AddList = new List<ProvideRepInfoModel>();
|
|
}
|
|
#endregion
|
|
|
|
#region 明细只是修改调用此方法(同时保存主表、明细表数据)
|
|
else
|
|
{
|
|
ProvideRepModel strmodel = (ProvideRepModel)bgsProvide.DataSource;
|
|
|
|
|
|
List<ProvideRepInfoModel> strmodelinfo = (List<ProvideRepInfoModel>) bgsProvideInfo.DataSource ;
|
|
//errtext = WebLockConfig.Instance.WebProvideRep.UpdateProvideRepData(strmodel, strmodelinfo);
|
|
errtext = IBussFactory<BussProvideRep>.Instance().UpdateProvideRepData(strmodel, strmodelinfo);
|
|
|
|
}
|
|
#endregion
|
|
|
|
if (!string.IsNullOrEmpty(errtext))
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("操作失败!" + errtext);
|
|
}
|
|
else
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("操作成功!");
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
catch (Exception ex)
|
|
{
|
|
|
|
SystemCommon.ShowInfoMessageBox("网络连接错误,请检查当前网络环境是否可用!");
|
|
}
|
|
BindReviewOthers();
|
|
xtraTabControl1.SelectedTabPageIndex = 0;
|
|
|
|
this.ctrGoods.Enabled = true;
|
|
this.dicCreate.Enabled = false;
|
|
this.daCreateDate.Enabled = false;
|
|
this.dicConfirm.Enabled = false;
|
|
this.daConfirmDate.Enabled = false;
|
|
//this.dicReview.Enabled = false;
|
|
//this.daReviewDate.Enabled = false;
|
|
//this.daReviewDate.Enabled = false;
|
|
}
|
|
#endregion
|
|
|
|
|
|
|
|
#region CustomColumnDisplayText 显示状态名称
|
|
/// <summary>
|
|
/// gridViewProvideMain_CustomColumnDisplayText 显示状态名称
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void gridViewProvideMain_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
|
|
{
|
|
if (e.Column.FieldName == "PROREP_STATUS")
|
|
{
|
|
if (e.Value == null)
|
|
{
|
|
return;
|
|
}
|
|
switch (e.Value.ToString().Trim())
|
|
{
|
|
case "0":
|
|
e.DisplayText = "未确认";
|
|
break;
|
|
case "1":
|
|
e.DisplayText = "已确认";
|
|
break;
|
|
case "2":
|
|
e.DisplayText = "已审核";
|
|
break;
|
|
default:
|
|
e.DisplayText = "已提交";
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void gridViewProvideInfo_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
|
|
{
|
|
if (e.Column.FieldName == "UNIT")
|
|
{
|
|
// if (e.Value == null)
|
|
// {
|
|
// return;
|
|
// }
|
|
// switch (e.Value.ToString().Trim())
|
|
// {
|
|
// case "a":
|
|
// e.DisplayText = "盒";
|
|
// break;
|
|
// case "b":
|
|
// e.DisplayText = "罐";
|
|
// break;
|
|
// case "c":
|
|
// e.DisplayText = "袋";
|
|
// break;
|
|
// case "d":
|
|
// e.DisplayText = "瓶";
|
|
// break;
|
|
// case "e":
|
|
// e.DisplayText = "个";
|
|
// break;
|
|
// case "f":
|
|
// e.DisplayText = "包";
|
|
// break;
|
|
// case "g":
|
|
// e.DisplayText = "把";
|
|
// break;
|
|
// case "h":
|
|
// e.DisplayText = "筒";
|
|
// break;
|
|
// case "i":
|
|
// e.DisplayText = "张";
|
|
// break;
|
|
// case "j":
|
|
// e.DisplayText = "套";
|
|
// break;
|
|
// case "k":
|
|
// e.DisplayText = "克";
|
|
// break;
|
|
// case "l":
|
|
// e.DisplayText = "泡";
|
|
// break;
|
|
// case "m":
|
|
// e.DisplayText = "片";
|
|
// break;
|
|
// case "z":
|
|
// e.DisplayText = "箱";
|
|
// break;
|
|
// default:
|
|
// e.DisplayText = "";
|
|
// break;
|
|
// }
|
|
}
|
|
}
|
|
|
|
private void gridViewProvideTab_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
|
|
{
|
|
//if (e.Column.FieldName == "UNIT")
|
|
//{
|
|
// if (e.Value == null)
|
|
// {
|
|
// return;
|
|
// }
|
|
// switch (e.Value.ToString().Trim())
|
|
// {
|
|
// case "a":
|
|
// e.DisplayText = "盒";
|
|
// break;
|
|
// case "b":
|
|
// e.DisplayText = "罐";
|
|
// break;
|
|
// case "c":
|
|
// e.DisplayText = "袋";
|
|
// break;
|
|
// case "d":
|
|
// e.DisplayText = "瓶";
|
|
// break;
|
|
// case "e":
|
|
// e.DisplayText = "个";
|
|
// break;
|
|
// case "f":
|
|
// e.DisplayText = "包";
|
|
// break;
|
|
// case "g":
|
|
// e.DisplayText = "把";
|
|
// break;
|
|
// case "h":
|
|
// e.DisplayText = "筒";
|
|
// break;
|
|
// case "i":
|
|
// e.DisplayText = "张";
|
|
// break;
|
|
// case "j":
|
|
// e.DisplayText = "套";
|
|
// break;
|
|
// case "k":
|
|
// e.DisplayText = "克";
|
|
// break;
|
|
// case "l":
|
|
// e.DisplayText = "泡";
|
|
// break;
|
|
// case "m":
|
|
// e.DisplayText = "片";
|
|
// break;
|
|
// case "z":
|
|
// e.DisplayText = "箱";
|
|
// break;
|
|
// default:
|
|
// e.DisplayText = "";
|
|
// break;
|
|
|
|
// }
|
|
//}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
#region 单元格处理 事件
|
|
|
|
/// <summary>
|
|
/// 对单元格 自定义的编辑列进行 编辑
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void gridViewProvideInfo_CustomRowCellEditForEditing(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
|
|
{
|
|
if (e.RowHandle < 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if (e.Column.Name == "colUnit")
|
|
{
|
|
ProvideRepInfoModel proRepinfo = new ProvideRepInfoModel();
|
|
proRepinfo = this.gridViewProvideInfo.GetFocusedRow() as ProvideRepInfoModel;
|
|
|
|
//if (proRepinfo != null && proRepinfo.INVENTORY_ITEM_ID != null)
|
|
//{
|
|
// string strResult = string.Empty;
|
|
// try
|
|
// {
|
|
// lueUnits.DataSource = IBussFactory<BussGoods>.Instance().GetGoodsUnit(proRepinfo.INVENTORY_ITEM_ID);
|
|
// }
|
|
// catch (Exception)
|
|
// {
|
|
// //SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
|
|
// }
|
|
|
|
//}
|
|
e.RepositoryItem = lueUnits;//当前单元格绑定控件
|
|
|
|
}
|
|
}
|
|
|
|
private string unit = string.Empty;//记录原单位
|
|
/// <summary>
|
|
/// 焦点单元格ValueChanged 事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void gridViewProvideInfo_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
|
|
{
|
|
this.xtraTab1.Focus();
|
|
if (e.RowHandle < 0)
|
|
{
|
|
return;
|
|
}
|
|
this.gridViewProvideInfo.RefreshData();
|
|
ProvideRepInfoModel model = new ProvideRepInfoModel();
|
|
model = this.gridViewProvideInfo.GetFocusedRow() as ProvideRepInfoModel;
|
|
if (model != null)
|
|
{
|
|
//补货量
|
|
if (e.Column.Name == "colGOODS_COUNT")
|
|
{
|
|
decimal GOODS_COUNT = Convert.ToDecimal(this.gridViewProvideInfo.GetFocusedRowCellValue("GOODS_COUNT"));
|
|
decimal PRICE = Convert.ToDecimal(gridViewProvideInfo.GetFocusedRowCellValue("PRICE"));
|
|
if (999999 < GOODS_COUNT)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("请注意:" + Environment.NewLine + "您输入补货量值过大,不符合实际,请重新输入!");
|
|
this.gridViewProvideInfo.SetFocusedRowCellValue("GOODS_COUNT", 0.0);
|
|
}
|
|
|
|
decimal SUMPRICE = PRICE * GOODS_COUNT;
|
|
|
|
gridViewProvideInfo.SetRowCellValue(gridViewProvideInfo.FocusedRowHandle, colSUMPRICE1, SUMPRICE);
|
|
|
|
foreach (ProvideRepInfoModel inf in bindInfoList)
|
|
{
|
|
sumCountAdd += inf.GOODS_COUNT;
|
|
}
|
|
|
|
sumTotalCount = sumCountAdd;
|
|
sumCountAdd = 0;
|
|
this.txtTotalNum.Text = sumTotalCount.ToString();
|
|
proModel.TOTAL_NUM = sumTotalCount;
|
|
bgsProvide.DataSource = proModel;
|
|
}
|
|
//单位
|
|
if (e.Column.Name == "colUnit")
|
|
{
|
|
DataTable dt = lueUnits.DataSource as DataTable;
|
|
decimal oldUnit = 0;
|
|
decimal newUnit = 0;
|
|
foreach (DataRow row in dt.Rows)
|
|
{
|
|
if (row[0].ToString() == unit)
|
|
{
|
|
oldUnit = decimal.Parse(row[2].ToString());
|
|
}
|
|
if (row[0].ToString() == this.gridViewProvideInfo.GetFocusedRowCellValue("UNIT").ToString())
|
|
{
|
|
newUnit = decimal.Parse(row[2].ToString());
|
|
}
|
|
}
|
|
if (oldUnit == 0)
|
|
{
|
|
return;
|
|
}
|
|
if (model.GOODS_COUNT != 0)
|
|
{
|
|
model.GOODS_COUNT = Math.Ceiling(model.GOODS_COUNT / oldUnit * newUnit);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
|
|
private void gridViewProvideInfo_CellValueChanging(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
|
|
{
|
|
if (this.gridViewProvideInfo.GetFocusedRowCellValue("UNIT") != null)
|
|
{
|
|
unit = this.gridViewProvideInfo.GetFocusedRowCellValue("UNIT").ToString();
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
private void linkGoodsName_Click(object sender, EventArgs e)
|
|
{
|
|
ProvideRepInfoModel model = gridViewProvideTab.GetFocusedRow() as ProvideRepInfoModel;
|
|
//if (model != null && !string.IsNullOrEmpty(model.INVENTORY_ITEM_ID))
|
|
//{
|
|
// FrmGoodsInfoDet.IFlag = 2;
|
|
// FrmGoodsInfoDet.StrGoodsID = model.INVENTORY_ITEM_ID;
|
|
// LoadForm load = new LoadForm();
|
|
// DevExpress.XtraSplashScreen.SplashScreenManager.ShowForm(load, load.GetType(), false, true, false, 0);
|
|
// DevExpress.XtraSplashScreen.SplashScreenManager.Default.SetWaitFormDescription("正在读取商品信息....");
|
|
// FrmGoodsInfoDet.GetInstance().Show();
|
|
// DevExpress.XtraSplashScreen.SplashScreenManager.CloseForm();
|
|
//}
|
|
|
|
}
|
|
|
|
private void HyperLinkgoodName_Click(object sender, EventArgs e)
|
|
{
|
|
ProvideRepInfoModel model = gridViewProvideTab.GetFocusedRow() as ProvideRepInfoModel;
|
|
//if (model != null && !string.IsNullOrEmpty(model.INVENTORY_ITEM_ID))
|
|
//{
|
|
// FrmGoodsInfoDet.IFlag = 2;
|
|
// //FrmGoodsInfoDet.StrGoodsID = model.INVENTORY_ITEM_ID;
|
|
// LoadForm load = new LoadForm();
|
|
// DevExpress.XtraSplashScreen.SplashScreenManager.ShowForm(load, load.GetType(), false, true, false, 0);
|
|
// DevExpress.XtraSplashScreen.SplashScreenManager.Default.SetWaitFormDescription("正在读取商品信息....");
|
|
// FrmGoodsInfoDet.GetInstance().Show();
|
|
// DevExpress.XtraSplashScreen.SplashScreenManager.CloseForm();
|
|
//}
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 先选择供应商后 在选择商品则 商品为该供应商能提供的商品
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void lkpProvider_EditValueChanged(object sender, EventArgs e)
|
|
{
|
|
if (!string.IsNullOrEmpty(this.lkpProvider.EditValue.ToString().Trim()))
|
|
{
|
|
this.ctrGoods.selSql = @"select INVENTORY_ITEM_ID, goods_name from T_BASE_GOODS t where t.INVENTORY_ITEM_ID in (select INVENTORY_ITEM_ID from T_MI_STOCK) and t.provider_id='" + this.lkpProvider.EditValue + "'";
|
|
}
|
|
else
|
|
{
|
|
this.ctrGoods.selSql = @"select INVENTORY_ITEM_ID, goods_name from T_BASE_GOODS t where t.INVENTORY_ITEM_ID in (select INVENTORY_ITEM_ID from T_MI_STOCK) ";
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|