Update gestione nuovo dato scrap (metodo x salvataggio...)

This commit is contained in:
Samuele Locatelli
2020-09-02 18:21:11 +02:00
parent 43abdd203b
commit a362829256
5 changed files with 95 additions and 4 deletions
@@ -67,8 +67,9 @@ namespace Thermo.Active.Database.Controllers
/// <param name="VacuumReadVal"></param>
/// <param name="MouldEnergyOUT"></param>
/// <param name="MouldEnergyIN"></param>
/// <param name="IsScrap"></param>
/// <returns></returns>
public ProdInfoModel Create(short NumTarget, short NumDone, int TimeWarm, int TimeVent, int TimeVacuum, int TimeCycleGross, int TimeCycleNet, double MaterialTempEndWarm, double MaterialTempEndVent, double MoldTemp, double VacuumReadVal, double MouldEnergyOUT, double MouldEnergyIN)
public ProdInfoModel Create(short NumTarget, short NumDone, int TimeWarm, int TimeVent, int TimeVacuum, int TimeCycleGross, int TimeCycleNet, double MaterialTempEndWarm, double MaterialTempEndVent, double MoldTemp, double VacuumReadVal, double MouldEnergyOUT, double MouldEnergyIN, bool IsScrap)
{
// Create database machine model
ProdInfoModel prodData = new ProdInfoModel()
@@ -86,7 +87,8 @@ namespace Thermo.Active.Database.Controllers
MoldTemp = MoldTemp,
VacuumReadVal = VacuumReadVal,
MouldEnergyOUT = MouldEnergyOUT,
MouldEnergyIN = MouldEnergyIN
MouldEnergyIN = MouldEnergyIN,
IsScrap = IsScrap
};
try
{
@@ -100,6 +102,33 @@ namespace Thermo.Active.Database.Controllers
return prodData;
}
/// <summary>
/// Process table and set as scrap by num value
/// </summary>
/// <param name="maxKeep"></param>
/// <returns></returns>
public bool SetScrap(int num, bool isScrap)
{
bool answ = false;
var currRecord = dbCtx
.ProdInfo
.Where(x => x.NumDone == num)
.SingleOrDefault();
try
{
if (currRecord != null)
{
currRecord.IsScrap = isScrap;
}
// save!
dbCtx.SaveChanges();
answ = true;
}
catch
{ }
return answ;
}
/// <summary>
/// Process table and keep only maxKeep most recent ones
@@ -131,6 +131,10 @@
<Compile Include="Migrations\202006170558519_AddedProdInfoModel.Designer.cs">
<DependentUpon>202006170558519_AddedProdInfoModel.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\202009021558544_AddedScrapPartMgmt.cs" />
<Compile Include="Migrations\202009021558544_AddedScrapPartMgmt.Designer.cs">
<DependentUpon>202009021558544_AddedScrapPartMgmt.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\Configuration.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Redis\redUtil.cs" />
@@ -173,6 +177,9 @@
<EmbeddedResource Include="Migrations\202006170558519_AddedProdInfoModel.resx">
<DependentUpon>202006170558519_AddedProdInfoModel.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Migrations\202009021558544_AddedScrapPartMgmt.resx">
<DependentUpon>202009021558544_AddedScrapPartMgmt.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
@@ -25,6 +25,7 @@ namespace Thermo.Active.Model.DTOModels.ThProd
public double VacuumReadVal { get; set; } = 0;
public double MouldEnergyOUT { get; set; } = 0;
public double MouldEnergyIN { get; set; } = 0;
public bool IsScrap { get; set; } = false;
public override bool Equals(object obj)
{
@@ -60,6 +61,8 @@ namespace Thermo.Active.Model.DTOModels.ThProd
return false;
if (MouldEnergyIN != item.MouldEnergyIN)
return false;
if (IsScrap != item.IsScrap)
return false;
return true;
}
@@ -88,6 +91,7 @@ namespace Thermo.Active.Model.DTOModels.ThProd
this.VacuumReadVal = pimRawData.VacuumReadVal;
this.MouldEnergyIN = pimRawData.MouldEnergyIN;
this.MouldEnergyOUT = pimRawData.MouldEnergyOUT;
this.IsScrap = pimRawData.IsScrap;
}
}
}
+20 -2
View File
@@ -1504,7 +1504,7 @@ namespace Thermo.Active.NC
// save on DB! attenzione: num pezzi -1 perché salvo pezzo PRECEDENTE...
using (ProdInfoController prodInfoController = new ProdInfoController())
{
prodInfoController.Create(prodInfoRawData.NumTarget, prodInfoRawData.NumDone, prodInfoRawData.TimeWarm, prodInfoRawData.TimeVent, prodInfoRawData.TimeVacuum, prodInfoRawData.TimeCycleGross, prodInfoRawData.TimeCycleNet, prodInfoRawData.MaterialTempEndWarm, prodInfoRawData.MaterialTempEndVent, prodInfoRawData.MoldTemp, prodInfoRawData.VacuumReadVal, prodInfoRawData.MouldEnergyOUT, prodInfoRawData.MouldEnergyIN);
prodInfoController.Create(prodInfoRawData.NumTarget, prodInfoRawData.NumDone, prodInfoRawData.TimeWarm, prodInfoRawData.TimeVent, prodInfoRawData.TimeVacuum, prodInfoRawData.TimeCycleGross, prodInfoRawData.TimeCycleNet, prodInfoRawData.MaterialTempEndWarm, prodInfoRawData.MaterialTempEndVent, prodInfoRawData.MoldTemp, prodInfoRawData.VacuumReadVal, prodInfoRawData.MouldEnergyOUT, prodInfoRawData.MouldEnergyIN, false);
}
// update last info data
lastProdInfoData = prodInfoRawData;
@@ -1588,13 +1588,31 @@ namespace Thermo.Active.NC
MoldTemp = x.MoldTemp,
VacuumReadVal = x.VacuumReadVal,
MouldEnergyOUT = x.MouldEnergyOUT,
MouldEnergyIN = x.MouldEnergyIN
MouldEnergyIN = x.MouldEnergyIN,
IsScrap = x.IsScrap
}).ToList();
}
return libraryError;
}
/// <summary>
/// Get historical prodinfo data from DB
/// </summary>
/// <param name="num"></param>
/// <param name="isScrap"></param>
/// <returns></returns>
public CmsError SetScrap(int num, bool isScrap)
{
CmsError libraryError = NO_ERROR;
using (ProdInfoController prodInfoController = new ProdInfoController())
{
prodInfoController.SetScrap(num, isScrap);
}
return libraryError;
}
/// <summary>
/// Update requested prod quantity
/// </summary>
/// <param name="numTarget"></param>
@@ -100,9 +100,42 @@ namespace Thermo.Active.Controllers.WebApi
return Ok();
}
/// <summary>
/// Set item as scrap
/// </summary>
/// <param name="num">item NUM</param>
/// <param name="isScrap">scrap flag (true/false)</param>
/// <returns></returns>
[Route("setScrap"), HttpPut]
[WebApiAuthorize(FunctionAccess = FUNCTIONALITY_NAMES.RECIPE_MANAGER, Action = ACTIONS.READ)]
public IHttpActionResult SetScrap(int num, bool isScrap)
{
// Try connection
CmsError libraryError = ncAdapter.Connect();
if (libraryError.IsError())
{
ThermoActiveLogger.LogError($"NC Not connected! | SetScrap | {libraryError.exception}");
return BadRequest(libraryError.localizationKey);
}
// scrivo sul DB che il pezzo è SCRAPPED
libraryError = ncAdapter.SetScrap(num, isScrap);
if (libraryError.IsError())
{
ThermoActiveLogger.LogError($"SetScrap error | {libraryError.exception}");
return BadRequest(libraryError.localizationKey);
}
// ritorno solo fatto!
return Ok();
}
/// <summary>
/// Request start production
/// </summary>
/// <param name="requestQty">item NUM</param>
/// <param name="newWorkOrder">scrap flag (true/false)</param>
/// <returns></returns>
[Route("start"), HttpPut]
[WebApiAuthorize(FunctionAccess = FUNCTIONALITY_NAMES.RECIPE_MANAGER, Action = ACTIONS.READ)]