using iWareCommon.Common.Globle;
|
using iWareCommon.Utils;
|
using iWareModel;
|
using iWareSql.DataAccess;
|
using iWareSql.DBModel;
|
using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Data;
|
using System.Drawing;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Windows.Forms;
|
using XiGang.Core.Model;
|
using XiGang.Core.Model.PostParamModels;
|
|
namespace iWareCC.Forms
|
{
|
public partial class SrmStockForm : Form
|
{
|
delegate void Delegate_SetPostResult2(string content);
|
public SrmStockForm()
|
{
|
InitializeComponent();
|
|
this.tb_SalverCount.Text = "1";
|
}
|
|
|
|
|
/// <summary>
|
/// 人工新增库存
|
/// </summary>
|
/// <param name="sender"></param>
|
/// <param name="e"></param>
|
private void button1_Click(object sender, EventArgs e)
|
{
|
string tb_SrmNo = this.tb_PlaceNo.Text.Trim();
|
try
|
{
|
ListItem selProFlag = null;
|
var itemType = ComboBoxHelper.GetComboxSelectValue(this.cmbItemType, ref selProFlag);
|
|
|
|
if (string.IsNullOrEmpty(tb_SrmNo))
|
{
|
ShowResult("库位号不能为空");
|
return;
|
}
|
|
var remark = "";
|
int qty = 1;
|
if (selProFlag.Text == "托盘")
|
{
|
qty = Convert.ToInt32(tb_SalverCount.Text);
|
remark = "人工手动增加托盘库存";
|
}
|
|
|
Base_Station toPlace = null;
|
using (DbModel context = new DbModel())
|
{
|
toPlace = context.Base_Station.Where(x => x.SrmStationCode == tb_SrmNo).FirstOrDefault();
|
if (toPlace == null)
|
{
|
ShowResult(tb_SrmNo + "库位不存在");
|
return;
|
}
|
//看看有没有库存
|
var abc = context.V_AllStore.Where(x => x.SrmStationCode == toPlace.SrmStationCode).FirstOrDefault();
|
if (abc != null)
|
{
|
ShowResult(tb_SrmNo + "已经有库存了");
|
return;
|
}
|
|
if (selProFlag.Text == "托盘")
|
{
|
Base_Material newMaterial = null;
|
Base_Salver salver = null;
|
StoreHandler.AddStoreForEmptySalverTransfer(context, remark, toPlace, qty, "人工手动", ref salver, ref newMaterial);
|
|
|
SaveLog(MaterialTypeEnum.托盘, newMaterial, context, tb_SrmNo, remark, qty, salver, toPlace, "", "");
|
|
context.SaveChanges();//提交数据
|
}
|
else
|
{
|
var SerialNumber = this.tb_SerialNumber.Text;
|
var OrderNo = this.tb_OrderNo.Text;
|
var SalverCode = this.tb_SalverCode.Text;
|
if (string.IsNullOrEmpty(SerialNumber))
|
{
|
ShowResult(tb_SrmNo + "序列号不能为空");
|
return;
|
}
|
if (string.IsNullOrEmpty(OrderNo))
|
{
|
ShowResult(tb_SrmNo + "订货号不能为空");
|
return;
|
}
|
if (string.IsNullOrEmpty(SalverCode))
|
{
|
ShowResult(tb_SrmNo + "托盘号不能为空");
|
return;
|
}
|
abc = context.V_AllStore.Where(x => x.SerialNumber == SerialNumber).FirstOrDefault();
|
if (abc != null)
|
{
|
ShowResult("序列号" + SerialNumber + "已经有库存了");
|
return;
|
}
|
abc = context.V_AllStore.Where(x => x.SalverCode == SalverCode).FirstOrDefault();
|
if (abc != null)
|
{
|
ShowResult("托盘号" + SalverCode + "已经有库存了");
|
return;
|
}
|
|
//绑定托盘和站点的关系
|
//新建物料
|
C_AnalyzeMaterialPostParam analyzeMaterialPostParam = new C_AnalyzeMaterialPostParam();
|
analyzeMaterialPostParam.SerialNumber = SerialNumber;
|
analyzeMaterialPostParam.OrderNo = OrderNo;
|
analyzeMaterialPostParam.CargoNo = " ";
|
analyzeMaterialPostParam.Supplier = "";//供应商
|
Base_Material newMaterial = MaterialHandler.CreateCargoMaterial(context, analyzeMaterialPostParam, "入库时,新建物料", SerialNumber, OrderNo);
|
//判断托盘是否存在,如果存在,就不需要重建,如果不存在,就新建托盘
|
var errMsg = "";
|
Base_Salver salver = SalverHandler.GetSalveByCodeForInTask(context, SalverCode, out errMsg);
|
if (!string.IsNullOrEmpty(errMsg))
|
{
|
ShowResult(tb_SrmNo + "errMsg");
|
return;
|
}
|
//绑定托盘和物料的关系
|
Salver_Material_Handler.CreateCvIRelation(context, "人工手动", salver, newMaterial, remark);
|
//绑定托盘和站点的关系
|
Salver_Station_Handler.CreateCvPRelation(context, "人工手动", salver, toPlace, Salver_V_Station_StateEnum.入库绑定, remark);
|
|
toPlace.IsFull = true;//代表有货
|
|
SaveLog(MaterialTypeEnum.一般物料, newMaterial, context, tb_SrmNo, remark, qty, salver, toPlace, SerialNumber, OrderNo);
|
|
context.SaveChanges();//提交数据
|
}
|
ShowResult(tb_SrmNo + "保存成功");
|
}
|
}
|
catch (Exception ex)
|
{
|
ShowResult(tb_SrmNo + "保存失败," + ex.Message);
|
}
|
}
|
|
private void SaveLog(MaterialTypeEnum _MaterialTypeEnum, Base_Material newMaterial, DbModel context, string tb_SrmNo, string remark, int qty,
|
Base_Salver salver, Base_Station toPlace, string serialNumber, string orderNo)
|
{
|
//增加Main表和Part表数据
|
Task_Main mainTask = new Task_Main();
|
mainTask.IsVirtual = false;//非虚拟入库
|
|
MainTaskTypeEnum _taskType = default(MainTaskTypeEnum);
|
DeviceTaskTypeEnum _DeviceTaskTypeEnum = default(DeviceTaskTypeEnum);
|
string handlerType = "";
|
MaterialTypeEnum _MaterialType = default(MaterialTypeEnum);
|
switch (_MaterialTypeEnum)
|
{
|
case MaterialTypeEnum.托盘:
|
handlerType = "手动添加托盘库存";
|
_DeviceTaskTypeEnum = DeviceTaskTypeEnum.空托转运到立体库;
|
mainTask.TaskNo = TaskNoHelper.GenerateTaskNo("IN__SD_TP");
|
mainTask.TaskName = "手动添加托盘库存";
|
mainTask.InOutFlag = (int)MainInOutFlagEnum.入库;
|
mainTask.InOutFlagName = MainInOutFlagEnum.入库.ToString();
|
_taskType = MainTaskTypeEnum.手动入库;
|
mainTask.TaskType = Convert.ToInt32(_taskType);
|
mainTask.TaskTypeName = _taskType.ToString();
|
_MaterialType = MaterialTypeEnum.托盘;
|
break;
|
case MaterialTypeEnum.一般物料:
|
handlerType = "手动添加发动机库存";
|
_DeviceTaskTypeEnum = DeviceTaskTypeEnum.组盘入库;
|
|
mainTask.TaskNo = TaskNoHelper.GenerateTaskNo("IN_SD");
|
mainTask.TaskName = "手动入库";
|
mainTask.InOutFlag = (int)MainInOutFlagEnum.入库;
|
mainTask.InOutFlagName = MainInOutFlagEnum.入库.ToString();
|
_taskType = MainTaskTypeEnum.手动入库;
|
mainTask.TaskType = Convert.ToInt32(_taskType);
|
mainTask.TaskTypeName = _taskType.ToString();
|
|
mainTask.SerialNumber = serialNumber;
|
mainTask.OrderNo = orderNo;
|
|
_MaterialType = MaterialTypeEnum.一般物料;
|
|
|
|
break;
|
}
|
|
mainTask.MaterialType = (int)_MaterialType;
|
mainTask.MaterialTypeName = _MaterialType.ToString();
|
|
|
var _taskState = MainTaskStatusEnum.已完成;
|
mainTask.TaskState = Convert.ToInt32(_taskState);
|
mainTask.TaskStateName = _taskState.ToString();
|
mainTask.IsAllowSimulateExecute = true;
|
mainTask.OperationRemark = handlerType;
|
mainTask.Qty = qty;
|
mainTask.CreateTime = mainTask.ModifyTime = mainTask.StartTime = DateTime.Now;
|
mainTask.CreateBy = mainTask.ModifyBy = SysGloble.WCSSystem;
|
|
mainTask.MaterialId = newMaterial.Id;
|
|
mainTask.FinishTime = DateTime.Now;
|
|
mainTask.ToPlace = toPlace.Id;
|
mainTask.RealToPlace = toPlace.SrmStationCode;
|
//记录区域 [EditBy shaocx,2022-05-02]
|
EDevice device = BusinessHelper.GetSrmDeviceByPlaceNo(toPlace.SrmStationCode);
|
mainTask.Area = ((int)device).ToString();
|
|
context.Task_Main.Add(mainTask);
|
|
|
|
|
|
EDeviceType deviceType = EDeviceType.堆垛机;
|
var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask();
|
//中间点
|
var midPlace = StationHandler.GetRgvPlaceBySrmPlaceForInStore(context, toPlace);
|
if (midPlace == null)
|
{
|
throw new Exception("没有找到RGV入库位置");
|
}
|
Task_Part partTask = new Task_Part()
|
{
|
Id = Guid.NewGuid().ToString(),
|
|
InOutFlag = mainTask.InOutFlag,
|
InOutFlagName = mainTask.InOutFlagName,
|
|
DeviceType = (int)deviceType,
|
DeviceTypeName = deviceType.ToString(),
|
DeviceId = Convert.ToInt16(device),
|
DeviceName = Convert.ToString(device),
|
|
IsAllowSimulateExecute = true,
|
|
TaskSequence = 1,
|
MainTaskSequence = mainTask.TaskSequence,//增加主任务优先级
|
TaskDescribe = handlerType,
|
OperationRemark = handlerType,
|
MainTaskId = mainTask.Id,
|
MainTaskNo = mainTask.TaskNo,
|
MaterialId = mainTask.MaterialId,
|
Qty = mainTask.Qty,//增加数量 【EditBy shaocx,2022-05-01】
|
|
//增加 订货号和序列号的赋值 [Editby shaocx,2022-04-21]
|
SerialNumber = mainTask.SerialNumber,
|
OrderNo = mainTask.OrderNo,
|
|
//ToNumber = toNumber,
|
//TaskGuid = taskGuid,
|
//MatID = MatID,
|
//MatName = MatName,
|
//Remark = "手动入库创建设备任务" + description,
|
//Creator = "手动入库创建设备任务" + "," + Dns.GetHostName(),
|
//UpdateUser = "手动入库创建设备任务" + "," + Dns.GetHostName(),
|
CreateTime = DateTime.Now,
|
ModifyTime = DateTime.Now,
|
|
PlcTaskId = plcTaskNo,
|
//ContainerId = ctn.ContainerId,
|
SalverId = salver.Id,
|
SalverCode = salver.SalverCode,
|
|
SourcePlace = midPlace.Id,
|
ToPlace = toPlace.Id,
|
RealSourcePlace = midPlace.SrmStationCode,
|
RealToPlace = toPlace.SrmStationCode,
|
|
TaskName = string.Format("(来源:id-{0} no-{1},目标:id-{2} no-{3})", midPlace.Id, midPlace.SrmStationCode,
|
toPlace.Id, toPlace.SrmStationCode),
|
|
IsReleased = true,
|
// IsCurrentTask = 0,
|
IsFinished = true,
|
//IsLastTask = 0,
|
//Void = 0,
|
TaskState = (int)DeviceTaskStatusEnum.已完成,
|
TaskStateName = DeviceTaskStatusEnum.已完成.ToString(),
|
|
TaskType = (int)_DeviceTaskTypeEnum,
|
TaskTypeName = _DeviceTaskTypeEnum.ToString(),
|
|
MaterialType = (int)_MaterialType,
|
MaterialTypeName = _MaterialType.ToString(),
|
|
IssueTime = DateTime.Now,
|
FinishTime = DateTime.Now
|
|
};
|
context.Task_Part.Add(partTask);
|
|
|
//保存人工处理日志 [EditBy shaocx,2022-05-01]
|
Base_PersonHandlerRecord record = new Base_PersonHandlerRecord()
|
{
|
MainTaskNo = mainTask.TaskNo,
|
HandlerType = handlerType,
|
PartTaskId = partTask.Id,
|
PlcTaskId = partTask.PlcTaskId,
|
RealSourcePlace = tb_SrmNo,
|
RealToPlace = tb_SrmNo,
|
SalverCode = salver.SalverCode,
|
SerialNumber = serialNumber,
|
OrderNo = orderNo,
|
TaskTypeName = partTask.TaskTypeName,
|
Qty = qty,
|
|
ManualHandlerRemark = remark,
|
OperationRemark = remark
|
|
};
|
PersonHandlerRecordHandler.SavePersonHandlerRecord(context, record);
|
|
}
|
|
private void button2_Click(object sender, EventArgs e)
|
{
|
ClearPlace();
|
}
|
private void ClearPlace()
|
{
|
var msg = "清除";
|
try
|
{
|
string tb_SrmNo = this.tb_PlaceNo.Text.Trim();
|
if (string.IsNullOrEmpty(tb_SrmNo))
|
{
|
ShowResult("库位号不能为空");
|
return;
|
}
|
|
MessageBoxButtons messButton = MessageBoxButtons.OKCancel;
|
DialogResult dr = MessageBox.Show("确定要按照库位号" + tb_SrmNo + "删除库存吗?", "确认", messButton);
|
if (dr == DialogResult.OK)//如果点击“确定”按钮
|
{
|
|
Base_Station place = null;
|
using (DbModel edm = new DbModel())
|
{
|
place = edm.Base_Station.Where(x => x.SrmStationCode == tb_SrmNo || x.RgvStationCode == tb_SrmNo).FirstOrDefault();
|
//获取库存的信息
|
var store = edm.V_AllStore.Where(x => x.StationId == place.Id).FirstOrDefault();
|
if (store == null)
|
{
|
ShowResult("该库位上没有库存!");
|
return;
|
}
|
|
StoreHandler.ClearStockByPlaceId(edm, place, "人工手动清除,按库位号清除");
|
|
if (store.IsSrmStation)
|
{//如果是立体库库存,则在增加mian表
|
#region 增加Main表
|
|
//增加Main表和Part表数据
|
Task_Main mainTask = new Task_Main();
|
mainTask.IsVirtual = false;//非虚拟入库
|
|
MainTaskTypeEnum _taskType = default(MainTaskTypeEnum);
|
DeviceTaskTypeEnum _DeviceTaskTypeEnum = default(DeviceTaskTypeEnum);
|
string handlerType = "";
|
MaterialTypeEnum _MaterialType = (MaterialTypeEnum)Enum.Parse(typeof(MaterialTypeEnum), store.MaterialType.ToString());
|
switch (_MaterialType)
|
{
|
case MaterialTypeEnum.托盘:
|
handlerType = "手动清除托盘库存";
|
_DeviceTaskTypeEnum = DeviceTaskTypeEnum.出库;
|
mainTask.TaskNo = TaskNoHelper.GenerateTaskNo("OUT_SD_TP");
|
mainTask.TaskName = "手动清除托盘库存";
|
mainTask.InOutFlag = (int)MainInOutFlagEnum.出库;
|
mainTask.InOutFlagName = MainInOutFlagEnum.出库.ToString();
|
_taskType = MainTaskTypeEnum.手动出库;
|
mainTask.TaskType = Convert.ToInt32(_taskType);
|
mainTask.TaskTypeName = _taskType.ToString();
|
break;
|
case MaterialTypeEnum.一般物料:
|
handlerType = "手动清除发动机库存";
|
_DeviceTaskTypeEnum = DeviceTaskTypeEnum.出库;
|
|
mainTask.TaskNo = TaskNoHelper.GenerateTaskNo("OUT_SD");
|
mainTask.TaskName = "手动清除发动机库存";
|
mainTask.InOutFlag = (int)MainInOutFlagEnum.出库;
|
mainTask.InOutFlagName = MainInOutFlagEnum.出库.ToString();
|
_taskType = MainTaskTypeEnum.手动出库;
|
mainTask.TaskType = Convert.ToInt32(_taskType);
|
mainTask.TaskTypeName = _taskType.ToString();
|
|
mainTask.SerialNumber = store.SerialNumber;
|
mainTask.OrderNo = store.OrderNo;
|
|
|
break;
|
}
|
|
mainTask.MaterialType = (int)_MaterialType;
|
mainTask.MaterialTypeName = _MaterialType.ToString();
|
|
|
var _taskState = MainTaskStatusEnum.已完成;
|
mainTask.TaskState = Convert.ToInt32(_taskState);
|
mainTask.TaskStateName = _taskState.ToString();
|
mainTask.IsAllowSimulateExecute = true;
|
mainTask.OperationRemark = handlerType;
|
mainTask.Qty = store.Qty;
|
mainTask.CreateTime = mainTask.ModifyTime = mainTask.StartTime = DateTime.Now;
|
mainTask.CreateBy = mainTask.ModifyBy = SysGloble.WCSSystem;
|
|
mainTask.MaterialId = store.MaterialId;
|
|
mainTask.FinishTime = DateTime.Now;
|
|
mainTask.SourcePlace = store.StationId;
|
mainTask.RealSourcePlace = store.SrmStationCode;
|
|
mainTask.ToPlace = 0;
|
mainTask.RealToPlace = "";
|
//记录区域 [EditBy shaocx,2022-05-02]
|
EDevice device = BusinessHelper.GetSrmDeviceByPlaceNo(store.SrmStationCode);
|
mainTask.Area = ((int)device).ToString();
|
|
edm.Task_Main.Add(mainTask);
|
|
|
#endregion
|
|
#region 增加Part表
|
EDeviceType deviceType = EDeviceType.堆垛机;
|
var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask();
|
Task_Part partTask = new Task_Part()
|
{
|
Id = Guid.NewGuid().ToString(),
|
|
InOutFlag = mainTask.InOutFlag,
|
InOutFlagName = mainTask.InOutFlagName,
|
|
DeviceType = (int)deviceType,
|
DeviceTypeName = deviceType.ToString(),
|
DeviceId = Convert.ToInt16(device),
|
DeviceName = Convert.ToString(device),
|
|
IsAllowSimulateExecute = true,
|
|
TaskSequence = 1,
|
MainTaskSequence = mainTask.TaskSequence,//增加主任务优先级
|
TaskDescribe = handlerType,
|
OperationRemark = handlerType,
|
MainTaskId = mainTask.Id,
|
MainTaskNo = mainTask.TaskNo,
|
MaterialId = mainTask.MaterialId,
|
Qty = mainTask.Qty,//增加数量 【EditBy shaocx,2022-05-01】
|
|
//增加 订货号和序列号的赋值 [Editby shaocx,2022-04-21]
|
SerialNumber = mainTask.SerialNumber,
|
OrderNo = mainTask.OrderNo,
|
|
//ToNumber = toNumber,
|
//TaskGuid = taskGuid,
|
//MatID = MatID,
|
//MatName = MatName,
|
//Remark = "手动入库创建设备任务" + description,
|
//Creator = "手动入库创建设备任务" + "," + Dns.GetHostName(),
|
//UpdateUser = "手动入库创建设备任务" + "," + Dns.GetHostName(),
|
CreateTime = DateTime.Now,
|
ModifyTime = DateTime.Now,
|
|
PlcTaskId = plcTaskNo,
|
//ContainerId = ctn.ContainerId,
|
SalverId = store.SalverId,
|
SalverCode = store.SalverCode,
|
|
SourcePlace = store.StationId,
|
ToPlace = 0,
|
RealSourcePlace = store.SrmStationCode,
|
RealToPlace = store.SrmStationCode,
|
|
TaskName = string.Format("(来源:id-{0} no-{1},目标:id-{2} no-{3})", store.StationId, store.SrmStationCode,
|
0, ""),
|
|
IsReleased = true,
|
// IsCurrentTask = 0,
|
IsFinished = true,
|
//IsLastTask = 0,
|
//Void = 0,
|
TaskState = (int)DeviceTaskStatusEnum.已完成,
|
TaskStateName = DeviceTaskStatusEnum.已完成.ToString(),
|
|
TaskType = (int)_DeviceTaskTypeEnum,
|
TaskTypeName = _DeviceTaskTypeEnum.ToString(),
|
|
MaterialType = (int)_MaterialType,
|
MaterialTypeName = _MaterialType.ToString(),
|
|
IssueTime = DateTime.Now,
|
FinishTime = DateTime.Now
|
|
};
|
edm.Task_Part.Add(partTask);
|
|
#endregion
|
}
|
|
|
|
//保存人工处理日志 [EditBy shaocx,2022-05-01]
|
Base_PersonHandlerRecord record = new Base_PersonHandlerRecord()
|
{
|
MainTaskNo = "",
|
HandlerType = "库存删除,人工手动清除,按库位号清除",
|
PartTaskId = "",
|
PlcTaskId = "",
|
RealSourcePlace = tb_SrmNo,
|
RealToPlace = "",
|
SalverCode = store.SalverCode,
|
SerialNumber = store.SerialNumber,
|
OrderNo = store.OrderNo,
|
TaskTypeName = "",
|
Qty = store.Qty,
|
|
// ManualHandlerRemark = _AllowSimulateExecute_Rmark
|
|
};
|
PersonHandlerRecordHandler.SavePersonHandlerRecord(edm, record);
|
|
edm.SaveChanges();
|
|
ShowResult(msg + "库存成功");
|
}
|
}
|
else//如果点击“取消”按钮
|
{
|
|
}
|
|
}
|
catch (Exception ex)
|
{
|
ShowResult(msg + "库存失败," + ex.Message);
|
}
|
}
|
private void btn_close_Click(object sender, EventArgs e)
|
{
|
this.Close();
|
}
|
|
private void SrmStockForm_Load(object sender, EventArgs e)
|
{
|
LoadItemType();
|
}
|
|
private void LoadItemType()
|
{
|
List<ListItem> itemList = new List<ListItem>();
|
itemList.Add(new ListItem()
|
{
|
Text = "发送机",
|
Value = "1"
|
});
|
itemList.Add(new ListItem()
|
{
|
Text = "托盘",
|
Value = "2"
|
});
|
foreach (var item in itemList)
|
{
|
this.cmbItemType.Items.Add(item);
|
}
|
|
cmbItemType.SelectedIndex = 1;
|
}
|
|
/// <summary>
|
/// 显示请求结果
|
/// </summary>
|
/// <param name="content"></param>
|
private void ShowResult(string content)
|
{
|
|
if (this.tb_Log.InvokeRequired)
|
{
|
Delegate_SetPostResult2 delegate_SetPostResult = new Delegate_SetPostResult2(ShowResult);
|
this.Invoke(delegate_SetPostResult, new object[] { content });
|
}
|
else
|
{
|
//content += "\r\n";
|
this.tb_Log.Text = StringHelper.GetLog(content) + this.tb_Log.Text;
|
}
|
}
|
|
private void button3_Click(object sender, EventArgs e)
|
{
|
var msg = "解锁";
|
try
|
{
|
string tb_SrmNo = this.tb_PlaceNo.Text.Trim();
|
if (string.IsNullOrEmpty(tb_SrmNo))
|
{
|
ShowResult("库位号不能为空");
|
return;
|
}
|
Base_Station place = null;
|
using (DbModel edm = new DbModel())
|
{
|
place = edm.Base_Station.Where(x => x.SrmStationCode == tb_SrmNo || x.RgvStationCode == tb_SrmNo).FirstOrDefault();
|
place.IsLock = false;
|
place.IsDeleted = false;
|
place.IsHasTaskDoing = false;
|
place.OperationRemark = "人工手动解锁";
|
|
|
//保存人工处理日志 [EditBy shaocx,2022-05-01]
|
Base_PersonHandlerRecord record = new Base_PersonHandlerRecord()
|
{
|
MainTaskNo = "",
|
HandlerType = "人工手动解锁",
|
PartTaskId = "",
|
PlcTaskId = "",
|
RealSourcePlace = tb_SrmNo,
|
RealToPlace = "",
|
SalverCode = "",
|
SerialNumber = "",
|
OrderNo = "",
|
TaskTypeName = "",
|
Qty = 0,
|
|
// ManualHandlerRemark = _AllowSimulateExecute_Rmark
|
|
};
|
PersonHandlerRecordHandler.SavePersonHandlerRecord(edm, record);
|
|
edm.SaveChanges();
|
ShowResult(msg + "解锁成功");
|
}
|
}
|
catch (Exception ex)
|
{
|
ShowResult(msg + "解锁失败," + ex.Message);
|
}
|
}
|
|
private void SrmStockForm_Load_1(object sender, EventArgs e)
|
{
|
LoadItemType();
|
}
|
|
private void button4_Click(object sender, EventArgs e)
|
{
|
var msg = "锁定";
|
try
|
{
|
string tb_SrmNo = this.tb_PlaceNo.Text.Trim();
|
if (string.IsNullOrEmpty(tb_SrmNo))
|
{
|
ShowResult("库位号不能为空");
|
return;
|
}
|
Base_Station place = null;
|
using (DbModel edm = new DbModel())
|
{
|
place = edm.Base_Station.Where(x => x.SrmStationCode == tb_SrmNo || x.RgvStationCode == tb_SrmNo).FirstOrDefault();
|
place.IsLock = true;
|
place.OperationRemark = "人工手动锁定";
|
|
//保存人工处理日志 [EditBy shaocx,2022-05-01]
|
Base_PersonHandlerRecord record = new Base_PersonHandlerRecord()
|
{
|
MainTaskNo = "",
|
HandlerType = "人工手动锁定",
|
PartTaskId = "",
|
PlcTaskId = "",
|
RealSourcePlace = tb_SrmNo,
|
RealToPlace = "",
|
SalverCode = "",
|
SerialNumber = "",
|
OrderNo = "",
|
TaskTypeName = "",
|
Qty = 0,
|
|
// ManualHandlerRemark = _AllowSimulateExecute_Rmark
|
|
};
|
PersonHandlerRecordHandler.SavePersonHandlerRecord(edm, record);
|
|
edm.SaveChanges();
|
ShowResult(msg + "锁定成功");
|
}
|
}
|
catch (Exception ex)
|
{
|
ShowResult(msg + "锁定失败," + ex.Message);
|
}
|
}
|
|
private void btn_ClearStoreBySalver_Click(object sender, EventArgs e)
|
{
|
//按托盘号清理库存
|
var msg = "按托盘号清理库存";
|
try
|
{
|
string tb_SalverCode = this.tb_SalverCode.Text.Trim();
|
if (string.IsNullOrEmpty(tb_SalverCode))
|
{
|
ShowResult("托盘号不能为空");
|
return;
|
}
|
|
MessageBoxButtons messButton = MessageBoxButtons.OKCancel;
|
DialogResult dr = MessageBox.Show("确定要按照托盘号" + tb_SalverCode + "删除库存吗?", "确认", messButton);
|
if (dr == DialogResult.OK)//如果点击“确定”按钮
|
{
|
|
Base_Salver salver = null;
|
using (DbModel edm = new DbModel())
|
{
|
salver = edm.Base_Salver.Where(x => x.SalverCode == tb_SalverCode).FirstOrDefault();
|
if (salver == null)
|
{
|
ShowResult("没有找到托盘!");
|
return;
|
}
|
|
StoreHandler.ClearStockBySalverCode(edm, salver, "人工手动清除-按托盘号清理库存");
|
|
//保存人工处理日志 [EditBy shaocx,2022-05-01]
|
Base_PersonHandlerRecord record = new Base_PersonHandlerRecord()
|
{
|
MainTaskNo = "",
|
HandlerType = "人工手动清除-按托盘号清理库存",
|
PartTaskId = "",
|
PlcTaskId = "",
|
RealSourcePlace = "",
|
RealToPlace = "",
|
SalverCode = salver.SalverCode,
|
SerialNumber = "",
|
OrderNo = "",
|
TaskTypeName = "",
|
Qty = 0,
|
|
// ManualHandlerRemark = _AllowSimulateExecute_Rmark
|
|
};
|
PersonHandlerRecordHandler.SavePersonHandlerRecord(edm, record);
|
|
edm.SaveChanges();
|
|
ShowResult(msg + "库存成功");
|
}
|
}
|
else//如果点击“取消”按钮
|
{
|
|
}
|
|
}
|
catch (Exception ex)
|
{
|
ShowResult(msg + "库存失败," + ex.Message);
|
}
|
}
|
}
|
}
|