using FineUIPro;
|
using iWareCommon.Common.Entity;
|
using iWareDataCore.BASE.Entity;
|
using iWareDataCore.BASE.EnumType;
|
using iWareDataCore.BASE.Service;
|
using iWareDataCore.TASK.Entity;
|
using iWareDataCore.TASK.Service;
|
using iWareExcel.EXCEL.Service;
|
using iWareWms;
|
using iWareWms.Code.Excel.Service;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Collections.ObjectModel;
|
|
namespace iWareWms.View.InOut
|
{
|
public partial class InOutList : PageBase
|
{
|
protected void Page_Load(object sender, EventArgs e)
|
{
|
//dpBeginTime.Text = DateTime.Now.AddDays(-10).ToString();
|
//dpEndTime.Text = DateTime.Now.AddDays(20).ToString();
|
}
|
|
protected override Grid GetGrid()
|
{
|
return ListNoGrid;
|
}
|
|
/// <summary>
|
/// 出入库类型,枚举前台显示
|
/// </summary>
|
/// <param name="status"></param>
|
/// <returns></returns>
|
protected string GetStatus(object status)
|
{
|
return ((EInOutListStatus)Convert.ToInt32(status)).ToString();
|
}
|
|
/// <summary>
|
/// 查询未生成的出入库单号,状态 “0”或“1”(0,未生成(无物料),1,已生成(已添加物料))
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
protected void btnSerch_Click(object sender, EventArgs e)
|
{
|
if (dpBeginTime.SelectedDate == null)
|
{
|
dpBeginTime.SelectedDate = DateTime.Now.AddDays(-10);
|
}
|
if (dpEndTime.SelectedDate == null)
|
{
|
dpEndTime.SelectedDate = DateTime.Now.AddDays(20);
|
}
|
|
string msg;
|
DateTime endTime = (DateTime)dpEndTime.SelectedDate;
|
DateTime beginTime = (DateTime)dpBeginTime.SelectedDate;
|
|
var plans = InOutListService.GetInstance().QueryByParam(new QueryParam
|
{
|
Leqd = new Dictionary<string, object> { { "CreateTime", endTime } },
|
Geqd = new Dictionary<string, object> { { "CreateTime", beginTime } },
|
Search = new Dictionary<string, object> { { "ListNo", tbListNo.Text } },
|
Lt = new Dictionary<string, object> { { "Status", 1 } }
|
}, out msg);
|
|
var res = new List<object>();
|
|
plans.ForEach(x => res.Add(x));
|
ListNoGrid.DataSource = res;
|
ListNoGrid.DataBind();
|
|
}
|
|
/// <summary>
|
/// 保存计划单,状态改为已经生成
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
protected void btnSubmit_Click(object sender, EventArgs e)
|
{
|
|
List<PlaceViewEntity> emptyPlace = new List<PlaceViewEntity>();
|
List<PlaceViewEntity> place = PlaceService.GetInstance().GetEmptyAndInOutGate();
|
emptyPlace = place.FindAll(x => x.PlaceTypeName == EPlaceType.普通库位.ToString());
|
string msg;
|
string lno = lbListNo.Text;
|
var inoutdetails = InOutListDetailViewService.GetInstance().GetListDetailByListNo(lno, out msg);
|
if (inoutdetails==null)
|
{
|
Alert.ShowInTop("物料明细不能为空!");
|
return;
|
}
|
var placeMaterial = PlaceMaterialViewService.GetInstance().QueryByParam(new QueryParam { }, out msg);
|
List<MainTaskEntity> mtasklst = new List<MainTaskEntity>();
|
int islots = int.Parse(ddlLots.SelectedValue);
|
for (int i = 0; i < inoutdetails.Count; i++)
|
{
|
MainTaskEntity mtask = new MainTaskEntity()
|
{
|
TaskNo = DateTime.Now.ToFileTime().ToString(),
|
MaterialCode = inoutdetails[i].MaterialCode,
|
SysCode = "1",
|
SendTime = DateTime.Now,
|
ProcessCardNumber = "",
|
Quantity = 1,
|
Status = 0,
|
DecompositionTime = DateTime.Now,
|
WipStatus = 0,
|
DecompositionTimes = 0,
|
PackageNo = "",
|
IsLots = islots,
|
Priority = 0,
|
};
|
if (inoutdetails[i].TypeName == "入库")
|
{
|
mtask.TaskType = 0;
|
mtask.SourcePlace = "100101";
|
mtask.ToPlace = emptyPlace[i].Code;
|
}
|
else
|
{
|
var palcecode = placeMaterial.FirstOrDefault(x => x.MaterialCode == inoutdetails[i].MaterialCode);
|
mtask.TaskType = 1;
|
mtask.SourcePlace = palcecode.PlaceCode;
|
mtask.ToPlace = "100202";
|
}
|
mtasklst.Add(mtask);
|
}
|
|
MainTaskService.GetInstance().SaveMainTaskList(mtasklst, out msg);
|
if (string.IsNullOrEmpty(msg))
|
{
|
string listno = lbListNo.Text;
|
int count = InOutListDetailViewService.GetInstance().UpdateByListNo(listno, islots);
|
if (count > 0)
|
{
|
Alert.ShowInTop("出入库单生成成功!");
|
}
|
ListNoMaterialGrid.DataSource = null;
|
ListNoMaterialGrid.DataBind();
|
ListNoGrid.DataSource = null;
|
ListNoGrid.DataBind();
|
}
|
else
|
{
|
Alert.ShowInTop("出入库单生成失败!");
|
}
|
}
|
|
|
/// <summary>
|
/// 绑定查看物料
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
protected override void GridRowCommand(object sender, GridCommandEventArgs e)
|
{
|
btnSubmit.Enabled = true;
|
|
|
var grid = ListNoGrid;
|
|
if (e.CommandName == "Confirm")
|
{
|
var lno = grid.Rows[e.RowIndex].DataKeys[2].ToString();
|
string msg;
|
var inoutdetails = InOutListDetailViewService.GetInstance().GetListDetailByListNo(lno, out msg);
|
//if (inoutdetails.Count <= 0)
|
//{
|
// Alert.ShowInTop("此单号还未添加物料。");
|
// return;
|
//}
|
List<string> listno = new List<string>();
|
|
inoutdetails.ForEach(x => listno.Add(x.ListNo));
|
lbListNo.Text = listno[0];
|
|
ListNoMaterialGrid.DataSource = inoutdetails;
|
ListNoMaterialGrid.DataBind();
|
}
|
//删除出入库单号
|
if (e.CommandName == "Delete")
|
{
|
int id = Convert.ToInt32(grid.Rows[e.RowIndex].DataKeys[1].ToString());
|
string msg;
|
int count = InOutListService.GetInstance().Delete(id, out msg);
|
if (count >= 0)
|
{
|
Alert.ShowInTop("删除成功!");
|
btnSerch_Click(null,null);
|
ListNoMaterialGrid.DataSource = null;
|
ListNoMaterialGrid.DataBind();
|
}
|
}
|
}
|
|
/// <summary>
|
/// 物料明细删除按钮
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
protected void btnDelete_Click(object sender, EventArgs e)
|
{
|
//取得选中行ID的集合
|
List<object> selectedRowIDs = new List<object>(ListNoMaterialGrid.SelectedRowIDArray);
|
|
int[] selections = ListNoMaterialGrid.SelectedRowIndexArray;
|
|
string msg = "";
|
|
var detail = ListNoMaterialGrid.Rows;
|
List<int> idlist = new List<int>();
|
for (int i = 0; i < selections.Length; i++)
|
{
|
string RowId = detail[selections[i]].RowID.ToString();
|
int id = Convert.ToInt32(detail[selections[i]].Values[1].ToString());
|
|
if (selectedRowIDs.Contains(RowId))
|
{
|
idlist.Add(id);
|
}
|
}
|
int count = InOutListDetailService.GetInstance().Delete(idlist, out msg);
|
if (count >= 0)
|
{
|
Alert.ShowInTop("删除成功!");
|
var inoutdetails = InOutListDetailViewService.GetInstance().GetListDetailByListNo(lbListNo.Text, out msg);
|
List<string> listno = new List<string>();
|
inoutdetails.ForEach(x => listno.Add(x.ListNo));
|
ListNoMaterialGrid.DataSource = inoutdetails;
|
ListNoMaterialGrid.DataBind();
|
}
|
}
|
|
|
protected override void GetPath(object userName)
|
{
|
string msg;
|
|
string listno = tbListNo.Text;
|
|
var placematerial = InOutListDetailViewService.GetInstance().QueryByParam(new QueryParam
|
{
|
Filter = new Dictionary<string, object> { { "ListNo", listno } }
|
}, out msg);
|
var inoutdetails = new List<object>();
|
placematerial.ForEach(x => inoutdetails.Add(x));
|
|
var workBooks = WorkBookService.GetInstance().QueryByParam(new QueryParam { Filter = new Dictionary<string, object> { { "Name", "出入库单管理" } } }, out msg);
|
|
var path = ExcelService.GetInstance().ToExcelByEPPlus(workBooks[0], new Dictionary<string, List<object>> { { "出入库单管理", inoutdetails } }, out msg);
|
|
Session["ExcelPath"] = path;
|
}
|
|
protected override Window GetWindow()
|
{
|
if (string.IsNullOrEmpty(lbListNo.Text))
|
{
|
return null;
|
}
|
return Window2;
|
}
|
|
protected override FineUIPro.Timer GetTimer()
|
{
|
return timer1;
|
}
|
|
|
|
|
|
|
}
|
}
|