liuwf 1 year ago
parent 1e59eae5fc
commit e366b96752

@ -1435,36 +1435,50 @@ namespace Khd.Core.Wpf.Form
{ {
try try
{ {
//剩余出库单 MessageBoxResult messageBoxResult = HandyControl.Controls.MessageBox.Show("是否确认捡料完成?", "提示信息", MessageBoxButton.YesNoCancel, MessageBoxImage.Information);
int count = OutTaskNumber.Items.Count; if (messageBoxResult == MessageBoxResult.Yes)
using var scope = _host.Services.CreateScope(); {
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>(); //剩余出库单
int count = OutTaskNumber.Items.Count;
using var scope = _host.Services.CreateScope();
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
var wcsCmd = dbContext.WcsTask var wcsCmd = dbContext.WcsTask
.Where(t => t.taskStatus == 6 || t.taskStatus == 3) .Where(t => t.taskStatus == 6 || t.taskStatus == 3)
.Where(t => t.nextPointId == 10) .Where(t => t.nextPointId == 10)
.FirstOrDefault(); .FirstOrDefault();
if (wcsCmd == null) if (wcsCmd == null)
{
HandyControl.Controls.MessageBox.Error("未查询到当前有背负式Agv由装配区到捡料区任务");
}
else
{
if (wcsCmd.taskType == 32)//领料
{ {
if (count > 0) HandyControl.Controls.MessageBox.Error("未查询到当前有背负式Agv由装配区到捡料区任务");
}
else
{
if (wcsCmd.taskType == 32)//领料
{ {
MessageBoxResult messageBoxResult = HandyControl.Controls.MessageBox.Show("是否需要背负式小车返回?", "提示信息", MessageBoxButton.YesNoCancel, MessageBoxImage.Information); if (count > 0)
if (messageBoxResult == MessageBoxResult.Yes)
{ {
WcsTask wcsTask = CoreMapper.Map<WcsTask>(wcsCmd); MessageBoxResult messageBoxResult1 = HandyControl.Controls.MessageBox.Show("是否需要背负式小车返回?", "提示信息", MessageBoxButton.YesNoCancel, MessageBoxImage.Information);
wcsTask.taskStatus = 0; if (messageBoxResult1 == MessageBoxResult.Yes)
wcsTask.createTime = DateTime.Now; {
wcsTask.useFlag = 1; WcsTask wcsTask = CoreMapper.Map<WcsTask>(wcsCmd);
wcsTask.objid = Global.SnowId.NextId(); wcsTask.taskStatus = 0;
WcsTaskLog wcsTaskLog = CoreMapper.Map<WcsTaskLog>(wcsTask); wcsTask.createTime = DateTime.Now;
dbContext.Add(wcsTaskLog); wcsTask.useFlag = 1;
dbContext.Add(wcsTask); 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 else
{ {
@ -1476,33 +1490,24 @@ namespace Khd.Core.Wpf.Form
return; return;
} }
if (wcsCmd.taskStatus == 3)
{
wcsCmd.taskStatus = 4;
}
} }
else else if (wcsCmd.taskType == 48)//返库
{ {
BaseEquip baseEquip = dbContext.BaseEquip.First(t => t.objid == 10); if (wcsCmd.taskStatus == 6)
baseEquip.endStationCode = string.Empty; {
baseEquip.ud3 = null; wcsCmd.taskStatus = 7;
dbContext.Update(baseEquip); }
dbContext.SaveChanges();
return;
}
if (wcsCmd.taskStatus == 3)
{
wcsCmd.taskStatus = 4;
} }
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) catch (Exception ex)
{ {
@ -2440,13 +2445,14 @@ namespace Khd.Core.Wpf.Form
{ {
try 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)) 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 var wmsRawStock = dbContext.WmsRawStock
.FirstOrDefault(t => t.instockBatch == txtOutBarCode.Text && t.palletInfoCode == txtOutBox.Text); .FirstOrDefault(t => t.instockBatch == txtOutBarCode.Text && t.palletInfoCode == txtOutBox.Text);
if (wmsRawStock == null) if (wmsRawStock == null)
@ -2472,7 +2478,7 @@ namespace Khd.Core.Wpf.Form
if (mesBaseBarcodeInfo != null) if (mesBaseBarcodeInfo != null)
{ {
WmsRawOutstock? wmsRawOutstock = dbContext.WmsRawOutstock 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) if (wmsRawOutstock != null)
{ {
wmsRawOutstock.realOutstockAmount += outScan; 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)) if (!string.IsNullOrEmpty(baseEquip.endStationCode))
{ {
scanOutMsg.Text = "申请单里该条码无需出库!"; scanOutMsg.Text = "申请单里该条码无需出库!";
return; return;
} }
if (mesBaseBarcodeInfo.PurchaseOrderId == null) if (mesBaseBarcodeInfo.PurchaseOrderId == null)
{
wmsRawStock.totalAmount -= outScan;
if (wmsRawStock.totalAmount == 0)
{ {
wmsRawStock.totalAmount -= outScan; dbContext.WmsRawStock.Remove(wmsRawStock);
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();
} }
else else
{ {
scanOutMsg.Text = "该条码的销售订单不正确"; dbContext.WmsRawStock.Update(wmsRawStock);
txtOutScan.Text = string.Empty;
txtOutBarCode.Text = string.Empty;
outMaterialSpecTxt.Text = string.Empty;
outMaterialNameTxt.Text = string.Empty;
txtOutBox.Text = string.Empty;
txtOutBox.Focus();
return;
} }
#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 = "出库成功!"; scanOutMsg.Text = "出库成功!";

Loading…
Cancel
Save