1193 lines
41 KiB
C#
1193 lines
41 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.RK;
|
|
|
|
using WMS.Common;
|
|
using WMS.Model.SystemManage;
|
|
using DevExpress.XtraGrid.Columns;
|
|
using DevExpress.XtraEditors.Repository;
|
|
using System.Text.RegularExpressions;
|
|
using WMS.Model.Base;
|
|
using NPOI.Util.Collections;
|
|
using WMS.FrmBaseData;
|
|
using WMS.Ctrl;
|
|
using WMS.Business;
|
|
using WMS.Business.RK;
|
|
using WMS.Business.Common;
|
|
using WMS.Business.SystemManage;
|
|
|
|
namespace WMS.FrmRK
|
|
{
|
|
public partial class FrmAcceptance : FormBase
|
|
{
|
|
#region 全局变量
|
|
/// <summary>
|
|
/// 验收Model
|
|
/// </summary>
|
|
public AcceptanceModel acceptancemodel = new AcceptanceModel();
|
|
#region 收货单
|
|
|
|
/// <summary>
|
|
/// 验收Model集合
|
|
/// </summary>
|
|
public List<AcceptanceModel> acceptancelist=new List<AcceptanceModel>();
|
|
|
|
/// <summary>
|
|
/// 入库批次Model
|
|
/// </summary>
|
|
public StorageLotModel lotModel=new StorageLotModel();
|
|
|
|
/// <summary>
|
|
/// 入库批次Model集合
|
|
/// </summary>
|
|
public List<StorageLotModel> lotList =new List<StorageLotModel>();
|
|
|
|
/// <summary>
|
|
/// 入库批次明细Model
|
|
/// </summary>
|
|
public StorageLotInfoModel lotInfoModel =new StorageLotInfoModel();
|
|
|
|
/// <summary>
|
|
/// 入库批次明细Model集合
|
|
/// </summary>
|
|
public List<StorageLotInfoModel> lotInfoList=new List<StorageLotInfoModel>();
|
|
|
|
/// <summary>
|
|
/// 获得入库选中项
|
|
/// </summary>
|
|
public List<StorageLotModel> lotCheck =new List<StorageLotModel>();
|
|
|
|
/// <summary>
|
|
/// 获得入库明细选中项
|
|
/// </summary>
|
|
public List<StorageLotInfoModel> lotInfoCheck=new List<StorageLotInfoModel>();
|
|
#endregion
|
|
|
|
#region 通知单
|
|
WareNoticeModel wareNoticeData = new WareNoticeModel();
|
|
List<WareNoticeTabModel> listWareNotice = new List<WareNoticeTabModel>();
|
|
#endregion
|
|
/// <summary>
|
|
/// 获得Acc选中项数据
|
|
/// </summary>
|
|
public List<AcceptanceModel> checkAccList=new List<AcceptanceModel>();
|
|
/// <summary>
|
|
/// 需要处理的
|
|
/// </summary>
|
|
List<AcceptanceModel> listAccData = new List<AcceptanceModel>();
|
|
/// <summary>
|
|
/// 全选判断
|
|
/// </summary>
|
|
bool m_status = false;
|
|
|
|
|
|
List<StorageLotModel> loList = new List<StorageLotModel>();
|
|
#endregion
|
|
|
|
#region 构造函数
|
|
/// <summary>
|
|
/// 无参构造
|
|
/// </summary>
|
|
public FrmAcceptance()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
#endregion
|
|
|
|
#region 窗体加载
|
|
/// <summary>
|
|
/// 窗体加载
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void FrmAcceptance_Load(object sender, EventArgs e)
|
|
{
|
|
|
|
//通用查询
|
|
FrmSelectModle = new StorageLotModel();
|
|
BindResultType();
|
|
cDictionaryAccPersion.t_dictonary.EditValueChanged += new System.EventHandler(t_dictonary_EditValueChanged);
|
|
BindStorageLotData();
|
|
xtra_yds.SelectedTabPageIndex = 0;
|
|
|
|
#region 加载默认所属仓库
|
|
//RoleStorageModel roles = new RoleStorageModel();
|
|
|
|
//roles.ROLE_ID = userData.ROLE_ID;
|
|
//string str = Newtonsoft.Json.JsonConvert.SerializeObject(roles);
|
|
//string list = WebLockConfig.Instance.WebRoleStorage.execRoleStorageGetList(str);
|
|
//List<RoleStorageModel> lists = Newtonsoft.Json.JsonConvert.DeserializeObject<List<RoleStorageModel>>(list);
|
|
//lkpStorage.Properties.DataSource = lists;
|
|
//lkpStorage.Properties.DisplayMember = "STORAGE_NAME";
|
|
//lkpStorage.Properties.ValueMember = "STORAGE_ID";
|
|
////lkpStorage.Properties.NullText="请您选择";
|
|
//if (lists.Count != 0)
|
|
//{
|
|
// lkpStorage.EditValue = lists[0].STORAGE_ID;
|
|
//}
|
|
//所属仓库
|
|
//lkpStorage.LoadData();
|
|
#endregion
|
|
|
|
#region 查询未验单 只查询已生成 但未验收的单据
|
|
cDictionaryAccID.selSql = string.Format(@" select acce_id,
|
|
operatedate,
|
|
lot_id,
|
|
decode(acc_status, '0', '未验') acc_status
|
|
from t_rk_acceptance
|
|
where acc_status = '0'
|
|
order by operatedate desc
|
|
");
|
|
#endregion
|
|
|
|
|
|
//单位下拉框
|
|
lueUnit.NullText = "";
|
|
lueUnits.NullText = "";
|
|
lueUnit.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("VC_DICTIONARY_NAME", "单位"));
|
|
lueUnits.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("VC_DICTIONARY_NAME", "单位"));
|
|
lueUnit.ValueMember = "VC_CHAR_VALUE";
|
|
lueUnit.DisplayMember = "VC_DICTIONARY_NAME";
|
|
lueUnits.ValueMember = "VC_CHAR_VALUE";
|
|
lueUnits.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'", "");
|
|
}
|
|
catch (Exception)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("未知错误,请检查网络连接!如仍无法解决问题请联系我们!");
|
|
}
|
|
if (strResult != null)
|
|
{
|
|
lueUnit.DataSource = strResult;
|
|
lueUnits.DataSource = strResult;
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 全选Check 三事件
|
|
|
|
/// <summary>
|
|
/// CustomDrawColumnHeader 事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void gridViewAcceptance_CustomDrawColumnHeader(object sender, DevExpress.XtraGrid.Views.Grid.ColumnHeaderCustomDrawEventArgs e)
|
|
{
|
|
if (e.Column != null && e.Column.FieldName == "IsCheck")
|
|
{
|
|
e.Info.InnerElements.Clear();
|
|
e.Painter.DrawObject(e.Info);
|
|
DevControlHelper.DrawCheckBox(e, m_status);
|
|
e.Handled = true;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Click 事件 调用DevControlHelper 帮助类
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void gridViewAcceptance_Click(object sender, EventArgs e)
|
|
{
|
|
if (DevControlHelper.ClickGridCheckBox(this.gridViewAcceptance, "IsCheck", m_status))
|
|
{
|
|
m_status = !m_status;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// DataSourceChanged 事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void gridViewAcceptance_DataSourceChanged(object sender, EventArgs e)
|
|
{
|
|
|
|
GridColumn column = this.gridViewAcceptance.Columns.ColumnByFieldName("IsCheck");
|
|
if (column != null)
|
|
{
|
|
column.Width = 80;
|
|
column.OptionsColumn.ShowCaption = m_status;
|
|
column.ColumnEdit = new RepositoryItemCheckEdit();
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
#region 辅助方法
|
|
|
|
#region 公共菜单 按钮 方法
|
|
|
|
#region 新增
|
|
/// <summary>
|
|
/// 新增按钮
|
|
/// </summary>
|
|
public void Add()
|
|
{
|
|
acceptancelist.Clear();
|
|
if (this.gridViewStorage.RowCount <= 0)
|
|
{
|
|
|
|
return;
|
|
}
|
|
xtra_yds.SelectedTabPageIndex = 1;
|
|
XtraTab2.PageEnabled = true;
|
|
frmButtonItem["Confirm"].Enabled = true;
|
|
frmButtonItem["Save"].Enabled = false;
|
|
frmButtonItem["Del"].Enabled = true;
|
|
string strID = gridViewStorage.GetFocusedRowCellValue("WAREHOUSING_ID").ToString();
|
|
// AcceptanceModel accModel = new AcceptanceModel();
|
|
// accModel.WAREHOUSING_ID = strID;
|
|
// acceptancelist = IBussFactory<BussAcceptance>.Instance().GetAcceptanceData(accModel);
|
|
if (acceptancelist .Count== 0)
|
|
{
|
|
// acceptancelist = dataList;
|
|
WareNoticeTabModel seachModel = new WareNoticeTabModel();
|
|
seachModel.WAREHOUSING_ID = strID;
|
|
noticeTab = IBussFactory<BussWareNoticeTab>.Instance().GetWareNoticeTabList(seachModel);
|
|
foreach (WareNoticeTabModel model in noticeTab)
|
|
{
|
|
acceptancemodel = new AcceptanceModel();
|
|
acceptancemodel.WAREHOUSING_ID = strID;
|
|
acceptancemodel.IsCheck = false;
|
|
acceptancemodel.ACC_STATUS = "0";
|
|
acceptancemodel.LOT_ID = "";
|
|
acceptancemodel.ACCE_ID = "";
|
|
acceptancemodel.STO_NUM = 0;
|
|
acceptancemodel.GOODS_ID = model.GOODS_ID;
|
|
acceptancemodel.GOODS_NAME = model.GOODS_NAME;
|
|
acceptancemodel.BUY_NUM = model.AMOUNT;
|
|
acceptancemodel.ARR_NUM = 0;
|
|
acceptancemodel.PRICE = model.PRICE;
|
|
acceptancemodel.UNIT = model.UNIT;
|
|
acceptancemodel.ACCE_NUM = 0;
|
|
acceptancemodel.PASS_NUM = 0;
|
|
acceptancemodel.REC_NUM = model.AMOUNT;
|
|
acceptancemodel.NO_REC_NUM = 0;
|
|
acceptancemodel.RESULTS_TYPE = "";
|
|
acceptancemodel.OPERATORID = userData.USER_ID;
|
|
acceptancemodel.OPERATORNAME = userData.USERNAME;
|
|
acceptancemodel.OPERATEDATE = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
acceptancemodel.ACCE_MAN = userData.USER_ID;
|
|
acceptancemodel.ACCE_MAN_NAME = userData.USERNAME;
|
|
acceptancemodel.ACCE_DATE = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
|
|
acceptancelist.Add(acceptancemodel);
|
|
}
|
|
|
|
}
|
|
|
|
if (acceptancelist != null)
|
|
{
|
|
bgsAcce.DataSource = acceptancelist;
|
|
|
|
}
|
|
xtra_yds.SelectedTabPageIndex = 1;
|
|
frmButtonItem["Add"].Enabled = false;
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region 编辑
|
|
/// <summary>
|
|
/// 更新编辑修改按钮
|
|
/// </summary>
|
|
public void Edit()
|
|
{
|
|
if (this.gridViewAcceptance.RowCount < 1)
|
|
{
|
|
return;
|
|
}
|
|
if(acceptancelist.Count==0)
|
|
{
|
|
return;
|
|
}
|
|
frmButtonItem["Confirm"].Enabled = false;
|
|
frmButtonItem["Save"].Enabled = true;
|
|
frmButtonItem["Del"].Enabled = true;
|
|
|
|
|
|
XtraTab2.PageEnabled = true;
|
|
|
|
bgsAcce.DataSource = acceptancelist;
|
|
gridViewAcceptanceOperate.RefreshData();
|
|
gridViewAcceptanceOperate.Focus();
|
|
gridViewAcceptanceOperate.FocusedRowHandle = 0;
|
|
xtra_yds.SelectedTabPageIndex = 1;
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region 删除
|
|
/// <summary>
|
|
/// 删除按钮
|
|
/// </summary>
|
|
public void Del()
|
|
{
|
|
if (DialogResult.OK == SystemCommon.ShowMessageBoxResult("确定取消当前操作?"))
|
|
{
|
|
|
|
XtraTab2.PageEnabled = false;
|
|
xtra_yds.SelectedTabPageIndex = 0;
|
|
Refresh();
|
|
acceptancelist.Clear();
|
|
gridViewStorage.FocusedRowHandle = 0;
|
|
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region 查询
|
|
/// <summary>
|
|
/// 查询验单单据信息按钮
|
|
/// </summary>
|
|
public void Search()
|
|
{
|
|
xtra_yds.SelectedTabPageIndex = 1;
|
|
|
|
this.gridViewAcceptanceOperate.OptionsBehavior.Editable = false;
|
|
this.txtboxRemark.Enabled = false;
|
|
this.dataAccTime.Enabled = false;
|
|
this.cDictionaryAccPersion.Enabled = false;
|
|
|
|
}
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// 查询已验单据
|
|
/// </summary>
|
|
public void SearchExist()
|
|
{
|
|
}
|
|
|
|
#region 刷新
|
|
/// <summary>
|
|
/// 刷新按钮
|
|
/// </summary>
|
|
public void Refresh()
|
|
{
|
|
BindStorageLotData();
|
|
xtra_yds.SelectedTabPageIndex = 0;
|
|
this.cDictionaryAccID.TextBoxFlag = string.Empty;
|
|
this.cDictionaryAccID.TextBoxValue = string.Empty;
|
|
|
|
this.cDictionaryAccPersion.TextBoxFlag = string.Empty;
|
|
this.cDictionaryAccPersion.TextBoxValue = string.Empty;
|
|
this.txtboxRemark.Text = string.Empty;
|
|
// bgsAcceptance.DataSource = new List<AcceptanceModel>();
|
|
// bgsAcce.DataSource = null;
|
|
if (frmButtonItem.ContainsKey("SearchExist")) { frmButtonItem["SearchExist"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Search")) { frmButtonItem["Search"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Add")) { frmButtonItem["Add"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Del")) { frmButtonItem["Del"].Enabled = true; }
|
|
if (frmButtonItem.ContainsKey("Edit")) { frmButtonItem["Edit"].Enabled = true; }
|
|
|
|
|
|
if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; }
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region 清空
|
|
/// <summary>
|
|
/// 清空按钮
|
|
/// </summary>
|
|
public void Clear()
|
|
{
|
|
this.cDictionaryAccID.TextBoxFlag = string.Empty;
|
|
this.cDictionaryAccID.TextBoxValue = string.Empty;
|
|
|
|
this.cDictionaryAccPersion.TextBoxFlag = string.Empty;
|
|
this.cDictionaryAccPersion.TextBoxValue = string.Empty;
|
|
|
|
this.txtboxRemark.Text = string.Empty;
|
|
|
|
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region 导出
|
|
/// <summary>
|
|
/// 数据导出到Excel
|
|
/// </summary>
|
|
public void Express()
|
|
{
|
|
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region 验收入库
|
|
/// <summary>
|
|
/// 验收入库
|
|
/// </summary>
|
|
public void Print()
|
|
{
|
|
if(acceptancelist.Count==0)
|
|
{
|
|
return;
|
|
}
|
|
if (DialogResult.OK == SystemCommon.ShowMessageBoxResult("单据质检,确定拒绝入库?"))
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
public void Audit()
|
|
{
|
|
if (acceptancelist.Count == 0)
|
|
{
|
|
return;
|
|
}
|
|
if (DialogResult.OK == SystemCommon.ShowMessageBoxResult("单据质检完成,确定入库?"))
|
|
{
|
|
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region 确认
|
|
/// <summary>
|
|
/// 确认
|
|
/// </summary>
|
|
public void Confirm()
|
|
{
|
|
|
|
InsertAcceptanceData();
|
|
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region 保存
|
|
/// <summary>
|
|
/// 保存
|
|
/// </summary>
|
|
public void Save()
|
|
{
|
|
if (acceptancelist.Count == 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
string errText = IBussFactory<BussAcceptance>.Instance().UpdateAcceptance(acceptancelist);
|
|
if(errText.Trim().Length==0)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("修改成功");
|
|
}
|
|
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 = false; }
|
|
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; }
|
|
XtraTab2.PageEnabled = false;
|
|
xtra_yds.SelectedTabPageIndex = 0;
|
|
Refresh();
|
|
|
|
|
|
}
|
|
#endregion
|
|
|
|
|
|
#region 通用查询
|
|
/// <summary>
|
|
/// 通用查询
|
|
/// </summary>
|
|
/// <param name="table"></param>
|
|
public override void LoadListData(DataTable table)
|
|
{
|
|
if (xtra_yds.SelectedTabPageIndex == 0)
|
|
{
|
|
lotList = ConvertHelper<StorageLotModel>.ConvertToList(table);
|
|
bgsStorageLot.DataSource = lotList;
|
|
gridViewStorage.RefreshData();
|
|
|
|
}
|
|
if (xtra_yds.SelectedTabPageIndex == 1)
|
|
{
|
|
acceptancelist = ConvertHelper<AcceptanceModel>.ConvertToList(table);
|
|
bgsAcce.DataSource = acceptancelist;
|
|
this.gridViewAcceptanceOperate.RefreshData();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region 数据验证 方法
|
|
/// <summary>
|
|
/// 非法验证
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public bool Verification()
|
|
{
|
|
int t, j;
|
|
|
|
|
|
foreach (AcceptanceModel model in checkAccList)
|
|
{
|
|
#region 验证时间是否大于当前系统时间
|
|
if (!string.IsNullOrEmpty(model.ACCE_DATE.ToString()))
|
|
{
|
|
DateTime SystemTime = DateTime.Now; //获得系统时间
|
|
string str = model.ACCE_DATE.ToString(); //str是数据库记录的时间
|
|
DateTime DatabaseTime = DateTime.Parse(str);
|
|
|
|
TimeSpan ts = SystemTime.Subtract(DatabaseTime); //系统时间减去数据库时间
|
|
|
|
t = ts.Days;
|
|
j = ts.Hours;
|
|
if (t < 0)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("验收时间不能大于当前时间!");
|
|
return false;
|
|
}
|
|
else if (t == 0)
|
|
{
|
|
if (j < 0)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("验收时间不能大于当前时间!");
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
if (model.ARR_NUM < model.STO_NUM)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("验收数量不能大于入库数量!");
|
|
return false;
|
|
}
|
|
if (model.ACCE_NUM < model.PASS_NUM)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("合格数量不能大于验收数量!");
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
|
|
#region XtraTab1所有数据
|
|
#region StorageLot绑定入库批次上半屏数据
|
|
/// <summary>
|
|
/// 获得上半屏 入库批次数据
|
|
/// </summary>
|
|
private void BindStorageLotData()
|
|
{
|
|
//lotModel = new StorageLotModel();
|
|
//loList = new List<StorageLotModel>();
|
|
List<WareNoticeModel> wareData = new List<WareNoticeModel>();
|
|
string strlist = "";
|
|
try
|
|
{
|
|
wareData = IBussFactory<BussWareNotice>.Instance().GetWareNoticeDataSts("0");
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
SystemCommon.ShowErrorMessageBox(ex + "网络连接错误,请检查当前网络环境是否可用!");
|
|
}
|
|
if (wareData.Count > 0)
|
|
{
|
|
|
|
bindingSource1.DataSource = wareData;
|
|
gridViewStorage_Click(null, null);
|
|
gridViewStorage.RefreshData();
|
|
}
|
|
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region StorageLot单击上半屏数据 下半屏显示明细数据
|
|
List<WareNoticeTabModel> noticeTab = new List<WareNoticeTabModel>();
|
|
|
|
private void gridViewStorage_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
//没有数据时 点击跳出
|
|
if (this.gridViewStorage.FocusedRowHandle < 0)
|
|
{
|
|
return;
|
|
}
|
|
tb_View.SelectedPageIndex = 1;
|
|
string strID = this.gridViewStorage.GetRowCellValue(this.gridViewStorage.FocusedRowHandle, "WAREHOUSING_ID").ToString();
|
|
WareNoticeTabModel seachModel = new WareNoticeTabModel();
|
|
seachModel.WAREHOUSING_ID = strID;
|
|
noticeTab= IBussFactory<BussWareNoticeTab>.Instance().GetWareNoticeTabList(seachModel);
|
|
if(noticeTab!=null)
|
|
{
|
|
bdsDetail.DataSource = noticeTab;
|
|
}
|
|
|
|
AcceptanceModel accModel = new AcceptanceModel();
|
|
accModel.WAREHOUSING_ID = strID;
|
|
accModel.ACC_STATUS = "1";
|
|
acceptancelist = IBussFactory<BussAcceptance>.Instance().GetAcceptanceData(accModel);
|
|
if(acceptancelist != null)
|
|
{
|
|
if(acceptancelist.Count>0)
|
|
{
|
|
tb_View.SelectedPageIndex = 0;
|
|
frmButtonItem["Add"].Enabled = false;
|
|
frmButtonItem["Edit"].Enabled = true;
|
|
frmButtonItem["Print"].Enabled = true;
|
|
frmButtonItem["Audit"].Enabled = true;
|
|
}
|
|
else
|
|
{
|
|
frmButtonItem["Audit"].Enabled = false;
|
|
frmButtonItem["Print"].Enabled = false;
|
|
frmButtonItem["Add"].Enabled = true;
|
|
frmButtonItem["Edit"].Enabled = false;
|
|
}
|
|
frmButtonItem["Confirm"].Enabled = false;
|
|
frmButtonItem["Save"].Enabled = false;
|
|
bgsAcceptance.DataSource = acceptancelist;
|
|
|
|
}
|
|
|
|
}
|
|
#endregion
|
|
|
|
#region StorageLotInfo绑定入库批次下半屏明细数据
|
|
/// <summary>
|
|
/// 绑定入库批次明细数据
|
|
/// </summary>
|
|
/// <param name="strId">入库批次号</param>
|
|
/// <returns></returns>
|
|
private List<StorageLotInfoModel> BindStorageLotInfoData(string strId)
|
|
{
|
|
lotInfoList = new List<StorageLotInfoModel>();
|
|
if (!string.IsNullOrEmpty(strId))
|
|
{
|
|
string detaillotinfo = "";
|
|
try
|
|
{
|
|
lotInfoList = IBussFactory<BussStorageLot>.Instance().GetInfoList(strId);
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("网络连接错误,请检查当前网络环境是否可用");
|
|
}
|
|
return lotInfoList;
|
|
}
|
|
return lotInfoList;
|
|
}
|
|
#endregion
|
|
|
|
#region StorageLot获得上半屏 Check选中项
|
|
/// <summary>
|
|
/// 获得入库批次上半屏 Check选中项
|
|
/// </summary>
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region Acceptance新增验收单据
|
|
|
|
/// <summary>
|
|
/// 增 收货验收 写入数据库
|
|
/// </summary>
|
|
/// <param name="str"></param>
|
|
private void InsertAcceptanceData()
|
|
{
|
|
this.lblReceiveID.Focus();
|
|
try
|
|
{
|
|
|
|
string errtext = IBussFactory<BussAcceptance>.Instance().AddAcceptance(acceptancelist);
|
|
|
|
if (!string.IsNullOrEmpty(errtext))
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("操作失败!" + errtext);
|
|
}
|
|
else
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("操作成功!");
|
|
xtra_yds.SelectedTabPageIndex = 0;
|
|
if (frmButtonItem.ContainsKey("Confirm")) { frmButtonItem["Confirm"].Enabled = false; }
|
|
if (frmButtonItem.ContainsKey("Save")) { frmButtonItem["Save"].Enabled = false; }
|
|
Refresh();
|
|
XtraTab2.PageEnabled = false;
|
|
frmButtonItem["Add"].Enabled = true;
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("网络连接错误,请检查当前网络环境是否可用!");
|
|
}
|
|
}
|
|
|
|
|
|
#endregion
|
|
|
|
#region StorageLot CustomColumnDisplayText事件
|
|
/// <summary>
|
|
/// 自定义显示格式事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void gridViewStorage_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
|
|
{
|
|
if (e.Column.FieldName == "TYPE")
|
|
{
|
|
if (e.Value == null)
|
|
{
|
|
return;
|
|
}
|
|
switch (e.Value.ToString())
|
|
{
|
|
case "0":
|
|
e.DisplayText = "采购入库";
|
|
break;
|
|
case "1":
|
|
e.DisplayText = "退货入库";
|
|
break;
|
|
case "2":
|
|
e.DisplayText = "调货入库";
|
|
break;
|
|
case "3":
|
|
e.DisplayText = "盲收";
|
|
break;
|
|
default:
|
|
e.DisplayText = "其它";
|
|
break;
|
|
}
|
|
}
|
|
if (e.Column.FieldName == "STATE")
|
|
{
|
|
switch (e.Value.ToString().Trim())
|
|
{
|
|
case "0":
|
|
e.DisplayText = "在途";
|
|
break;
|
|
case "1":
|
|
e.DisplayText = "到货验收";
|
|
break;
|
|
case "2":
|
|
e.DisplayText = "收货码盘";
|
|
break;
|
|
case "3":
|
|
e.DisplayText = "已入库";
|
|
break;
|
|
case "4":
|
|
e.DisplayText = "已关闭";
|
|
break;
|
|
case "5":
|
|
e.DisplayText = "已关闭";
|
|
break;
|
|
|
|
default:
|
|
e.DisplayText = "";
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
#endregion
|
|
|
|
|
|
#region XtraTab2所有数据
|
|
|
|
|
|
|
|
|
|
#region Acceptance 绑定下拉数据(验收结果集)
|
|
/// <summary>
|
|
/// 绑定gridView某一列 下拉验收结果集
|
|
/// </summary>
|
|
private void BindResultType()
|
|
{
|
|
string errText = string.Empty;
|
|
List<DictionaryTabModel> ResultTypelist = IBussFactory<BussDictionaryTab>.Instance().GetDictionaryTab("acceptance_type");
|
|
|
|
if(ResultTypelist!=null)
|
|
{
|
|
repositoryItemLookUpEdit1.DataSource = ResultTypelist;
|
|
repositoryItemLookUpEdit1.DropDownRows = ResultTypelist.Count;
|
|
repositoryItemLookUpEdit1.DisplayMember = "VC_DICTIONARY_NAME";
|
|
repositoryItemLookUpEdit1.ValueMember = "VC_DICTIONARY_ID";
|
|
repositoryItemLookUpEdit1.NullText = "请选择";
|
|
|
|
}
|
|
|
|
//lkpResultType.Properties.NullText = "请选择";
|
|
|
|
//lkpResultType.ItemIndex = 0;
|
|
//lkpResultType.EditValue.ToString() = "100050";
|
|
|
|
}
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region 事件
|
|
#region gridViewAcceptanceOperate_CellValueChanged事件
|
|
/// <summary>
|
|
/// gridViewAcceptanceOperate_CellValueChanged 对单元格输入值进行 操作 判断
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void gridViewAcceptanceOperate_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
|
|
{
|
|
if (e.RowHandle < 0)
|
|
{
|
|
return;
|
|
}
|
|
this.XtraTab2.Focus();
|
|
|
|
//验收数量
|
|
if (e.Column.Name == "gcACCE_NUM")
|
|
{
|
|
decimal STO_NUM = Convert.ToDecimal(gridViewAcceptanceOperate.GetFocusedRowCellValue("BUY_NUM"));
|
|
decimal ACCE_NUM = Convert.ToDecimal(gridViewAcceptanceOperate.GetFocusedRowCellValue("ACCE_NUM"));
|
|
if (STO_NUM < ACCE_NUM)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("请注意:" + Environment.NewLine + "您输入的验收数量大于入库数量!");
|
|
this.gridViewAcceptanceOperate.SetFocusedRowCellValue("ACCE_NUM", 0.0);
|
|
return;
|
|
}
|
|
// decimal cgNum = decimal.Parse(gridViewAcceptanceOperate.GetFocusedRowCellValue("BUY_NUM").ToString());
|
|
|
|
// gridViewAcceptanceOperate.SetRowCellValue(e.RowHandle, "ACCE_NUM", 0);
|
|
// gridViewAcceptanceOperate.SetRowCellValue(e.RowHandle, "PASS_NUM", e.Value.ToString());
|
|
gridViewAcceptanceOperate.SetRowCellValue(e.RowHandle, "PASS_NUM", ACCE_NUM);
|
|
// decimal numRec = STO_NUM - decimal.Parse(e.Value.ToString());
|
|
|
|
gridViewAcceptanceOperate.SetRowCellValue(e.RowHandle, "NO_REC_NUM", 0);
|
|
|
|
|
|
|
|
}
|
|
//合格数量
|
|
if (e.Column.Name == "gcPASS_NUM")
|
|
{
|
|
decimal ACCE_NUM = Convert.ToDecimal(gridViewAcceptanceOperate.GetFocusedRowCellValue("ACCE_NUM"));
|
|
decimal PASS_NUM = Convert.ToDecimal(gridViewAcceptanceOperate.GetFocusedRowCellValue("PASS_NUM"));
|
|
if (ACCE_NUM < PASS_NUM)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("请注意:" + Environment.NewLine + "您输入的合格数量大于验收数量!");
|
|
this.gridViewAcceptanceOperate.SetFocusedRowCellValue("PASS_NUM", 0.0);
|
|
return;
|
|
}
|
|
// decimal numRec = ACCE_NUM - PASS_NUM;
|
|
// gridViewAcceptanceOperate.SetRowCellValue(e.RowHandle, "NO_REC_NUM", numRec);
|
|
}
|
|
//接收数量
|
|
if (e.Column.Name == "gcREC_NUM")
|
|
{
|
|
decimal REC_NUM = Convert.ToDecimal(gridViewAcceptanceOperate.GetFocusedRowCellValue("REC_NUM"));
|
|
decimal STO_NUM = Convert.ToDecimal(gridViewAcceptanceOperate.GetFocusedRowCellValue("BUY_NUM"));
|
|
|
|
if (REC_NUM > STO_NUM)
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("请注意" + Environment.NewLine + "您输入的接收数量大于入库数量!");
|
|
this.gridViewAcceptanceOperate.SetFocusedRowCellValue("REC_NUM", this.gridViewAcceptanceOperate.GetRowCellValue(this.gridViewAcceptanceOperate.FocusedRowHandle, "STO_NUM"));
|
|
return;
|
|
}
|
|
decimal NO_REC_NUM = STO_NUM - REC_NUM;
|
|
gridViewAcceptanceOperate.SetRowCellValue(gridViewAcceptanceOperate.FocusedRowHandle, "NO_REC_NUM", NO_REC_NUM);
|
|
|
|
|
|
//foreach (AcceptanceModel inf in acceptancelist)
|
|
//{
|
|
// sumAdd += inf.REC_NUM;
|
|
//}
|
|
}
|
|
// sumAdd = 0;
|
|
// sumAll = sumAdd;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region t_dictonary_EditValueChanged事件
|
|
/// <summary>
|
|
/// 验收人改变Changed事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void t_dictonary_EditValueChanged(object sender, EventArgs e)
|
|
{
|
|
//无数据时 跳出
|
|
if (this.gridViewAcceptanceOperate.RowCount < 1)
|
|
{
|
|
return;
|
|
}
|
|
this.XtraTab2.Focus();
|
|
foreach (AcceptanceModel list in bgsAcce.DataSource as List<AcceptanceModel>)
|
|
{
|
|
list.ACCE_MAN = this.cDictionaryAccPersion.TextBoxFlag;
|
|
list.ACCE_MAN_NAME = this.cDictionaryAccPersion.TextBoxValue;
|
|
}
|
|
this.gridViewAcceptanceOperate.RefreshData();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region txtboxRemark_TextChanged事件
|
|
/// <summary>
|
|
/// 修改 未验收的选中验单备注
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void txtboxRemark_TextChanged(object sender, EventArgs e)
|
|
{
|
|
if (acceptancelist == null)
|
|
{
|
|
return;
|
|
}
|
|
foreach (AcceptanceModel accept in acceptancelist)
|
|
{
|
|
if (accept.ACC_STATUS == "0" && accept.IsCheck == true)
|
|
{
|
|
accept.REMARK = this.txtboxRemark.Text;
|
|
}
|
|
}
|
|
this.gridViewAcceptanceOperate.RefreshData();
|
|
}
|
|
#endregion
|
|
|
|
|
|
|
|
#region xtraTabControl1_SelectedPageChanged事件
|
|
/// <summary>
|
|
/// 选中标签改变时 加载 不同的通用查询弹窗
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
private void xtraTabControl1_SelectedPageChanged(object sender, DevExpress.XtraTab.TabPageChangedEventArgs e)
|
|
{
|
|
if (xtra_yds.SelectedTabPageIndex == 1)
|
|
{
|
|
FrmSelectModle = new AcceptanceModel();
|
|
}
|
|
else if (xtra_yds.SelectedTabPageIndex == 0)
|
|
{
|
|
FrmSelectModle = new StorageLotModel();
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region dataAccTime_EditValueChanged 时间选择改变事件
|
|
private void dataAccTime_EditValueChanged(object sender, EventArgs e)
|
|
{
|
|
if (acceptancelist == null)
|
|
{
|
|
return;
|
|
}
|
|
if (Convert.ToDateTime(this.dataAccTime.EditValue) > DateTime.Now || Convert.ToDateTime(this.dataAccTime.EditValue) < DateTime.Now.AddDays(-7))
|
|
{
|
|
SystemCommon.ShowInfoMessageBox("所选时间不符,请重新选取!");
|
|
this.dataAccTime.Focus();
|
|
return;
|
|
}
|
|
foreach (AcceptanceModel model in acceptancelist)
|
|
{
|
|
model.ACCE_DATE = Convert.ToDateTime(this.dataAccTime.EditValue.ToString());
|
|
}
|
|
this.gridViewAcceptanceOperate.RefreshData();
|
|
}
|
|
#endregion
|
|
|
|
#endregion
|
|
|
|
#region gridViewAcceptance_CustomColumnDisplayText
|
|
private void gridViewAcceptance_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e)
|
|
{
|
|
if (e.Column.FieldName == "RESULTS_TYPE")
|
|
{
|
|
if (e.Value == null)
|
|
{
|
|
return;
|
|
}
|
|
switch (e.Value.ToString())
|
|
{
|
|
case "000050":
|
|
e.DisplayText = "待检验";
|
|
break;
|
|
case "100051":
|
|
e.DisplayText = "优质品";
|
|
break;
|
|
case "100052":
|
|
e.DisplayText = "良品";
|
|
break;
|
|
case "100053":
|
|
e.DisplayText = "部分次品";
|
|
break;
|
|
case "100054":
|
|
e.DisplayText = "次品";
|
|
break;
|
|
}
|
|
}
|
|
if (e.Column.FieldName == "ACC_STATUS")
|
|
{
|
|
if (e.Value == null)
|
|
{
|
|
return;
|
|
}
|
|
switch (e.Value.ToString())
|
|
{
|
|
case "0":
|
|
e.DisplayText = "未验";
|
|
break;
|
|
case "1":
|
|
e.DisplayText = "已验";
|
|
break;
|
|
}
|
|
}
|
|
//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
|
|
|
|
#region gridViewAcceptanceOperate_CustomColumnDisplayText
|
|
private void gridViewAcceptanceOperate_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
|
|
|
|
|
|
|
|
}
|
|
} |