|
|
|
|
@ -1435,36 +1435,50 @@ namespace Khd.Core.Wpf.Form
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
//剩余出库单
|
|
|
|
|
int count = OutTaskNumber.Items.Count;
|
|
|
|
|
using var scope = _host.Services.CreateScope();
|
|
|
|
|
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
|
|
|
|
|
MessageBoxResult messageBoxResult = HandyControl.Controls.MessageBox.Show("是否确认捡料完成?", "提示信息", MessageBoxButton.YesNoCancel, MessageBoxImage.Information);
|
|
|
|
|
if (messageBoxResult == MessageBoxResult.Yes)
|
|
|
|
|
{
|
|
|
|
|
//剩余出库单
|
|
|
|
|
int count = OutTaskNumber.Items.Count;
|
|
|
|
|
using var scope = _host.Services.CreateScope();
|
|
|
|
|
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
|
|
|
|
|
|
|
|
|
|
var wcsCmd = dbContext.WcsTask
|
|
|
|
|
.Where(t => t.taskStatus == 6 || t.taskStatus == 3)
|
|
|
|
|
.Where(t => t.nextPointId == 10)
|
|
|
|
|
.FirstOrDefault();
|
|
|
|
|
if (wcsCmd == null)
|
|
|
|
|
{
|
|
|
|
|
HandyControl.Controls.MessageBox.Error("未查询到当前有背负式Agv由装配区到捡料区任务");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (wcsCmd.taskType == 32)//领料
|
|
|
|
|
var wcsCmd = dbContext.WcsTask
|
|
|
|
|
.Where(t => t.taskStatus == 6 || t.taskStatus == 3)
|
|
|
|
|
.Where(t => t.nextPointId == 10)
|
|
|
|
|
.FirstOrDefault();
|
|
|
|
|
if (wcsCmd == null)
|
|
|
|
|
{
|
|
|
|
|
if (count > 0)
|
|
|
|
|
HandyControl.Controls.MessageBox.Error("未查询到当前有背负式Agv由装配区到捡料区任务");
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (wcsCmd.taskType == 32)//领料
|
|
|
|
|
{
|
|
|
|
|
MessageBoxResult messageBoxResult = HandyControl.Controls.MessageBox.Show("是否需要背负式小车返回?", "提示信息", MessageBoxButton.YesNoCancel, MessageBoxImage.Information);
|
|
|
|
|
if (messageBoxResult == MessageBoxResult.Yes)
|
|
|
|
|
if (count > 0)
|
|
|
|
|
{
|
|
|
|
|
WcsTask wcsTask = CoreMapper.Map<WcsTask>(wcsCmd);
|
|
|
|
|
wcsTask.taskStatus = 0;
|
|
|
|
|
wcsTask.createTime = DateTime.Now;
|
|
|
|
|
wcsTask.useFlag = 1;
|
|
|
|
|
wcsTask.objid = Global.SnowId.NextId();
|
|
|
|
|
WcsTaskLog wcsTaskLog = CoreMapper.Map<WcsTaskLog>(wcsTask);
|
|
|
|
|
dbContext.Add(wcsTaskLog);
|
|
|
|
|
dbContext.Add(wcsTask);
|
|
|
|
|
MessageBoxResult messageBoxResult1 = HandyControl.Controls.MessageBox.Show("是否需要背负式小车返回?", "提示信息", MessageBoxButton.YesNoCancel, MessageBoxImage.Information);
|
|
|
|
|
if (messageBoxResult1 == MessageBoxResult.Yes)
|
|
|
|
|
{
|
|
|
|
|
WcsTask wcsTask = CoreMapper.Map<WcsTask>(wcsCmd);
|
|
|
|
|
wcsTask.taskStatus = 0;
|
|
|
|
|
wcsTask.createTime = DateTime.Now;
|
|
|
|
|
wcsTask.useFlag = 1;
|
|
|
|
|
wcsTask.objid = Global.SnowId.NextId();
|
|
|
|
|
WcsTaskLog wcsTaskLog = CoreMapper.Map<WcsTaskLog>(wcsTask);
|
|
|
|
|
dbContext.Add(wcsTaskLog);
|
|
|
|
|
dbContext.Add(wcsTask);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
BaseEquip baseEquip = dbContext.BaseEquip.First(t => t.objid == 10);
|
|
|
|
|
baseEquip.endStationCode = string.Empty;
|
|
|
|
|
baseEquip.ud3 = null;
|
|
|
|
|
dbContext.Update(baseEquip);
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
@ -1476,33 +1490,24 @@ namespace Khd.Core.Wpf.Form
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (wcsCmd.taskStatus == 3)
|
|
|
|
|
{
|
|
|
|
|
wcsCmd.taskStatus = 4;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
else if (wcsCmd.taskType == 48)//返库
|
|
|
|
|
{
|
|
|
|
|
BaseEquip baseEquip = dbContext.BaseEquip.First(t => t.objid == 10);
|
|
|
|
|
baseEquip.endStationCode = string.Empty;
|
|
|
|
|
baseEquip.ud3 = null;
|
|
|
|
|
dbContext.Update(baseEquip);
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (wcsCmd.taskStatus == 3)
|
|
|
|
|
{
|
|
|
|
|
wcsCmd.taskStatus = 4;
|
|
|
|
|
if (wcsCmd.taskStatus == 6)
|
|
|
|
|
{
|
|
|
|
|
wcsCmd.taskStatus = 7;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
dbContext.Update(wcsCmd);
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
HandyControl.Controls.MessageBox.Success("背负式Agv任务确认完成成功");
|
|
|
|
|
}
|
|
|
|
|
else if (wcsCmd.taskType == 48)//返库
|
|
|
|
|
{
|
|
|
|
|
if (wcsCmd.taskStatus == 6)
|
|
|
|
|
{
|
|
|
|
|
wcsCmd.taskStatus = 7;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
dbContext.Update(wcsCmd);
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
HandyControl.Controls.MessageBox.Success("背负式Agv任务确认完成成功");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
catch (Exception ex)
|
|
|
|
|
{
|
|
|
|
|
@ -2440,13 +2445,14 @@ namespace Khd.Core.Wpf.Form
|
|
|
|
|
{
|
|
|
|
|
try
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
using var scope = _host.Services.CreateScope();
|
|
|
|
|
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
|
|
|
|
|
BaseEquip baseEquip = dbContext.BaseEquip.First(t => t.objid == 10);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(txtOutBox.Text) && !string.IsNullOrEmpty(txtOutBarCode.Text))
|
|
|
|
|
{
|
|
|
|
|
using var scope = _host.Services.CreateScope();
|
|
|
|
|
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
|
|
|
|
|
|
|
|
|
|
var wmsRawStock = dbContext.WmsRawStock
|
|
|
|
|
.FirstOrDefault(t => t.instockBatch == txtOutBarCode.Text && t.palletInfoCode == txtOutBox.Text);
|
|
|
|
|
if (wmsRawStock == null)
|
|
|
|
|
@ -2472,7 +2478,7 @@ namespace Khd.Core.Wpf.Form
|
|
|
|
|
if (mesBaseBarcodeInfo != null)
|
|
|
|
|
{
|
|
|
|
|
WmsRawOutstock? wmsRawOutstock = dbContext.WmsRawOutstock
|
|
|
|
|
.Where(t => t.materialId == mesBaseBarcodeInfo.materialId && t.realOutstockAmount < t.outstockAmount && t.saleOrderId == (mesBaseBarcodeInfo.saleOrderId == null ? 0 : mesBaseBarcodeInfo.saleOrderId)).FirstOrDefault();
|
|
|
|
|
.Where(t => t.materialId == mesBaseBarcodeInfo.materialId && t.realOutstockAmount < t.outstockAmount && t.saleOrderId == (mesBaseBarcodeInfo.saleOrderId == null ? 0 : mesBaseBarcodeInfo.saleOrderId) && t.endStationCode == baseEquip.endStationCode).FirstOrDefault();
|
|
|
|
|
if (wmsRawOutstock != null)
|
|
|
|
|
{
|
|
|
|
|
wmsRawOutstock.realOutstockAmount += outScan;
|
|
|
|
|
@ -2527,90 +2533,90 @@ namespace Khd.Core.Wpf.Form
|
|
|
|
|
{
|
|
|
|
|
// 没有申请单
|
|
|
|
|
// 如果选中了出库单,并且无需要出库的申请单,则禁止出库
|
|
|
|
|
BaseEquip baseEquip = dbContext.BaseEquip.First(t => t.objid == 10);
|
|
|
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(baseEquip.endStationCode))
|
|
|
|
|
{
|
|
|
|
|
scanOutMsg.Text = "申请单里该条码无需出库!";
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (mesBaseBarcodeInfo.PurchaseOrderId == null)
|
|
|
|
|
if (mesBaseBarcodeInfo.PurchaseOrderId == null)
|
|
|
|
|
{
|
|
|
|
|
wmsRawStock.totalAmount -= outScan;
|
|
|
|
|
if (wmsRawStock.totalAmount == 0)
|
|
|
|
|
{
|
|
|
|
|
wmsRawStock.totalAmount -= outScan;
|
|
|
|
|
if (wmsRawStock.totalAmount == 0)
|
|
|
|
|
{
|
|
|
|
|
dbContext.WmsRawStock.Remove(wmsRawStock);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
dbContext.WmsRawStock.Update(wmsRawStock);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
#region 插入rawOutstock
|
|
|
|
|
string timeStamp = DateTime.Now.ToString("yyyyMMddHHmmss");
|
|
|
|
|
WmsRawOutstock newWmsRawOutstock = new WmsRawOutstock();
|
|
|
|
|
newWmsRawOutstock.taskCode = timeStamp + "CTU" + Random.Shared.Next(10, 99);
|
|
|
|
|
newWmsRawOutstock.warehouseId = 512;
|
|
|
|
|
newWmsRawOutstock.locationCode = wcsTask.currPointNo;
|
|
|
|
|
newWmsRawOutstock.stationId = 512;
|
|
|
|
|
newWmsRawOutstock.materialId = mesBaseBarcodeInfo.materialId;
|
|
|
|
|
newWmsRawOutstock.materialBatch = mesBaseBarcodeInfo.barcodeInfo;
|
|
|
|
|
newWmsRawOutstock.palletInfoCode = wcsTask.containerNo;
|
|
|
|
|
newWmsRawOutstock.outstockAmount = outScan;
|
|
|
|
|
newWmsRawOutstock.realOutstockAmount = outScan;
|
|
|
|
|
newWmsRawOutstock.operationType = "1";
|
|
|
|
|
newWmsRawOutstock.taskType = "1";
|
|
|
|
|
newWmsRawOutstock.auditStatus = "1";
|
|
|
|
|
newWmsRawOutstock.applyBy = "CtuGun";
|
|
|
|
|
newWmsRawOutstock.applyDate = DateTime.Now;
|
|
|
|
|
newWmsRawOutstock.executeStatus = "2";
|
|
|
|
|
newWmsRawOutstock.saleOrderId = mesBaseBarcodeInfo.saleOrderId;
|
|
|
|
|
newWmsRawOutstock.updateDate = DateTime.Now;
|
|
|
|
|
newWmsRawOutstock.beginTime = DateTime.Now;
|
|
|
|
|
newWmsRawOutstock.endTime = DateTime.Now;
|
|
|
|
|
dbContext.WmsRawOutstock.Add(newWmsRawOutstock);
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
#endregion
|
|
|
|
|
//if (mesBaseBarcodeInfo != null)
|
|
|
|
|
//{
|
|
|
|
|
// WmsRawOutstockDetail wmsProductOutstockDetail = new WmsRawOutstockDetail()
|
|
|
|
|
// {
|
|
|
|
|
// rawOutstockDetailId = Global.SnowId.NextId(),
|
|
|
|
|
// rawOutstockId = 0,
|
|
|
|
|
// materialId = mesBaseBarcodeInfo.materialId,
|
|
|
|
|
// createDate = DateTime.Now,
|
|
|
|
|
// createBy = "WCS",
|
|
|
|
|
// taskCode = wcsTask.objid.ToString(),
|
|
|
|
|
// executeStatus = "2",
|
|
|
|
|
// locationCode = wcsTask.currPointNo,
|
|
|
|
|
// outstockAmount = outScan,
|
|
|
|
|
// planAmount = outScan,
|
|
|
|
|
// warehouseId = 512,
|
|
|
|
|
// materialBarcode = mesBaseBarcodeInfo.barcodeInfo,
|
|
|
|
|
// instockBatch = mesBaseBarcodeInfo.batchCode,
|
|
|
|
|
// stackAmount = outScan,
|
|
|
|
|
// outstockPerson = "WCS",
|
|
|
|
|
// outstockTime = DateTime.Now,
|
|
|
|
|
// outstockWay = "2",
|
|
|
|
|
// materialProductionDate = mesBaseBarcodeInfo.productionDate
|
|
|
|
|
// };
|
|
|
|
|
// dbContext.WmsRawOutstockDetail.Add(wmsProductOutstockDetail);
|
|
|
|
|
//}
|
|
|
|
|
// dbContext.SaveChanges();
|
|
|
|
|
dbContext.WmsRawStock.Remove(wmsRawStock);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
scanOutMsg.Text = "该条码的销售订单不正确";
|
|
|
|
|
txtOutScan.Text = string.Empty;
|
|
|
|
|
txtOutBarCode.Text = string.Empty;
|
|
|
|
|
outMaterialSpecTxt.Text = string.Empty;
|
|
|
|
|
outMaterialNameTxt.Text = string.Empty;
|
|
|
|
|
txtOutBox.Text = string.Empty;
|
|
|
|
|
txtOutBox.Focus();
|
|
|
|
|
return;
|
|
|
|
|
dbContext.WmsRawStock.Update(wmsRawStock);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
#region 插入rawOutstock
|
|
|
|
|
string timeStamp = DateTime.Now.ToString("yyyyMMddHHmmss");
|
|
|
|
|
WmsRawOutstock newWmsRawOutstock = new WmsRawOutstock();
|
|
|
|
|
newWmsRawOutstock.taskCode = timeStamp + "CTU" + Random.Shared.Next(10, 99);
|
|
|
|
|
newWmsRawOutstock.warehouseId = 512;
|
|
|
|
|
newWmsRawOutstock.locationCode = wcsTask.currPointNo;
|
|
|
|
|
newWmsRawOutstock.stationId = 512;
|
|
|
|
|
newWmsRawOutstock.materialId = mesBaseBarcodeInfo.materialId;
|
|
|
|
|
newWmsRawOutstock.materialBatch = mesBaseBarcodeInfo.barcodeInfo;
|
|
|
|
|
newWmsRawOutstock.palletInfoCode = wcsTask.containerNo;
|
|
|
|
|
newWmsRawOutstock.outstockAmount = outScan;
|
|
|
|
|
newWmsRawOutstock.realOutstockAmount = outScan;
|
|
|
|
|
newWmsRawOutstock.operationType = "1";
|
|
|
|
|
newWmsRawOutstock.taskType = "1";
|
|
|
|
|
newWmsRawOutstock.auditStatus = "1";
|
|
|
|
|
newWmsRawOutstock.applyBy = "CtuGun";
|
|
|
|
|
newWmsRawOutstock.applyDate = DateTime.Now;
|
|
|
|
|
newWmsRawOutstock.executeStatus = "2";
|
|
|
|
|
newWmsRawOutstock.saleOrderId = mesBaseBarcodeInfo.saleOrderId;
|
|
|
|
|
newWmsRawOutstock.updateDate = DateTime.Now;
|
|
|
|
|
newWmsRawOutstock.beginTime = DateTime.Now;
|
|
|
|
|
newWmsRawOutstock.endTime = DateTime.Now;
|
|
|
|
|
dbContext.WmsRawOutstock.Add(newWmsRawOutstock);
|
|
|
|
|
dbContext.SaveChanges();
|
|
|
|
|
#endregion
|
|
|
|
|
//if (mesBaseBarcodeInfo != null)
|
|
|
|
|
//{
|
|
|
|
|
// WmsRawOutstockDetail wmsProductOutstockDetail = new WmsRawOutstockDetail()
|
|
|
|
|
// {
|
|
|
|
|
// rawOutstockDetailId = Global.SnowId.NextId(),
|
|
|
|
|
// rawOutstockId = 0,
|
|
|
|
|
// materialId = mesBaseBarcodeInfo.materialId,
|
|
|
|
|
// createDate = DateTime.Now,
|
|
|
|
|
// createBy = "WCS",
|
|
|
|
|
// taskCode = wcsTask.objid.ToString(),
|
|
|
|
|
// executeStatus = "2",
|
|
|
|
|
// locationCode = wcsTask.currPointNo,
|
|
|
|
|
// outstockAmount = outScan,
|
|
|
|
|
// planAmount = outScan,
|
|
|
|
|
// warehouseId = 512,
|
|
|
|
|
// materialBarcode = mesBaseBarcodeInfo.barcodeInfo,
|
|
|
|
|
// instockBatch = mesBaseBarcodeInfo.batchCode,
|
|
|
|
|
// stackAmount = outScan,
|
|
|
|
|
// outstockPerson = "WCS",
|
|
|
|
|
// outstockTime = DateTime.Now,
|
|
|
|
|
// outstockWay = "2",
|
|
|
|
|
// materialProductionDate = mesBaseBarcodeInfo.productionDate
|
|
|
|
|
// };
|
|
|
|
|
// dbContext.WmsRawOutstockDetail.Add(wmsProductOutstockDetail);
|
|
|
|
|
//}
|
|
|
|
|
// dbContext.SaveChanges();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
scanOutMsg.Text = "该条码的销售订单不正确";
|
|
|
|
|
txtOutScan.Text = string.Empty;
|
|
|
|
|
txtOutBarCode.Text = string.Empty;
|
|
|
|
|
outMaterialSpecTxt.Text = string.Empty;
|
|
|
|
|
outMaterialNameTxt.Text = string.Empty;
|
|
|
|
|
txtOutBox.Text = string.Empty;
|
|
|
|
|
txtOutBox.Focus();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
scanOutMsg.Text = "出库成功!";
|
|
|
|
|
|