master
1 year ago
parent f9a5cec9da
commit 2a7aef2bca

@ -361,7 +361,7 @@ namespace Khd.Core.Wcs.Wcs
WcsTask? wcsTask = dbContext.WcsTask.Where(t => t.nextPointId == 28).FirstOrDefault();
if (wcsTask == null)
{
WmsRawInstock? wmsRawInstock = dbContext.WmsRawInstock.Where(t => t.warehouseId == 511 && t.instockType == "2" && t.executeStatus == "0").FirstOrDefault();
WmsRawInstock? wmsRawInstock = dbContext.WmsRawInstock.Where(t => t.warehouseId == 511 && (t.instockType == "2" || t.instockType == "4") && t.executeStatus == "0").FirstOrDefault();
if (wmsRawInstock != null)
{
MesBasePalletInfo? mesBasePalletInfo = dbContext.MesBasePalletInfo.FirstOrDefault(t => t.palletInfoCode == wmsRawInstock.palletInfoCode);
@ -939,12 +939,11 @@ namespace Khd.Core.Wcs.Wcs
if (wcsTaskManual != null)
{
var wmsRawOutstock = dbContext.WmsRawOutstock.FirstOrDefault(t => t.rawOutstockId == wcsTaskManual.orderId);
if (wmsRawOutstock != null)
{
var wmsRawStocks = dbContext.WmsRawStock
.Where(t => t.saleOrderId == (wmsRawOutstock.saleOrderId == null ? 0 : wmsRawOutstock.saleOrderId))
.WhereIf(wmsRawOutstock != null, t => t.saleOrderId == (wmsRawOutstock.saleOrderId == null ? 0 : wmsRawOutstock.saleOrderId))
.WhereIf(wmsRawOutstock != null, t => t.materialId == wmsRawOutstock.materialId)
.Where(t => t.warehouseId == 311)
.Where(t => t.materialId == wmsRawOutstock.materialId)
.Where(t => t.totalAmount > t.frozenAmount)
.ToList();
var wmsRawStockLocations = wmsRawStocks.Select(x => x.locationCode).ToList();
@ -958,7 +957,7 @@ namespace Khd.Core.Wcs.Wcs
var wmsBaseLocations = AllWmsBaseLocations
.Where(t => t.warehouseId == 311)
.Where(t => wmsRawStockLocations.Contains(t.locationCode))
.WhereIf(!string.IsNullOrEmpty(wcsTaskManual.startPointNo),t=>t.locationCode== wcsTaskManual.startPointNo)
.WhereIf(!string.IsNullOrEmpty(wcsTaskManual.startPointNo), t => t.locationCode == wcsTaskManual.startPointNo)
.ToList();
if (!string.IsNullOrEmpty(wcsTaskManual.startPointNo))
{
@ -1141,39 +1140,43 @@ namespace Khd.Core.Wcs.Wcs
MesBaseBarcodeInfo? mesBaseBarcodeInfo = dbContext.MesBaseBarcodeInfo.FirstOrDefault(t => t.barcodeInfo == mesBasePalletInfo.materialBarcode);
if (mesBaseBarcodeInfo != null)
{
WmsRawOutstockDetail wmsRawOutstockDetail = new WmsRawOutstockDetail()
{
rawOutstockDetailId = StaticData.SnowId.NextId(),
createBy = "WCS",
createDate = DateTime.Now,
executeStatus = "0",
erpAmount = 0,
erpStatus = "0",
instockBatch = mesBaseBarcodeInfo.batchCode,
stackAmount = 1,
locationCode = wmsBaseLocation.locationCode,
rawOutstockId = wmsRawOutstock.rawOutstockId,
planAmount = 1,
outstockWay = "2",
outstockPerson = "WCS",
outstockTime = DateTime.Now,
materialProductionDate = mesBaseBarcodeInfo.productionDate,
materialBarcode = mesBasePalletInfo.materialBarcode,
materialId = wmsRawOutstock.materialId,
machineName = mesBaseBarcodeInfo.machineName,
outstockAmount = 1,
taskCode = wmsRawOutstock.taskCode
};
//if (wmsRawOutstock != null)
//{
// WmsRawOutstockDetail wmsRawOutstockDetail = new WmsRawOutstockDetail()
// {
// rawOutstockDetailId = StaticData.SnowId.NextId(),
// createBy = "WCS",
// createDate = DateTime.Now,
// executeStatus = "0",
// erpAmount = 0,
// erpStatus = "0",
// instockBatch = mesBaseBarcodeInfo.batchCode,
// stackAmount = 1,
// locationCode = wmsBaseLocation.locationCode,
// rawOutstockId = wmsRawOutstock.rawOutstockId,
// planAmount = 1,
// outstockWay = "2",
// outstockPerson = "WCS",
// outstockTime = DateTime.Now,
// materialProductionDate = mesBaseBarcodeInfo.productionDate,
// materialBarcode = mesBasePalletInfo.materialBarcode,
// materialId = wmsRawOutstock.materialId,
// machineName = mesBaseBarcodeInfo.machineName,
// outstockAmount = 1,
// taskCode = wmsRawOutstock.taskCode
// };
// dbContext.Add(wmsRawOutstockDetail);
//}
wcsTask = new WcsTask()
{
objid = StaticData.SnowId.NextId(),
orderId = wmsRawOutstock.rawOutstockId,
orderId = wmsRawOutstock?.rawOutstockId,
taskType = StaticTaskType.ThirdRawToFlip,
containerNo = wmsRawStock.palletInfoCode,
createBy = "WCS",
createTime = DateTime.Now,
taskStatus = 0,
materialId = wmsRawOutstock.materialId,
materialId = mesBaseBarcodeInfo.materialId,
currPointId = wmsBaseLocation.locationId,
currPointNo = wmsBaseLocation.locationCode,
nextPointId = baseEquip.objid,
@ -1187,7 +1190,6 @@ namespace Khd.Core.Wcs.Wcs
SystemData.LockOutLocation(wmsBaseLocation, dbContext);
wmsBaseLocation.locationStatus = "6";
dbContext.Update(wmsBaseLocation);
dbContext.Add(wmsRawOutstockDetail);
WcsTaskLog wcsTaskLog = CoreMapper.Map<WcsTaskLog>(wcsTask);
dbContext.Remove(wcsTaskManual);
dbContext.Add(wcsTask);
@ -1205,7 +1207,6 @@ namespace Khd.Core.Wcs.Wcs
}
}
}
}
catch (Exception ex)
{
_logger.Error(ex.Message + "\n" + ex.StackTrace);
@ -1569,22 +1570,23 @@ namespace Khd.Core.Wcs.Wcs
}
}
WmsProductOutstockDetail detail = new()
{
productId = item.productId,
productOutstockId = item.productOutstockId,
locationCode = location.locationCode,
executeStatus = "1",
beginTime = DateTime.Now,
warehouseId = item.warehouseId,
erpAmount = 0,
confirmAmount = 0,
outstockAmount = 1,
planAmount = 1,
productBatch = item.productBatch,
productOutstockDetailId = StaticData.SnowId.NextId(),
productBarcode = mesBasePalletInfo.materialBarcode
};
//WmsProductOutstockDetail detail = new()
//{
// productId = item.productId,
// productOutstockId = item.productOutstockId,
// locationCode = location.locationCode,
// executeStatus = "1",
// beginTime = DateTime.Now,
// warehouseId = item.warehouseId,
// erpAmount = 0,
// confirmAmount = 0,
// outstockAmount = 1,
// planAmount = 1,
// productBatch = item.productBatch,
// productOutstockDetailId = StaticData.SnowId.NextId(),
// productBarcode = mesBasePalletInfo.materialBarcode
//};
//dbContext.Add(detail);
wcsTask = new WcsTask()
{
objid = StaticData.SnowId.NextId(),
@ -1609,7 +1611,6 @@ namespace Khd.Core.Wcs.Wcs
location.locationStatus = "6";
location.updateBy = "WCS";
location.updateTime = DateTime.Now;
dbContext.Add(detail);
dbContext.Update(location);
dbContext.Add(wcsTask);
dbContext.Update(stock);
@ -1867,27 +1868,27 @@ namespace Khd.Core.Wcs.Wcs
useFlag = 1,
qty = 1
};
WmsProductOutstockDetail detail = new()
{
productId = item.productId,
productOutstockId = item.productOutstockId,
locationCode = location.locationCode,
executeStatus = "1",
beginTime = DateTime.Now,
warehouseId = item.warehouseId,
erpAmount = 0,
confirmAmount = 0,
outstockAmount = 1,
planAmount = 1,
productBatch = item.productBatch,
productOutstockDetailId = StaticData.SnowId.NextId(),
productBarcode = mesBasePalletInfo.materialBarcode,
};
//WmsProductOutstockDetail detail = new()
//{
// productId = item.productId,
// productOutstockId = item.productOutstockId,
// locationCode = location.locationCode,
// executeStatus = "1",
// beginTime = DateTime.Now,
// warehouseId = item.warehouseId,
// erpAmount = 0,
// confirmAmount = 0,
// outstockAmount = 1,
// planAmount = 1,
// productBatch = item.productBatch,
// productOutstockDetailId = StaticData.SnowId.NextId(),
// productBarcode = mesBasePalletInfo.materialBarcode,
//};
//dbContext.Add(detail);
SystemData.LockOutLocation(location, dbContext);
location.locationStatus = "6";
location.updateBy = "WCS";
location.updateTime = DateTime.Now;
dbContext.Add(detail);
dbContext.Update(location);
dbContext.Add(wcsTask);
dbContext.Update(stock);
@ -2553,33 +2554,33 @@ namespace Khd.Core.Wcs.Wcs
qty = qty
};
//location是出库的库位mesBaseBarcodeInfo是条码信息表数据item是出库申请单
WmsRawOutstockDetail wmsProductOutstockDetail = new WmsRawOutstockDetail()
{
rawOutstockDetailId = StaticData.SnowId.NextId(),
rawOutstockId = item.rawOutstockId,
materialId = item.materialId,
createDate = DateTime.Now,
createBy = "WCS",
taskCode = wcsTask.objid.ToString(),
executeStatus = "1",
locationCode = location.locationCode,
outstockAmount = qty,
planAmount = item.outstockAmount,
warehouseId = item.warehouseId,
materialBarcode = mesBaseBarcodeInfo.barcodeInfo,
instockBatch = mesBaseBarcodeInfo.batchCode,
stackAmount = qty,
outstockPerson = "WCS",
outstockTime = DateTime.Now,
outstockWay = "2",
materialProductionDate = mesBaseBarcodeInfo.productionDate
};
//WmsRawOutstockDetail wmsProductOutstockDetail = new WmsRawOutstockDetail()
//{
// rawOutstockDetailId = StaticData.SnowId.NextId(),
// rawOutstockId = item.rawOutstockId,
// materialId = item.materialId,
// createDate = DateTime.Now,
// createBy = "WCS",
// taskCode = wcsTask.objid.ToString(),
// executeStatus = "1",
// locationCode = location.locationCode,
// outstockAmount = qty,
// planAmount = item.outstockAmount,
// warehouseId = item.warehouseId,
// materialBarcode = mesBaseBarcodeInfo.barcodeInfo,
// instockBatch = mesBaseBarcodeInfo.batchCode,
// stackAmount = qty,
// outstockPerson = "WCS",
// outstockTime = DateTime.Now,
// outstockWay = "2",
// materialProductionDate = mesBaseBarcodeInfo.productionDate
//};
//dbContext.Add(wmsProductOutstockDetail);
if (item.beginTime == null)
{
item.beginTime = DateTime.Now;
}
SystemData.LockOutLocation(location, dbContext);
dbContext.Add(wmsProductOutstockDetail);
location.locationStatus = "6";
location.updateBy = "WCS";
location.updateTime = DateTime.Now;

@ -780,7 +780,9 @@ namespace Khd.Core.Wcs.Wcs
updateDate = DateTime.Now,
warehouseId = 511,
};
WmsRawInstock? WmsRawInstock = dbContext.WmsRawInstock.FirstOrDefault(t => t.materialBarCode == mesBasePalletInfo.materialBarcode && t.instockType == "2");
var WmsRawInstock = dbContext.WmsRawInstock.FirstOrDefault(t => t.materialBarCode == mesBasePalletInfo.materialBarcode && t.instockType == "2");
if (WmsRawInstock != null)
{
WmsRawInstock.returnFlag = null;
WmsRawInstock.executeStatus = "2";
WmsRawInstock.updateDate = DateTime.Now;
@ -798,6 +800,7 @@ namespace Khd.Core.Wcs.Wcs
SystemData.SendPlcLocation(wmsBaseLocation);
}
}
}
}
else if (item.taskType == StaticTaskType.FiveRawIn)//原材料入库
@ -813,42 +816,41 @@ namespace Khd.Core.Wcs.Wcs
var mesBaseBarcodeInfo = dbContext.MesBaseBarcodeInfo.FirstOrDefault(t => t.barcodeInfo == mesBasePalletInfo.materialBarcode);
if (mesBaseBarcodeInfo != null)
{
//if (mesBaseBarcodeInfo.PurchaseOrderId == -1)
//{ // 虚拟托盘号,合并的物料分别插入WmsRawInstock
// List<MesSaleOrderRelate> mesSaleOrderRelates = dbContext.MesSaleOrderRelate.Where(x => x.SaleOrderId == mesBaseBarcodeInfo.saleOrderId).ToList();
// List<WmsRawInstock>? wmsRawInstocks = new List<WmsRawInstock>();
// foreach (var mesSaleOrderRelate in mesSaleOrderRelates)
// {
// WmsRawInstock wmsRawInstock = new WmsRawInstock()
// {
// taskCode = StaticData.SnowId.NextId().ToString(),
// materialBarCode = null,
// materialBatchCode = null,
// applyBy = "wcs",
// applyDate = System.DateTime.Now,
// purchaseOrderId = mesSaleOrderRelate.PurchaseOrderId,
// beginTime = DateTime.Now,
// endTime = DateTime.Now,
// locationCode = wmsBaseLocation.locationCode,
// executeStatus = "2",
// instockAmount = mesSaleOrderRelate.RelateSaleOrderAmount,
// instockType = "1",
if (mesBaseBarcodeInfo.PurchaseOrderId == -1)
{ // 虚拟托盘号,合并的物料分别插入WmsRawInstock
List<MesSaleOrderRelate> mesSaleOrderRelates = dbContext.MesSaleOrderRelate.Where(x => x.SaleOrderId == mesBaseBarcodeInfo.saleOrderId).ToList();
List<WmsRawInstock>? wmsRawInstocks = new List<WmsRawInstock>();
foreach (var mesSaleOrderRelate in mesSaleOrderRelates)
{
WmsRawInstock wmsRawInstock = new WmsRawInstock()
{
taskCode = StaticData.SnowId.NextId().ToString(),
materialBarCode = null,
materialBatchCode = null,
applyBy = "wcs",
applyDate = System.DateTime.Now,
purchaseOrderId = mesSaleOrderRelate.PurchaseOrderId,
beginTime = DateTime.Now,
endTime = DateTime.Now,
locationCode = wmsBaseLocation.locationCode,
executeStatus = "2",
instockAmount = mesSaleOrderRelate.RelateSaleOrderAmount,
instockType = "1",
materialId = mesSaleOrderRelate.MaterialId,
operationType = "3",
palletInfoCode = mesBaseBarcodeInfo.palletInfoCode,
poNo = mesBaseBarcodeInfo.poNo,
warehouseId = 511
};
wmsRawInstocks.Add(wmsRawInstock);
}
if (wmsRawInstocks.Count > 0)
{
dbContext.WmsRawInstock.AddRange(wmsRawInstocks);
}
}
else
// materialId = mesSaleOrderRelate.MaterialId,
// operationType = "3",
// palletInfoCode = mesBaseBarcodeInfo.palletInfoCode,
// poNo = mesBaseBarcodeInfo.poNo,
// warehouseId = 511
// };
// wmsRawInstocks.Add(wmsRawInstock);
// }
// if (wmsRawInstocks.Count > 0)
// {
// dbContext.WmsRawInstock.AddRange(wmsRawInstocks);
// }
//}
//else
{
WmsRawInstock wmsRawInstock = new WmsRawInstock()
{
@ -863,8 +865,7 @@ namespace Khd.Core.Wcs.Wcs
locationCode = wmsBaseLocation.locationCode,
executeStatus = "2",
instockAmount = 1,
instockType = "1",
instockType = "4",
materialId = mesBaseBarcodeInfo.materialId,
operationType = "3",
palletInfoCode = mesBaseBarcodeInfo.palletInfoCode,

@ -763,9 +763,12 @@ namespace Khd.Core.Wcs.Wcs
WmsRawOutstock? wmsRawOutstock = dbContext.WmsRawOutstock.FirstOrDefault(t => t.rawOutstockId == item.orderId);
WmsRawStock? wmsRawStock = dbContext.WmsRawStock.Where(t => t.locationCode == item.currPointNo).FirstOrDefault();
if (wmsRawOutstock != null && wmsRawStock != null)
if (wmsRawStock != null)
{
MesBaseBarcodeInfo? mesBaseBarcodeInfo = dbContext.MesBaseBarcodeInfo.Where(t => t.barcodeInfo == wmsRawStock.instockBatch).FirstOrDefault();
WmsRawOutstockDetail newWmsRawOutstockDetail = new WmsRawOutstockDetail();
if (wmsRawOutstock != null)
{
wmsRawOutstock.realOutstockAmount += 1;
if (wmsRawOutstock.realOutstockAmount >= wmsRawOutstock.outstockAmount)
{
@ -773,15 +776,30 @@ namespace Khd.Core.Wcs.Wcs
wmsRawOutstock.executeStatus = "2";
}
}
else
{
wmsRawOutstock = new WmsRawOutstock()
{
rawOutstockId=StaticData.SnowId.NextId(),
warehouseId=311,
taskCode="",
outstockAmount=1,
realOutstockAmount=1,
operationType="3",
taskType="1",
auditStatus="0",
executeStatus="2",
saleOrderId= mesBaseBarcodeInfo!= null ? mesBaseBarcodeInfo.saleOrderId : 0,
};
WmsRawOutstockDetail newWmsRawOutstockDetail = new WmsRawOutstockDetail();
}
newWmsRawOutstockDetail.rawOutstockId = wmsRawOutstock.rawOutstockId;
newWmsRawOutstockDetail.taskCode = wmsRawOutstock.taskCode;
newWmsRawOutstockDetail.warehouseId = wmsRawOutstock.warehouseId;
newWmsRawOutstockDetail.locationCode = wmsRawStock.locationCode;
newWmsRawOutstockDetail.materialBarcode = wmsRawStock.instockBatch;
newWmsRawOutstockDetail.materialId = wmsRawStock.materialId;
MesBaseBarcodeInfo? mesBaseBarcodeInfo = dbContext.MesBaseBarcodeInfo.Where(t => t.barcodeInfo == wmsRawStock.instockBatch).FirstOrDefault();
if (mesBaseBarcodeInfo != null)
{
newWmsRawOutstockDetail.instockBatch = mesBaseBarcodeInfo.batchCode;
@ -796,15 +814,16 @@ namespace Khd.Core.Wcs.Wcs
newWmsRawOutstockDetail.createBy = "WCS";
newWmsRawOutstockDetail.createDate = DateTime.Now;
newWmsRawOutstockDetail.stackAmount = 1;
dbContext.Add(newWmsRawOutstockDetail);
dbContext.Update(wmsRawOutstock);
BaseEquip endEquip = dbContext.BaseEquip.First(t => t.objid == 31);
endEquip.emptyCount = 1;
SystemData.UnLockOutLocation(wmsBaseLocation, dbContext);
dbContext.Update(endEquip);
dbContext.Update(wmsRawOutstock);
dbContext.Remove(wmsRawStock);
dbContext.Add(newWmsRawOutstockDetail);
dbContext.Update(wmsBaseLocation);
WcsTask wcsTask = CoreMapper.Map<WcsTask>(item);
wcsTask.objid = StaticData.SnowId.NextId();

@ -7,14 +7,14 @@
},
"DeleteLogDays": 10,//
"PlcConfigs": [
//{
// "IP": "192.168.2.30",
// "Port": 102, //102
// "CpuType": 40,
// "Rack": 0,
// "Slot": 1,
// "Code": 0
//}, //
{
"IP": "192.168.2.30",
"Port": 102, //102
"CpuType": 40,
"Rack": 0,
"Slot": 1,
"Code": 0
}, //
//{
// "IP": "192.168.2.31",
// "Port": 102, //102

@ -335,8 +335,8 @@ namespace Khd.Core.Wpf.Form
try
{
string version = HttpHelper.SendGetMessage("172.16.12.100", 5001, "wcs/RecieveRcs/version");
Version vs = new Version(version);
Version lovs = new Version(SystemData.VerSion);
var vs = new Version(version);
var lovs = new Version(SystemData.VerSion);
if (vs > lovs)
{
var result = MessageBox.Show("有新版本是否更新?", "提示", MessageBoxButton.YesNo, MessageBoxImage.Information);
@ -357,50 +357,6 @@ namespace Khd.Core.Wpf.Form
{
}
//using var client = SqlSugarHelper.GetInstance();
//var versionMsg = client.Queryable<VersionUpdateModel>().Where(t => t.ProcessName == StaticData.ProcessName).First();
//if (versionMsg != null)
//{
// if (StaticData.IsUpdate)
// {
// var versionUpdateLogModel = CoreMapper.Map<VersionUpdateLogModel>(versionMsg);
// versionUpdateLogModel.Id = Guid.NewGuid().ToString();
// versionUpdateLogModel.UpdateTime = DateTime.Now;
// versionUpdateLogModel.UpdateIp = string.Join(",", StaticData.IPS);
// client.Insertable(versionUpdateLogModel).ExecuteCommand();
// }
// if (string.IsNullOrEmpty(versionMsg.Version) || string.IsNullOrEmpty(versionMsg.DownloadUrl))
// {
// return;
// }
// //获取数据库程序的版本号
// if (StaticData.VerSion == "99.0.0.0")
// {
// File.WriteAllText("Version.txt", versionMsg.Version);
// }
// else
// {
// //比较版本号
// if (versionMsg.Version != StaticData.VerSion)
// {
// if (MessageBox.Show($"最新版本为:{versionMsg.Version},当前版本为:{StaticData.VerSion},是否更新?", "提示", MessageBoxButton.YesNo, MessageBoxImage.Information) == MessageBoxResult.Yes)
// {
// Process.Start("AutoUpdate.exe", new List<string>
// {
// versionMsg.Version,
// StaticData.ProcessName,
// versionMsg.DownloadUrl
// });
// Application.Current.Shutdown();
// }
// }
// }
//}
//else
//{
// this.UpdateButton.Visibility = Visibility.Collapsed;
//}
}

Loading…
Cancel
Save