|
@@ -77,48 +77,61 @@ namespace MECF.Framework.Common.WaferHolder
|
|
|
public bool ResetLayoutWafers()
|
|
|
{
|
|
|
List<WaferHolderInfo> waferHolderInfos = _locationWaferHolders.Values.ToList();
|
|
|
- foreach(WaferHolderInfo item in waferHolderInfos)
|
|
|
+ foreach (WaferHolderInfo item in waferHolderInfos)
|
|
|
{
|
|
|
bool isChanged = false;
|
|
|
- if(!Enum.TryParse(item.CurrentLocation,out ModuleName moduleName))
|
|
|
+ if (!Enum.TryParse(item.CurrentLocation, out ModuleName moduleName))
|
|
|
{
|
|
|
continue;
|
|
|
}
|
|
|
if (!string.IsNullOrEmpty(item.WaferAId))
|
|
|
{
|
|
|
- WaferInfo waferInfo=WaferManager.Instance.GetWaferByWaferId(item.WaferAId);
|
|
|
- if (item.WaferAType == (int)WaferType.Production||waferInfo==null||waferInfo.WaferType==WaferType.Production)
|
|
|
+ WaferInfo waferInfo = WaferManager.Instance.GetWaferByWaferId(item.WaferAId);
|
|
|
+ if (item.WaferAType == (int)WaferType.Production || waferInfo == null || waferInfo.WaferType == WaferType.Production)
|
|
|
{
|
|
|
WaferManager.Instance.DeleteWaferById(item.WaferAId);
|
|
|
+ if (WaferManager.Instance.CheckHasWafer(item.CurrentLocation, 0))
|
|
|
+ {
|
|
|
+ WaferManager.Instance.DeleteWafer(item.CurrentLocation, 0);
|
|
|
+ }
|
|
|
+ item.WaferSize = item.WaferSize;
|
|
|
item.WaferAId = $"{item.Id}.01";
|
|
|
- item.WaferAType= (int)WaferType.Assit;
|
|
|
- CreateModuleWafer(item, moduleName, 0,item.WaferAId);
|
|
|
+ item.WaferAType = (int)WaferType.Assit;
|
|
|
+ CreateModuleWafer(item, moduleName, 0, item.WaferAId);
|
|
|
isChanged = true;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- if(item.WaferAId!= $"{item.Id}.01")
|
|
|
+ if (item.WaferAId != $"{item.Id}.01")
|
|
|
{
|
|
|
item.WaferAId = $"{item.Id}.01";
|
|
|
+ item.WaferSize = item.WaferSize;
|
|
|
isChanged = true;
|
|
|
}
|
|
|
- CreateModuleWafer(item, moduleName, 0,item.WaferAId);
|
|
|
+ CreateModuleWafer(item, moduleName, 0, item.WaferAId);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
item.WaferAId = $"{item.Id}.01";
|
|
|
item.WaferAType = (int)WaferType.Assit;
|
|
|
- CreateModuleWafer(item, moduleName, 0,item.WaferAId);
|
|
|
+ item.WaferSize = item.WaferSize;
|
|
|
+ CreateModuleWafer(item, moduleName, 0, item.WaferAId);
|
|
|
isChanged = true;
|
|
|
}
|
|
|
if (!string.IsNullOrEmpty(item.WaferBId))
|
|
|
{
|
|
|
WaferInfo waferInfo = WaferManager.Instance.GetWaferByWaferId(item.WaferBId);
|
|
|
- if (item.WaferBType == (int)WaferType.Production||waferInfo==null||waferInfo.WaferType==WaferType.Production)
|
|
|
+ if (item.WaferBType == (int)WaferType.Production || waferInfo == null || waferInfo.WaferType == WaferType.Production)
|
|
|
{
|
|
|
WaferManager.Instance.DeleteWaferById(item.WaferBId);
|
|
|
+
|
|
|
+ if (WaferManager.Instance.CheckHasWafer(item.CurrentLocation, 1))
|
|
|
+ {
|
|
|
+ WaferManager.Instance.DeleteWafer(item.CurrentLocation, 1);
|
|
|
+ }
|
|
|
item.WaferBId = $"{item.Id}.02";
|
|
|
+ item.WaferSize = item.WaferSize;
|
|
|
item.WaferBType = (int)WaferType.Assit;
|
|
|
CreateModuleWafer(item, moduleName, 1, item.WaferBId);
|
|
|
isChanged = true;
|
|
@@ -128,17 +141,19 @@ namespace MECF.Framework.Common.WaferHolder
|
|
|
if (item.WaferBId != $"{item.Id}.02")
|
|
|
{
|
|
|
item.WaferBId = $"{item.Id}.02";
|
|
|
+ item.WaferSize = item.WaferSize;
|
|
|
isChanged = true;
|
|
|
}
|
|
|
- CreateModuleWafer(item, moduleName, 1,item.WaferBId);
|
|
|
+ CreateModuleWafer(item, moduleName, 1, item.WaferBId);
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
item.WaferBId = $"{item.Id}.02";
|
|
|
item.WaferBType = (int)WaferType.Assit;
|
|
|
+ item.WaferSize = item.WaferSize;
|
|
|
isChanged = true;
|
|
|
- CreateModuleWafer(item, moduleName,1,item.WaferBId);
|
|
|
+ CreateModuleWafer(item, moduleName, 1, item.WaferBId);
|
|
|
}
|
|
|
if (isChanged)
|
|
|
{
|
|
@@ -540,6 +555,7 @@ namespace MECF.Framework.Common.WaferHolder
|
|
|
{
|
|
|
WaferHolderInfo sourceInfo = GetWaferHolderInfoById(waferHolderInfo.Id);
|
|
|
sourceInfo.CloneBaseInfo(waferHolderInfo);
|
|
|
+
|
|
|
_service.UpdateWaferHolderData(waferHolderInfo.Id, sourceInfo,false);
|
|
|
}
|
|
|
/// <summary>
|