aggiunta progetto DB x C2P con install db locale
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<IncludeCompositeObjects>True</IncludeCompositeObjects>
|
||||
<TargetDatabaseName>C2P_Project</TargetDatabaseName>
|
||||
<DeployScriptFileName>C2P_Project.sql</DeployScriptFileName>
|
||||
<BlockWhenDriftDetected>True</BlockWhenDriftDetected>
|
||||
<RegisterDataTierApplication>True</RegisterDataTierApplication>
|
||||
<ProfileVersionNumber>1</ProfileVersionNumber>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,197 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
<SSDTExists Condition="Exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets')">True</SSDTExists>
|
||||
<VisualStudioVersion Condition="'$(SSDTExists)' == ''">10.0</VisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<Name>C2P_Project</Name>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectVersion>4.1</ProjectVersion>
|
||||
<ProjectGuid>{84db66e4-9663-47f7-9dd1-3cb562629ff5}</ProjectGuid>
|
||||
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql100DatabaseSchemaProvider</DSP>
|
||||
<OutputType>Database</OutputType>
|
||||
<RootPath>
|
||||
</RootPath>
|
||||
<RootNamespace>C2P_Project</RootNamespace>
|
||||
<AssemblyName>C2P_Project</AssemblyName>
|
||||
<ModelCollation>1033,CI</ModelCollation>
|
||||
<DefaultFileStructure>BySchemaAndSchemaType</DefaultFileStructure>
|
||||
<DeployToDatabase>True</DeployToDatabase>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<TargetLanguage>CS</TargetLanguage>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<SqlServerVerification>False</SqlServerVerification>
|
||||
<TargetDatabaseSet>True</TargetDatabaseSet>
|
||||
<DefaultCollation>SQL_Latin1_General_CP1_CI_AS</DefaultCollation>
|
||||
<DefaultFilegroup>PRIMARY</DefaultFilegroup>
|
||||
<GenerateCreateScript>True</GenerateCreateScript>
|
||||
<IncludeSchemaNameInFileName>True</IncludeSchemaNameInFileName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
|
||||
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<!-- VS10 without SP1 will not have VisualStudioVersion set, so do that here -->
|
||||
<PropertyGroup />
|
||||
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties" />
|
||||
<Folder Include="tmp\" />
|
||||
<Folder Include="tmp\Tables\" />
|
||||
<Folder Include="dbo\" />
|
||||
<Folder Include="dbo\Tables\" />
|
||||
<Folder Include="ext\" />
|
||||
<Folder Include="ext\Tables\" />
|
||||
<Folder Include="dbo\Views\" />
|
||||
<Folder Include="dbo\Functions\" />
|
||||
<Folder Include="ext\Stored Procedures\" />
|
||||
<Folder Include="dbo\Stored Procedures\" />
|
||||
<Folder Include="tmp\Stored Procedures\" />
|
||||
<Folder Include="voc\" />
|
||||
<Folder Include="voc\Stored Procedures\" />
|
||||
<Folder Include="Security\" />
|
||||
<Folder Include="Snapshots" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Build Include="tmp\Tables\ProductionLogRaw_KO.sql" />
|
||||
<Build Include="dbo\Tables\Package2ItemClient.sql" />
|
||||
<Build Include="dbo\Tables\ProductionLog.sql" />
|
||||
<Build Include="ext\Tables\ProductionLogRaw_KO.sql" />
|
||||
<Build Include="ext\Tables\ProductionLogRaw.sql" />
|
||||
<Build Include="dbo\Tables\QuoteFull_Q_old.sql" />
|
||||
<Build Include="dbo\Tables\Package2Item.sql" />
|
||||
<Build Include="dbo\Tables\QuoteList.sql" />
|
||||
<Build Include="dbo\Tables\QuoteWorkExt.sql" />
|
||||
<Build Include="dbo\Tables\QuoteWorkInt.sql" />
|
||||
<Build Include="dbo\Tables\test.sql" />
|
||||
<Build Include="dbo\Tables\QuoteOC.sql" />
|
||||
<Build Include="dbo\Tables\Config.sql" />
|
||||
<Build Include="dbo\Tables\QuoteFull_Q.sql" />
|
||||
<Build Include="dbo\Tables\QuoteParam.sql" />
|
||||
<Build Include="tmp\Tables\DiesRaw.sql" />
|
||||
<Build Include="ext\Tables\ClientsRaw.sql" />
|
||||
<Build Include="dbo\Tables\Lingue.sql" />
|
||||
<Build Include="dbo\Tables\Vocabolario.sql" />
|
||||
<Build Include="ext\Tables\TranspCostRaw.sql" />
|
||||
<Build Include="tmp\Tables\ProductionLogRaw_old.sql" />
|
||||
<Build Include="ext\Tables\DiesRaw.sql" />
|
||||
<Build Include="dbo\Tables\TabDifett.sql" />
|
||||
<Build Include="tmp\Tables\ExcludeCondFilter.sql" />
|
||||
<Build Include="tmp\Tables\DiesGroupRaw.sql" />
|
||||
<Build Include="dbo\Tables\ItemDet.sql" />
|
||||
<Build Include="dbo\Tables\QuoteRM.sql" />
|
||||
<Build Include="tmp\Tables\TranspCostRaw.sql" />
|
||||
<Build Include="dbo\Tables\TranspCostDet.sql" />
|
||||
<Build Include="dbo\Tables\Incoterms.sql" />
|
||||
<Build Include="tmp\Tables\ItemsRaw.sql" />
|
||||
<Build Include="ext\Tables\ItemsRaw.sql" />
|
||||
<Build Include="dbo\Tables\DiesDet.sql" />
|
||||
<Build Include="dbo\Tables\Utilities.sql" />
|
||||
<Build Include="dbo\Tables\AgentsDet.sql" />
|
||||
<Build Include="tmp\Tables\ClientsRaw.sql" />
|
||||
<Build Include="dbo\Tables\ClientDet.sql" />
|
||||
<Build Include="dbo\Tables\TabProdSc.sql" />
|
||||
<Build Include="dbo\Tables\Cost2Plant.sql" />
|
||||
<Build Include="dbo\Tables\DiesGroupDet.sql" />
|
||||
<Build Include="dbo\Tables\RevHistory.sql" />
|
||||
<Build Include="dbo\Tables\PlantsDet.sql" />
|
||||
<Build Include="dbo\Tables\TabImbArt.sql" />
|
||||
<Build Include="dbo\Tables\PackagDet.sql" />
|
||||
<Build Include="ext\Tables\DiesGroupRaw.sql" />
|
||||
<Build Include="tmp\Tables\PackagRaw.sql" />
|
||||
<Build Include="dbo\Tables\TabImbGrp.sql" />
|
||||
<Build Include="ext\Tables\PackagRaw.sql" />
|
||||
<Build Include="dbo\Tables\RawMatDet.sql" />
|
||||
<Build Include="tmp\Tables\ProductionLogRaw.sql" />
|
||||
<Build Include="dbo\Tables\Package2.sql" />
|
||||
<Build Include="dbo\Views\v_QuoteFull_Q.sql" />
|
||||
<Build Include="dbo\Views\v_selClient.sql" />
|
||||
<Build Include="dbo\Views\v_selItems.sql" />
|
||||
<Build Include="dbo\Functions\f_getCodPackag_OLD.sql" />
|
||||
<Build Include="dbo\Functions\f_trim.sql" />
|
||||
<Build Include="dbo\Functions\f_dtFromRaw.sql" />
|
||||
<Build Include="dbo\Functions\f_getSubstring.sql" />
|
||||
<Build Include="dbo\Functions\f_getDataCodPackag.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergePackage2Item.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergePackage2ItemClient.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_QL_update.sql" />
|
||||
<Build Include="tmp\Stored Procedures\importItemsRaw.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_QL_fullData.sql" />
|
||||
<Build Include="tmp\Stored Procedures\importClientsRaw.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_packageCost.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_QL_update_30_01.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_zzz_scratch.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_QL_fullDataAll.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_QL_update_07_02.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_QuoteFull_Q_update.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_VSCli_SearchLike.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_QL_fullDataSearch.sql" />
|
||||
<Build Include="tmp\Stored Procedures\convertItemsRaw.sql" />
|
||||
<Build Include="tmp\Stored Procedures\importDiesRaw.sql" />
|
||||
<Build Include="tmp\Stored Procedures\convertClientsRaw.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergeTranspCostDet.sql" />
|
||||
<Build Include="tmp\Stored Procedures\convertDiesRaw.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_VSItem_SearchLike.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergeDiesDet.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergeClientDet.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_esplodiVocab.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_TD_upsert.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergeItemDet.sql" />
|
||||
<Build Include="voc\Stored Procedures\stp_insNewLemma.sql" />
|
||||
<Build Include="tmp\Stored Procedures\importTranspCostRaw.sql" />
|
||||
<Build Include="tmp\Stored Procedures\importDiesGroupRaw.sql" />
|
||||
<Build Include="tmp\Stored Procedures\convertTranspCostRaw.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergeRawMat.sql" />
|
||||
<Build Include="tmp\Stored Procedures\importProductionLogRaw.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_updateProductionLog.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergeAgentsDet.sql" />
|
||||
<Build Include="tmp\Stored Procedures\convertProductionLogRaw.sql" />
|
||||
<Build Include="tmp\Stored Procedures\importPackagRaw.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_TI_upsert.sql" />
|
||||
<Build Include="tmp\Stored Procedures\convertPackagRaw.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_TPS_upsert.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergePlantsDet.sql" />
|
||||
<Build Include="tmp\Stored Procedures\convertDiesGroupRaw.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_QL_update_SAM.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergeCost2Plant.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergeDiesGroupDet.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergePackagDet.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_QL_fullDataUpdate.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_filterProductionLogRow.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergePackage2.sql" />
|
||||
<Build Include="Security\ext.sql" />
|
||||
<Build Include="Security\tmp.sql" />
|
||||
<Build Include="Security\voc.sql" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="C2P_compare_dev2prod.scmp" />
|
||||
<None Include="Snapshots\C2P_Project_20140218_04-25-36.dacpac" />
|
||||
<None Include="C2P_Project.publish.xml" />
|
||||
<None Include="Snapshots\C2P_Project_20140218_17-06-52.dacpac" />
|
||||
<None Include="Snapshots\C2P_Project_orig.dacpac" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,194 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<Name>C2P_Project</Name>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectVersion>4.1</ProjectVersion>
|
||||
<ProjectGuid>{84db66e4-9663-47f7-9dd1-3cb562629ff5}</ProjectGuid>
|
||||
<DSP>Microsoft.Data.Tools.Schema.Sql.Sql100DatabaseSchemaProvider</DSP>
|
||||
<OutputType>Database</OutputType>
|
||||
<RootPath>
|
||||
</RootPath>
|
||||
<RootNamespace>C2P_Project</RootNamespace>
|
||||
<AssemblyName>C2P_Project</AssemblyName>
|
||||
<ModelCollation>1033,CI</ModelCollation>
|
||||
<DefaultFileStructure>BySchemaAndSchemaType</DefaultFileStructure>
|
||||
<DeployToDatabase>True</DeployToDatabase>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<TargetLanguage>CS</TargetLanguage>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<SqlServerVerification>False</SqlServerVerification>
|
||||
<TargetDatabaseSet>True</TargetDatabaseSet>
|
||||
<DefaultCollation>SQL_Latin1_General_CP1_CI_AS</DefaultCollation>
|
||||
<DefaultFilegroup>PRIMARY</DefaultFilegroup>
|
||||
<GenerateCreateScript>True</GenerateCreateScript>
|
||||
<IncludeSchemaNameInFileName>True</IncludeSchemaNameInFileName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
|
||||
<TreatWarningsAsErrors>False</TreatWarningsAsErrors>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineDebug>false</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<BuildScriptName>$(MSBuildProjectName).sql</BuildScriptName>
|
||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<DefineDebug>true</DefineDebug>
|
||||
<DefineTrace>true</DefineTrace>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<!-- VS10 without SP1 will not have VisualStudioVersion set, so do that here -->
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets" />
|
||||
<ItemGroup>
|
||||
<Folder Include="Properties" />
|
||||
<Folder Include="tmp\" />
|
||||
<Folder Include="tmp\Tables\" />
|
||||
<Folder Include="dbo\" />
|
||||
<Folder Include="dbo\Tables\" />
|
||||
<Folder Include="ext\" />
|
||||
<Folder Include="ext\Tables\" />
|
||||
<Folder Include="dbo\Views\" />
|
||||
<Folder Include="dbo\Functions\" />
|
||||
<Folder Include="ext\Stored Procedures\" />
|
||||
<Folder Include="dbo\Stored Procedures\" />
|
||||
<Folder Include="tmp\Stored Procedures\" />
|
||||
<Folder Include="voc\" />
|
||||
<Folder Include="voc\Stored Procedures\" />
|
||||
<Folder Include="Security\" />
|
||||
<Folder Include="Snapshots" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Build Include="tmp\Tables\ProductionLogRaw_KO.sql" />
|
||||
<Build Include="dbo\Tables\Package2ItemClient.sql" />
|
||||
<Build Include="dbo\Tables\ProductionLog.sql" />
|
||||
<Build Include="ext\Tables\ProductionLogRaw_KO.sql" />
|
||||
<Build Include="ext\Tables\ProductionLogRaw.sql" />
|
||||
<Build Include="dbo\Tables\QuoteFull_Q_old.sql" />
|
||||
<Build Include="dbo\Tables\Package2Item.sql" />
|
||||
<Build Include="dbo\Tables\QuoteList.sql" />
|
||||
<Build Include="dbo\Tables\QuoteWorkExt.sql" />
|
||||
<Build Include="dbo\Tables\QuoteWorkInt.sql" />
|
||||
<Build Include="dbo\Tables\test.sql" />
|
||||
<Build Include="dbo\Tables\QuoteOC.sql" />
|
||||
<Build Include="dbo\Tables\Config.sql" />
|
||||
<Build Include="dbo\Tables\QuoteFull_Q.sql" />
|
||||
<Build Include="dbo\Tables\QuoteParam.sql" />
|
||||
<Build Include="tmp\Tables\DiesRaw.sql" />
|
||||
<Build Include="ext\Tables\ClientsRaw.sql" />
|
||||
<Build Include="dbo\Tables\Lingue.sql" />
|
||||
<Build Include="dbo\Tables\Vocabolario.sql" />
|
||||
<Build Include="ext\Tables\TranspCostRaw.sql" />
|
||||
<Build Include="tmp\Tables\ProductionLogRaw_old.sql" />
|
||||
<Build Include="ext\Tables\DiesRaw.sql" />
|
||||
<Build Include="dbo\Tables\TabDifett.sql" />
|
||||
<Build Include="tmp\Tables\ExcludeCondFilter.sql" />
|
||||
<Build Include="tmp\Tables\DiesGroupRaw.sql" />
|
||||
<Build Include="dbo\Tables\ItemDet.sql" />
|
||||
<Build Include="dbo\Tables\QuoteRM.sql" />
|
||||
<Build Include="tmp\Tables\TranspCostRaw.sql" />
|
||||
<Build Include="dbo\Tables\TranspCostDet.sql" />
|
||||
<Build Include="dbo\Tables\Incoterms.sql" />
|
||||
<Build Include="tmp\Tables\ItemsRaw.sql" />
|
||||
<Build Include="ext\Tables\ItemsRaw.sql" />
|
||||
<Build Include="dbo\Tables\DiesDet.sql" />
|
||||
<Build Include="dbo\Tables\Utilities.sql" />
|
||||
<Build Include="dbo\Tables\AgentsDet.sql" />
|
||||
<Build Include="tmp\Tables\ClientsRaw.sql" />
|
||||
<Build Include="dbo\Tables\ClientDet.sql" />
|
||||
<Build Include="dbo\Tables\TabProdSc.sql" />
|
||||
<Build Include="dbo\Tables\Cost2Plant.sql" />
|
||||
<Build Include="dbo\Tables\DiesGroupDet.sql" />
|
||||
<Build Include="dbo\Tables\RevHistory.sql" />
|
||||
<Build Include="dbo\Tables\PlantsDet.sql" />
|
||||
<Build Include="dbo\Tables\TabImbArt.sql" />
|
||||
<Build Include="dbo\Tables\PackagDet.sql" />
|
||||
<Build Include="ext\Tables\DiesGroupRaw.sql" />
|
||||
<Build Include="tmp\Tables\PackagRaw.sql" />
|
||||
<Build Include="dbo\Tables\TabImbGrp.sql" />
|
||||
<Build Include="ext\Tables\PackagRaw.sql" />
|
||||
<Build Include="dbo\Tables\RawMatDet.sql" />
|
||||
<Build Include="tmp\Tables\ProductionLogRaw.sql" />
|
||||
<Build Include="dbo\Tables\Package2.sql" />
|
||||
<Build Include="dbo\Views\v_QuoteFull_Q.sql" />
|
||||
<Build Include="dbo\Views\v_selClient.sql" />
|
||||
<Build Include="dbo\Views\v_selItems.sql" />
|
||||
<Build Include="dbo\Functions\f_getCodPackag_OLD.sql" />
|
||||
<Build Include="dbo\Functions\f_trim.sql" />
|
||||
<Build Include="dbo\Functions\f_dtFromRaw.sql" />
|
||||
<Build Include="dbo\Functions\f_getSubstring.sql" />
|
||||
<Build Include="dbo\Functions\f_getDataCodPackag.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergePackage2Item.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergePackage2ItemClient.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_QL_update.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergePackage2_OLD.sql" />
|
||||
<Build Include="tmp\Stored Procedures\importItemsRaw.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_QL_fullData.sql" />
|
||||
<Build Include="tmp\Stored Procedures\importClientsRaw.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_packageCost.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_QL_update_30_01.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_zzz_scratch.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_QL_fullDataAll.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_QL_update_07_02.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_QuoteFull_Q_update.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_VSCli_SearchLike.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_QL_fullDataSearch.sql" />
|
||||
<Build Include="tmp\Stored Procedures\convertItemsRaw.sql" />
|
||||
<Build Include="tmp\Stored Procedures\importDiesRaw.sql" />
|
||||
<Build Include="tmp\Stored Procedures\convertClientsRaw.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergeTranspCostDet.sql" />
|
||||
<Build Include="tmp\Stored Procedures\convertDiesRaw.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_VSItem_SearchLike.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergeDiesDet.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergeClientDet.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_esplodiVocab.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_TD_upsert.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergeItemDet.sql" />
|
||||
<Build Include="voc\Stored Procedures\stp_insNewLemma.sql" />
|
||||
<Build Include="tmp\Stored Procedures\importTranspCostRaw.sql" />
|
||||
<Build Include="tmp\Stored Procedures\importDiesGroupRaw.sql" />
|
||||
<Build Include="tmp\Stored Procedures\convertTranspCostRaw.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergeRawMat.sql" />
|
||||
<Build Include="tmp\Stored Procedures\importProductionLogRaw.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_updateProductionLog.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergeAgentsDet.sql" />
|
||||
<Build Include="tmp\Stored Procedures\convertProductionLogRaw.sql" />
|
||||
<Build Include="tmp\Stored Procedures\importPackagRaw.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_TI_upsert.sql" />
|
||||
<Build Include="tmp\Stored Procedures\convertPackagRaw.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergePackage2Item_OLD.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_TPS_upsert.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergePlantsDet.sql" />
|
||||
<Build Include="tmp\Stored Procedures\convertDiesGroupRaw.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_QL_update_SAM.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergeCost2Plant.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergeDiesGroupDet.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergePackagDet.sql" />
|
||||
<Build Include="dbo\Stored Procedures\stp_QL_fullDataUpdate.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_filterProductionLogRow.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergePackage2ItemClient_OLD.sql" />
|
||||
<Build Include="ext\Stored Procedures\stp_mergePackage2.sql" />
|
||||
<Build Include="Security\ext.sql" />
|
||||
<Build Include="Security\tmp.sql" />
|
||||
<Build Include="Security\voc.sql" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="C2P_compare_dev2prod.scmp" />
|
||||
<None Include="Snapshots\C2P_Project_20140218_04-25-36.dacpac" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,532 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<SchemaComparison>
|
||||
<Version>10</Version>
|
||||
<SourceModelProvider>
|
||||
<ProjectBasedModelProvider>
|
||||
<ProjectGuid>{84db66e4-9663-47f7-9dd1-3cb562629ff5}</ProjectGuid>
|
||||
<Name>C2P_Project</Name>
|
||||
</ProjectBasedModelProvider>
|
||||
</SourceModelProvider>
|
||||
<TargetModelProvider>
|
||||
<ConnectionBasedModelProvider>
|
||||
<ConnectionString>Data Source=10.74.82.217\SQL2008R2;Initial Catalog=Proxima_C2P_prod;Persist Security Info=True;User ID=sa;Pooling=False</ConnectionString>
|
||||
</ConnectionBasedModelProvider>
|
||||
</TargetModelProvider>
|
||||
<SchemaCompareSettingsService>
|
||||
<SchemaCompareSettingsService>
|
||||
<PropertyElementName>
|
||||
<Name>Version</Name>
|
||||
<Value>1</Value>
|
||||
</PropertyElementName>
|
||||
</SchemaCompareSettingsService>
|
||||
<ConfigurationOptionsElement>
|
||||
<PropertyElementName>
|
||||
<Name>PlanGenerationType</Name>
|
||||
<Value>SqlDeploymentOptions</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>AllowExistingModelErrors</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>AllowIncompatiblePlatform</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>BackupDatabaseBeforeChanges</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>BlockOnPossibleDataLoss</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>BlockWhenDriftDetected</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>CompareUsingTargetCollation</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>CommentOutSetVarDeclarations</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>CreateNewDatabase</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>DeployDatabaseInSingleUserMode</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>DisableAndReenableDdlTriggers</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>DoNotAlterChangeDataCaptureObjects</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>DoNotAlterReplicatedObjects</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>DropConstraintsNotInSource</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>DropDmlTriggersNotInSource</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>DropExtendedPropertiesNotInSource</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>DropIndexesNotInSource</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>DropPermissionsNotInSource</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>DropObjectsNotInSource</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>DropRoleMembersNotInSource</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>GenerateSmartDefaults</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreDdlTriggerOrder</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreDdlTriggerState</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreObjectPlacementOnPartitionScheme</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreAuthorizer</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreDefaultSchema</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreRouteLifetime</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreCryptographicProviderFilePath</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreComments</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreWhitespace</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreKeywordCasing</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreSemicolonBetweenStatements</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnorePartitionSchemes</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreWithNocheckOnCheckConstraints</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreWithNocheckOnForeignKeys</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreIdentitySeed</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreIncrement</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreFillFactor</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreIndexPadding</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreColumnCollation</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreLockHintsOnIndexes</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreTableOptions</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreIndexOptions</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreDmlTriggerOrder</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreDmlTriggerState</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreAnsiNulls</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreQuotedIdentifiers</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreUserSettingsObjects</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreFilegroupPlacement</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreFullTextCatalogFilePath</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreFileAndLogFilePath</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreLoginSids</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreNotForReplication</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IgnoreFileSize</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IncludeCompositeObjects</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>IncludeTransactionalScripts</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>NoAlterStatementsToChangeCLRTypes</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>PopulateFilesOnFileGroups</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>RegisterDataTierApplication</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>ScriptDatabaseCollation</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>ScriptDatabaseCompatibility</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>ScriptDatabaseOptions</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>ScriptDeployStateChecks</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>ScriptFileSize</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>ScriptNewConstraintValidation</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>ScriptRefreshModule</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>TargetConnectionString</Name>
|
||||
<Value>Integrated Security=True;Pooling=False;Connect Timeout=30</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>TreatVerificationErrorsAsWarnings</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>UnmodifiableObjectWarnings</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>VerifyCollationCompatibility</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>VerifyDeployment</Name>
|
||||
<Value>True</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>AllowDropBlockingAssemblies</Name>
|
||||
<Value>False</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlDatabaseOptions</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlErrorMessage</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlLogin</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlServerRoleMembership</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlLinkedServer</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlLinkedServerLogin</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlFile</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlServerDdlTrigger</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlMasterKey</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlCredential</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlRoute</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlEventNotification</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlEndpoint</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlDatabaseAuditSpecification</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlServerAudit</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlServerAuditSpecification</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlCryptographicProvider</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlDatabaseEncryptionKey</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlEventSession</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlUserDefinedServerRole</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
<PropertyElementName>
|
||||
<Name>Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlAssemblyFile</Name>
|
||||
<Value>ExcludedType</Value>
|
||||
</PropertyElementName>
|
||||
</ConfigurationOptionsElement>
|
||||
</SchemaCompareSettingsService>
|
||||
<SchemaCompareViewSettings>
|
||||
<GroupBy>2</GroupBy>
|
||||
<ZoomLevel>100</ZoomLevel>
|
||||
<Filter>Equals_Objects,Not_Supported_Deploy</Filter>
|
||||
</SchemaCompareViewSettings>
|
||||
<ExcludedSourceElements>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlProcedure, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importDiesGroupRaw</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlSubroutineParameter, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importDiesRaw</Name>
|
||||
<Name>@fileType</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlSubroutineParameter, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importClientsRaw</Name>
|
||||
<Name>@fileType</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlProcedure, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importDiesRaw</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlProcedure, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importClientsRaw</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlSubroutineParameter, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importDiesGroupRaw</Name>
|
||||
<Name>@fileType</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlProcedure, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importItemsRaw</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlSubroutineParameter, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importItemsRaw</Name>
|
||||
<Name>@fileType</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlProcedure, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importPackagRaw</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlSubroutineParameter, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importPackagRaw</Name>
|
||||
<Name>@fileType</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlProcedure, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importProductionLogRaw</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlSubroutineParameter, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importProductionLogRaw</Name>
|
||||
<Name>@fileType</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlProcedure, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importTranspCostRaw</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlSubroutineParameter, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importTranspCostRaw</Name>
|
||||
<Name>@fileType</Name>
|
||||
</SelectedItem>
|
||||
</ExcludedSourceElements>
|
||||
<ExcludedTargetElements>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlSubroutineParameter, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importDiesRaw</Name>
|
||||
<Name>@fileType</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlSubroutineParameter, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importClientsRaw</Name>
|
||||
<Name>@fileType</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlProcedure, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importDiesRaw</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlProcedure, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importClientsRaw</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlSubroutineParameter, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importDiesGroupRaw</Name>
|
||||
<Name>@fileType</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlProcedure, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importDiesGroupRaw</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlProcedure, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importItemsRaw</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlSubroutineParameter, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importItemsRaw</Name>
|
||||
<Name>@fileType</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlProcedure, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importPackagRaw</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlSubroutineParameter, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importPackagRaw</Name>
|
||||
<Name>@fileType</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlProcedure, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importProductionLogRaw</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlSubroutineParameter, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importProductionLogRaw</Name>
|
||||
<Name>@fileType</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlProcedure, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importTranspCostRaw</Name>
|
||||
</SelectedItem>
|
||||
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlSubroutineParameter, Microsoft.Data.Tools.Schema.Sql, Version=10.3.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<Name>tmp</Name>
|
||||
<Name>importTranspCostRaw</Name>
|
||||
<Name>@fileType</Name>
|
||||
</SelectedItem>
|
||||
</ExcludedTargetElements>
|
||||
</SchemaComparison>
|
||||
@@ -0,0 +1,71 @@
|
||||
2/18/2014 4:01:30 PM This log contains information about the import schema operation into project 'C2P_Project' on computer 'W2012R2SAM' by user 'samuele'.
|
||||
2/18/2014 4:01:31 PM Import of database schema has started.
|
||||
2/18/2014 4:01:37 PM Gathering database options
|
||||
2/18/2014 4:01:37 PM Gathering users
|
||||
2/18/2014 4:01:37 PM Gathering roles
|
||||
2/18/2014 4:01:37 PM Gathering application roles
|
||||
2/18/2014 4:01:37 PM Gathering role memberships
|
||||
2/18/2014 4:01:37 PM Gathering filegroups
|
||||
2/18/2014 4:01:37 PM Gathering full-text catalogs
|
||||
2/18/2014 4:01:37 PM Gathering assemblies
|
||||
2/18/2014 4:01:37 PM Gathering certificates
|
||||
2/18/2014 4:01:37 PM Gathering asymmetric keys
|
||||
2/18/2014 4:01:37 PM Gathering symmetric keys
|
||||
2/18/2014 4:01:37 PM Gathering encrypted symmetric keys
|
||||
2/18/2014 4:01:37 PM Gathering schemas
|
||||
2/18/2014 4:01:37 PM Gathering XML schema collections
|
||||
2/18/2014 4:01:37 PM Gathering user-defined data types
|
||||
2/18/2014 4:01:37 PM Gathering user-defined types
|
||||
2/18/2014 4:01:37 PM Gathering table types
|
||||
2/18/2014 4:01:37 PM Gathering unique keys for table types
|
||||
2/18/2014 4:01:37 PM Gathering primary keys for table types
|
||||
2/18/2014 4:01:37 PM Gathering check constraints for table types
|
||||
2/18/2014 4:01:37 PM Gathering default constraints for table types
|
||||
2/18/2014 4:01:37 PM Gathering partition functions
|
||||
2/18/2014 4:01:37 PM Gathering partition schemes
|
||||
2/18/2014 4:01:37 PM Gathering functions
|
||||
2/18/2014 4:01:37 PM Gathering encrypted functions
|
||||
2/18/2014 4:01:37 PM Gathering aggregates
|
||||
2/18/2014 4:01:37 PM Gathering procedures
|
||||
2/18/2014 4:01:38 PM Gathering encrypted procedures
|
||||
2/18/2014 4:01:38 PM Gathering tables
|
||||
2/18/2014 4:01:38 PM Gathering primary keys
|
||||
2/18/2014 4:01:38 PM Gathering unique constraints
|
||||
2/18/2014 4:01:38 PM Gathering foreign keys
|
||||
2/18/2014 4:01:38 PM Gathering default constraints
|
||||
2/18/2014 4:01:38 PM Gathering check constraints
|
||||
2/18/2014 4:01:38 PM Gathering views
|
||||
2/18/2014 4:01:38 PM Gathering encrypted views
|
||||
2/18/2014 4:01:38 PM Gathering indexes
|
||||
2/18/2014 4:01:38 PM Gathering statistics
|
||||
2/18/2014 4:01:38 PM Gathering full-text index stoplists
|
||||
2/18/2014 4:01:38 PM Gathering full-text indexes
|
||||
2/18/2014 4:01:38 PM Gathering spatial indexes
|
||||
2/18/2014 4:01:38 PM Gathering XML indexes
|
||||
2/18/2014 4:01:38 PM Gathering encrypted triggers
|
||||
2/18/2014 4:01:38 PM Gathering triggers
|
||||
2/18/2014 4:01:38 PM Gathering encrypted and clr ddl triggers
|
||||
2/18/2014 4:01:38 PM Gathering ddl triggers
|
||||
2/18/2014 4:01:38 PM Gathering synonyms
|
||||
2/18/2014 4:01:38 PM Gathering defaults
|
||||
2/18/2014 4:01:38 PM Gathering data constraint uddt bindings
|
||||
2/18/2014 4:01:38 PM Gathering rules
|
||||
2/18/2014 4:01:38 PM Gathering data constraint uddt bindings
|
||||
2/18/2014 4:01:38 PM Gathering message types
|
||||
2/18/2014 4:01:38 PM Gathering queues
|
||||
2/18/2014 4:01:38 PM Gathering contracts
|
||||
2/18/2014 4:01:38 PM Gathering services
|
||||
2/18/2014 4:01:38 PM Gathering event notifications
|
||||
2/18/2014 4:01:38 PM Gathering remote service bindings
|
||||
2/18/2014 4:01:38 PM Gathering broker priorities
|
||||
2/18/2014 4:01:38 PM Gathering signatures
|
||||
2/18/2014 4:01:38 PM Gathering data compression options
|
||||
2/18/2014 4:01:38 PM Gathering extended properties
|
||||
2/18/2014 4:01:38 PM Gathering credentials
|
||||
2/18/2014 4:01:38 PM Gathering logins
|
||||
2/18/2014 4:01:38 PM Gathering server audits
|
||||
2/18/2014 4:01:39 PM Scanning project for duplicate elements
|
||||
2/18/2014 4:01:39 PM Finished duplicate element processing
|
||||
2/18/2014 4:01:40 PM Finished importing database.
|
||||
2/18/2014 4:01:40 PM A summary of the import was saved to the following location: C:\Users\samuele\Documents\Visual Studio 2012\Projects\C2P\C2P_Project\Import Schema Logs\C2P_Project_20140218030130.log
|
||||
2/18/2014 4:01:40 PM Click Finish to continue...
|
||||
@@ -0,0 +1,3 @@
|
||||
CREATE SCHEMA [ext]
|
||||
AUTHORIZATION [dbo];
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
CREATE SCHEMA [tmp]
|
||||
AUTHORIZATION [dbo];
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
CREATE SCHEMA [voc]
|
||||
AUTHORIZATION [dbo];
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,23 @@
|
||||
-- =============================================
|
||||
-- Author: S.E.Locatelli
|
||||
-- Create date: 2013.11.28
|
||||
-- Description: Conversione datetime da yyyyMMddHHmmssnn
|
||||
-- =============================================
|
||||
CREATE FUNCTION f_dtFromRaw
|
||||
(
|
||||
-- Add the parameters for the function here
|
||||
@origDt nvarchar(50)
|
||||
)
|
||||
RETURNS datetime
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @output datetime
|
||||
DECLARE @strDt NVARCHAR(50)
|
||||
|
||||
SELECT @strDt = LEFT(@origDt, 4) + '-' + SUBSTRING(@origDt, 5,2 ) + '-' + SUBSTRING(@origDt, 7,2 ) + ' ' + SUBSTRING(@origDt, 9,2 ) + ':' + SUBSTRING(@origDt, 11,2 ) + ':' + SUBSTRING(@origDt, 13,2 ) + '.' + SUBSTRING(@origDt, 15,2 ) +'0'
|
||||
|
||||
SELECT @output = CONVERT(DATETIME, @strDt, 121)
|
||||
|
||||
RETURN @output
|
||||
|
||||
END
|
||||
@@ -0,0 +1,42 @@
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E.Locatelli
|
||||
-- Create date: 2014.01.15
|
||||
-- Description: Recupera CodPackage dato CodItem e CodClient secondo albero decisionale
|
||||
-- SOSTITUITA da fun Table-value f_getDataCodPackag in QL_Update
|
||||
-- =============================================
|
||||
CREATE FUNCTION [dbo].[f_getCodPackag_OLD]
|
||||
(
|
||||
@CodItem NVARCHAR(50),
|
||||
@CodClient NVARCHAR(50)
|
||||
)
|
||||
RETURNS NVARCHAR(50)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @output NVARCHAR(50)
|
||||
DECLARE @trovati INT = 0
|
||||
-- setup iniziale: imposto a zero...
|
||||
SET @output = '0'
|
||||
|
||||
SELECT @trovati = COUNT(*) FROM Package2ItemClient WHERE CodClient = @CodClient AND CodItem = @CodItem
|
||||
IF(@trovati > 0)
|
||||
-- primo tentativo: cerco il package dato SIA cliente che ITEM
|
||||
BEGIN
|
||||
SELECT TOP 1 @output = CodPackag
|
||||
FROM Package2ItemClient WHERE CodClient = @CodClient AND CodItem = @CodItem
|
||||
ORDER BY TotQta DESC
|
||||
END
|
||||
ELSE
|
||||
-- secondo tentativo: se non lo trovo cerco per SOLO ITEM
|
||||
BEGIN
|
||||
SELECT TOP 1 @output = CodPackag
|
||||
FROM Package2Item WHERE CodItem = @CodItem
|
||||
ORDER BY TotQta DESC
|
||||
END
|
||||
|
||||
RETURN @output
|
||||
|
||||
END
|
||||
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: Steamware
|
||||
-- Create date: 2014-01-30
|
||||
-- Description: Ritorna l'imballo e i dati associati
|
||||
-- =============================================
|
||||
CREATE FUNCTION [dbo].[f_getDataCodPackag]
|
||||
(
|
||||
@CodItem NVARCHAR(50),
|
||||
@CodClient NVARCHAR(50)
|
||||
)
|
||||
RETURNS
|
||||
@Table TABLE
|
||||
(
|
||||
[CodItem] [nvarchar](50) NOT NULL,
|
||||
[CodClient] [nvarchar](50) NOT NULL,
|
||||
[CodPackag] [nvarchar](50) NOT NULL,
|
||||
[TotQta] [decimal](18, 3) NOT NULL,
|
||||
[Weight] [decimal](18, 6) NOT NULL,
|
||||
[Tare] [decimal](18, 6) NOT NULL,
|
||||
[NumImb] [decimal](9, 6) NOT NULL,
|
||||
[Durata] [decimal](18, 6) NOT NULL,
|
||||
[LivPackag] [nvarchar](50) NOT NULL,
|
||||
[LivPackagDet] [nvarchar](50) NOT NULL
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @output NVARCHAR(50)
|
||||
DECLARE @trovati INT = 0
|
||||
-- setup iniziale: imposto a zero...
|
||||
SET @output = '0'
|
||||
|
||||
|
||||
SELECT @trovati = COUNT(*) FROM Package2ItemClient WHERE CodClient = @CodClient AND CodItem = @CodItem
|
||||
IF(@trovati > 0)
|
||||
-- primo tentativo: cerco il package dato SIA cliente che ITEM
|
||||
BEGIN
|
||||
INSERT @Table
|
||||
SELECT TOP 1 CodItem, CodClient , CodPackag, TotQta, Weight, Tare, NumImb, Durata
|
||||
,'Item-Client-Package', @CodItem + '-' + @CodClient + '-' + CodPackag
|
||||
FROM Package2ItemClient WHERE CodClient = @CodClient AND CodItem = @CodItem
|
||||
ORDER BY TotQta DESC
|
||||
END
|
||||
ELSE IF EXISTS ( SELECT * FROM Package2Item WHERE CodItem = @CodItem )
|
||||
-- secondo tentativo: se non lo trovo cerco per SOLO ITEM
|
||||
BEGIN
|
||||
INSERT @Table
|
||||
SELECT TOP 1 CodItem, 'ND' AS CodClient , CodPackag, TotQta, Weight, Tare, NumImb, Durata
|
||||
,'Item-Package', @CodItem + '-' + CodPackag
|
||||
FROM Package2Item WHERE CodItem = @CodItem
|
||||
ORDER BY TotQta DESC
|
||||
END
|
||||
ELSE
|
||||
-- secondo tentativo: se non lo trovo cerco per SOLO ITEM
|
||||
BEGIN
|
||||
INSERT @Table
|
||||
SELECT TOP 1 'ND', 'ND' AS CodClient , CodPackag, TotQta, Weight, Tare, NumImb, Durata
|
||||
,'Package', CodPackag
|
||||
FROM dbo.Package2 WHERE CodPackag = 0
|
||||
END
|
||||
|
||||
RETURN
|
||||
END
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
|
||||
|
||||
|
||||
|
||||
-- ================================================================
|
||||
-- Author : Steamware
|
||||
-- Create date: 2017-01-17
|
||||
--
|
||||
-- Description: Data una stringa con una serie di valori separati da un separatore ( es. ; )
|
||||
-- ritorna l'elemento nella posizione richiesta
|
||||
--
|
||||
-- esempio : SELECT dbo.f_GetSubstring('asda-fff-bbb','-' , 2)
|
||||
-- ================================================================
|
||||
CREATE FUNCTION [dbo].[f_getSubstring]
|
||||
(
|
||||
@str_in NVARCHAR(4000), @separator NVARCHAR(4)= '-', @PosizValue INT = 1
|
||||
)
|
||||
RETURNS NVARCHAR(4000)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
DECLARE @Occurrences INT,
|
||||
@Counter INT,
|
||||
@tmpStr NVARCHAR(4000),
|
||||
@str_out NVARCHAR(4000)
|
||||
|
||||
IF RIGHT(@str_in, DATALENGTH(@separator)/2 ) <> @separator
|
||||
SET @str_out = @str_in + @separator ;
|
||||
ELSE
|
||||
SET @str_out = @str_in ;
|
||||
|
||||
-- calcolo il numero di elementi della nella stringa
|
||||
SET @Occurrences = ( (DATALENGTH( REPLACE(@str_out, @separator, @separator+'#')) - DATALENGTH(@str_out)) ) / 2
|
||||
|
||||
-- se l'elemento richiesto esiste proseguo altrimenti ritorno NULL
|
||||
IF @Occurrences >= @PosizValue AND @PosizValue <> 0
|
||||
BEGIN
|
||||
|
||||
SET @tmpStr = @str_out ;
|
||||
SET @Counter = 1 ;
|
||||
|
||||
WHILE @Counter <= @PosizValue
|
||||
BEGIN
|
||||
SET @Counter = @Counter + 1 ;
|
||||
SET @str_out = SUBSTRING( @tmpStr, 1, CHARINDEX(@separator,@tmpStr) - 1) ;
|
||||
-- metto via il resto della stringa
|
||||
SET @tmpStr = SUBSTRING( @tmpStr, CHARINDEX(@separator,@tmpStr) + DATALENGTH(@separator)/2, 4000) ;
|
||||
|
||||
IF DATALENGTH(@tmpStr) = 0
|
||||
BREAK
|
||||
END
|
||||
|
||||
-- pulisco da caratteri NON voluti
|
||||
--SET @str_out = REPLACE(@str_out, char(13), '') ; -- carriage return
|
||||
--SET @str_out = REPLACE(@str_out, char(10), '') ; -- line feed
|
||||
--SET @str_out = REPLACE(@str_out, char(9), '') ; -- tab
|
||||
--SET @str_out = LTRIM ( RTRIM (@str_out) ) ; -- blank
|
||||
END
|
||||
ELSE
|
||||
SET @str_out = NULL ;
|
||||
|
||||
RETURN @str_out
|
||||
|
||||
END
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
/***************************************
|
||||
* FUNCTION f_trim
|
||||
*
|
||||
* trim completo: LTRIM(RTRIM(...))
|
||||
*
|
||||
* Steamware, S.E.L.
|
||||
* mod: 2013.05.10
|
||||
*
|
||||
****************************************/
|
||||
create FUNCTION [dbo].[f_trim] (@string NVARCHAR(MAX))
|
||||
RETURNS NVARCHAR(MAX) AS
|
||||
BEGIN
|
||||
|
||||
-- Prefix the required number of spaces to bulk up the string and then replace the spaces with the desired character
|
||||
RETURN LTRIM(RTRIM(@string))
|
||||
|
||||
|
||||
END
|
||||
@@ -0,0 +1,48 @@
|
||||
-- =============================================
|
||||
-- STORED PROCEDURE stp_QL_fullData
|
||||
--
|
||||
-- Author: Steamware
|
||||
-- Create date: 2014.01.27
|
||||
-- Description: Recupera tutti i dati dalle tab QuoteList x avere schema x report/gestioen web
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[stp_QL_fullData] (
|
||||
@QuoteType CHAR(1) = 'Q'
|
||||
, @CodQuote BIGINT = 0
|
||||
, @QuoteRev INT = 0
|
||||
, @DoUpdate CHAR(1) = 'N' -- se si debba fare ricalcolo Y/N
|
||||
)
|
||||
AS
|
||||
SET NOCOUNT ON
|
||||
|
||||
EXEC stp_QL_fullDataUpdate @QuoteType
|
||||
, @CodQuote
|
||||
, @QuoteRev
|
||||
, @DoUpdate
|
||||
|
||||
---- calcolo con aggiunta campi sommati...
|
||||
--SELECT *
|
||||
-- , FVC + RawMatFullCost AS P_FVC
|
||||
-- , FC4UG01 + OH4UG01 AS CPS
|
||||
-- , FC4UG01 + OH4UG01 + FVC + RawMatFullCost AS P_CPS
|
||||
-- , FC4UG04 + FVC + RawMatFullCost AS P_FC4UG04
|
||||
-- , FVC + FC4UG01 + OH4UG01 + FC4UG04 AS FullCost
|
||||
-- , FVC + FC4UG01 + OH4UG01 + FC4UG04 + RawMatFullCost AS P_FullCost
|
||||
-- , Charge * (FVC + FC4UG01 + OH4UG01 + FC4UG04) AS MinPrice
|
||||
-- , Charge * (FVC + FC4UG01 + OH4UG01 + FC4UG04 + RawMatFullCost) AS P_MinPrice
|
||||
-- , PriceOff + RawMatFullCost AS P_PriceOff
|
||||
-- , (FVC + FC4UG01 + OH4UG01 + FC4UG04) - PriceOff AS NetMar
|
||||
-- , (PriceOff - FVC) / (FC4UG01 + OH4UG01 + FC4UG04) AS FCShield
|
||||
-- , (PRMWeight - Ptare) * (PriceOff + RawMatFullCost) / Pweight AS PckSur
|
||||
--FROM QuoteFull_Q
|
||||
--WHERE QuoteType = @QuoteType
|
||||
-- AND CodQuote = @CodQuote
|
||||
-- AND QuoteRev = @QuoteRev
|
||||
|
||||
-- calcolo con aggiunta campi sommati...
|
||||
SELECT *
|
||||
FROM v_QuoteFull_Q
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
RETURN
|
||||
@@ -0,0 +1,15 @@
|
||||
-- =============================================
|
||||
-- STORED PROCEDURE stp_QL_fullDataAll
|
||||
--
|
||||
-- Author: Steamware
|
||||
-- Create date: 2014.02.07
|
||||
-- Description: Recupera tutti i dati di tutte le offerte salvate
|
||||
-- =============================================
|
||||
CREATE PROCEDURE dbo.stp_QL_fullDataAll
|
||||
|
||||
AS
|
||||
SELECT *
|
||||
FROM v_QuoteFull_Q
|
||||
ORDER BY CodQuote DESC
|
||||
|
||||
RETURN
|
||||
@@ -0,0 +1,23 @@
|
||||
-- =============================================
|
||||
-- STORED PROCEDURE stp_QL_fullDataSearch
|
||||
--
|
||||
-- Author: Steamware
|
||||
-- Create date: 2014.02.11
|
||||
-- Description: Recupera tutti i dati dalle tab QuoteList x avere schema con ricerca x cliente, item, materiale
|
||||
-- =============================================
|
||||
create PROCEDURE [dbo].[stp_QL_fullDataSearch] (
|
||||
@CodClient NVARCHAR(50) = ''
|
||||
, @CodItem NVARCHAR(50) = ''
|
||||
, @RawMat NVARCHAR(50) = ''
|
||||
)
|
||||
AS
|
||||
SET NOCOUNT ON
|
||||
|
||||
-- calcolo con aggiunta campi sommati...
|
||||
SELECT *
|
||||
FROM v_QuoteFull_Q
|
||||
WHERE CodClient = CASE WHEN ISNULL(@CodClient,'') = '' THEN CodClient ELSE @CodClient END
|
||||
AND CodItem = CASE WHEN ISNULL(@CodItem,'') = '' THEN CodItem ELSE @CodItem END
|
||||
AND RawMat = CASE WHEN ISNULL(@RawMat,'') = '' THEN RawMat ELSE @RawMat END
|
||||
|
||||
RETURN
|
||||
@@ -0,0 +1,307 @@
|
||||
|
||||
-- =============================================
|
||||
-- STORED PROCEDURE stp_QL_fullDataUpdate
|
||||
--
|
||||
-- Author: Steamware
|
||||
-- Create date: 2014.01.27
|
||||
-- Description: Recupera tutti i dati dalle tab QuoteList x avere schema x report/gestioen web
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[stp_QL_fullDataUpdate] (
|
||||
@QuoteType CHAR(1) = 'Q'
|
||||
, @CodQuote BIGINT = 0
|
||||
, @QuoteRev INT = 0
|
||||
, @DoUpdate CHAR(1) = 'N' -- se si debba fare ricalcolo Y/N
|
||||
)
|
||||
AS
|
||||
SET NOCOUNT ON
|
||||
|
||||
/* va rifatta struttura:
|
||||
*
|
||||
* tab temporanea
|
||||
* calcolo parametri
|
||||
* salvataggio in QuoteList dei 3 valori di sunto
|
||||
* calcolo dei valori aggregati e restituzione riga risultati finali
|
||||
*
|
||||
* ATTENZIONE NON CONTROLLA IL CAMPO VALID DEVE ESSERE SEMPRE 1 PER ESSERE VALIDO
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
--DECLARE @FullCost DECIMAL(9,6)
|
||||
-- , @MinPrice DECIMAL(9,6)
|
||||
IF (@DoUpdate = 'Y')
|
||||
BEGIN
|
||||
EXEC stp_QL_update @QuoteType
|
||||
, @CodQuote
|
||||
, @QuoteRev
|
||||
END
|
||||
|
||||
|
||||
-- inserire in tabelle: QuoteFull_Q (quotazioni/preventivi)
|
||||
-- inserire in tabelle: QuoteFull_R (resoconto di commessa)
|
||||
-- inserire in tabelle: QuoteFull_S (simulazioni)
|
||||
|
||||
-- elimino eventuale temp table...
|
||||
IF OBJECT_ID('tempdb..#TempFullData') IS NOT NULL
|
||||
DROP TABLE #TempFullData;
|
||||
|
||||
|
||||
-- Costruisco la "superselect" di tutti i valori necessari...
|
||||
|
||||
-- =================================================
|
||||
-- PIVOT TABELLA QuoteParameter
|
||||
-- =================================================
|
||||
;WITH ctePivotQuoteP
|
||||
AS (
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT QuoteType
|
||||
, CodQuote
|
||||
, QuoteRev
|
||||
, Descr
|
||||
, Parameter
|
||||
FROM dbo.QuoteParam
|
||||
WHERE CodQuote = @CodQuote
|
||||
AND QuoteType = @QuoteType
|
||||
AND QuoteRev = @QuoteRev
|
||||
) AS SourceTable
|
||||
|
||||
PIVOT(MIN(Parameter) FOR Descr IN (
|
||||
ItemDescr
|
||||
, CodifProfilo
|
||||
, ClasseMerc
|
||||
, CodClientAssoc
|
||||
, ClientNameAssoc
|
||||
, CodDiesGroup
|
||||
, TipoDies
|
||||
, DiamDies
|
||||
, HoleNumDies
|
||||
, NumDiesInList
|
||||
, NumDiesExaust
|
||||
, CodPlant
|
||||
, KeyAM
|
||||
, KeyAMIL
|
||||
, NumSMED
|
||||
, KgTeo
|
||||
, KgProdotti
|
||||
, QuotaMan
|
||||
, DiesPrice
|
||||
, DiesExpLife
|
||||
, DiesEOLife
|
||||
, PkgDesc
|
||||
, PRMWeight
|
||||
, PWeight
|
||||
, PTare
|
||||
, TareStRatio
|
||||
, LivPackage
|
||||
, LivPackageDett
|
||||
)
|
||||
) AS PivotData
|
||||
),
|
||||
-- =================================================
|
||||
-- PIVOT TABELLA QuoteOC
|
||||
-- =================================================
|
||||
ctePivotQuoteOC AS (
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT QuoteType
|
||||
, CodQuote
|
||||
, QuoteRev
|
||||
, Class01 + ProcessNum AS ClassProc
|
||||
, C4UG
|
||||
FROM dbo.QuoteOC
|
||||
WHERE CodQuote = @CodQuote
|
||||
AND QuoteType = @QuoteType
|
||||
AND QuoteRev = @QuoteRev
|
||||
) AS SourceTable
|
||||
PIVOT(SUM(C4UG) FOR ClassProc IN
|
||||
( EE01
|
||||
, GAS01
|
||||
, MATRICE01
|
||||
, VENDITA01
|
||||
, ROTTAME01
|
||||
, VENDITA04
|
||||
, ROTTAME04
|
||||
, IMBALLO04
|
||||
, TRASPORTI04
|
||||
, PROVVIGIONI04
|
||||
)
|
||||
) AS PivotData
|
||||
)
|
||||
-- =================================================
|
||||
-- MAIN Select Tabella con INTO temp table
|
||||
-- =================================================
|
||||
SELECT 'V14.1' AS Vers
|
||||
, QL.QuoteType
|
||||
, QL.CodQuote
|
||||
, QL.QuoteRev
|
||||
, QL.CodClient
|
||||
, CD.ClientName
|
||||
, QL.CodItem
|
||||
, QL.CodItemGroup
|
||||
, QL.RawMat
|
||||
, QL.UnitWeight
|
||||
, QL.BatchQty
|
||||
, QL.CodInco
|
||||
, QL.KeyAM
|
||||
, QL.Note
|
||||
, QL.PriceOff
|
||||
, pQP.CodClientAssoc
|
||||
, pQP.ClientNameAssoc
|
||||
, pQP.ItemDescr
|
||||
, pQP.CodifProfilo
|
||||
, pQP.ClasseMerc
|
||||
, pQP.TipoDies
|
||||
, pQP.CodDiesGroup
|
||||
, pQP.DiamDies
|
||||
, pQP.HoleNumDies
|
||||
, pQP.DiesPrice
|
||||
, pQP.DiesExpLife
|
||||
, pQP.DiesEOLife
|
||||
, pQP.NumDiesInList
|
||||
, pQP.NumDiesExaust
|
||||
, pQP.CodPlant
|
||||
, pQP.KeyAMIL
|
||||
, pQP.KgTeo
|
||||
, pQP.NumSMED
|
||||
, pQP.QuotaMan
|
||||
, pQP.PRMWeight
|
||||
, pQP.PWeight
|
||||
, pQP.PTare
|
||||
, pQP.LivPackage
|
||||
, pQP.LivPackageDett
|
||||
, QRM.RawMatCost
|
||||
, QRM.RawMatExtraCost
|
||||
, QRM.RawMatCost + QRM.RawMatExtraCost AS RawMatFullCost -- fare campo calcolato ?!?
|
||||
, QRM.CodPackag
|
||||
, pQP.PkgDesc
|
||||
, QRM.FSR
|
||||
, ISNULL(pQOC.PROVVIGIONI04, 0) AS ProvvCost
|
||||
, ISNULL(pQOC.EE01, 0) AS EECost
|
||||
, ISNULL(pQOC.GAS01, 0) AS GasCost
|
||||
, ISNULL(pQOC.MATRICE01, 0) AS DiesCost
|
||||
, ISNULL(pQOC.IMBALLO04, 0) AS PackCost
|
||||
, ISNULL(pQOC.TRASPORTI04, 0) AS TranspCost
|
||||
, ISNULL(pQOC.VENDITA01, 0) AS SellCost01
|
||||
, ISNULL(pQOC.ROTTAME01, 0) AS RefCost01
|
||||
, ISNULL(pQOC.VENDITA04, 0) AS SellCost04
|
||||
, ISNULL(pQOC.ROTTAME04, 0) AS RefCost04
|
||||
, QWI01.WSR AS WSR01
|
||||
, QWI01.MSR AS MSR01
|
||||
, QWI01.NetProd AS NetProd01
|
||||
, QWI01.FC4UG AS FC4UG01
|
||||
, QWI01.VC4UG AS VC4UG01
|
||||
, QWI01.OH4UG AS OH4UG01
|
||||
, QWI01.SC4UG AS SC4UG01
|
||||
, 1 - (QWI01.DYR * QWI02.DYR * QWI03.DYR * QWI04.DYR) AS DSR
|
||||
, QWI04.NetProd AS NetProd04
|
||||
, QWI04.FC4UG AS FC4UG04
|
||||
, QWI04.VC4UG AS VC4UG04
|
||||
, ISNULL(pQOC.VENDITA01, 0) + ISNULL(pQOC.ROTTAME01, 0) + ISNULL(pQOC.VENDITA04, 0) + ISNULL(pQOC.ROTTAME04, 0) + ISNULL(pQOC.EE01, 0) + ISNULL(pQOC.GAS01, 0) + ISNULL(pQOC.MATRICE01, 0) + ISNULL(pQOC.IMBALLO04, 0) + ISNULL(pQOC.PROVVIGIONI04, 0) + ISNULL(pQOC.TRASPORTI04, 0) + QWI01.VC4UG + QWI04.VC4UG + QWI01.SC4UG AS FVC
|
||||
, PD.Charge
|
||||
|
||||
INTO #TempFullData -- carico in temp table
|
||||
FROM dbo.QuoteList AS QL
|
||||
|
||||
INNER JOIN dbo.ClientDet CD
|
||||
ON QL.CodClient = CD.CodClient
|
||||
|
||||
INNER JOIN ctePivotQuoteP AS pQP
|
||||
ON QL.QuoteType = pQP.QuoteType
|
||||
AND QL.CodQuote = pQP.CodQuote
|
||||
AND QL.QuoteRev = pQP.QuoteRev
|
||||
|
||||
INNER JOIN dbo.QuoteRM AS QRM
|
||||
ON QL.QuoteType = QRM.QuoteType
|
||||
AND QL.CodQuote = QRM.CodQuote
|
||||
AND QL.QuoteRev = QRM.QuoteRev
|
||||
AND QL.rawmat = QRM.RawMat
|
||||
|
||||
INNER JOIN ctePivotQuoteOC AS pQOC
|
||||
ON QL.QuoteType = pQOC.QuoteType
|
||||
AND QL.CodQuote = pQOC.CodQuote
|
||||
AND QL.QuoteRev = pQOC.QuoteRev
|
||||
|
||||
INNER JOIN dbo.QuoteWorkInt AS QWI01
|
||||
ON QL.QuoteType = QWI01.QuoteType
|
||||
AND QL.CodQuote = QWI01.CodQuote
|
||||
AND QL.QuoteRev = QWI01.QuoteRev
|
||||
AND QWI01.ProcessNum = '01'
|
||||
INNER JOIN dbo.QuoteWorkInt AS QWI02
|
||||
ON QL.QuoteType = QWI02.QuoteType
|
||||
AND QL.CodQuote = QWI02.CodQuote
|
||||
AND QL.QuoteRev = QWI02.QuoteRev
|
||||
AND QWI02.ProcessNum = '02'
|
||||
INNER JOIN dbo.QuoteWorkInt AS QWI03
|
||||
ON QL.QuoteType = QWI03.QuoteType
|
||||
AND QL.CodQuote = QWI03.CodQuote
|
||||
AND QL.QuoteRev = QWI03.QuoteRev
|
||||
AND QWI03.ProcessNum = '03'
|
||||
INNER JOIN dbo.QuoteWorkInt AS QWI04
|
||||
ON QL.QuoteType = QWI04.QuoteType
|
||||
AND QL.CodQuote = QWI04.CodQuote
|
||||
AND QL.QuoteRev = QWI04.QuoteRev
|
||||
AND QWI04.ProcessNum = '04'
|
||||
INNER JOIN dbo.PlantsDet AS PD
|
||||
ON PD.CodPlant = pQP.CodPlant
|
||||
|
||||
---- salvo i dati dell'ordine: FullCost, MinPrice, PriceOff (se zero lo pongo uguale a MinPrice)
|
||||
--UPDATE QuoteList
|
||||
--SET FullCost = @FullCost
|
||||
-- , MinPrice = @MinPrice
|
||||
-- , PriceOff = CASE WHEN ISNULL(PriceOff,0) = 0 THEN @MinPrice ELSE PriceOff END
|
||||
--WHERE QuoteType = @QuoteType
|
||||
-- AND CodQuote = @CodQuote
|
||||
-- AND QuoteRev = @QuoteRev
|
||||
|
||||
IF @QuoteType = 'Q'
|
||||
BEGIN
|
||||
IF OBJECT_ID('QuoteFull_Q') IS NULL -- DROP TABLE QuoteFull_Q
|
||||
SELECT * INTO dbo.QuoteFull_Q FROM #TempFullData
|
||||
ELSE
|
||||
BEGIN
|
||||
--DELETE dbo.QuoteFull_Q WHERE QuoteType = @QuoteType AND CodQuote = @CodQuote AND QuoteRev = @QuoteRev
|
||||
DELETE dbo.QuoteFull_Q WHERE QuoteType = @QuoteType AND CodQuote = @CodQuote AND QuoteRev = @QuoteRev
|
||||
INSERT dbo.QuoteFull_Q
|
||||
SELECT * FROM #TempFullData
|
||||
END
|
||||
END
|
||||
|
||||
ELSE IF @QuoteType = 'R'
|
||||
BEGIN
|
||||
IF OBJECT_ID('QuoteFull_R') IS NULL -- DROP TABLE QuoteFull_R
|
||||
SELECT * INTO dbo.QuoteFull_R FROM #TempFullData
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT dbo.QuoteFull_R
|
||||
SELECT * FROM #TempFullData
|
||||
END
|
||||
END
|
||||
|
||||
ELSE IF @QuoteType = 'S'
|
||||
BEGIN
|
||||
IF OBJECT_ID('QuoteFull_S') IS NULL -- DROP TABLE QuoteFull_S
|
||||
SELECT * INTO dbo.QuoteFull_S FROM #TempFullData
|
||||
ELSE
|
||||
BEGIN
|
||||
INSERT dbo.QuoteFull_S
|
||||
SELECT * FROM #TempFullData
|
||||
END
|
||||
END
|
||||
|
||||
-- elimino temp table...
|
||||
IF OBJECT_ID('tempdb..#TempFullData') IS NOT NULL
|
||||
DROP TABLE #TempFullData
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,679 @@
|
||||
|
||||
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: Steamware
|
||||
-- Create date: 2014.01.22
|
||||
-- Description: aggiorna le tabelle QuoteList con i dati selezionati dalla TabProdSc
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[stp_QL_update]
|
||||
(
|
||||
@QuoteType CHAR(1) = 'Q',
|
||||
@CodQuote BIGINT = 0,
|
||||
@QuoteRev INT = 0
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- dichiaro valori da recuperare
|
||||
DECLARE @strTemp NVARCHAR(50) = '' --stringa temporanea x variabili "locali"
|
||||
|
||||
DECLARE @valid BIT
|
||||
DECLARE @CodDiesGroup NVARCHAR(50)
|
||||
DECLARE @CodPlant NVARCHAR(50)
|
||||
DECLARE @CodPlantFix NVARCHAR(50) = ''
|
||||
DECLARE @HoleNum INT
|
||||
-- ITEM
|
||||
DECLARE @CodItem NVARCHAR(50) = '' --cod item
|
||||
DECLARE @ItemDescr NVARCHAR(50) = '' -- descrizione item
|
||||
DECLARE @CodifProfilo NVARCHAR(50) = '' -- Cod. Profilo
|
||||
DECLARE @ClasseMerc NVARCHAR(50) = ''
|
||||
DECLARE @CodClientAssoc NVARCHAR(50) = ''
|
||||
|
||||
DECLARE @KeyAM NVARCHAR(50) = ''
|
||||
DECLARE @KeyAMI NVARCHAR(50) = ''
|
||||
DECLARE @KeyAMIL NVARCHAR(50) = ''
|
||||
DECLARE @NumSMED INT = 0 -- numero cambi
|
||||
DECLARE @KgTeo DECIMAL(18, 6) = 0 -- kg totali
|
||||
DECLARE @RawMat NVARCHAR(50)
|
||||
DECLARE @ProdTeo DECIMAL(18,6)
|
||||
DECLARE @ScTec DECIMAL(18,6)
|
||||
DECLARE @BatchQty INT
|
||||
DECLARE @MAC_SC DECIMAL(18,6) -- Messa a cento scarto cesoia
|
||||
DECLARE @MAC_ST DECIMAL(18,6) -- Messa a cento scarto tecnico
|
||||
DECLARE @MAC_IN DECIMAL(18,6) -- Messa a cento difettosità all'incestatura
|
||||
DECLARE @MAC_IM DECIMAL(18,6) -- Messa a cento difettosità all'imballo
|
||||
DECLARE @SSR DECIMAL(9,6) -- percentuale vendita rottame
|
||||
DECLARE @DiesPrice DECIMAL(9,3) -- prezzo matrice
|
||||
DECLARE @DiesEOLife DECIMAL(9,2) -- durata matrice
|
||||
DECLARE @DiesExpLife DECIMAL(9,2) -- durata matrice
|
||||
DECLARE @DiesPriceLife DECIMAL(18,6) -- Price/Life matrice
|
||||
DECLARE @OCF01 DECIMAL(18,6) = 0 -- altri costi di fase 01
|
||||
DECLARE @VCF01 DECIMAL(18,6) = 0 -- costi variabili di fase 01
|
||||
DECLARE @VCF04 DECIMAL(18,6) = 0 -- costi variabili di fase 04
|
||||
DECLARE @SellCostF01 DECIMAL(18,6) = 0 -- costo vendita fase 01
|
||||
DECLARE @SellCostF04 DECIMAL(18,6) = 0 -- costo vendita fase 04
|
||||
DECLARE @RefCostF01 DECIMAL(18,6) = 0 -- costo rifusione fase 01
|
||||
DECLARE @RefCostF04 DECIMAL(18,6) = 0 -- costo rifusione fase 04
|
||||
-- IMBALLO
|
||||
DECLARE @CodPackag NVARCHAR(50) = '0' -- codice dell'imballo
|
||||
DECLARE @CodClient NVARCHAR(50) = '' -- codice cliente
|
||||
DECLARE @NumImb DECIMAL(9,6) = 0 -- num imballatori
|
||||
DECLARE @PkgDesc NVARCHAR(50) = '' -- descrizione imballo
|
||||
DECLARE @PRMWeight DECIMAL(9,4) = 0 -- peso dell'imballo
|
||||
DECLARE @PWeight DECIMAL(9,4) = 0 -- peso del pacco
|
||||
DECLARE @PTare DECIMAL(9,4) = 0 -- media delal tara di imballo dichiarata
|
||||
DECLARE @PCost DECIMAL(9,6) = 0 -- costo unitario dell'imballo (al kg)
|
||||
DECLARE @PTareStRatio DECIMAL(9,4) = 0 -- coefficiente di recupero tara/prodotto
|
||||
DECLARE @PTotQta DECIMAL(18,3) = 0 -- Qta Kg Tot Imballati
|
||||
DECLARE @PDurata DECIMAL(18,6) = 0 -- Tempo d'imballaggio
|
||||
DECLARE @PLiv NVARCHAR(50) = '' -- Livello Search dati Imballo
|
||||
DECLARE @PLivDett NVARCHAR(50) = '' -- Key Livello Search Dati Imballo
|
||||
-- TRASPORTI
|
||||
DECLARE @TranspZone NVARCHAR(50) = '' -- codice ZONA
|
||||
DECLARE @TranspCost DECIMAL(9,6) -- costo di trasporto
|
||||
DECLARE @HasTC INT
|
||||
|
||||
-- PROVVIGIONI
|
||||
DECLARE @Provvig DECIMAL(9,6) -- provvigione agente
|
||||
|
||||
-- default: validità è true!
|
||||
SET @valid = 1
|
||||
|
||||
-- =================================================
|
||||
-- CREAZIONE TEMP TABLE
|
||||
-- =================================================
|
||||
|
||||
-- elimino e ricreo #QuoteParam temp table...
|
||||
IF OBJECT_ID('tempdb..#QuoteParam') IS NOT NULL
|
||||
DROP TABLE #QuoteParam
|
||||
|
||||
CREATE TABLE #Quoteparam
|
||||
(
|
||||
Quotetype CHAR( 1 ) NOT NULL,
|
||||
Codquote BIGINT NOT NULL,
|
||||
Quoterev INT NOT NULL,
|
||||
Nump INT IDENTITY( 1,1 ) NOT NULL,
|
||||
Processnum NVARCHAR( 50 ) NOT NULL,
|
||||
Descr NVARCHAR( 50 ) NOT NULL,
|
||||
Parameter NVARCHAR( 100 ) NOT NULL,
|
||||
--PRIMARY KEY
|
||||
-- ( NumP ASC, QuoteType ASC, CodQuote ASC, QuoteRev ASC ) WITH (PAD_INDEX = ON, FILLFACTOR = 90 )
|
||||
);
|
||||
|
||||
-- elimino e ricreo #QuoteParam temp table...
|
||||
IF OBJECT_ID('tempdb..#QuoteWorkInt') IS NOT NULL
|
||||
DROP TABLE #QuoteWorkInt
|
||||
|
||||
CREATE TABLE #QuoteWorkInt
|
||||
(
|
||||
QuoteType CHAR(1) NOT NULL,
|
||||
CodQuote BIGINT NOT NULL,
|
||||
QuoteRev INT NOT NULL,
|
||||
NumWI INT IDENTITY(1,1) NOT NULL,
|
||||
ProcessNum NVARCHAR(50) NOT NULL,
|
||||
CodPlant NVARCHAR(50) NOT NULL,
|
||||
Class01 NVARCHAR(50) NOT NULL DEFAULT (''),
|
||||
Class02 NVARCHAR(50) NOT NULL DEFAULT (''),
|
||||
Class03 NVARCHAR(50) NOT NULL DEFAULT (''),
|
||||
Class04 NVARCHAR(50) NOT NULL DEFAULT (''),
|
||||
Class05 NVARCHAR(50) NOT NULL DEFAULT (''),
|
||||
NetProd DECIMAL(9, 3) NOT NULL DEFAULT ((0)),
|
||||
WSR DECIMAL(9, 8) NOT NULL DEFAULT ((0)),
|
||||
MSR DECIMAL(9, 8) NOT NULL DEFAULT ((0)),
|
||||
DSR DECIMAL(9, 8) NOT NULL DEFAULT ((0)),
|
||||
FC4UG DECIMAL(9, 6) NOT NULL DEFAULT ((0)),
|
||||
VC4UG DECIMAL(9, 6) NOT NULL DEFAULT ((0)),
|
||||
OH4UG DECIMAL(9, 6) NOT NULL DEFAULT ((0)),
|
||||
SC4UG DECIMAL(9, 6) NOT NULL DEFAULT ((0)),
|
||||
-- campi calcolati
|
||||
WYR AS ((1)-WSR),
|
||||
MYR AS ((1)-MSR),
|
||||
DYR AS ((1)-DSR),
|
||||
WCR AS ((1)/((1)-WSR)),
|
||||
MCR AS ((1)/((1)-MSR)),
|
||||
DCR AS ((1)/((1)-DSR)),
|
||||
valid BIT NOT NULL DEFAULT((1)),
|
||||
)
|
||||
|
||||
-- elimino e ricreo #QuoteParam temp table...
|
||||
IF OBJECT_ID('tempdb..#QuoteOC') IS NOT NULL
|
||||
DROP TABLE #QuoteOC
|
||||
|
||||
CREATE TABLE #QuoteOC
|
||||
(
|
||||
QuoteType CHAR(1) NOT NULL,
|
||||
CodQuote BIGINT NOT NULL,
|
||||
QuoteRev INT NOT NULL,
|
||||
NumEx INT IDENTITY(1,1) NOT NULL,
|
||||
ProcessNum NVARCHAR(50) NOT NULL,
|
||||
CodPlant NVARCHAR(50) NOT NULL,
|
||||
Class01 NVARCHAR(50) NOT NULL DEFAULT (''),
|
||||
Class02 NVARCHAR(50) NOT NULL DEFAULT (''),
|
||||
Class03 NVARCHAR(50) NOT NULL DEFAULT (''),
|
||||
Class04 NVARCHAR(50) NOT NULL DEFAULT (''),
|
||||
Class05 NVARCHAR(50) NOT NULL DEFAULT (''),
|
||||
TotQty DECIMAL(18, 6) NOT NULL DEFAULT ((1)),
|
||||
TotCost DECIMAL(18, 6) NOT NULL DEFAULT ((0)),
|
||||
Quota DECIMAL(18, 6) NOT NULL DEFAULT ((1)),
|
||||
C4UG AS ((TotCost*Quota)/TotQty),
|
||||
valid BIT NOT NULL DEFAULT ((1))
|
||||
)
|
||||
|
||||
-- ===================================
|
||||
-- INIZIO TRANSAZIONE
|
||||
-- ===================================
|
||||
SET XACT_ABORT ON;
|
||||
BEGIN TRAN
|
||||
|
||||
---------------------------------------
|
||||
-- svuotamento iniziale
|
||||
---------------------------------------
|
||||
|
||||
-- elimino quote PARAMETRI!
|
||||
DELETE FROM dbo.QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- elimino lavorazioni ESTERNE!
|
||||
DELETE FROM dbo.QuoteWorkExt
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- elimino lavorazioni INTERNE
|
||||
DELETE FROM dbo.QuoteWorkInt
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- elimino OtherCosts
|
||||
DELETE FROM dbo.QuoteOC
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- se ci sono eccezioni nella tab dell'anagrafico articoli imposto il codPlant desiderato
|
||||
SET @CodPlantFix = ISNULL ( ( SELECT id.CodPlant FROM dbo.ItemDet id
|
||||
INNER JOIN dbo.QuoteList ql ON id.CodItem = ql.CodItem
|
||||
WHERE ql.QuoteType = @QuoteType
|
||||
AND ql.CodQuote = @CodQuote
|
||||
AND ql.QuoteRev = @QuoteRev ), '' )
|
||||
|
||||
-- recupero da dati dell'offerta il valore del cliente
|
||||
SELECT @CodClient = CodClient
|
||||
FROM dbo.QuoteList
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- recupero dati!!
|
||||
SELECT TOP 1 @CodItem = ql.CodItem
|
||||
, @CodDiesGroup = tps.CodDiesGroup
|
||||
, @CodPlant = CASE WHEN @CodPlantFix <> '' THEN @CodPlantFix ELSE tps.CodPlant END
|
||||
, @HoleNum = tps.HoleNum
|
||||
, @KeyAM = ql.KeyAM
|
||||
, @KeyAMI = ql.KeyAM + '-' + ISNULL(@CodPlant,'0000')
|
||||
, @KeyAMIL = ql.KeyAM + '-' + ISNULL(@CodPlant,'0000') + '-' + CAST(ISNULL(tps.HoleNum,0) AS NVARCHAR(10))
|
||||
, @ProdTeo = tps.ProdTeo
|
||||
, @ScTec = tps.ScTec
|
||||
, @KgTeo = tps.KgTeo
|
||||
, @NumSMED = tps.NumSMED
|
||||
, @RawMat = ql.RawMat
|
||||
, @BatchQty = ql.BatchQty
|
||||
, @ItemDescr = i.ItemDescr
|
||||
, @CodifProfilo = i.Class01
|
||||
, @ClasseMerc = i.Class02
|
||||
, @CodClientAssoc = i.Class03
|
||||
|
||||
FROM dbo.QuoteList ql
|
||||
INNER JOIN dbo.TabProdSc tps ON ql.KeyAM = tps.KeyAM
|
||||
INNER JOIN dbo.ItemDet i ON ql.CodItem = i.CodItem
|
||||
WHERE ql.QuoteType = @QuoteType
|
||||
AND ql.CodQuote = @CodQuote
|
||||
AND ql.QuoteRev = @QuoteRev
|
||||
ORDER BY tps.KgTeo DESC
|
||||
|
||||
-- =================================================================================
|
||||
-- recupero dall'offerta il valore del PACKAGE/IMBALLO scelto e i dati relativi
|
||||
-- Secondo la logica Client-Item-Package ( vedi funzione )
|
||||
-- =================================================================================
|
||||
-- SET @CodPackag = ( SELECT dbo.f_getCodPackag( @CodItem , @CodClient ) )
|
||||
-- attenzione è una function tabellare
|
||||
SELECT @CodPackag = CodPackag, @PTotQta = TotQta, @PWeight = Weight, @PTare = Tare,
|
||||
@NumImb = NumImb, @PDurata = Durata, @PLiv = LivPackag , @PLivDett = LivPackagDet
|
||||
FROM f_getDataCodPackag ( @CodItem, @CodClient)
|
||||
|
||||
-- e aggiorno il CodPackage in QuoteRM
|
||||
UPDATE dbo.QuoteRM
|
||||
SET CodPackag = @CodPackag
|
||||
FROM dbo.QuoteRM
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
VALUES ( @QuoteType, @CodQuote, @QuoteRev, '01', 'ItemDescr', @ItemDescr )
|
||||
, ( @QuoteType, @CodQuote, @QuoteRev, '01', 'CodifProfilo', @CodifProfilo )
|
||||
, ( @QuoteType, @CodQuote, @QuoteRev, '01', 'ClasseMerc', @ClasseMerc )
|
||||
, ( @QuoteType, @CodQuote, @QuoteRev, '01', 'CodClientAssoc', @CodClientAssoc )
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'ClientNameAssoc', ClientDet.ClientName
|
||||
FROM dbo.ClientDet
|
||||
WHERE ClientDet.CodClient = @CodClientAssoc
|
||||
|
||||
-- INFORMAZIONI su MATRICE
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'CodDiesGroup', @CodDiesGroup )
|
||||
|
||||
SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 1)
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'TipoDies', @strTemp)
|
||||
|
||||
SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 2)
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'DiamDies', @strTemp)
|
||||
|
||||
SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 3)
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'HoleNumDies', @strTemp)
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'NumDiesInList', COUNT(CodDies)
|
||||
FROM dbo.DiesDet
|
||||
WHERE CodDiesGroup = @CodDiesGroup AND CodItem = @CodItem
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'NumDiesExaust', COUNT(CodDies)
|
||||
FROM dbo.DiesDet
|
||||
WHERE CodDiesGroup = @CodDiesGroup AND Active = 0
|
||||
|
||||
-- inserisco parametri calcolati x lavorazione estruzione
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
VALUES ( @QuoteType, @CodQuote, @QuoteRev, '01', 'CodPlant' , @CodPlant )
|
||||
,( @QuoteType, @CodQuote, @QuoteRev, '01', 'KeyAM' , @KeyAM )
|
||||
,( @QuoteType, @CodQuote, @QuoteRev, '01', 'KeyAMIL' , @KeyAMIL )
|
||||
,( @QuoteType, @CodQuote, @QuoteRev, '01', 'NumSMED' , CONVERT(NVARCHAR(100) , @NumSMED ) )
|
||||
,( @QuoteType, @CodQuote, @QuoteRev, '01', 'KgTeo' , CONVERT(NVARCHAR(100) , @KgTeo ) )
|
||||
|
||||
-- inserisco lavorazione estrusione!
|
||||
INSERT INTO #QuoteWorkInt (QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03, NetProd, WSR)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, @KeyAM, @KeyAMIL, @RawMat, @ProdTeo, @ScTec
|
||||
|
||||
INSERT INTO #QuoteParam (QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'KgProdotti', SUM(KgTeo)
|
||||
FROM dbo.QuoteList ql
|
||||
INNER JOIN dbo.TabProdSc tps ON ql.KeyAM = tps.KeyAM
|
||||
WHERE ql.QuoteType = @QuoteType
|
||||
AND ql.CodQuote = @CodQuote
|
||||
AND ql.QuoteRev = @QuoteRev
|
||||
|
||||
-- inserisco dati mancanti di MSR/CSR (scarto cesoia x estrusione) - DSR è NULLO x estrusione!
|
||||
UPDATE #QuoteWorkInt
|
||||
SET MSR = rmd.CSR
|
||||
FROM #QuoteWorkInt qwi
|
||||
INNER JOIN dbo.RawMatDet rmd ON qwi.Class03 = rmd.RawMat
|
||||
|
||||
-- calcolo i costi legati alla fase estrusione!
|
||||
UPDATE #QuoteWorkInt
|
||||
SET FC4UG = (cp.FC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd
|
||||
, VC4UG = (cp.VC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd
|
||||
, OH4UG = (cp.OH * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd
|
||||
, SC4UG = cp.SC / ql.BatchQty
|
||||
FROM #QuoteWorkInt qwi
|
||||
INNER JOIN dbo.Cost2Plant cp ON qwi.CodPlant = cp.CodPlant AND qwi.ProcessNum = cp.ProcessNum
|
||||
INNER JOIN dbo.QuoteList ql ON qwi.QuoteType = ql.QuoteType AND qwi.CodQuote = ql.CodQuote AND qwi.QuoteRev = ql.QuoteRev
|
||||
WHERE qwi.ProcessNum = '01'
|
||||
|
||||
-- inserisco lavorazione incestatura!
|
||||
INSERT INTO #QuoteWorkInt (QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '02', @CodPlant, @KeyAM, @KeyAMI, @RawMat
|
||||
|
||||
-- inserisco dati mancanti di DSR x incestatura come 1 - OUT/IN
|
||||
UPDATE #QuoteWorkInt
|
||||
SET DSR = 1 - CAST(td.TotOUT AS DECIMAL(18,6))/CAST(td.TotIN AS DECIMAL(18,6))
|
||||
FROM #QuoteWorkInt qwi
|
||||
INNER JOIN dbo.TabDifett td ON qwi.Class02 = td.KeyAMI AND qwi.ProcessNum = td.ProcessNum
|
||||
WHERE qwi.ProcessNum = '02' -- solo incestatura
|
||||
|
||||
-- inserisco lavorazione FORNO!
|
||||
INSERT INTO #QuoteWorkInt(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '03', @CodPlant, @KeyAM, @KeyAMI, @RawMat
|
||||
|
||||
-- inserisco lavorazione imballo!
|
||||
INSERT INTO #QuoteWorkInt(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03, Class04, Class05)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, @KeyAM, @KeyAMIL, @RawMat, @CodItem, @KeyAMI
|
||||
|
||||
UPDATE qwi
|
||||
SET NetProd = CASE @PDurata WHEN 0 THEN 0 ELSE @PTotQta / @PDurata END
|
||||
FROM #QuoteWorkInt AS qwi
|
||||
-- INNER JOIN dbo.TabImbArt ti ON qwi.Class04 = ti.KeyA
|
||||
WHERE qwi.ProcessNum = '04' -- solo imballo
|
||||
|
||||
-- parametro num imballatori
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'QuotaMan', @NumImb
|
||||
|
||||
-- parametro Livello search package/imballo
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'LivPackage', @PLiv
|
||||
|
||||
-- parametro Livello search package/imballo
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'LivPackageDett', @PLivDett
|
||||
|
||||
-- calcolo i costi legati alla fase di imballo!
|
||||
UPDATE #QuoteWorkInt
|
||||
SET FC4UG = ( ( cp.FC * cp.QuotaPlantStd ) * ( @NumImb / cp.QuotaManStd ) ) / qwi.NetProd
|
||||
, VC4UG = ( ( cp.VC * cp.QuotaPlantStd ) * ( @NumImb / cp.QuotaManStd ) ) / qwi.NetProd
|
||||
, OH4UG = ( ( cp.OH * cp.QuotaPlantStd ) * ( @NumImb / cp.QuotaManStd ) ) / qwi.NetProd
|
||||
, SC4UG = cp.SC / ql.BatchQty
|
||||
FROM #QuoteWorkInt qwi
|
||||
INNER JOIN dbo.Cost2Plant cp ON qwi.CodPlant = cp.CodPlant AND qwi.ProcessNum = cp.ProcessNum
|
||||
INNER JOIN dbo.QuoteList ql ON qwi.QuoteType = ql.QuoteType AND qwi.CodQuote = ql.CodQuote AND qwi.QuoteRev = ql.QuoteRev
|
||||
WHERE qwi.ProcessNum = '04' -- solo imballo
|
||||
|
||||
-- inserisco dati mancanti di DSR x imballo come 1 - OUT/IN
|
||||
UPDATE #QuoteWorkInt
|
||||
SET DSR = 1 - CAST(td.TotOUT AS DECIMAL(18,6))/CAST(td.TotIN AS DECIMAL(18,6))
|
||||
FROM #QuoteWorkInt qwi
|
||||
INNER JOIN dbo.TabDifett td ON qwi.Class05 = td.KeyAMI AND qwi.ProcessNum = td.ProcessNum
|
||||
WHERE qwi.ProcessNum = '04' -- solo imballo
|
||||
|
||||
-- recupero le MAC fase 01
|
||||
SELECT @MAC_SC = MCR
|
||||
,@MAC_ST = WCR
|
||||
FROM #QuoteWorkInt
|
||||
WHERE ProcessNum = '01'
|
||||
|
||||
-- recupero le MAC fase 02
|
||||
SELECT @MAC_IN = DCR
|
||||
FROM #QuoteWorkInt
|
||||
WHERE ProcessNum = '02'
|
||||
|
||||
-- recupero le MAC fase 04
|
||||
SELECT @MAC_IM = DCR
|
||||
FROM #QuoteWorkInt
|
||||
WHERE ProcessNum = '04'
|
||||
|
||||
-- calcolo percentuale vendita rottame
|
||||
SELECT @SSR = SSR
|
||||
FROM dbo.RawMatDet
|
||||
WHERE RawMat = @RawMat
|
||||
|
||||
|
||||
-- NOTA : la transazione posso probabilmente iniziarla qui visto che è il
|
||||
-- primo Update/insert/delete su tabelle non temporanee delete a parte
|
||||
|
||||
-- update rese RawMat!
|
||||
UPDATE dbo.QuoteRM
|
||||
SET FCR = @MAC_SC * @MAC_ST * @MAC_IN * @MAC_IM
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
AND RawMat = @RawMat
|
||||
|
||||
-- inserisco i costi delle utilities in QuoteOC
|
||||
|
||||
-- inserisco altri costi x lavorazione estrusione! GAS ed EE
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, CodUtil, @RawMat, @BatchQty, UnitCost * @BatchQty, 1
|
||||
FROM dbo.Utilities
|
||||
WHERE CodPlant = @CodPlant
|
||||
|
||||
|
||||
/*************************************************************
|
||||
* MATRICE
|
||||
*
|
||||
* calcolo prezzo e durata matrice con procedura a 5 step...
|
||||
* A) media ponderata prezzo ed ExpLife da DiesDet selezionando x CodItem + CodDiesGroup
|
||||
* B) EOLLife x media ponderata su DiesDet dove Active = 0 e vita cmq superiore 5000 KG ( escludendo rotture accidentali )
|
||||
* C) SE prezzo = 0 --> prendo prezzo da DiesGroupDet selezionando x CodDiesGroup
|
||||
* D) Se EOL = 0 --> prendo ExpLife della singola matrice, se è 0 --> prendo EOLLife da DiesGroupDet selezionando x CodDiesGroup
|
||||
* E) Calcolo Price / Life
|
||||
*
|
||||
*************************************************************/
|
||||
|
||||
-- (A) da DiesDet
|
||||
SELECT @DiesPrice = SUM(ISNULL(Price, 0) * ISNULL(ActLife, 1)) / SUM(ISNULL(ActLife, 1)),
|
||||
@DiesExpLife = SUM(ISNULL(ExpLife, 0) * ISNULL(ActLife, 1)) / SUM(ISNULL(ActLife, 1))
|
||||
FROM dbo.DiesDet
|
||||
WHERE CodItem = @CodItem
|
||||
AND CodDiesGroup = @CodDiesGroup
|
||||
GROUP BY CodItem, CodDiesGroup
|
||||
|
||||
-- (B) da DiesDet
|
||||
SELECT @DiesEOLife = AVG( ISNULL(ActLife, 0))
|
||||
FROM dbo.DiesDet
|
||||
WHERE CodItem = @CodItem
|
||||
AND CodDiesGroup = @CodDiesGroup
|
||||
AND Active = 0 -- solo matrici rottamate
|
||||
AND ActLife > 5000 -- solo se hanno Life > 5000 Kg ( non rotture accidentali )
|
||||
GROUP BY CodItem, CodDiesGroup
|
||||
|
||||
SET @DiesPrice = ISNULL(@DiesPrice,0)
|
||||
SET @DiesExpLife = ISNULL(@DiesExpLife,0)
|
||||
SET @DiesEOLife = ISNULL(@DiesEOLife,0)
|
||||
|
||||
-- (C) verifico se prezzo è OK...
|
||||
IF (@DiesPrice = 0)
|
||||
BEGIN
|
||||
-- calcolo da DiesGroupDet
|
||||
SELECT @DiesPrice = ISNULL(Price, 0)
|
||||
FROM dbo.DiesGroupDet
|
||||
WHERE CodDiesGroup = @CodDiesGroup
|
||||
END
|
||||
|
||||
-- (D) verifico se vita è OK...
|
||||
IF (@DiesEOLife = 0)
|
||||
BEGIN
|
||||
-- uso exp life articolo...
|
||||
SET @DiesEOLife = @DiesExpLife
|
||||
END
|
||||
-- controllo che non sia nulla/vuota la durata...
|
||||
IF (@DiesEOLife = 0)
|
||||
BEGIN
|
||||
SELECT @DiesEOLife = CASE WHEN EOLLife > 0 THEN EOLLife ELSE ExpLife END
|
||||
FROM DiesGroupDet
|
||||
WHERE CodDiesGroup = @CodDiesGroup
|
||||
END
|
||||
|
||||
-- controllo che non sia nulla/vuota la durata...
|
||||
IF ( @DiesEOLife > 0)
|
||||
BEGIN
|
||||
-- (E) Calcolo price/life!
|
||||
SET @DiesPriceLife = @DiesPrice / @DiesEOLife
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SET @DiesPriceLife = 0 -- metto a zero il DiesPriceLife
|
||||
SET @valid = 0 -- indico che valore non è valido ( ND excel )
|
||||
END
|
||||
|
||||
-- inserisco costi per Matrice: costo e durata da matrice, se non ci sono da gruppo, (anche solo uno dei due, ovviamente più facile trovare durata x matrice...)
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota, valid)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, 'MATRICE', @RawMat, @BatchQty, @DiesPriceLife * @BatchQty, 1, @valid
|
||||
|
||||
-- inserisco parametri calcolati x matrice
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
VALUES ( @QuoteType, @CodQuote, @QuoteRev, '01', 'DiesPrice', CONVERT(NVARCHAR(100), @DiesPrice) )
|
||||
,( @QuoteType, @CodQuote, @QuoteRev, '01', 'DiesExpLife', CONVERT(NVARCHAR(100), @DiesExpLife) )
|
||||
,( @QuoteType, @CodQuote, @QuoteRev, '01', 'DiesEOLife', CONVERT(NVARCHAR(100), @DiesEOLife) )
|
||||
|
||||
/*************************************************************
|
||||
* VENDITA ROTTAME
|
||||
*
|
||||
* calcolo COSTO DI VENDITA PER LE 2 FASI ESTRUSIONE 01 ED IMBALLO 04
|
||||
* - calcolo costi variabili fase 01 / 04
|
||||
* - calcolo costo di vendita x fase 01 / 04
|
||||
*************************************************************/
|
||||
|
||||
SELECT @OCF01 = SUM(ISNULL(C4UG,0))
|
||||
FROM #QuoteOC
|
||||
|
||||
SELECT @VCF01 = @OCF01 + VC4UG
|
||||
FROM #QuoteWorkInt
|
||||
WHERE ProcessNum = '01'
|
||||
|
||||
SELECT @VCF04 = @OCF01 + SUM(VC4UG)
|
||||
FROM #QuoteWorkInt
|
||||
|
||||
SELECT @SellCostF01 = ((@MAC_ST * @MAC_SC * @MAC_IN) - 1) * (q.RawMatCost + q.RawMatExtraCost - CASE WHEN SSVA > 0 THEN SSVA ELSE q.RawMatCost * SSVR END + @VCF01) -- ((prodotto delle MAC = inverso del prodotto delle rese) - 1) * (costo Al - prezzo rivendita + costi var fase 01)
|
||||
, @RefCostF01 = -- ( (A - B) / 100 - C )
|
||||
(
|
||||
-- (A) = (costo pieno di acquisto + costi fase 1) * MAC * 100 (IN CENTESIMI)
|
||||
((q.RawMatCost + q.RawMatExtraCost + @VCF01) * (@MAC_ST * @MAC_SC * @MAC_IN * 100))
|
||||
-- (B) = ((MAC * 100) - 100) * Resa di fonderia * (costo pieno acquisto - costo di trasformazione))
|
||||
- ((@MAC_ST * @MAC_SC * @MAC_IN * 100) - 100) * rmd.ProcYield * (q.RawMatCost + q.RawMatExtraCost + @VCF01 - rmd.ProcCost)
|
||||
) / 100 -- divido per 100 finale
|
||||
-- (C) = sottraggo costo pieno alluminio
|
||||
- (q.RawMatCost + q.RawMatExtraCost + @VCF01)
|
||||
FROM dbo.RawMatDet rmd
|
||||
INNER JOIN dbo.QuoteRM q ON q.RawMat = rmd.RawMat
|
||||
WHERE q.QuoteType = @QuoteType
|
||||
AND q.CodQuote = @CodQuote
|
||||
AND q.QuoteRev = @QuoteRev
|
||||
AND q.RawMat = @RawMat
|
||||
|
||||
SELECT @SellCostF04 = ((@MAC_IM) - 1) * (q.RawMatCost + q.RawMatExtraCost - CASE WHEN SSVA > 0 THEN SSVA ELSE q.RawMatCost * SSVR END + @VCF01 + @VCF04) -- ((prodotto delle MAC = inverso del prodotto delle rese) - 1) * (costo Al - prezzo rivendita + costi var fase 04)
|
||||
, @RefCostF04 = -- ( (A - B) / 100 - C )
|
||||
(
|
||||
-- (A) = (costo pieno di acquisto + costi variabili fase 1 e 4) * MAC * 100 (IN CENTESIMI)
|
||||
((q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04) * (@MAC_IM * 100))
|
||||
-- (B) = ((MAC * 100) - 100) * Resa di fonderia * (costo pieno acquisto - costo di trasformazione))
|
||||
- ((@MAC_IM * 100) - 100) * rmd.ProcYield * (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04 - rmd.ProcCost)
|
||||
) / 100 -- divido per 100 finale
|
||||
-- (C) = sottraggo costo pieno alluminio
|
||||
- (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04)
|
||||
|
||||
-- NOTA: usiamo (q.RawMatCost + q.RawMatExtraCost + @VCF01) e non (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @RefCostF01) perché la differenza è minimale, si tratta di 10/20 PPM...
|
||||
|
||||
FROM dbo.RawMatDet rmd
|
||||
INNER JOIN dbo.QuoteRM q ON q.RawMat = rmd.RawMat
|
||||
WHERE q.QuoteType = @QuoteType
|
||||
AND q.CodQuote = @CodQuote
|
||||
AND q.QuoteRev = @QuoteRev
|
||||
AND q.RawMat = @RawMat
|
||||
|
||||
-- inserisco costi per VENDITA
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
VALUES ( @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, 'VENDITA', @RawMat, @BatchQty, @SellCostF01 * @BatchQty, @SSR )
|
||||
-- inserisco costi per ROTTAME
|
||||
,( @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, 'ROTTAME', @RawMat, @BatchQty, @RefCostF01 * @BatchQty, 1 - @SSR )
|
||||
-- inserisco costi per VENDITA
|
||||
,( @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'VENDITA', @RawMat, @BatchQty, @SellCostF04 * @BatchQty, @SSR )
|
||||
-- inserisco costi per ROTTAME
|
||||
,( @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'ROTTAME', @RawMat, @BatchQty, @RefCostF04 * @BatchQty, 1 - @SSR )
|
||||
|
||||
-- calcolo Package Cost e RMWeight da tab PackageDet
|
||||
-- EXEC stp_packageCost @CodItem, @CodClient, @CodPackag, @PDesc=@PkgDesc OUTPUT, @RMWeight=@PRMWeight OUTPUT, @Weight=@PWeight OUTPUT, @Tare=@PTare OUTPUT, @PackCost=@PCost OUTPUT, @TareStRat=@PTareStRatio OUTPUT
|
||||
-- stored sostituita perchè la maggior parte dei calcoli li ho già fatti
|
||||
SELECT @PCost = RMCost / @PWeight
|
||||
, @PRMWeight = RMWeight
|
||||
, @PkgDesc = PackagDesc
|
||||
, @PTareStRatio = ( RMWeight - @PTare) / @PWeight
|
||||
FROM dbo.PackagDet
|
||||
WHERE CodPackag = @CodPackag
|
||||
|
||||
-- inserisco costi per IMBALLO
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'IMBALLO', @RawMat, @BatchQty, @PCost * @BatchQty, 1
|
||||
|
||||
-- inserisco parametri calcolati x imballaggio
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
VALUES ( @QuoteType, @CodQuote, @QuoteRev, '04', 'PkgDesc', @PkgDesc )
|
||||
,( @QuoteType, @CodQuote, @QuoteRev, '04', 'PRMWeight', CONVERT(NVARCHAR(100), @PRMWeight ) )
|
||||
,( @QuoteType, @CodQuote, @QuoteRev, '04', 'PWeight', CONVERT(NVARCHAR(100), @PWeight ) )
|
||||
,( @QuoteType, @CodQuote, @QuoteRev, '04', 'PTare', CONVERT(NVARCHAR(100), @PTare) )
|
||||
,( @QuoteType, @CodQuote, @QuoteRev, '04', 'TareStRatio', CONVERT(NVARCHAR(100), @PTareStRatio ) )
|
||||
|
||||
|
||||
---------------------------------------------
|
||||
-- inserisco costi per TRASPORTI
|
||||
---------------------------------------------
|
||||
-- recupero zona da cliente...
|
||||
SELECT @TranspZone = TranspZone
|
||||
FROM dbo.ClientDet
|
||||
WHERE CodClient = @CodClient
|
||||
|
||||
-- recupero tipo di trasporto
|
||||
SELECT @HasTC = ISNULL(i.HasTC, 0)
|
||||
FROM dbo.QuoteList q INNER JOIN Incoterms i ON q.CodInco = i.CodInco
|
||||
WHERE q.QuoteType = @QuoteType
|
||||
AND q.CodQuote = @CodQuote
|
||||
AND q.QuoteRev = @QuoteRev
|
||||
|
||||
-- recupero costi trasporto
|
||||
SELECT @TranspCost = TranspCost
|
||||
FROM dbo.TranspCostDet
|
||||
WHERE TranspZone = @TranspZone
|
||||
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'TRASPORTI', @RawMat, @BatchQty, @HasTC * @TranspCost * @BatchQty, 1
|
||||
|
||||
|
||||
---------------------------------------------
|
||||
-- inserisco costi per PROVVIGIONI
|
||||
---------------------------------------------
|
||||
SELECT @Provvig = ISNULL(a.QuotaProvvAg, 0)
|
||||
FROM dbo.AgentsDet a
|
||||
INNER JOIN ClientDet c ON a.CodAg = c.CodAg
|
||||
INNER JOIN QuoteList q ON q.CodClient = c.CodClient
|
||||
WHERE q.QuoteType = @QuoteType
|
||||
AND q.CodQuote = @CodQuote
|
||||
AND q.QuoteRev = @QuoteRev
|
||||
|
||||
-- inserisco costi per PROVVIGIONI
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'PROVVIGIONI', @RawMat, @BatchQty, @Provvig * @BatchQty, 1
|
||||
|
||||
/* ==================================================
|
||||
CARICO TABELLE EFFETTIVE
|
||||
==================================================*/
|
||||
|
||||
-- carico quote parametri!
|
||||
INSERT dbo.QuoteParam
|
||||
SELECT * FROM #QuoteParam
|
||||
|
||||
-- carico lavorazioni INTERNE!
|
||||
INSERT dbo.QuoteWorkInt -- ci sono valori calcolati quindi devo selezionare i campi
|
||||
SELECT QuoteType, CodQuote, QuoteRev, NumWI, ProcessNum, CodPlant, Class01, Class02, Class03, Class04, Class05
|
||||
, NetProd, WSR, MSR, DSR, FC4UG, VC4UG, OH4UG, SC4UG, valid
|
||||
FROM #QuoteWorkInt
|
||||
|
||||
-- carico OTHERCOSTS
|
||||
INSERT dbo.QuoteOC -- ci sono valori calcolati quindi devo selezionare i campi
|
||||
SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, Class03, Class04
|
||||
, Class05, TotQty, TotCost, Quota, valid
|
||||
FROM #QuoteOC
|
||||
|
||||
COMMIT TRAN;
|
||||
|
||||
--SELECT * FROM #QuoteParam
|
||||
--SELECT * FROM #QuoteWorkInt
|
||||
--SELECT * FROM #QuoteOC
|
||||
|
||||
-- elimino temp table...
|
||||
IF OBJECT_ID('tempdb..#QuoteParam') IS NOT NULL
|
||||
DROP TABLE #QuoteParam
|
||||
IF OBJECT_ID('tempdb..#QuoteWorkInt') IS NOT NULL
|
||||
DROP TABLE #QuoteWorkInt
|
||||
IF OBJECT_ID('tempdb..#QuoteOC') IS NOT NULL
|
||||
DROP TABLE #QuoteOC
|
||||
|
||||
END
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,747 @@
|
||||
|
||||
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: Steamware
|
||||
-- Create date: 2014.01.22
|
||||
-- Description: aggiorna le tabelle QuoteList con i dati selezionati dalla TabProdSc
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[stp_QL_update_07_02]
|
||||
(
|
||||
@QuoteType CHAR(1) = 'Q',
|
||||
@CodQuote BIGINT = 0,
|
||||
@QuoteRev INT = 0
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- dichiaro valori da recuperare
|
||||
DECLARE @strTemp NVARCHAR(50) = '' --stringa temporanea x variabili "locali"
|
||||
|
||||
DECLARE @valid BIT
|
||||
DECLARE @CodDiesGroup NVARCHAR(50)
|
||||
DECLARE @CodPlant NVARCHAR(50)
|
||||
DECLARE @CodPlantFix NVARCHAR(50) = ''
|
||||
DECLARE @HoleNum INT
|
||||
-- ITEM
|
||||
DECLARE @CodItem NVARCHAR(50) = '' --cod item
|
||||
DECLARE @ItemDescr NVARCHAR(50) = '' -- descrizione item
|
||||
DECLARE @CodifProfilo NVARCHAR(50) = '' -- Cod. Profilo
|
||||
DECLARE @ClasseMerc NVARCHAR(50) = ''
|
||||
DECLARE @CodClientAssoc NVARCHAR(50) = ''
|
||||
|
||||
DECLARE @KeyAM NVARCHAR(50) = ''
|
||||
DECLARE @KeyAMI NVARCHAR(50) = ''
|
||||
DECLARE @KeyAMIL NVARCHAR(50) = ''
|
||||
DECLARE @NumSMED INT = 0 -- numero cambi
|
||||
DECLARE @KgTeo DECIMAL(18, 6) = 0 -- kg totali
|
||||
DECLARE @RawMat NVARCHAR(50)
|
||||
DECLARE @ProdTeo DECIMAL(18,6)
|
||||
DECLARE @ScTec DECIMAL(18,6)
|
||||
DECLARE @BatchQty INT
|
||||
DECLARE @MAC_SC DECIMAL(18,6) -- Messa a cento scarto cesoia
|
||||
DECLARE @MAC_ST DECIMAL(18,6) -- Messa a cento scarto tecnico
|
||||
DECLARE @MAC_IN DECIMAL(18,6) -- Messa a cento difettosità all'incestatura
|
||||
DECLARE @MAC_IM DECIMAL(18,6) -- Messa a cento difettosità all'imballo
|
||||
DECLARE @SSR DECIMAL(9,6) -- percentuale vendita rottame
|
||||
DECLARE @DiesPrice DECIMAL(9,3) -- prezzo matrice
|
||||
DECLARE @DiesEOLife DECIMAL(9,2) -- durata matrice
|
||||
DECLARE @DiesExpLife DECIMAL(9,2) -- durata matrice
|
||||
DECLARE @DiesPriceLife DECIMAL(18,6) -- Price/Life matrice
|
||||
DECLARE @OCF01 DECIMAL(18,6) = 0 -- altri costi di fase 01
|
||||
DECLARE @VCF01 DECIMAL(18,6) = 0 -- costi variabili di fase 01
|
||||
DECLARE @VCF04 DECIMAL(18,6) = 0 -- costi variabili di fase 04
|
||||
DECLARE @SellCostF01 DECIMAL(18,6) = 0 -- costo vendita fase 01
|
||||
DECLARE @SellCostF04 DECIMAL(18,6) = 0 -- costo vendita fase 04
|
||||
DECLARE @RefCostF01 DECIMAL(18,6) = 0 -- costo rifusione fase 01
|
||||
DECLARE @RefCostF04 DECIMAL(18,6) = 0 -- costo rifusione fase 04
|
||||
-- IMBALLO
|
||||
DECLARE @CodPackag NVARCHAR(50) = '0' -- codice dell'imballo
|
||||
DECLARE @CodClient NVARCHAR(50) = '' -- codice cliente
|
||||
DECLARE @NumImb DECIMAL(9,6) = 0 -- num imballatori
|
||||
DECLARE @PkgDesc NVARCHAR(50) = '' -- descrizione imballo
|
||||
DECLARE @PRMWeight DECIMAL(9,4) = 0 -- peso dell'imballo
|
||||
DECLARE @PWeight DECIMAL(9,4) = 0 -- peso del pacco
|
||||
DECLARE @PTare DECIMAL(9,4) = 0 -- media delal tara di imballo dichiarata
|
||||
DECLARE @PCost DECIMAL(9,6) = 0 -- costo unitario dell'imballo (al kg)
|
||||
DECLARE @PTareStRatio DECIMAL(9,4) = 0 -- coefficiente di recupero tara/prodotto
|
||||
DECLARE @PTotQta DECIMAL(18,3) = 0 -- Qta Kg Tot Imballati
|
||||
DECLARE @PDurata DECIMAL(18,6) = 0 -- Tempo d'imballaggio
|
||||
DECLARE @PLiv NVARCHAR(50) = '' -- Livello Search dati Imballo
|
||||
DECLARE @PLivDett NVARCHAR(50) = '' -- Key Livello Search Dati Imballo
|
||||
-- TRASPORTI
|
||||
DECLARE @TranspZone NVARCHAR(50) = '' -- codice ZONA
|
||||
DECLARE @TranspCost DECIMAL(9,6) -- costo di trasporto
|
||||
DECLARE @HasTC INT
|
||||
|
||||
-- PROVVIGIONI
|
||||
DECLARE @Provvig DECIMAL(9,6) -- provvigione agente
|
||||
|
||||
-- default: validità è true!
|
||||
SET @valid = 1
|
||||
|
||||
-- =================================================
|
||||
-- CREAZIONE TEMP TABLE
|
||||
-- =================================================
|
||||
|
||||
-- elimino e ricreo #QuoteParam temp table...
|
||||
IF OBJECT_ID('tempdb..#QuoteParam') IS NOT NULL
|
||||
DROP TABLE #QuoteParam
|
||||
|
||||
CREATE TABLE #QuoteParam
|
||||
(
|
||||
[QuoteType] [char](1) NOT NULL,
|
||||
[CodQuote] [bigint] NOT NULL,
|
||||
[QuoteRev] [int] NOT NULL,
|
||||
[NumP] [int] IDENTITY(1,1) NOT NULL,
|
||||
[ProcessNum] [nvarchar](50) NOT NULL,
|
||||
[Descr] [nvarchar](50) NOT NULL,
|
||||
[Parameter] [nvarchar](100) NOT NULL,
|
||||
--PRIMARY KEY
|
||||
-- ( [NumP] ASC, [QuoteType] ASC, [CodQuote] ASC, [QuoteRev] ASC ) WITH (PAD_INDEX = ON, FILLFACTOR = 90 )
|
||||
)
|
||||
|
||||
-- elimino e ricreo #QuoteParam temp table...
|
||||
IF OBJECT_ID('tempdb..#QuoteWorkInt') IS NOT NULL
|
||||
DROP TABLE #QuoteWorkInt
|
||||
|
||||
CREATE TABLE #QuoteWorkInt
|
||||
(
|
||||
[QuoteType] [char](1) NOT NULL,
|
||||
[CodQuote] [bigint] NOT NULL,
|
||||
[QuoteRev] [int] NOT NULL,
|
||||
[NumWI] [int] IDENTITY(1,1) NOT NULL,
|
||||
[ProcessNum] [nvarchar](50) NOT NULL,
|
||||
[CodPlant] [nvarchar](50) NOT NULL,
|
||||
[Class01] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[Class02] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[Class03] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[Class04] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[Class05] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[NetProd] [decimal](9, 3) NOT NULL DEFAULT ((0)),
|
||||
[WSR] [decimal](9, 8) NOT NULL DEFAULT ((0)),
|
||||
[MSR] [decimal](9, 8) NOT NULL DEFAULT ((0)),
|
||||
[DSR] [decimal](9, 8) NOT NULL DEFAULT ((0)),
|
||||
[FC4UG] [decimal](9, 6) NOT NULL DEFAULT ((0)),
|
||||
[VC4UG] [decimal](9, 6) NOT NULL DEFAULT ((0)),
|
||||
[OH4UG] [decimal](9, 6) NOT NULL DEFAULT ((0)),
|
||||
[SC4UG] [decimal](9, 6) NOT NULL DEFAULT ((0)),
|
||||
[WYR] AS ((1)-[WSR]),
|
||||
[MYR] AS ((1)-[MSR]),
|
||||
[DYR] AS ((1)-[DSR]),
|
||||
[WCR] AS ((1)/((1)-[WSR])),
|
||||
[MCR] AS ((1)/((1)-[MSR])),
|
||||
[DCR] AS ((1)/((1)-[DSR])),
|
||||
[valid] [bit] NOT NULL DEFAULT((1)),
|
||||
)
|
||||
|
||||
-- elimino e ricreo #QuoteParam temp table...
|
||||
IF OBJECT_ID('tempdb..#QuoteOC') IS NOT NULL
|
||||
DROP TABLE #QuoteOC
|
||||
|
||||
CREATE TABLE #QuoteOC
|
||||
(
|
||||
[QuoteType] [char](1) NOT NULL,
|
||||
[CodQuote] [bigint] NOT NULL,
|
||||
[QuoteRev] [int] NOT NULL,
|
||||
[NumEx] [int] IDENTITY(1,1) NOT NULL,
|
||||
[ProcessNum] [nvarchar](50) NOT NULL,
|
||||
[CodPlant] [nvarchar](50) NOT NULL,
|
||||
[Class01] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[Class02] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[Class03] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[Class04] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[Class05] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[TotQty] [decimal](18, 6) NOT NULL DEFAULT ((1)),
|
||||
[TotCost] [decimal](18, 6) NOT NULL DEFAULT ((0)),
|
||||
[Quota] [decimal](18, 6) NOT NULL DEFAULT ((1)),
|
||||
[C4UG] AS (([TotCost]*[Quota])/[TotQty]),
|
||||
[valid] [bit] NOT NULL DEFAULT ((1))
|
||||
)
|
||||
|
||||
-- ===================================
|
||||
-- INIZIO TRANSAZIONE
|
||||
-- ===================================
|
||||
SET XACT_ABORT ON;
|
||||
BEGIN TRAN
|
||||
|
||||
---------------------------------------
|
||||
-- svuotamento iniziale
|
||||
---------------------------------------
|
||||
|
||||
-- elimino quote PARAMETRI!
|
||||
DELETE FROM dbo.QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- elimino lavorazioni ESTERNE!
|
||||
DELETE FROM dbo.QuoteWorkExt
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- elimino lavorazioni INTERNE
|
||||
DELETE FROM dbo.QuoteWorkInt
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- elimino OtherCosts
|
||||
DELETE FROM dbo.QuoteOC
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- se ci sono eccezioni nella tab dell'anagrafico articoli imposto il codPlant desiderato
|
||||
SET @CodPlantFix = ISNULL ( ( SELECT id.CodPlant FROM dbo.ItemDet id
|
||||
INNER JOIN dbo.QuoteList ql ON id.CodItem = ql.CodItem
|
||||
WHERE ql.QuoteType = @QuoteType
|
||||
AND ql.CodQuote = @CodQuote
|
||||
AND ql.QuoteRev = @QuoteRev ), '' )
|
||||
|
||||
-- recupero da dati dell'offerta il valore del cliente
|
||||
SELECT @CodClient = CodClient
|
||||
FROM dbo.QuoteList
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- recupero dati!!
|
||||
SELECT TOP 1 @CodItem = ql.CodItem
|
||||
, @CodDiesGroup = tps.CodDiesGroup
|
||||
, @CodPlant = CASE WHEN @CodPlantFix <> '' THEN @CodPlantFix ELSE tps.CodPlant END
|
||||
, @HoleNum = tps.HoleNum
|
||||
, @KeyAM = ql.KeyAM
|
||||
, @KeyAMI = ql.KeyAM + '-' + ISNULL(@CodPlant,'0000')
|
||||
, @KeyAMIL = ql.KeyAM + '-' + ISNULL(@CodPlant,'0000') + '-' + CAST(ISNULL(tps.HoleNum,0) AS NVARCHAR(10))
|
||||
, @ProdTeo = tps.ProdTeo
|
||||
, @ScTec = tps.ScTec
|
||||
, @KgTeo = tps.KgTeo
|
||||
, @NumSMED = tps.NumSMED
|
||||
, @RawMat = ql.RawMat
|
||||
, @BatchQty = ql.BatchQty
|
||||
, @ItemDescr = i.ItemDescr
|
||||
, @CodifProfilo = i.Class01
|
||||
, @ClasseMerc = i.Class02
|
||||
, @CodClientAssoc = i.Class03
|
||||
|
||||
FROM dbo.QuoteList ql
|
||||
INNER JOIN dbo.TabProdSc tps ON ql.KeyAM = tps.KeyAM
|
||||
INNER JOIN dbo.ItemDet i ON ql.CodItem = i.CodItem
|
||||
WHERE ql.QuoteType = @QuoteType
|
||||
AND ql.CodQuote = @CodQuote
|
||||
AND ql.QuoteRev = @QuoteRev
|
||||
ORDER BY tps.KgTeo DESC
|
||||
|
||||
-- =================================================================================
|
||||
-- recupero dall'offerta il valore del PACKAGE/IMBALLO scelto e i dati relativi
|
||||
-- Secondo la logica Client-Item-Package ( vedi funzione )
|
||||
-- =================================================================================
|
||||
-- SET @CodPackag = ( SELECT dbo.f_getCodPackag( @CodItem , @CodClient ) )
|
||||
-- attenzione è una function tabellare
|
||||
SELECT @CodPackag = CodPackag, @PTotQta = TotQta, @PWeight = [Weight], @PTare = Tare,
|
||||
@NumImb = NumImb, @PDurata = Durata, @PLiv = LivPackag , @PLivDett = LivPackagDet
|
||||
FROM f_getDataCodPackag ( @CodItem, @CodClient)
|
||||
|
||||
-- e aggiorno il CodPackage in QuoteRM
|
||||
UPDATE dbo.QuoteRM
|
||||
SET CodPackag = @CodPackag
|
||||
FROM dbo.QuoteRM
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'ItemDescr', @ItemDescr)
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'CodifProfilo', @CodifProfilo
|
||||
--FROM dbo.ItemDet
|
||||
--WHERE CodItem = @CodItem
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'ClasseMerc', @ClasseMerc
|
||||
--FROM dbo.ItemDet
|
||||
--WHERE CodItem = @CodItem
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'CodClientAssoc', @CodClientAssoc
|
||||
--FROM dbo.ItemDet
|
||||
--WHERE CodItem = @CodItem
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'ClientNameAssoc', ClientDet.ClientName
|
||||
FROM dbo.ClientDet WHERE ClientDet.CodClient = @CodClientAssoc
|
||||
--FROM dbo.ItemDet
|
||||
--INNER JOIN dbo.ClientDet ON ItemDet.Class03 = ClientDet.CodClient
|
||||
--WHERE CodItem = @CodItem
|
||||
|
||||
-- INFORMAZIONI su MATRICE
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'CodDiesGroup', @CodDiesGroup )
|
||||
|
||||
SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 1)
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'TipoDies', @strTemp)
|
||||
|
||||
SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 2)
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'DiamDies', @strTemp)
|
||||
|
||||
SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 3)
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'HoleNumDies', @strTemp)
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'NumDiesInList', COUNT(CodDies)
|
||||
FROM dbo.DiesDet
|
||||
WHERE CodDiesGroup = @CodDiesGroup AND CodItem = @CodItem
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'NumDiesExaust', COUNT(CodDies)
|
||||
FROM dbo.DiesDet
|
||||
WHERE CodDiesGroup = @CodDiesGroup AND Active = 0
|
||||
|
||||
-- inserisco parametri calcolati x lavorazione estruzione
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
VALUES ( @QuoteType, @CodQuote, @QuoteRev, '01', 'CodPlant' , @CodPlant )
|
||||
,( @QuoteType, @CodQuote, @QuoteRev, '01', 'KeyAM' , @KeyAM )
|
||||
,( @QuoteType, @CodQuote, @QuoteRev, '01', 'KeyAMIL' , @KeyAMIL )
|
||||
,( @QuoteType, @CodQuote, @QuoteRev, '01', 'NumSMED' , CONVERT(NVARCHAR(50) , @NumSMED ) )
|
||||
,( @QuoteType, @CodQuote, @QuoteRev, '01', 'KgTeo' , CONVERT(NVARCHAR(50) , @KgTeo ) )
|
||||
|
||||
--INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
--SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'KeyAM', @KeyAM
|
||||
--INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
--SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'KeyAMIL', @KeyAMIL
|
||||
--INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
--SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'NumSMED', @NumSMED
|
||||
--INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
--SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'KgTeo', @KgTeo
|
||||
|
||||
-- inserisco lavorazione estrusione!
|
||||
INSERT INTO #QuoteWorkInt (QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03, NetProd, WSR)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, @KeyAM, @KeyAMIL, @RawMat, @ProdTeo, @ScTec
|
||||
|
||||
INSERT INTO #QuoteParam (QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'KgProdotti', SUM(KgTeo)
|
||||
FROM dbo.QuoteList ql
|
||||
INNER JOIN dbo.TabProdSc tps ON ql.KeyAM = tps.KeyAM
|
||||
WHERE ql.QuoteType = @QuoteType
|
||||
AND ql.CodQuote = @CodQuote
|
||||
AND ql.QuoteRev = @QuoteRev
|
||||
|
||||
-- inserisco dati mancanti di MSR/CSR (scarto cesoia x estrusione) - DSR è NULLO x estrusione!
|
||||
UPDATE #QuoteWorkInt
|
||||
SET MSR = rmd.CSR
|
||||
FROM #QuoteWorkInt qwi
|
||||
INNER JOIN dbo.RawMatDet rmd ON qwi.Class03 = rmd.RawMat
|
||||
|
||||
-- calcolo i costi legati alla fase estrusione!
|
||||
UPDATE #QuoteWorkInt
|
||||
SET FC4UG = (cp.FC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd
|
||||
, VC4UG = (cp.VC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd
|
||||
, OH4UG = (cp.OH * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd
|
||||
, SC4UG = cp.SC / ql.BatchQty
|
||||
FROM #QuoteWorkInt qwi
|
||||
INNER JOIN dbo.Cost2Plant cp ON qwi.CodPlant = cp.CodPlant AND qwi.ProcessNum = cp.ProcessNum
|
||||
INNER JOIN dbo.QuoteList ql ON qwi.QuoteType = ql.QuoteType AND qwi.CodQuote = ql.CodQuote AND qwi.QuoteRev = ql.QuoteRev
|
||||
WHERE qwi.ProcessNum = '01'
|
||||
|
||||
-- inserisco lavorazione incestatura!
|
||||
INSERT INTO #QuoteWorkInt (QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '02', @CodPlant, @KeyAM, @KeyAMI, @RawMat
|
||||
|
||||
-- inserisco dati mancanti di DSR x incestatura come 1 - OUT/IN
|
||||
UPDATE #QuoteWorkInt
|
||||
SET DSR = 1 - CAST(td.TotOUT AS DECIMAL(18,6))/CAST(td.TotIN AS DECIMAL(18,6))
|
||||
FROM #QuoteWorkInt qwi
|
||||
INNER JOIN dbo.TabDifett td ON qwi.Class02 = td.KeyAMI AND qwi.ProcessNum = td.ProcessNum
|
||||
WHERE qwi.ProcessNum = '02' -- solo incestatura
|
||||
|
||||
-- inserisco lavorazione FORNO!
|
||||
INSERT INTO #QuoteWorkInt(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '03', @CodPlant, @KeyAM, @KeyAMI, @RawMat
|
||||
|
||||
-- inserisco lavorazione imballo!
|
||||
INSERT INTO #QuoteWorkInt(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03, Class04, Class05)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, @KeyAM, @KeyAMIL, @RawMat, @CodItem, @KeyAMI
|
||||
|
||||
-- calcolo produttività netta nella fase imballo
|
||||
-- UPDATE qwi
|
||||
-- SET NetProd = CASE ti.Durata WHEN 0 THEN 0 ELSE ti.TotOut / ti.Durata END
|
||||
-- FROM #QuoteWorkInt qwi
|
||||
-- INNER JOIN dbo.TabImbArt ti ON qwi.Class04 = ti.KeyA
|
||||
-- WHERE qwi.ProcessNum = '04' -- solo imballo
|
||||
|
||||
UPDATE qwi
|
||||
SET NetProd = CASE @PDurata WHEN 0 THEN 0 ELSE @PTotQta / @PDurata END
|
||||
FROM #QuoteWorkInt AS qwi
|
||||
-- INNER JOIN dbo.TabImbArt ti ON qwi.Class04 = ti.KeyA
|
||||
WHERE qwi.ProcessNum = '04' -- solo imballo
|
||||
|
||||
-- ADESSO LO FACCIO GIA' NELLA FUNZIONE DI RECUPERO DATI PACKAGE f_getDataCodPackag
|
||||
---- Se Produttività netta ancora = 0 la leggo nella tabella Gruppo Imballo ( Packaging )
|
||||
--IF ( SELECT NetProd FROM #QuoteWorkInt WHERE ProcessNum = '04' ) = 0
|
||||
-- BEGIN
|
||||
-- UPDATE qwi
|
||||
-- SET NetProd = CASE ti.Durata WHEN 0 THEN 0 ELSE ti.TotOut / ti.Durata END
|
||||
-- FROM #QuoteWorkInt qwi
|
||||
-- INNER JOIN dbo.TabImbGrp ti ON ti.CodPackag = @CodPackag -- packag generico dell' offerta
|
||||
-- WHERE qwi.ProcessNum = '04' -- solo imballo
|
||||
-- END
|
||||
|
||||
-- salvo numero imballatori
|
||||
--SELECT @NumImb = ISNULL(NumImb,0)
|
||||
--FROM dbo.TabImbArt
|
||||
--WHERE KeyA = @CodItem
|
||||
|
||||
-- parametro num imballatori
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'QuotaMan', @NumImb
|
||||
|
||||
-- parametro Livello search package/imballo
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'LivPackage', @PLiv
|
||||
|
||||
-- parametro Livello search package/imballo
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'LivPackageDett', @PLivDett
|
||||
|
||||
-- calcolo i costi legati alla fase di imballo!
|
||||
UPDATE #QuoteWorkInt
|
||||
SET FC4UG = ( ( cp.FC * cp.QuotaPlantStd ) * ( @NumImb / cp.QuotaManStd ) ) / qwi.NetProd
|
||||
, VC4UG = ( ( cp.VC * cp.QuotaPlantStd ) * ( @NumImb / cp.QuotaManStd ) ) / qwi.NetProd
|
||||
, OH4UG = ( ( cp.OH * cp.QuotaPlantStd ) * ( @NumImb / cp.QuotaManStd ) ) / qwi.NetProd
|
||||
, SC4UG = cp.SC / ql.BatchQty
|
||||
FROM #QuoteWorkInt qwi
|
||||
INNER JOIN dbo.Cost2Plant cp ON qwi.CodPlant = cp.CodPlant AND qwi.ProcessNum = cp.ProcessNum
|
||||
INNER JOIN dbo.QuoteList ql ON qwi.QuoteType = ql.QuoteType AND qwi.CodQuote = ql.CodQuote AND qwi.QuoteRev = ql.QuoteRev
|
||||
WHERE qwi.ProcessNum = '04' -- solo imballo
|
||||
|
||||
-- inserisco dati mancanti di DSR x imballo come 1 - OUT/IN
|
||||
UPDATE qwi
|
||||
SET DSR = 1 - CAST(td.TotOUT AS DECIMAL(18,6))/CAST(td.TotIN AS DECIMAL(18,6))
|
||||
FROM #QuoteWorkInt qwi
|
||||
INNER JOIN dbo.TabDifett td ON qwi.Class05 = td.KeyAMI AND qwi.ProcessNum = td.ProcessNum
|
||||
WHERE qwi.ProcessNum = '04' -- solo imballo
|
||||
|
||||
-- recupero le MAC fase 01
|
||||
SELECT @MAC_SC = MCR
|
||||
,@MAC_ST = WCR
|
||||
FROM #QuoteWorkInt
|
||||
WHERE ProcessNum = '01'
|
||||
|
||||
-- recupero le MAC fase 02
|
||||
SELECT @MAC_IN = DCR
|
||||
FROM #QuoteWorkInt
|
||||
WHERE ProcessNum = '02'
|
||||
|
||||
-- recupero le MAC fase 04
|
||||
SELECT @MAC_IM = DCR
|
||||
FROM #QuoteWorkInt
|
||||
WHERE ProcessNum = '04'
|
||||
|
||||
-- calcolo percentuale vendita rottame
|
||||
SELECT @SSR = SSR
|
||||
FROM dbo.RawMatDet
|
||||
WHERE RawMat = @RawMat
|
||||
|
||||
|
||||
-- NOTA : la transazione posso probabilmente iniziarla qui visto che è il
|
||||
-- primo Update/insert/delete su tabelle non temporanee
|
||||
|
||||
-- update rese RawMat!
|
||||
UPDATE dbo.QuoteRM
|
||||
SET FCR = @MAC_SC * @MAC_ST * @MAC_IN * @MAC_IM
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
AND RawMat = @RawMat
|
||||
|
||||
-- inserisco i costi delle utilities in QuoteOC
|
||||
|
||||
-- inserisco altri costi x lavorazione estrusione! GAS ed EE
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, CodUtil, @RawMat, @BatchQty, UnitCost * @BatchQty, 1
|
||||
FROM dbo.Utilities
|
||||
WHERE CodPlant = @CodPlant
|
||||
|
||||
|
||||
/*************************************************************
|
||||
* MATRICE
|
||||
*
|
||||
* calcolo prezzo e durata matrice con procedura a 5 step...
|
||||
* A) media ponderata prezzo ed ExpLife da DiesDet selezionando x CodItem + CodDiesGroup
|
||||
* B) EOLLife x media ponderata su DiesDet dove Active = 0 e vita cmq superiore 5000 KG ( escludendo rotture accidentali )
|
||||
* C) SE prezzo = 0 --> prendo prezzo da DiesGroupDet selezionando x CodDiesGroup
|
||||
* D) Se EOL = 0 --> prendo ExpLife della singola matrice, se è 0 --> prendo EOLLife da DiesGroupDet selezionando x CodDiesGroup
|
||||
* E) Calcolo Price / Life
|
||||
*
|
||||
*************************************************************/
|
||||
|
||||
-- (A) da DiesDet
|
||||
SELECT @DiesPrice = SUM(ISNULL(Price, 0) * ISNULL(ActLife, 1)) / SUM(ISNULL(ActLife, 1)),
|
||||
@DiesExpLife = SUM(ISNULL(ExpLife, 0) * ISNULL(ActLife, 1)) / SUM(ISNULL(ActLife, 1))
|
||||
FROM dbo.DiesDet
|
||||
WHERE CodItem = @CodItem
|
||||
AND CodDiesGroup = @CodDiesGroup
|
||||
GROUP BY CodItem, CodDiesGroup
|
||||
|
||||
-- (B) da DiesDet
|
||||
SELECT @DiesEOLife = AVG(ISNULL(ActLife, 0))
|
||||
FROM dbo.DiesDet
|
||||
WHERE CodItem = @CodItem
|
||||
AND CodDiesGroup = @CodDiesGroup
|
||||
AND Active = 0 -- solo matrici rottamate
|
||||
AND ActLife > 5000 -- solo se hanno Life > 5000 Kg ( non rotture accidentali )
|
||||
GROUP BY CodItem, CodDiesGroup
|
||||
|
||||
SET @DiesPrice = ISNULL(@DiesPrice,0)
|
||||
SET @DiesExpLife = ISNULL(@DiesExpLife,0)
|
||||
SET @DiesEOLife = ISNULL(@DiesEOLife,0)
|
||||
|
||||
-- (C) verifico se prezzo è OK...
|
||||
IF (@DiesPrice = 0)
|
||||
BEGIN
|
||||
-- calcolo da DiesGroupDet
|
||||
SELECT @DiesPrice = ISNULL(Price, 0)
|
||||
FROM dbo.DiesGroupDet
|
||||
WHERE CodDiesGroup = @CodDiesGroup
|
||||
END
|
||||
|
||||
-- (D) verifico se vita è OK...
|
||||
IF (@DiesEOLife = 0)
|
||||
BEGIN
|
||||
-- uso exp life articolo...
|
||||
SET @DiesEOLife = @DiesExpLife
|
||||
END
|
||||
-- controllo che non sia nulla/vuota la durata...
|
||||
IF (@DiesEOLife = 0)
|
||||
BEGIN
|
||||
SELECT @DiesEOLife = CASE WHEN EOLLife > 0 THEN EOLLife ELSE ExpLife END
|
||||
FROM DiesGroupDet
|
||||
WHERE CodDiesGroup = @CodDiesGroup
|
||||
END
|
||||
|
||||
-- controllo che non sia nulla/vuota la durata...
|
||||
IF ( @DiesEOLife = 0)
|
||||
BEGIN
|
||||
SET @DiesEOLife = 1 -- metto 1 kg che è sbagliato e mi fa esplodere prezzo matrice ma non blocca calcoli
|
||||
END
|
||||
|
||||
-- (E) Calcolo price/life!
|
||||
SET @DiesPriceLife = @DiesPrice / @DiesEOLife
|
||||
|
||||
-- (D) verifico se vita è OK...
|
||||
IF (@DiesPriceLife = 0)
|
||||
BEGIN
|
||||
SET @DiesPriceLife = 1
|
||||
SET @valid = 0
|
||||
END
|
||||
|
||||
-- inserisco costi per Matrice: costo e durata da matrice, se non ci sono da gruppo, (anche solo uno dei due, ovviamente più facile trovare durata x matrice...)
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota, valid)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, 'MATRICE', @RawMat, @BatchQty, @DiesPriceLife * @BatchQty, 1, @valid
|
||||
|
||||
|
||||
-- inserisco parametri calcolati x matrice
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'DiesPrice', @DiesPrice
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'DiesExpLife', @DiesExpLife
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'DiesEOLife', @DiesEOLife
|
||||
|
||||
/*************************************************************
|
||||
* VENDITA ROTTAME
|
||||
*
|
||||
* calcolo COSTO DI VENDITA PER LE 2 FASI ESTRUSIONE 01 ED IMBALLO 04
|
||||
* - calcolo costi variabili fase 01 / 04
|
||||
* - calcolo costo di vendita x fase 01 / 04
|
||||
*************************************************************/
|
||||
|
||||
SELECT @OCF01 = SUM(ISNULL(C4UG,0))
|
||||
FROM #QuoteOC
|
||||
|
||||
SELECT @VCF01 = @OCF01 + VC4UG
|
||||
FROM #QuoteWorkInt
|
||||
WHERE ProcessNum = '01'
|
||||
|
||||
SELECT @VCF04 = @OCF01 + SUM(VC4UG)
|
||||
FROM #QuoteWorkInt
|
||||
|
||||
SELECT @SellCostF01 = ((@MAC_ST * @MAC_SC * @MAC_IN) - 1) * (q.RawMatCost + q.RawMatExtraCost - CASE WHEN SSVA > 0 THEN SSVA ELSE q.RawMatCost * SSVR END + @VCF01) -- ((prodotto delle MAC = inverso del prodotto delle rese) - 1) * (costo Al - prezzo rivendita + costi var fase 01)
|
||||
, @RefCostF01 = -- ( (A - B) / 100 - C )
|
||||
(
|
||||
-- (A) = (costo pieno di acquisto + costi fase 1) * MAC * 100 (IN CENTESIMI)
|
||||
((q.RawMatCost + q.RawMatExtraCost + @VCF01) * (@MAC_ST * @MAC_SC * @MAC_IN * 100))
|
||||
-- (B) = ((MAC * 100) - 100) * Resa di fonderia * (costo pieno acquisto - costo di trasformazione))
|
||||
- ((@MAC_ST * @MAC_SC * @MAC_IN * 100) - 100) * rmd.ProcYield * (q.RawMatCost + q.RawMatExtraCost + @VCF01 - rmd.ProcCost)
|
||||
) / 100 -- divido per 100 finale
|
||||
-- (C) = sottraggo costo pieno alluminio
|
||||
- (q.RawMatCost + q.RawMatExtraCost + @VCF01)
|
||||
FROM dbo.RawMatDet rmd
|
||||
INNER JOIN dbo.QuoteRM q ON q.RawMat = rmd.RawMat
|
||||
WHERE q.QuoteType = @QuoteType
|
||||
AND q.CodQuote = @CodQuote
|
||||
AND q.QuoteRev = @QuoteRev
|
||||
AND q.RawMat = @RawMat
|
||||
|
||||
SELECT @SellCostF04 = ((@MAC_IM) - 1) * (q.RawMatCost + q.RawMatExtraCost - CASE WHEN SSVA > 0 THEN SSVA ELSE q.RawMatCost * SSVR END + @VCF01 + @VCF04) -- ((prodotto delle MAC = inverso del prodotto delle rese) - 1) * (costo Al - prezzo rivendita + costi var fase 04)
|
||||
, @RefCostF04 = -- ( (A - B) / 100 - C )
|
||||
(
|
||||
-- (A) = (costo pieno di acquisto + costi variabili fase 1 e 4) * MAC * 100 (IN CENTESIMI)
|
||||
((q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04) * (@MAC_IM * 100))
|
||||
-- (B) = ((MAC * 100) - 100) * Resa di fonderia * (costo pieno acquisto - costo di trasformazione))
|
||||
- ((@MAC_IM * 100) - 100) * rmd.ProcYield * (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04 - rmd.ProcCost)
|
||||
) / 100 -- divido per 100 finale
|
||||
-- (C) = sottraggo costo pieno alluminio
|
||||
- (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04)
|
||||
|
||||
-- NOTA: usiamo (q.RawMatCost + q.RawMatExtraCost + @VCF01) e non (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @RefCostF01) perché la differenza è minimale, si tratta di 10/20 PPM...
|
||||
|
||||
FROM dbo.RawMatDet rmd
|
||||
INNER JOIN dbo.QuoteRM q ON q.RawMat = rmd.RawMat
|
||||
WHERE q.QuoteType = @QuoteType
|
||||
AND q.CodQuote = @CodQuote
|
||||
AND q.QuoteRev = @QuoteRev
|
||||
AND q.RawMat = @RawMat
|
||||
|
||||
-- inserisco costi per VENDITA
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, 'VENDITA', @RawMat, @BatchQty, @SellCostF01 * @BatchQty, @SSR
|
||||
|
||||
-- inserisco costi per ROTTAME
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, 'ROTTAME', @RawMat, @BatchQty, @RefCostF01 * @BatchQty, 1 - @SSR
|
||||
|
||||
-- inserisco costi per VENDITA
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'VENDITA', @RawMat, @BatchQty, @SellCostF04 * @BatchQty, @SSR
|
||||
|
||||
-- inserisco costi per ROTTAME
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'ROTTAME', @RawMat, @BatchQty, @RefCostF04 * @BatchQty, 1 - @SSR
|
||||
|
||||
-- calcolo Package Cost e RMWeight da tab PackageDet
|
||||
-- EXEC stp_packageCost @CodItem, @CodClient, @CodPackag, @PDesc=@PkgDesc OUTPUT, @RMWeight=@PRMWeight OUTPUT, @Weight=@PWeight OUTPUT, @Tare=@PTare OUTPUT, @PackCost=@PCost OUTPUT, @TareStRat=@PTareStRatio OUTPUT
|
||||
-- stored sostituita perchè la maggior parte dei calcoli li ho già fatti
|
||||
SELECT @PCost = RMCost / @PWeight
|
||||
, @PRMWeight = RMWeight
|
||||
, @PkgDesc = PackagDesc
|
||||
, @PTareStRatio = ( RMWeight - @PTare) / @PWeight
|
||||
FROM dbo.PackagDet
|
||||
WHERE CodPackag = @CodPackag
|
||||
|
||||
-- inserisco costi per IMBALLO
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'IMBALLO', @RawMat, @BatchQty, @PCost * @BatchQty, 1
|
||||
|
||||
|
||||
-- inserisco parametri calcolati x imballaggio
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'PkgDesc', @PkgDesc
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'PRMWeight', @PRMWeight
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'PWeight', @PWeight
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'PTare', @PTare
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'TareStRatio', @PTareStRatio
|
||||
|
||||
|
||||
---------------------------------------------
|
||||
-- inserisco costi per TRASPORTI
|
||||
---------------------------------------------
|
||||
-- recupero zona da cliente...
|
||||
SELECT @TranspZone = TranspZone
|
||||
FROM dbo.ClientDet
|
||||
WHERE CodClient = @CodClient
|
||||
|
||||
-- recupero tipo di trasporto
|
||||
SELECT @HasTC = ISNULL(i.HasTC, 0)
|
||||
FROM dbo.QuoteList q INNER JOIN Incoterms i ON q.CodInco = i.CodInco
|
||||
WHERE q.QuoteType = @QuoteType
|
||||
AND q.CodQuote = @CodQuote
|
||||
AND q.QuoteRev = @QuoteRev
|
||||
|
||||
-- recupero costi trasporto
|
||||
SELECT @TranspCost = TranspCost
|
||||
FROM dbo.TranspCostDet
|
||||
WHERE TranspZone = @TranspZone
|
||||
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'TRASPORTI', @RawMat, @BatchQty, @HasTC * @TranspCost * @BatchQty, 1
|
||||
|
||||
|
||||
---------------------------------------------
|
||||
-- inserisco costi per PROVVIGIONI
|
||||
---------------------------------------------
|
||||
SELECT @Provvig = ISNULL(a.QuotaProvvAg, 0)
|
||||
FROM dbo.AgentsDet a
|
||||
INNER JOIN ClientDet c ON a.CodAg = c.CodAg
|
||||
INNER JOIN QuoteList q ON q.CodClient = c.CodClient
|
||||
WHERE q.QuoteType = @QuoteType
|
||||
AND q.CodQuote = @CodQuote
|
||||
AND q.QuoteRev = @QuoteRev
|
||||
|
||||
-- inserisco costi per PROVVIGIONI
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'PROVVIGIONI', @RawMat, @BatchQty, @Provvig * @BatchQty, 1
|
||||
|
||||
/* ==================================================
|
||||
CARICO TABELLE EFFETTIVE
|
||||
==================================================*/
|
||||
|
||||
-- carico quote parametri!
|
||||
INSERT dbo.QuoteParam
|
||||
SELECT * FROM #QuoteParam
|
||||
|
||||
-- carico lavorazioni INTERNE!
|
||||
INSERT dbo.QuoteWorkInt -- ci sono valori calcolati quindi devo selezionare i campi
|
||||
SELECT QuoteType, CodQuote, QuoteRev, NumWI, ProcessNum, CodPlant, Class01, Class02, Class03, Class04, Class05
|
||||
, NetProd, WSR, MSR, DSR, FC4UG, VC4UG, OH4UG, SC4UG, valid
|
||||
FROM #QuoteWorkInt
|
||||
|
||||
-- carico OTHERCOSTS
|
||||
INSERT dbo.QuoteOC -- ci sono valori calcolati quindi devo selezionare i campi
|
||||
SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, Class03, Class04
|
||||
, Class05, TotQty, TotCost, Quota, valid
|
||||
FROM #QuoteOC
|
||||
|
||||
|
||||
COMMIT TRAN
|
||||
|
||||
--SELECT * FROM #QuoteParam
|
||||
--SELECT * FROM #QuoteWorkInt
|
||||
--SELECT * FROM #QuoteOC
|
||||
|
||||
-- elimino temp table...
|
||||
IF OBJECT_ID('tempdb..#QuoteParam') IS NOT NULL
|
||||
DROP TABLE #QuoteParam
|
||||
IF OBJECT_ID('tempdb..#QuoteWorkInt') IS NOT NULL
|
||||
DROP TABLE #QuoteWorkInt
|
||||
IF OBJECT_ID('tempdb..#QuoteOC') IS NOT NULL
|
||||
DROP TABLE #QuoteOC
|
||||
|
||||
END
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,705 @@
|
||||
|
||||
-- =============================================
|
||||
-- Author: Steamware
|
||||
-- Create date: 2014.01.22
|
||||
-- Description: aggiorna le tabelle QuoteList con i dati selezionati dalla TabProdSc
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[stp_QL_update_30_01]
|
||||
(
|
||||
@QuoteType CHAR(1) = 'Q',
|
||||
@CodQuote BIGINT = 0,
|
||||
@QuoteRev INT = 0
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- dichiaro valori da recuperare
|
||||
DECLARE @strTemp NVARCHAR(50) = '' --stringa temporanea x variabili "locali"
|
||||
|
||||
DECLARE @valid BIT
|
||||
DECLARE @CodDiesGroup NVARCHAR(50)
|
||||
DECLARE @CodPlant NVARCHAR(50)
|
||||
DECLARE @CodPlantFix NVARCHAR(50) = ''
|
||||
DECLARE @HoleNum INT
|
||||
DECLARE @CodItem NVARCHAR(50) = '' --cod item
|
||||
DECLARE @ItemDescr NVARCHAR(50) = '' -- descrizione item
|
||||
DECLARE @KeyAM NVARCHAR(50) = ''
|
||||
DECLARE @KeyAMI NVARCHAR(50) = ''
|
||||
DECLARE @KeyAMIL NVARCHAR(50) = ''
|
||||
DECLARE @NumSMED INT = 0 -- numero cambi
|
||||
DECLARE @KgTeo DECIMAL(18, 6) = 0 -- kg totali
|
||||
DECLARE @RawMat NVARCHAR(50)
|
||||
DECLARE @ProdTeo DECIMAL(18,6)
|
||||
DECLARE @ScTec DECIMAL(18,6)
|
||||
DECLARE @BatchQty INT
|
||||
DECLARE @MAC_SC DECIMAL(18,6) -- Messa a cento scarto cesoia
|
||||
DECLARE @MAC_ST DECIMAL(18,6) -- Messa a cento scarto tecnico
|
||||
DECLARE @MAC_IN DECIMAL(18,6) -- Messa a cento difettosità all'incestatura
|
||||
DECLARE @MAC_IM DECIMAL(18,6) -- Messa a cento difettosità all'imballo
|
||||
DECLARE @SSR DECIMAL(9,6) -- percentuale vendita rottame
|
||||
DECLARE @DiesPrice DECIMAL(9,3) -- prezzo matrice
|
||||
DECLARE @DiesEOLife DECIMAL(9,2) -- durata matrice
|
||||
DECLARE @DiesExpLife DECIMAL(9,2) -- durata matrice
|
||||
DECLARE @DiesPriceLife DECIMAL(18,6) -- Price/Life matrice
|
||||
DECLARE @OCF01 DECIMAL(18,6) = 0 -- altri costi di fase 01
|
||||
DECLARE @VCF01 DECIMAL(18,6) = 0 -- costi variabili di fase 01
|
||||
DECLARE @VCF04 DECIMAL(18,6) = 0 -- costi variabili di fase 04
|
||||
DECLARE @SellCostF01 DECIMAL(18,6) = 0 -- costo vendita fase 01
|
||||
DECLARE @SellCostF04 DECIMAL(18,6) = 0 -- costo vendita fase 04
|
||||
DECLARE @RefCostF01 DECIMAL(18,6) = 0 -- costo rifusione fase 01
|
||||
DECLARE @RefCostF04 DECIMAL(18,6) = 0 -- costo rifusione fase 04
|
||||
-- IMBALLO
|
||||
DECLARE @CodPackag NVARCHAR(50) = '0' -- codice dell'imballo
|
||||
DECLARE @CodClient NVARCHAR(50) = '' -- codice cliente
|
||||
DECLARE @NumImb DECIMAL(9,6) = 0 -- num imballatori
|
||||
DECLARE @PkgDesc NVARCHAR(50) = '' -- descrizione imballo
|
||||
DECLARE @PRMWeight DECIMAL(9,4) = 0 -- peso dell'imballo
|
||||
DECLARE @PWeight DECIMAL(9,4) = 0 -- peso del pacco
|
||||
DECLARE @PTare DECIMAL(9,4) = 0 -- media delal tara di imballo dichiarata
|
||||
DECLARE @PCost DECIMAL(9,6) = 0 -- costo unitario dell'imballo (al kg)
|
||||
DECLARE @PTareStRatio DECIMAL(9,4) = 0 -- coefficiente di recupero tara/prodotto
|
||||
|
||||
-- TRASPORTI
|
||||
DECLARE @TranspZone NVARCHAR(50) = '', -- codice ZONA
|
||||
@TranspCost DECIMAL(9,6), -- costo di trasporto
|
||||
@HasTC INT
|
||||
|
||||
-- PROVVIGIONI
|
||||
DECLARE @Provvig DECIMAL(9,6) -- provvigione agente
|
||||
|
||||
-- default: validità è true!
|
||||
SET @valid = 1
|
||||
|
||||
-- =================================================
|
||||
-- CREAZIONE TEMP TABLE
|
||||
-- =================================================
|
||||
|
||||
-- elimino e ricreo #QuoteParam temp table...
|
||||
IF OBJECT_ID('tempdb..#QuoteParam') IS NOT NULL
|
||||
DROP TABLE #QuoteParam
|
||||
|
||||
CREATE TABLE #QuoteParam
|
||||
(
|
||||
[QuoteType] [char](1) NOT NULL,
|
||||
[CodQuote] [bigint] NOT NULL,
|
||||
[QuoteRev] [int] NOT NULL,
|
||||
[NumP] [int] IDENTITY(1,1) NOT NULL,
|
||||
[ProcessNum] [nvarchar](50) NOT NULL,
|
||||
[Descr] [nvarchar](50) NOT NULL,
|
||||
[Parameter] [nvarchar](100) NOT NULL,
|
||||
--PRIMARY KEY
|
||||
-- ( [NumP] ASC, [QuoteType] ASC, [CodQuote] ASC, [QuoteRev] ASC ) WITH (PAD_INDEX = ON, FILLFACTOR = 90 )
|
||||
)
|
||||
|
||||
-- elimino e ricreo #QuoteParam temp table...
|
||||
IF OBJECT_ID('tempdb..#QuoteWorkInt') IS NOT NULL
|
||||
DROP TABLE #QuoteWorkInt
|
||||
|
||||
CREATE TABLE #QuoteWorkInt
|
||||
(
|
||||
[QuoteType] [char](1) NOT NULL,
|
||||
[CodQuote] [bigint] NOT NULL,
|
||||
[QuoteRev] [int] NOT NULL,
|
||||
[NumWI] [int] IDENTITY(1,1) NOT NULL,
|
||||
[ProcessNum] [nvarchar](50) NOT NULL,
|
||||
[CodPlant] [nvarchar](50) NOT NULL,
|
||||
[Class01] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[Class02] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[Class03] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[Class04] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[Class05] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[NetProd] [decimal](9, 3) NOT NULL DEFAULT ((0)),
|
||||
[WSR] [decimal](9, 8) NOT NULL DEFAULT ((0)),
|
||||
[MSR] [decimal](9, 8) NOT NULL DEFAULT ((0)),
|
||||
[DSR] [decimal](9, 8) NOT NULL DEFAULT ((0)),
|
||||
[FC4UG] [decimal](9, 6) NOT NULL DEFAULT ((0)),
|
||||
[VC4UG] [decimal](9, 6) NOT NULL DEFAULT ((0)),
|
||||
[OH4UG] [decimal](9, 6) NOT NULL DEFAULT ((0)),
|
||||
[SC4UG] [decimal](9, 6) NOT NULL DEFAULT ((0)),
|
||||
[WYR] AS ((1)-[WSR]),
|
||||
[MYR] AS ((1)-[MSR]),
|
||||
[DYR] AS ((1)-[DSR]),
|
||||
[WCR] AS ((1)/((1)-[WSR])),
|
||||
[MCR] AS ((1)/((1)-[MSR])),
|
||||
[DCR] AS ((1)/((1)-[DSR])),
|
||||
[valid] [bit] NOT NULL DEFAULT((1)),
|
||||
)
|
||||
|
||||
-- elimino e ricreo #QuoteParam temp table...
|
||||
IF OBJECT_ID('tempdb..#QuoteOC') IS NOT NULL
|
||||
DROP TABLE #QuoteOC
|
||||
|
||||
CREATE TABLE #QuoteOC
|
||||
(
|
||||
[QuoteType] [char](1) NOT NULL,
|
||||
[CodQuote] [bigint] NOT NULL,
|
||||
[QuoteRev] [int] NOT NULL,
|
||||
[NumEx] [int] IDENTITY(1,1) NOT NULL,
|
||||
[ProcessNum] [nvarchar](50) NOT NULL,
|
||||
[CodPlant] [nvarchar](50) NOT NULL,
|
||||
[Class01] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[Class02] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[Class03] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[Class04] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[Class05] [nvarchar](50) NOT NULL DEFAULT (''),
|
||||
[TotQty] [decimal](18, 6) NOT NULL DEFAULT ((1)),
|
||||
[TotCost] [decimal](18, 6) NOT NULL DEFAULT ((0)),
|
||||
[Quota] [decimal](18, 6) NOT NULL DEFAULT ((1)),
|
||||
[C4UG] AS (([TotCost]*[Quota])/[TotQty]),
|
||||
[valid] [bit] NOT NULL DEFAULT ((1))
|
||||
)
|
||||
|
||||
-- ===================================
|
||||
-- INIZIO TRANSAZIONE
|
||||
-- ===================================
|
||||
SET XACT_ABORT ON;
|
||||
BEGIN TRAN
|
||||
|
||||
---------------------------------------
|
||||
-- svuotamento iniziale
|
||||
---------------------------------------
|
||||
|
||||
-- elimino lavorazioni esterne!
|
||||
DELETE
|
||||
FROM dbo.QuoteWorkExt
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- se ci sono eccezioni nella tab dell'anagrafico articoli imposto il codPlant desiderato
|
||||
SET @CodPlantFix = ISNULL ( ( SELECT id.CodPlant FROM dbo.ItemDet id INNER JOIN dbo.QuoteList ql ON id.CodItem = ql.CodItem
|
||||
WHERE ql.QuoteType = @QuoteType
|
||||
AND ql.CodQuote = @CodQuote
|
||||
AND ql.QuoteRev = @QuoteRev ), '' )
|
||||
|
||||
-- recupero da dati dell'offerta il valore del cliente
|
||||
SELECT @CodClient = CodClient
|
||||
FROM dbo.QuoteList
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- recupero dati!!
|
||||
SELECT TOP 1 @CodItem = ql.CodItem
|
||||
, @CodDiesGroup = tps.CodDiesGroup
|
||||
, @CodPlant = CASE WHEN @CodPlantFix <> '' THEN @CodPlantFix ELSE tps.CodPlant END
|
||||
, @HoleNum = tps.HoleNum
|
||||
, @KeyAM = ql.KeyAM
|
||||
, @KeyAMI = ql.KeyAM + '-' + ISNULL(@CodPlant,'0000')
|
||||
, @KeyAMIL = ql.KeyAM + '-' + ISNULL(@CodPlant,'0000') + '-' + CAST(ISNULL(tps.HoleNum,0) AS NVARCHAR(10))
|
||||
, @ProdTeo = tps.ProdTeo
|
||||
, @ScTec = tps.ScTec
|
||||
, @KgTeo = tps.KgTeo
|
||||
, @NumSMED = tps.NumSMED
|
||||
, @RawMat = ql.RawMat
|
||||
, @BatchQty = ql.BatchQty
|
||||
, @ItemDescr= i.ItemDescr
|
||||
FROM dbo.QuoteList ql
|
||||
INNER JOIN dbo.TabProdSc tps ON ql.KeyAM = tps.KeyAM
|
||||
INNER JOIN dbo.ItemDet i ON ql.CodItem = i.CodItem
|
||||
WHERE ql.QuoteType = @QuoteType
|
||||
AND ql.CodQuote = @CodQuote
|
||||
AND ql.QuoteRev = @QuoteRev
|
||||
ORDER BY tps.KgTeo DESC
|
||||
|
||||
-- recupero da dati dell'offerta il valore del package scelto
|
||||
SET @CodPackag = ( SELECT dbo.f_getCodPackag( @CodItem , @CodClient ) )
|
||||
|
||||
-- e aggiorno QuoteRM
|
||||
UPDATE dbo.QuoteRM
|
||||
SET CodPackag = @CodPackag
|
||||
FROM dbo.QuoteRM
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'ItemDescr', @ItemDescr)
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'CodifProfilo', Class01
|
||||
FROM dbo.ItemDet
|
||||
WHERE CodItem = @CodItem
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'ClasseMerc', Class02
|
||||
FROM dbo.ItemDet
|
||||
WHERE CodItem = @CodItem
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'CodClientAssoc', Class03
|
||||
FROM dbo.ItemDet
|
||||
WHERE CodItem = @CodItem
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'ClientNameAssoc', ClientDet.ClientName
|
||||
FROM dbo.ItemDet INNER JOIN ClientDet ON ItemDet.Class03=ClientDet.CodClient
|
||||
WHERE CodItem = @CodItem
|
||||
|
||||
-- INFORMAZIONI su MATRICE
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'CodDiesGroup', @CodDiesGroup)
|
||||
|
||||
SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 1) --@strTemp = SUBSTRING(@CodDiesGroup, 0, CHARINDEX('-', @CodDiesGroup)) -- !!!fare con finc Gian
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'TipoDies', @strTemp)
|
||||
|
||||
SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 2) --@strTemp = SUBSTRING(REPLACE(@CodDiesGroup, @strTemp,''), 2, CHARINDEX('-', @CodDiesGroup)) -- !!!fare con finc Gian
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'DiamDies', @strTemp)
|
||||
|
||||
SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 3) --@strTemp = SUBSTRING(REPLACE(@CodDiesGroup, @strTemp,''), 5, CHARINDEX('-', @CodDiesGroup)) -- !!!fare con finc Gian
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
VALUES (@QuoteType, @CodQuote, @QuoteRev, '01', 'HoleNumDies', @strTemp)
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'NumDiesInList', COUNT(CodDies)
|
||||
FROM dbo.DiesDet
|
||||
WHERE CodDiesGroup = @CodDiesGroup AND CodItem = @CodItem
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'NumDiesExaust', COUNT(CodDies)
|
||||
FROM dbo.DiesDet
|
||||
WHERE CodDiesGroup = @CodDiesGroup AND Active = 0
|
||||
|
||||
-- inserisco parametri calcolati x lavorazione estruzione
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'CodPlant', @CodPlant
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'KeyAM', @KeyAM
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'KeyAMIL', @KeyAMIL
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'NumSMED', @NumSMED
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'KgTeo', @KgTeo
|
||||
|
||||
-- tolto: è duplicato di HoleNumDies
|
||||
--INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
--SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'HoleNum', @HoleNum
|
||||
|
||||
-- inserisco lavorazione estrusione!
|
||||
INSERT INTO #QuoteWorkInt (QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03, NetProd, WSR)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, @KeyAM, @KeyAMIL, @RawMat, @ProdTeo, @ScTec
|
||||
|
||||
INSERT INTO #QuoteParam (QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'KgProdotti', SUM(KgTeo)
|
||||
FROM dbo.QuoteList ql
|
||||
INNER JOIN dbo.TabProdSc tps ON ql.KeyAM = tps.KeyAM
|
||||
WHERE ql.QuoteType = @QuoteType
|
||||
AND ql.CodQuote = @CodQuote
|
||||
AND ql.QuoteRev = @QuoteRev
|
||||
|
||||
--SELECT @cont = @cont + 1
|
||||
--INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
--SELECT @QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'NumLotti', COUNT(*)
|
||||
--FROM QuoteList ql INNER JOIN TabProdSc tps ON ql.KeyAM = tps.KeyAM
|
||||
--WHERE ql.QuoteType = @QuoteType
|
||||
-- AND ql.CodQuote = @CodQuote
|
||||
-- AND ql.QuoteRev = @QuoteRev
|
||||
|
||||
-- inserisco dati mancanti di MSR/CSR (scarto cesoia x estrusione) - DSR è NULLO x estrusione!
|
||||
UPDATE qwi
|
||||
SET MSR = rmd.CSR
|
||||
FROM #QuoteWorkInt qwi
|
||||
INNER JOIN dbo.RawMatDet rmd ON qwi.Class03 = rmd.RawMat
|
||||
|
||||
-- calcolo i costi legati alla fase estrusione!
|
||||
UPDATE qwi
|
||||
SET FC4UG = (cp.FC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd
|
||||
, VC4UG = (cp.VC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd
|
||||
, OH4UG = (cp.OH * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd
|
||||
, SC4UG = cp.SC / ql.BatchQty
|
||||
FROM #QuoteWorkInt qwi
|
||||
INNER JOIN dbo.Cost2Plant cp ON qwi.CodPlant = cp.CodPlant AND qwi.ProcessNum = cp.ProcessNum
|
||||
INNER JOIN dbo.QuoteList ql ON qwi.QuoteType = ql.QuoteType AND qwi.CodQuote = ql.CodQuote AND qwi.QuoteRev = ql.QuoteRev
|
||||
WHERE qwi.ProcessNum = '01'
|
||||
|
||||
-- inserisco lavorazione incestatura!
|
||||
INSERT INTO #QuoteWorkInt (QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '02', @CodPlant, @KeyAM, @KeyAMI, @RawMat
|
||||
|
||||
-- inserisco dati mancanti di DSR x incestatura come 1 - OUT/IN
|
||||
UPDATE qwi
|
||||
SET DSR = 1 - CAST(td.TotOUT AS DECIMAL(18,6))/CAST(td.TotIN AS DECIMAL(18,6))
|
||||
FROM #QuoteWorkInt qwi
|
||||
INNER JOIN dbo.TabDifett td ON qwi.Class02 = td.KeyAMI AND qwi.ProcessNum = td.ProcessNum
|
||||
WHERE qwi.ProcessNum = '02' -- solo incestatura
|
||||
|
||||
-- inserisco lavorazione FORNO!
|
||||
INSERT INTO #QuoteWorkInt(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '03', @CodPlant, @KeyAM, @KeyAMI, @RawMat
|
||||
|
||||
-- inserisco lavorazione imballo!
|
||||
INSERT INTO #QuoteWorkInt(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, Class03, Class04, Class05)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, @KeyAM, @KeyAMIL, @RawMat, @CodItem, @KeyAMI
|
||||
|
||||
-- calcolo produttività netta nella fase imballo
|
||||
UPDATE qwi
|
||||
SET NetProd = CASE ti.Durata WHEN 0 THEN 0 ELSE ti.TotOut / ti.Durata END
|
||||
FROM #QuoteWorkInt qwi
|
||||
INNER JOIN dbo.TabImbArt ti ON qwi.Class04 = ti.KeyA
|
||||
WHERE qwi.ProcessNum = '04' -- solo imballo
|
||||
|
||||
-- Se Produttività netta ancora = 0 la leggo nella tabella Gruppo Imballo ( Packaging )
|
||||
IF ( SELECT NetProd FROM #QuoteWorkInt WHERE ProcessNum = '04' ) = 0
|
||||
BEGIN
|
||||
UPDATE qwi
|
||||
SET NetProd = CASE ti.Durata WHEN 0 THEN 0 ELSE ti.TotOut / ti.Durata END
|
||||
FROM #QuoteWorkInt qwi
|
||||
INNER JOIN dbo.TabImbGrp ti ON ti.CodPackag = @CodPackag -- packag generico dell' offerta
|
||||
WHERE qwi.ProcessNum = '04' -- solo imballo
|
||||
END
|
||||
|
||||
-- salvo numero imballatori
|
||||
SELECT @NumImb = ISNULL(NumImb,0)
|
||||
FROM dbo.TabImbArt
|
||||
WHERE KeyA = @CodItem
|
||||
|
||||
-- parametro num imballatori
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'QuotaMan', @NumImb
|
||||
|
||||
-- calcolo i costi legati alla fase di imballo!
|
||||
-- QUI VA FATTO CALCOLO PUNTUALE SU quotaPlant tramite Articolo-Cliente / Articolo / Packaging
|
||||
UPDATE qwi
|
||||
SET FC4UG = (cp.FC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd
|
||||
, VC4UG = (cp.VC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd
|
||||
, OH4UG = (cp.OH * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd
|
||||
, SC4UG = cp.SC / ql.BatchQty
|
||||
FROM #QuoteWorkInt qwi
|
||||
INNER JOIN dbo.Cost2Plant cp ON qwi.CodPlant = cp.CodPlant AND qwi.ProcessNum = cp.ProcessNum
|
||||
INNER JOIN dbo.QuoteList ql ON qwi.QuoteType = ql.QuoteType AND qwi.CodQuote = ql.CodQuote AND qwi.QuoteRev = ql.QuoteRev
|
||||
WHERE qwi.ProcessNum = '04' -- solo imballo
|
||||
|
||||
-- inserisco dati mancanti di DSR x incestatura come 1 - OUT/IN
|
||||
UPDATE qwi
|
||||
SET DSR = 1 - CAST(td.TotOUT AS DECIMAL(18,6))/CAST(td.TotIN AS DECIMAL(18,6))
|
||||
FROM #QuoteWorkInt qwi
|
||||
INNER JOIN dbo.TabDifett td ON qwi.Class05 = td.KeyAMI AND qwi.ProcessNum = td.ProcessNum
|
||||
WHERE qwi.ProcessNum = '04' -- solo imballo
|
||||
|
||||
-- recupero le MAC fase 01
|
||||
SELECT
|
||||
@MAC_SC = MCR
|
||||
,@MAC_ST = WCR
|
||||
FROM #QuoteWorkInt WITH (NOLOCK)
|
||||
WHERE ProcessNum = '01'
|
||||
|
||||
-- recupero le MAC fase 02
|
||||
SELECT
|
||||
@MAC_IN = DCR
|
||||
FROM #QuoteWorkInt WITH (NOLOCK)
|
||||
WHERE ProcessNum = '02'
|
||||
|
||||
-- recupero le MAC fase 04
|
||||
SELECT
|
||||
@MAC_IM = DCR
|
||||
FROM #QuoteWorkInt WITH (NOLOCK)
|
||||
WHERE ProcessNum = '04'
|
||||
|
||||
-- calcolo percentuale vendita rottame
|
||||
SELECT @SSR = SSR
|
||||
FROM dbo.RawMatDet
|
||||
WHERE RawMat = @RawMat
|
||||
|
||||
|
||||
-- NOTA : la transazione posso probabilmente iniziarla qui visto che è il
|
||||
-- primo Update/insert/delete su tabelle non temporanee
|
||||
|
||||
-- update rese RawMat!
|
||||
UPDATE dbo.QuoteRM
|
||||
SET FCR = @MAC_SC * @MAC_ST * @MAC_IN * @MAC_IM
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
AND RawMat = @RawMat
|
||||
|
||||
-- inserisco i costi delle utilities in QuoteOC
|
||||
|
||||
-- inserisco altri costi x lavorazione estrusione! GAS ed EE
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, CodUtil, @RawMat, @BatchQty, UnitCost * @BatchQty, 1
|
||||
FROM dbo.Utilities
|
||||
WHERE CodPlant = @CodPlant
|
||||
|
||||
|
||||
/*************************************************************
|
||||
* MATRICE
|
||||
*
|
||||
* calcolo prezzo e durata matrice con procedura a 5 step...
|
||||
* A) media ponderata prezzo ed ExpLife da DiesDet selezionando x CodItem + CodDiesGroup
|
||||
* B) EOLLife x media ponderata su DiesDet dove Active = 0
|
||||
* C) SE prezzo = 0 --> prendo prezzo da DiesGroupDet selezionando x CodDiesGroup
|
||||
* D) Se EOL = 0 --> prendo ExpLife della singola matrice, se è 0 --> prendo EOLLife da DiesGroupDet selezionando x CodDiesGroup
|
||||
* E) Calcolo Price / Life
|
||||
*
|
||||
*************************************************************/
|
||||
|
||||
-- (A) da DiesDet
|
||||
SELECT @DiesPrice = SUM(ISNULL(Price, 0) * ISNULL(ActLife, 1)) / SUM(ISNULL(ActLife, 1)),
|
||||
@DiesExpLife = SUM(ISNULL(ExpLife, 0) * ISNULL(ActLife, 1)) / SUM(ISNULL(ActLife, 1))
|
||||
FROM dbo.DiesDet
|
||||
WHERE CodItem = @CodItem
|
||||
AND CodDiesGroup = @CodDiesGroup
|
||||
GROUP BY CodItem, CodDiesGroup
|
||||
|
||||
-- (B) da DiesDet
|
||||
SELECT @DiesEOLife = AVG(ISNULL(ActLife, 0))
|
||||
FROM dbo.DiesDet
|
||||
WHERE CodItem = @CodItem
|
||||
AND CodDiesGroup = @CodDiesGroup
|
||||
AND Active = 0
|
||||
GROUP BY CodItem, CodDiesGroup
|
||||
|
||||
SET @DiesPrice = ISNULL(@DiesPrice,0)
|
||||
SET @DiesExpLife = ISNULL(@DiesExpLife,0)
|
||||
SET @DiesEOLife = ISNULL(@DiesEOLife,0)
|
||||
|
||||
-- (C) verifico se prezzo è OK...
|
||||
IF (@DiesPrice = 0)
|
||||
BEGIN
|
||||
-- calcolo da DiesGroupDet
|
||||
SELECT @DiesPrice = ISNULL(Price, 0)
|
||||
FROM DiesGroupDet
|
||||
WHERE CodDiesGroup = @CodDiesGroup
|
||||
END
|
||||
|
||||
-- (D) verifico se vita è OK...
|
||||
IF (@DiesEOLife = 0)
|
||||
BEGIN
|
||||
-- uso exp life articolo...
|
||||
SET @DiesEOLife = @DiesExpLife
|
||||
END
|
||||
-- controllo che non sia nulla/vuota la durata...
|
||||
IF (@DiesEOLife = 0)
|
||||
BEGIN
|
||||
SELECT @DiesEOLife = CASE WHEN EOLLife > 0 THEN EOLLife ELSE ExpLife END
|
||||
FROM DiesGroupDet
|
||||
WHERE CodDiesGroup = @CodDiesGroup
|
||||
END
|
||||
|
||||
-- controllo che non sia nulla/vuota la durata...
|
||||
IF (@DiesEOLife = 0)
|
||||
BEGIN
|
||||
SET @DiesEOLife = 1 -- metto 1 kg che è sbagliato e mi fa esplodere prezzo matrice ma non blocca calcoli
|
||||
END
|
||||
|
||||
-- (E) Calcolo price/life!
|
||||
SET @DiesPriceLife = @DiesPrice / @DiesEOLife
|
||||
|
||||
-- (D) verifico se vita è OK...
|
||||
IF (@DiesPriceLife = 0)
|
||||
BEGIN
|
||||
SET @DiesPriceLife = 1
|
||||
SET @valid = 0
|
||||
END
|
||||
|
||||
-- inserisco costi per Matrice: costo e durata da matrice, se non ci sono da gruppo, (anche solo uno dei due, ovviamente più facile trovare durata x matrice...)
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota, valid)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, 'MATRICE', @RawMat, @BatchQty, @DiesPriceLife * @BatchQty, 1, @valid
|
||||
|
||||
|
||||
-- inserisco parametri calcolati x matrice
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'DiesPrice', @DiesPrice
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'DiesExpLife', @DiesExpLife
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', 'DiesEOLife', @DiesEOLife
|
||||
|
||||
/*************************************************************
|
||||
* VENDITA ROTTAME
|
||||
*
|
||||
* calcolo COSTO DI VENDITA PER LE 2 FASI ESTRUSIONE 01 ED IMBALLO 04
|
||||
* - calcolo costi variabili fase 01 / 04
|
||||
* - calcolo costo di vendita x fase 01 / 04
|
||||
*************************************************************/
|
||||
|
||||
SELECT @OCF01 = SUM(ISNULL(C4UG,0))
|
||||
FROM #QuoteOC WITH (NOLOCK)
|
||||
|
||||
SELECT @VCF01 = @OCF01 + VC4UG
|
||||
FROM #QuoteWorkInt
|
||||
WHERE ProcessNum = '01'
|
||||
|
||||
SELECT @VCF04 = @OCF01 + SUM(VC4UG)
|
||||
FROM #QuoteWorkInt
|
||||
|
||||
SELECT @SellCostF01 = ((@MAC_ST * @MAC_SC * @MAC_IN) - 1) * (q.RawMatCost + q.RawMatExtraCost - CASE WHEN SSVA > 0 THEN SSVA ELSE q.RawMatCost * SSVR END + @VCF01) -- ((prodotto delle MAC = inverso del prodotto delle rese) - 1) * (costo Al - prezzo rivendita + costi var fase 01)
|
||||
, @RefCostF01 = -- ( (A - B) / 100 - C )
|
||||
(
|
||||
-- (A) = (costo pieno di acquisto + costi fase 1) * MAC * 100 (IN CENTESIMI)
|
||||
((q.RawMatCost + q.RawMatExtraCost + @VCF01) * (@MAC_ST * @MAC_SC * @MAC_IN * 100))
|
||||
-- (B) = ((MAC * 100) - 100) * Resa di fonderia * (costo pieno acquisto - costo di trasformazione))
|
||||
- ((@MAC_ST * @MAC_SC * @MAC_IN * 100) - 100) * rmd.ProcYield * (q.RawMatCost + q.RawMatExtraCost + @VCF01 - rmd.ProcCost)
|
||||
) / 100 -- divido per 100 finale
|
||||
-- (C) = sottraggo costo pieno alluminio
|
||||
- (q.RawMatCost + q.RawMatExtraCost + @VCF01)
|
||||
FROM dbo.RawMatDet rmd
|
||||
INNER JOIN dbo.QuoteRM q ON q.RawMat = rmd.RawMat
|
||||
WHERE q.QuoteType = @QuoteType
|
||||
AND q.CodQuote = @CodQuote
|
||||
AND q.QuoteRev = @QuoteRev
|
||||
AND q.RawMat = @RawMat
|
||||
|
||||
SELECT @SellCostF04 = ((@MAC_IM) - 1) * (q.RawMatCost + q.RawMatExtraCost - CASE WHEN SSVA > 0 THEN SSVA ELSE q.RawMatCost * SSVR END + @VCF01 + @VCF04) -- ((prodotto delle MAC = inverso del prodotto delle rese) - 1) * (costo Al - prezzo rivendita + costi var fase 04)
|
||||
, @RefCostF04 = -- ( (A - B) / 100 - C )
|
||||
(
|
||||
-- (A) = (costo pieno di acquisto + costi variabili fase 1 e 4) * MAC * 100 (IN CENTESIMI)
|
||||
((q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04) * (@MAC_IM * 100))
|
||||
-- (B) = ((MAC * 100) - 100) * Resa di fonderia * (costo pieno acquisto - costo di trasformazione))
|
||||
- ((@MAC_IM * 100) - 100) * rmd.ProcYield * (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04 - rmd.ProcCost)
|
||||
) / 100 -- divido per 100 finale
|
||||
-- (C) = sottraggo costo pieno alluminio
|
||||
- (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04)
|
||||
|
||||
-- NOTA: usiamo (q.RawMatCost + q.RawMatExtraCost + @VCF01) e non (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @RefCostF01) perché la differenza è minimale, si tratta di 10/20 PPM...
|
||||
|
||||
FROM RawMatDet rmd INNER JOIN QuoteRM q ON q.RawMat = rmd.RawMat
|
||||
WHERE q.QuoteType = @QuoteType
|
||||
AND q.CodQuote = @CodQuote
|
||||
AND q.QuoteRev = @QuoteRev
|
||||
AND q.RawMat = @RawMat
|
||||
|
||||
-- inserisco costi per VENDITA
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, 'VENDITA', @RawMat, @BatchQty, @SellCostF01 * @BatchQty, @SSR
|
||||
|
||||
-- inserisco costi per ROTTAME
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '01', @CodPlant, 'ROTTAME', @RawMat, @BatchQty, @RefCostF01 * @BatchQty, 1 - @SSR
|
||||
|
||||
-- inserisco costi per VENDITA
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'VENDITA', @RawMat, @BatchQty, @SellCostF04 * @BatchQty, @SSR
|
||||
|
||||
-- inserisco costi per ROTTAME
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'ROTTAME', @RawMat, @BatchQty, @RefCostF04 * @BatchQty, 1 - @SSR
|
||||
|
||||
EXEC stp_packageCost @CodItem, @CodClient, @CodPackag, @PDesc=@PkgDesc OUTPUT, @RMWeight=@PRMWeight OUTPUT, @Weight=@PWeight OUTPUT, @Tare=@PTare OUTPUT, @PackCost=@PCost OUTPUT, @TareStRat=@PTareStRatio OUTPUT
|
||||
|
||||
-- inserisco costi per IMBALLO
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'IMBALLO', @RawMat, @BatchQty, @PCost * @BatchQty, 1
|
||||
|
||||
|
||||
-- inserisco parametri calcolati x imballaggio
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'PkgDesc', @PkgDesc
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'PRMWeight', @PRMWeight
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'PWeight', @PWeight
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'PTare', @PTare
|
||||
|
||||
INSERT INTO #QuoteParam(QuoteType, CodQuote, QuoteRev, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', 'TareStRatio', @PTareStRatio
|
||||
|
||||
|
||||
---------------------------------------------
|
||||
-- inserisco costi per TRASPORTI
|
||||
---------------------------------------------
|
||||
-- recupero zona da cliente...
|
||||
SELECT @TranspZone = TranspZone
|
||||
FROM dbo.ClientDet
|
||||
WHERE CodClient = @CodClient
|
||||
|
||||
-- recupero tipo di trasporto
|
||||
SELECT @HasTC = ISNULL(i.HasTC, 0)
|
||||
FROM dbo.QuoteList q INNER JOIN Incoterms i ON q.CodInco = i.CodInco
|
||||
WHERE q.QuoteType = @QuoteType
|
||||
AND q.CodQuote = @CodQuote
|
||||
AND q.QuoteRev = @QuoteRev
|
||||
|
||||
-- recupero costi trasporto
|
||||
SELECT @TranspCost = TranspCost
|
||||
FROM dbo.TranspCostDet
|
||||
WHERE TranspZone = @TranspZone
|
||||
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'TRASPORTI', @RawMat, @BatchQty, @HasTC * @TranspCost * @BatchQty, 1
|
||||
|
||||
|
||||
---------------------------------------------
|
||||
-- inserisco costi per PROVVIGIONI
|
||||
---------------------------------------------
|
||||
SELECT @Provvig = ISNULL(a.QuotaProvvAg, 0)
|
||||
FROM dbo.AgentsDet a
|
||||
INNER JOIN ClientDet c ON a.CodAg = c.CodAg
|
||||
INNER JOIN QuoteList q ON q.CodClient = c.CodClient
|
||||
WHERE q.QuoteType = @QuoteType
|
||||
AND q.CodQuote = @CodQuote
|
||||
AND q.QuoteRev = @QuoteRev
|
||||
|
||||
-- inserisco costi per PROVVIGIONI
|
||||
INSERT INTO #QuoteOC(QuoteType, CodQuote, QuoteRev, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, '04', @CodPlant, 'PROVVIGIONI', @RawMat, @BatchQty, @Provvig * @BatchQty, 1
|
||||
|
||||
/* ==================================================
|
||||
CANCELLO E CARICO TABELLE EFFETTIVE
|
||||
==================================================*/
|
||||
|
||||
-- elimino e carico parametri!
|
||||
DELETE FROM dbo.QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
INSERT dbo.QuoteParam
|
||||
SELECT * FROM #QuoteParam WITH (NOLOCK)
|
||||
|
||||
-- elimino e carico lavorazioni interne!
|
||||
DELETE FROM dbo.QuoteWorkInt
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
INSERT dbo.QuoteWorkInt -- ci sono valori calcolati quindi devo selezionare i campi
|
||||
SELECT QuoteType, CodQuote, QuoteRev, NumWI, ProcessNum, CodPlant, Class01, Class02, Class03, Class04, Class05
|
||||
, NetProd, WSR, MSR, DSR, FC4UG, VC4UG, OH4UG, SC4UG, valid
|
||||
FROM #QuoteWorkInt WITH (NOLOCK)
|
||||
|
||||
-- elimino e carico OtherCosts
|
||||
DELETE FROM dbo.QuoteOC
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
INSERT dbo.QuoteOC -- ci sono valori calcolati quindi devo selezionare i campi
|
||||
SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, Class03, Class04
|
||||
, Class05, TotQty, TotCost, Quota, valid
|
||||
FROM #QuoteOC WITH (NOLOCK)
|
||||
|
||||
|
||||
COMMIT TRAN
|
||||
|
||||
--SELECT * FROM #QuoteParam
|
||||
--SELECT * FROM #QuoteWorkInt
|
||||
--SELECT * FROM #QuoteOC
|
||||
|
||||
-- elimino temp table...
|
||||
IF OBJECT_ID('tempdb..#QuoteParam') IS NOT NULL
|
||||
DROP TABLE #QuoteParam
|
||||
IF OBJECT_ID('tempdb..#QuoteWorkInt') IS NOT NULL
|
||||
DROP TABLE #QuoteWorkInt
|
||||
IF OBJECT_ID('tempdb..#QuoteOC') IS NOT NULL
|
||||
DROP TABLE #QuoteOC
|
||||
|
||||
END
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,747 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.12.13
|
||||
-- Description: aggiorna tabella QuoteList con i dati selezionati dalla TabProdSc
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[stp_QL_update_SAM]
|
||||
(
|
||||
@QuoteType CHAR(1) = 'Q',
|
||||
@CodQuote BIGINT = 0,
|
||||
@QuoteRev INT = 0
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
SET XACT_ABORT ON;
|
||||
|
||||
BEGIN TRAN
|
||||
|
||||
-- dichiaro valori da recuperare
|
||||
DECLARE @cont INT = 0 -- contatore x numeri consecutivi...
|
||||
DECLARE @strTemp NVARCHAR(50) = '' --stringa temporanea x variabili "locali"
|
||||
|
||||
DECLARE @valid BIT
|
||||
DECLARE @CodDiesGroup NVARCHAR(50)
|
||||
DECLARE @CodPlant NVARCHAR(50)
|
||||
DECLARE @CodPlantFix NVARCHAR(50) = ''
|
||||
DECLARE @HoleNum INT
|
||||
DECLARE @CodItem NVARCHAR(50) = '' --cod item
|
||||
DECLARE @ItemDescr NVARCHAR(50) = '' -- descrizione item
|
||||
DECLARE @KeyAM NVARCHAR(50) = ''
|
||||
DECLARE @KeyAMI NVARCHAR(50) = ''
|
||||
DECLARE @KeyAMIL NVARCHAR(50) = ''
|
||||
DECLARE @NumSMED INT = 0 -- numero cambi
|
||||
DECLARE @KgTeo DECIMAL(18, 6) = 0 -- kg totali
|
||||
DECLARE @RawMat NVARCHAR(50)
|
||||
DECLARE @ProdTeo DECIMAL(18,6)
|
||||
DECLARE @ScTec DECIMAL(18,6)
|
||||
DECLARE @BatchQty INT
|
||||
DECLARE @MAC_SC DECIMAL(18,6) -- Messa a cento scarto cesoia
|
||||
DECLARE @MAC_ST DECIMAL(18,6) -- Messa a cento scarto tecnico
|
||||
DECLARE @MAC_IN DECIMAL(18,6) -- Messa a cento difettosità all'incestatura
|
||||
DECLARE @MAC_IM DECIMAL(18,6) -- Messa a cento difettosità all'imballo
|
||||
DECLARE @SSR DECIMAL(9,6) -- percentuale vendita rottame
|
||||
DECLARE @DiesPrice DECIMAL(9,3) -- prezzo matrice
|
||||
DECLARE @DiesEOLife DECIMAL(9,2) -- durata matrice
|
||||
DECLARE @DiesExpLife DECIMAL(9,2) -- durata matrice
|
||||
DECLARE @DiesPriceLife DECIMAL(18,6) -- Price/Life matrice
|
||||
DECLARE @OCF01 DECIMAL(18,6) = 0 -- altri costi di fase 01
|
||||
DECLARE @VCF01 DECIMAL(18,6) = 0 -- costi variabili di fase 01
|
||||
DECLARE @VCF04 DECIMAL(18,6) = 0 -- costi variabili di fase 04
|
||||
DECLARE @SellCostF01 DECIMAL(18,6) = 0 -- costo vendita fase 01
|
||||
DECLARE @SellCostF04 DECIMAL(18,6) = 0 -- costo vendita fase 04
|
||||
DECLARE @RefCostF01 DECIMAL(18,6) = 0 -- costo rifusione fase 01
|
||||
DECLARE @RefCostF04 DECIMAL(18,6) = 0 -- costo rifusione fase 04
|
||||
-- IMBALLO
|
||||
DECLARE @CodPackag NVARCHAR(50) = '0' -- codice dell'imballo
|
||||
DECLARE @CodClient NVARCHAR(50) = '' -- codice cliente
|
||||
DECLARE @NumImb DECIMAL(9,6) = 0 -- num imballatori
|
||||
DECLARE @PkgDesc NVARCHAR(50) = '' -- descrizione imballo
|
||||
DECLARE @PRMWeight DECIMAL(9,4) = 0 -- peso dell'imballo
|
||||
DECLARE @PWeight DECIMAL(9,4) = 0 -- peso del pacco
|
||||
DECLARE @PTare DECIMAL(9,4) = 0 -- media delal tara di imballo dichiarata
|
||||
DECLARE @PCost DECIMAL(9,6) = 0 -- costo unitario dell'imballo (al kg)
|
||||
DECLARE @PTareStRatio DECIMAL(9,4) = 0 -- coefficiente di recupero tara/prodotto
|
||||
|
||||
-- TRASPORTI
|
||||
DECLARE @TranspZone NVARCHAR(50) = '', -- codice ZONA
|
||||
@TranspCost DECIMAL(9,6), -- costo di trasporto
|
||||
@HasTC INT
|
||||
|
||||
-- PROVVIGIONI
|
||||
DECLARE @Provvig DECIMAL(9,6) -- provvigione agente
|
||||
|
||||
|
||||
-- default: validità è true!
|
||||
SET @valid = 1
|
||||
|
||||
|
||||
---------------------------------------
|
||||
-- svuotamento iniziale
|
||||
---------------------------------------
|
||||
-- elimino parametri!
|
||||
DELETE
|
||||
FROM dbo.QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- elimino lavorazioni interne!
|
||||
DELETE
|
||||
FROM dbo.QuoteWorkInt
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- elimino preventivamente OtherCosts già inseriti!
|
||||
DELETE
|
||||
FROM dbo.QuoteOC
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- elimino lavorazioni esterne!
|
||||
DELETE
|
||||
FROM dbo.QuoteWorkExt
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- se ci sono eccezioni nella tab dell'anagrafico articoli imposto il codPlant desiderato
|
||||
SET @CodPlantFix = ISNULL ( ( SELECT id.CodPlant FROM dbo.ItemDet id INNER JOIN dbo.QuoteList ql ON id.CodItem = ql.CodItem
|
||||
WHERE ql.QuoteType = @QuoteType
|
||||
AND ql.CodQuote = @CodQuote
|
||||
AND ql.QuoteRev = @QuoteRev ), '' )
|
||||
|
||||
-- recupero da dati dell'offerta il valore del cliente
|
||||
SELECT @CodClient = CodClient
|
||||
FROM dbo.QuoteList
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
|
||||
-- recupero da dati dell'offerta il valore del package scelto
|
||||
SELECT @CodPackag = CodPackag
|
||||
FROM dbo.QuoteRM
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- recupero dati!!
|
||||
SELECT TOP 1 @CodItem = ql.CodItem
|
||||
, @CodDiesGroup = tps.CodDiesGroup
|
||||
, @CodPlant = CASE WHEN @CodPlantFix <> '' THEN @CodPlantFix ELSE tps.CodPlant END
|
||||
, @HoleNum = tps.HoleNum
|
||||
, @KeyAM = ql.KeyAM
|
||||
, @KeyAMI = ql.KeyAM + '-' + ISNULL(@CodPlant,'0000')
|
||||
, @KeyAMIL = ql.KeyAM + '-' + ISNULL(@CodPlant,'0000') + '-' + CAST(ISNULL(tps.HoleNum,0) AS NVARCHAR(10))
|
||||
, @ProdTeo = tps.ProdTeo
|
||||
, @ScTec = tps.ScTec
|
||||
, @KgTeo = tps.KgTeo
|
||||
, @NumSMED = tps.NumSMED
|
||||
, @RawMat = ql.RawMat
|
||||
, @BatchQty = ql.BatchQty
|
||||
, @ItemDescr= i.ItemDescr
|
||||
FROM dbo.QuoteList ql
|
||||
INNER JOIN dbo.TabProdSc tps ON ql.KeyAM = tps.KeyAM
|
||||
INNER JOIN dbo.ItemDet i ON ql.CodItem = i.CodItem
|
||||
WHERE ql.QuoteType = @QuoteType
|
||||
AND ql.CodQuote = @CodQuote
|
||||
AND ql.QuoteRev = @QuoteRev
|
||||
ORDER BY tps.KgTeo DESC
|
||||
|
||||
|
||||
-- inserisco note sull'articolo
|
||||
SELECT @cont = ISNULL(MAX(NumP),0) + 1
|
||||
FROM dbo.QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
INSERT INTO dbo.QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
VALUES (@QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'ItemDescr', @ItemDescr)
|
||||
|
||||
SELECT @cont = @cont + 1
|
||||
INSERT INTO dbo.QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'CodifProfilo', Class01
|
||||
FROM dbo.ItemDet
|
||||
WHERE CodItem = @CodItem
|
||||
|
||||
SELECT @cont = @cont + 1
|
||||
INSERT INTO dbo.QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'ClasseMerc', Class02
|
||||
FROM dbo.ItemDet
|
||||
WHERE CodItem = @CodItem
|
||||
|
||||
SELECT @cont = @cont + 1
|
||||
INSERT INTO dbo.QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'ClienteAssoc', Class03
|
||||
FROM dbo.ItemDet
|
||||
WHERE CodItem = @CodItem
|
||||
|
||||
-- INFORMAZIONI su MATRICE
|
||||
SELECT @cont = @cont + 1
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
VALUES (@QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'CodDiesGroup', @CodDiesGroup)
|
||||
|
||||
SELECT @cont = @cont + 1
|
||||
SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 1) --@strTemp = SUBSTRING(@CodDiesGroup, 0, CHARINDEX('-', @CodDiesGroup)) -- !!!fare con finc Gian
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
VALUES (@QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'TipoDies', @strTemp)
|
||||
|
||||
SELECT @cont = @cont + 1
|
||||
SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 2) --@strTemp = SUBSTRING(REPLACE(@CodDiesGroup, @strTemp,''), 2, CHARINDEX('-', @CodDiesGroup)) -- !!!fare con finc Gian
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
VALUES (@QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'DiamDies', @strTemp)
|
||||
|
||||
SELECT @cont = @cont + 1
|
||||
SET @strTemp = dbo.f_getSubstring(@CodDiesGroup, '-', 3) --@strTemp = SUBSTRING(REPLACE(@CodDiesGroup, @strTemp,''), 5, CHARINDEX('-', @CodDiesGroup)) -- !!!fare con finc Gian
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
VALUES (@QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'HoleNumDies', @strTemp)
|
||||
|
||||
SELECT @cont = @cont + 1
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'NumDiesInList', COUNT(CodDies)
|
||||
FROM dbo.DiesDet
|
||||
WHERE CodDiesGroup = @CodDiesGroup AND CodItem = @CodItem
|
||||
|
||||
SELECT @cont = @cont + 1
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'NumDiesExaust', COUNT(CodDies)
|
||||
FROM dbo.DiesDet
|
||||
WHERE CodDiesGroup = @CodDiesGroup AND Active = 0
|
||||
|
||||
|
||||
-- inserisco lavorazione estrusione!
|
||||
INSERT INTO dbo.QuoteWorkInt(QuoteType, CodQuote, QuoteRev, NumWI, ProcessNum, CodPlant, Class01, Class02, Class03, NetProd, WSR)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumWI),0) + 1, '01', @CodPlant, @KeyAM, @KeyAMIL, @RawMat, @ProdTeo, @ScTec
|
||||
FROM QuoteWorkInt
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
|
||||
-- inserisco parametri calcolati x lavorazione estruzione
|
||||
INSERT INTO dbo.QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '01', 'CodPlant', @CodPlant
|
||||
FROM dbo.QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '01', 'KeyAM', @KeyAM
|
||||
FROM QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '01', 'KeyAMIL', @KeyAMIL
|
||||
FROM QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '01', 'NumCambi', @NumSMED
|
||||
FROM QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '01', 'KgTeo', @KgTeo
|
||||
FROM QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '01', 'HoleNum', @HoleNum
|
||||
FROM QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
SELECT @cont = ISNULL(MAX(NumP),0) + 1
|
||||
FROM QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'KgProdotti', SUM(KgTeo)
|
||||
FROM QuoteList ql
|
||||
INNER JOIN TabProdSc tps ON ql.KeyAM = tps.KeyAM
|
||||
WHERE ql.QuoteType = @QuoteType
|
||||
AND ql.CodQuote = @CodQuote
|
||||
AND ql.QuoteRev = @QuoteRev
|
||||
|
||||
--SELECT @cont = @cont + 1
|
||||
--INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
--SELECT @QuoteType, @CodQuote, @QuoteRev, @cont, '01', 'NumLotti', COUNT(*)
|
||||
--FROM QuoteList ql INNER JOIN TabProdSc tps ON ql.KeyAM = tps.KeyAM
|
||||
--WHERE ql.QuoteType = @QuoteType
|
||||
-- AND ql.CodQuote = @CodQuote
|
||||
-- AND ql.QuoteRev = @QuoteRev
|
||||
|
||||
-- inserisco dati mancanti di MSR/CSR (scarto cesoia x estrusione) - DSR è NULLO x estrusione!
|
||||
UPDATE qwi
|
||||
SET MSR = rmd.CSR
|
||||
FROM dbo.QuoteWorkInt qwi
|
||||
INNER JOIN RawMatDet rmd ON qwi.Class03 = rmd.RawMat
|
||||
WHERE qwi.QuoteType = @QuoteType
|
||||
AND qwi.CodQuote = @CodQuote
|
||||
AND qwi.QuoteRev = @QuoteRev
|
||||
|
||||
-- calcolo i costi legati alla fase estrusione!
|
||||
UPDATE qwi
|
||||
SET FC4UG = (cp.FC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd
|
||||
, VC4UG = (cp.VC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd
|
||||
, OH4UG = (cp.OH * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd
|
||||
, SC4UG = cp.SC / ql.BatchQty
|
||||
FROM dbo.QuoteWorkInt qwi
|
||||
INNER JOIN Cost2Plant cp ON qwi.CodPlant = cp.CodPlant AND qwi.ProcessNum = cp.ProcessNum
|
||||
INNER JOIN QuoteList ql ON qwi.QuoteType = ql.QuoteType AND qwi.CodQuote = ql.CodQuote AND qwi.QuoteRev = ql.QuoteRev
|
||||
WHERE qwi.QuoteType = @QuoteType
|
||||
AND qwi.CodQuote = @CodQuote
|
||||
AND qwi.QuoteRev = @QuoteRev
|
||||
|
||||
-- inserisco lavorazione incestatura!
|
||||
INSERT INTO QuoteWorkInt(QuoteType, CodQuote, QuoteRev, NumWI, ProcessNum, CodPlant, Class01, Class02, Class03)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumWI),0) + 1, '02', @CodPlant, @KeyAM, @KeyAMI, @RawMat
|
||||
FROM dbo.QuoteWorkInt
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
|
||||
-- inserisco dati mancanti di DSR x incestatura come 1 - OUT/IN
|
||||
UPDATE qwi
|
||||
SET DSR = 1 - CAST(td.TotOUT AS DECIMAL(18,6))/CAST(td.TotIN AS DECIMAL(18,6))
|
||||
FROM dbo.QuoteWorkInt qwi
|
||||
INNER JOIN dbo.TabDifett td ON qwi.Class02 = td.KeyAMI AND qwi.ProcessNum = td.ProcessNum
|
||||
WHERE qwi.ProcessNum = '02' -- solo incestatura
|
||||
|
||||
-- inserisco lavorazione FORNO!
|
||||
INSERT INTO dbo.QuoteWorkInt(QuoteType, CodQuote, QuoteRev, NumWI, ProcessNum, CodPlant, Class01, Class02, Class03)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumWI),0) + 1, '03', @CodPlant, @KeyAM, @KeyAMI, @RawMat
|
||||
FROM dbo.QuoteWorkInt
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- inserisco lavorazione imballo!
|
||||
INSERT INTO dbo.QuoteWorkInt(QuoteType, CodQuote, QuoteRev, NumWI, ProcessNum, CodPlant, Class01, Class02, Class03, Class04, Class05)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumWI),0) + 1, '04', @CodPlant, @KeyAM, @KeyAMIL, @RawMat, @CodItem, @KeyAMI
|
||||
FROM dbo.QuoteWorkInt
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- calcolo produttività netta nella fase imballo
|
||||
UPDATE qwi
|
||||
SET NetProd = ti.TotOut/ ti.Durata
|
||||
FROM dbo.QuoteWorkInt qwi
|
||||
INNER JOIN TabImbArt ti ON qwi.Class04 = ti.KeyA
|
||||
|
||||
-- salvo numero imballatori
|
||||
SELECT @NumImb = ISNULL(NumImb,0)
|
||||
FROM TabImbArt
|
||||
WHERE KeyA = @CodItem
|
||||
|
||||
-- parametro num imballatori
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '04', 'NumImballatori', @NumImb
|
||||
FROM QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- calcolo i costi legati alla fase di imballo!
|
||||
UPDATE qwi
|
||||
SET FC4UG = (cp.FC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd
|
||||
, VC4UG = (cp.VC * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd
|
||||
, OH4UG = (cp.OH * cp.QuotaPlantStd / cp.QuotaManStd) / qwi.NetProd
|
||||
, SC4UG = cp.SC / ql.BatchQty
|
||||
FROM dbo.QuoteWorkInt qwi
|
||||
INNER JOIN Cost2Plant cp ON qwi.CodPlant = cp.CodPlant AND qwi.ProcessNum = cp.ProcessNum
|
||||
INNER JOIN QuoteList ql ON qwi.QuoteType = ql.QuoteType AND qwi.CodQuote = ql.CodQuote AND qwi.QuoteRev = ql.QuoteRev
|
||||
WHERE qwi.ProcessNum = '04' -- solo imballo
|
||||
|
||||
|
||||
-- inserisco dati mancanti di DSR x incestatura come 1 - OUT/IN
|
||||
UPDATE qwi
|
||||
SET DSR = 1 - CAST(td.TotOUT AS DECIMAL(18,6))/CAST(td.TotIN AS DECIMAL(18,6))
|
||||
FROM dbo.QuoteWorkInt qwi
|
||||
INNER JOIN TabDifett td ON qwi.Class05 = td.KeyAMI AND qwi.ProcessNum = td.ProcessNum
|
||||
WHERE qwi.ProcessNum = '04' -- solo imballo
|
||||
|
||||
|
||||
-- recupero le MAC fase 01
|
||||
SELECT
|
||||
@MAC_SC = MCR
|
||||
,@MAC_ST = WCR
|
||||
FROM dbo.QuoteWorkInt
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
AND ProcessNum = '01'
|
||||
|
||||
-- recupero le MAC fase 02
|
||||
SELECT
|
||||
@MAC_IN = DCR
|
||||
FROM dbo.QuoteWorkInt
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
AND ProcessNum = '02'
|
||||
|
||||
-- recupero le MAC fase 04
|
||||
SELECT
|
||||
@MAC_IM = DCR
|
||||
FROM dbo.QuoteWorkInt
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
AND ProcessNum = '04'
|
||||
|
||||
-- calcolo percentuale vendita rottame
|
||||
SELECT @SSR = SSR
|
||||
FROM dbo.RawMatDet
|
||||
WHERE RawMat = @RawMat
|
||||
|
||||
-- update rese RawMat!
|
||||
UPDATE dbo.QuoteRM
|
||||
SET FCR = @MAC_SC * @MAC_ST * @MAC_IN * @MAC_IM
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
AND RawMat = @RawMat
|
||||
|
||||
|
||||
|
||||
|
||||
-- inserisco i costi delle utilities in QuoteOC
|
||||
|
||||
-- inserisco altri costi x lavorazione estrusione! GAS ed EE
|
||||
INSERT INTO dbo.QuoteOC(QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ROW_NUMBER() OVER(ORDER BY CodUtil ASC) AS Row, '01', @CodPlant, CodUtil, @RawMat, @BatchQty, UnitCost * @BatchQty, 1
|
||||
FROM dbo.Utilities
|
||||
WHERE CodPlant = @CodPlant
|
||||
|
||||
|
||||
/*************************************************************
|
||||
* MATRICE
|
||||
*
|
||||
* calcolo prezzo e durata matrice con procedura a 5 step...
|
||||
* A) media ponderata prezzo ed ExpLife da DiesDet selezionando x CodItem + CodDiesGroup
|
||||
* B) EOLLife x media ponderata su DiesDet dove Active = 0
|
||||
* C) SE prezzo = 0 --> prendo prezzo da DiesGroupDet selezionando x CodDiesGroup
|
||||
* D) Se EOL = 0 --> prendo ExpLife della singola matrice, se è 0 --> prendo EOLLife da DiesGroupDet selezionando x CodDiesGroup
|
||||
* E) Calcolo Price / Life
|
||||
*
|
||||
*************************************************************/
|
||||
|
||||
-- (A) da DiesDet
|
||||
SELECT @DiesPrice = SUM(ISNULL(Price, 0) * ISNULL(ActLife, 1)) / SUM(ISNULL(ActLife, 1)),
|
||||
@DiesExpLife = SUM(ISNULL(ExpLife, 0) * ISNULL(ActLife, 1)) / SUM(ISNULL(ActLife, 1))
|
||||
FROM dbo.DiesDet
|
||||
WHERE CodItem = @CodItem
|
||||
AND CodDiesGroup = @CodDiesGroup
|
||||
GROUP BY CodItem, CodDiesGroup
|
||||
|
||||
-- (B) da DiesDet
|
||||
SELECT @DiesEOLife = AVG(ISNULL(ActLife, 0))
|
||||
FROM dbo.DiesDet
|
||||
WHERE CodItem = @CodItem
|
||||
AND CodDiesGroup = @CodDiesGroup
|
||||
AND Active = 0
|
||||
GROUP BY CodItem, CodDiesGroup
|
||||
|
||||
SET @DiesPrice = ISNULL(@DiesPrice,0)
|
||||
SET @DiesExpLife = ISNULL(@DiesExpLife,0)
|
||||
SET @DiesEOLife = ISNULL(@DiesEOLife,0)
|
||||
|
||||
-- (C) verifico se prezzo è OK...
|
||||
IF (@DiesPrice = 0)
|
||||
BEGIN
|
||||
-- calcolo da DiesGroupDet
|
||||
SELECT @DiesPrice = ISNULL(Price, 0)
|
||||
FROM DiesGroupDet
|
||||
WHERE CodDiesGroup = @CodDiesGroup
|
||||
END
|
||||
|
||||
-- (D) verifico se vita è OK...
|
||||
IF (@DiesEOLife = 0)
|
||||
BEGIN
|
||||
-- uso exp life articolo...
|
||||
SET @DiesEOLife = @DiesExpLife
|
||||
END
|
||||
-- controllo che non sia nulla/vuota la durata...
|
||||
IF (@DiesEOLife = 0)
|
||||
BEGIN
|
||||
SELECT @DiesEOLife = CASE WHEN EOLLife > 0 THEN EOLLife ELSE ExpLife END
|
||||
FROM DiesGroupDet
|
||||
WHERE CodDiesGroup = @CodDiesGroup
|
||||
END
|
||||
|
||||
-- controllo che non sia nulla/vuota la durata...
|
||||
IF (@DiesEOLife = 0)
|
||||
BEGIN
|
||||
SELECT @DiesEOLife = 1 -- metto 1 kg che è sbagliato e mi fa esplodere prezzo matrice ma non blocca calcoli
|
||||
END
|
||||
|
||||
-- (E) Calcolo price/life!
|
||||
SET @DiesPriceLife = @DiesPrice / @DiesEOLife
|
||||
|
||||
-- (D) verifico se vita è OK...
|
||||
IF (@DiesPriceLife = 0)
|
||||
BEGIN
|
||||
SET @DiesPriceLife = 1
|
||||
SET @valid = 0
|
||||
END
|
||||
|
||||
-- inserisco costi per Matrice: costo e durata da matrice, se non ci sono da gruppo, (anche solo uno dei due, ovviamente più facile trovare durata x matrice...)
|
||||
INSERT INTO QuoteOC(QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota, valid)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumEx),0) + 1, '01', @CodPlant, 'MATRICE', @RawMat, @BatchQty, @DiesPriceLife * @BatchQty, 1, @valid
|
||||
FROM QuoteOC
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
|
||||
-- inserisco parametri calcolati x matrice
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '01', 'DiesPrice', @DiesPrice
|
||||
FROM QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '01', 'DiesExpLife', @DiesExpLife
|
||||
FROM QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '01', 'DiesEOLife', @DiesEOLife
|
||||
FROM QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
/*************************************************************
|
||||
* VENDITA ROTTAME
|
||||
*
|
||||
* calcolo COSTO DI VENDITA PER LE 2 FASI ESTRUSIONE 01 ED IMBALLO 04
|
||||
* - calcolo costi variabili fase 01 / 04
|
||||
* - calcolo costo di vendita x fase 01 / 04
|
||||
*************************************************************/
|
||||
|
||||
SELECT @OCF01 = SUM(ISNULL(C4UG,0))
|
||||
FROM QuoteOC
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
SELECT @VCF01 = @OCF01 + VC4UG
|
||||
FROM QuoteWorkInt
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
AND ProcessNum = '01'
|
||||
|
||||
SELECT @VCF04 = @OCF01 + SUM(VC4UG)
|
||||
FROM dbo.QuoteWorkInt
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
SELECT @SellCostF01 = ((@MAC_ST * @MAC_SC * @MAC_IN) - 1) * (q.RawMatCost - CASE WHEN SSVA > 0 THEN SSVA ELSE q.RawMatCost * SSVR END + @VCF01) -- ((prodotto delle MAC = inverso del prodotto delle rese) - 1) * (costo Al - prezzo rivendita + costi var fase 01)
|
||||
, @RefCostF01 = -- ( (A - B) / 100 - C )
|
||||
(
|
||||
-- (A) = (costo pieno di acquisto + costi fase 1) * MAC * 100 (IN CENTESIMI)
|
||||
((q.RawMatCost + q.RawMatExtraCost + @VCF01) * (@MAC_ST * @MAC_SC * @MAC_IN * 100))
|
||||
-- (B) = ((MAC * 100) - 100) * Resa di fonderia * (costo pieno acquisto - costo di trasformazione))
|
||||
- ((@MAC_ST * @MAC_SC * @MAC_IN * 100) - 100) * rmd.ProcYield * (q.RawMatCost + q.RawMatExtraCost + @VCF01 - rmd.ProcCost)
|
||||
) / 100 -- divido per 100 finale
|
||||
-- (C) = sottraggo costo pieno alluminio
|
||||
- (q.RawMatCost + q.RawMatExtraCost + @VCF01)
|
||||
FROM dbo.RawMatDet rmd
|
||||
INNER JOIN dbo.QuoteRM q ON q.RawMat = rmd.RawMat
|
||||
WHERE q.QuoteType = @QuoteType
|
||||
AND q.CodQuote = @CodQuote
|
||||
AND q.QuoteRev = @QuoteRev
|
||||
AND q.RawMat = @RawMat
|
||||
|
||||
SELECT @SellCostF04 = ((@MAC_IM) - 1) * (q.RawMatCost - CASE WHEN SSVA > 0 THEN SSVA ELSE q.RawMatCost * SSVR END + @VCF01 + @VCF04) -- ((prodotto delle MAC = inverso del prodotto delle rese) - 1) * (costo Al - prezzo rivendita + costi var fase 04)
|
||||
, @RefCostF04 = -- ( (A - B) / 100 - C )
|
||||
(
|
||||
-- (A) = (costo pieno di acquisto + costi fase 1) * MAC * 100 (IN CENTESIMI)
|
||||
((q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04) * (@MAC_IM * 100))
|
||||
-- (B) = ((MAC * 100) - 100) * Resa di fonderia * (costo pieno acquisto - costo di trasformazione))
|
||||
- ((@MAC_IM * 100) - 100) * rmd.ProcYield * (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04 - rmd.ProcCost)
|
||||
) / 100 -- divido per 100 finale
|
||||
-- (C) = sottraggo costo pieno alluminio
|
||||
- (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @VCF04)
|
||||
|
||||
-- NOTA: usiamo (q.RawMatCost + q.RawMatExtraCost + @VCF01) e non (q.RawMatCost + q.RawMatExtraCost + @VCF01 + @RefCostF01) perché la differenza è minimale, si tratta di 10/20 PPM...
|
||||
|
||||
FROM RawMatDet rmd INNER JOIN QuoteRM q ON q.RawMat = rmd.RawMat
|
||||
WHERE q.QuoteType = @QuoteType
|
||||
AND q.CodQuote = @CodQuote
|
||||
AND q.QuoteRev = @QuoteRev
|
||||
AND q.RawMat = @RawMat
|
||||
|
||||
-- inserisco costi per VENDITA
|
||||
INSERT INTO QuoteOC(QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumEx),0) + 1, '01', @CodPlant, 'VENDITA', @RawMat, @BatchQty, @SellCostF01 * @BatchQty, @SSR
|
||||
FROM QuoteOC
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- inserisco costi per ROTTAME
|
||||
INSERT INTO QuoteOC(QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumEx),0) + 1, '01', @CodPlant, 'ROTTAME', @RawMat, @BatchQty, @RefCostF01 * @BatchQty, 1 - @SSR
|
||||
FROM QuoteOC
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- inserisco costi per VENDITA
|
||||
INSERT INTO QuoteOC(QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumEx),0) + 1, '04', @CodPlant, 'VENDITA', @RawMat, @BatchQty, @SellCostF04 * @BatchQty, @SSR
|
||||
FROM QuoteOC
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- inserisco costi per ROTTAME
|
||||
INSERT INTO QuoteOC(QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumEx),0) + 1, '04', @CodPlant, 'ROTTAME', @RawMat, @BatchQty, @RefCostF04 * @BatchQty, 1 - @SSR
|
||||
FROM dbo.QuoteOC
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
|
||||
EXEC stp_packageCost @CodItem, @CodClient, @CodPackag, @PDesc=@PkgDesc OUTPUT, @RMWeight=@PRMWeight OUTPUT, @Weight=@PWeight OUTPUT, @Tare=@PTare OUTPUT, @PackCost=@PCost OUTPUT, @TareStRat=@PTareStRatio OUTPUT
|
||||
|
||||
-- inserisco costi per IMBALLO
|
||||
INSERT INTO QuoteOC(QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumEx),0) + 1, '04', @CodPlant, 'IMBALLO', @RawMat, @BatchQty, @PCost * @BatchQty, 1
|
||||
FROM dbo.QuoteOC
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
-- inserisco parametri calcolati x imballaggio
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '04', 'PkgDesc', @PkgDesc
|
||||
FROM QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '04', 'RMWeight', @PRMWeight
|
||||
FROM QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '04', 'PWeight', @PWeight
|
||||
FROM QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '04', 'PTare', @PTare
|
||||
FROM QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
INSERT INTO QuoteParam(QuoteType, CodQuote, QuoteRev, NumP, ProcessNum, Descr, Parameter)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumP),0) + 1, '04', 'TareStRatio', @PTareStRatio
|
||||
FROM QuoteParam
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
|
||||
---------------------------------------------
|
||||
-- inserisco costi per TRASPORTI
|
||||
---------------------------------------------
|
||||
-- recupero zona da cliente...
|
||||
SELECT @TranspZone = TranspZone
|
||||
FROM dbo.ClientDet
|
||||
WHERE CodClient = @CodClient
|
||||
|
||||
-- recupero tipo di trasporto
|
||||
SELECT @HasTC = ISNULL(i.HasTC, 0)
|
||||
FROM QuoteList q INNER JOIN Incoterms i ON q.CodInco = i.CodInco
|
||||
WHERE q.QuoteType = @QuoteType
|
||||
AND q.CodQuote = @CodQuote
|
||||
AND q.QuoteRev = @QuoteRev
|
||||
|
||||
-- recupero costi trasporto
|
||||
SELECT @TranspCost = TranspCost
|
||||
FROM dbo.TranspCostDet
|
||||
WHERE TranspZone = @TranspZone
|
||||
|
||||
INSERT INTO QuoteOC(QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumEx),0) + 1, '04', @CodPlant, 'TRASPORTI', @RawMat, @BatchQty, @HasTC * @TranspCost * @BatchQty, 1
|
||||
FROM dbo.QuoteOC
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
|
||||
---------------------------------------------
|
||||
-- inserisco costi per PROVVIGIONI
|
||||
---------------------------------------------
|
||||
SELECT @Provvig = ISNULL(a.QuotaProvvAg, 0)
|
||||
FROM dbo.AgentsDet a
|
||||
INNER JOIN ClientDet c ON a.CodAg = c.CodAg
|
||||
INNER JOIN QuoteList q ON q.CodClient = c.CodClient
|
||||
WHERE q.QuoteType = @QuoteType
|
||||
AND q.CodQuote = @CodQuote
|
||||
AND q.QuoteRev = @QuoteRev
|
||||
|
||||
-- inserisco costi per PROVVIGIONI
|
||||
INSERT INTO QuoteOC(QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Class02, TotQty, TotCost, Quota)
|
||||
SELECT @QuoteType, @CodQuote, @QuoteRev, ISNULL(MAX(NumEx),0) + 1, '04', @CodPlant, 'PROVVIGIONI', @RawMat, @BatchQty, @Provvig * @BatchQty, 1
|
||||
FROM dbo.QuoteOC
|
||||
WHERE QuoteType = @QuoteType
|
||||
AND CodQuote = @CodQuote
|
||||
AND QuoteRev = @QuoteRev
|
||||
|
||||
|
||||
|
||||
COMMIT TRAN
|
||||
|
||||
END
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
-- =============================================
|
||||
-- Author: Steamware
|
||||
-- Create date: 2014.02.07
|
||||
-- Description: update valori tab QuoteList
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[stp_QuoteFull_Q_update] (
|
||||
@Original_QuoteType CHAR(1) = 'Q'
|
||||
,@Original_CodQuote BIGINT = 0
|
||||
,@Original_QuoteRev INT = 0
|
||||
,@PriceOff DECIMAL(9, 6) = 0
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- aggiorno valori!
|
||||
UPDATE QuoteList
|
||||
SET PriceOff = @PriceOff
|
||||
WHERE QuoteType = @Original_QuoteType
|
||||
AND CodQuote = @Original_CodQuote
|
||||
AND QuoteRev = @Original_QuoteRev
|
||||
|
||||
-- update dei valori calcolati!
|
||||
EXEC stp_QL_fullDataUpdate @Original_QuoteType
|
||||
,@Original_CodQuote
|
||||
,@Original_QuoteRev
|
||||
END
|
||||
@@ -0,0 +1,45 @@
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.12.17
|
||||
-- Description: Crea TabDifett (tabella difettosità)
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[stp_TD_upsert]
|
||||
(
|
||||
@dateFrom DATETIME, -- data da cui iniziare a caricare
|
||||
@dateTo DATETIME -- data fino a cui caricare
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
BEGIN TRAN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- svuoto tabella...
|
||||
TRUNCATE TABLE TabDifett
|
||||
|
||||
-- riempio di nuovo valori!
|
||||
INSERT INTO TabDifett
|
||||
SELECT
|
||||
dd.CodItem + '-' + pl.RawMat + '-' + pl.CodPlant as KeyAMI
|
||||
, pl.ProcessNum
|
||||
, dd.CodItem, pl.RawMat, pl.CodPlant
|
||||
, SUM(NumOUT) as TotOUT
|
||||
, SUM(NumIN) as TotIn
|
||||
FROM ProductionLog pl INNER JOIN DiesDet dd ON pl.CodDies=dd.CodDies
|
||||
WHERE pl.ProcessNum IN ('02', '04')
|
||||
AND pl.okDi = 1
|
||||
-- and pl.EventType=1
|
||||
AND pl.EventStart BETWEEN @dateFrom AND @dateTo
|
||||
GROUP BY dd.CodItem, pl.RawMat, pl.CodPlant, pl.ProcessNum
|
||||
ORDER BY dd.CodItem, pl.RawMat, pl.ProcessNum--, SUM(NumOUT) DESC
|
||||
|
||||
-- salvo nuova revisione dati di produzione...
|
||||
INSERT INTO RevHistory
|
||||
SELECT 'P', ISNULL(MAX(RevNum),0) + 1, GETDATE(), 'Aggiornamento dati di produzione x fasi 02/03 ' + CONVERT(NVARCHAR(20), @dateFrom, 120) + ' --> ' +CONVERT(NVARCHAR(20), @dateTo, 120)
|
||||
FROM RevHistory
|
||||
WHERE RevType = 'P'
|
||||
|
||||
COMMIT TRAN
|
||||
|
||||
END
|
||||
@@ -0,0 +1,62 @@
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.12.20
|
||||
-- Description: Crea TabImb (tabella imballi)
|
||||
-- NON SERVE PIU' le due tabelle sono state inglobate in Package2/Item/Client
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[stp_TI_upsert]
|
||||
(
|
||||
@dateFrom DATETIME, -- data da cui iniziare a caricare
|
||||
@dateTo DATETIME -- data fino a cui caricare
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
BEGIN TRAN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- svuoto tabella...
|
||||
TRUNCATE TABLE TabImbArt
|
||||
TRUNCATE TABLE TabImbGrp
|
||||
|
||||
-- riempio di nuovo valori x articolo!
|
||||
INSERT INTO TabImbArt
|
||||
SELECT
|
||||
dd.CodItem as KeyA
|
||||
, ROUND(SUM(QtyOUT* QuotaMan) / CASE WHEN SUM(QtyOUT) = 0 THEN 1 ELSE SUM(QtyOUT) END,0) as NumImb
|
||||
, SUM(QtyOUT) AS TotOut
|
||||
, SUM(Duration) AS Durata
|
||||
FROM ProductionLog pl INNER JOIN DiesDet dd ON pl.CodDies=dd.CodDies
|
||||
WHERE pl.ProcessNum = '04'
|
||||
AND pl.okPr = 1 AND pl.okQM = 1
|
||||
AND pl.EventStart BETWEEN @dateFrom AND @dateTo
|
||||
GROUP BY dd.CodItem
|
||||
ORDER BY dd.CodItem
|
||||
|
||||
|
||||
-- riempio di nuovo valori x gruppo imballo!
|
||||
INSERT INTO TabImbGrp
|
||||
SELECT
|
||||
pl.CodPackag
|
||||
, ROUND(SUM(QtyOUT* QuotaMan) / CASE WHEN SUM(QtyOUT) = 0 THEN 1 ELSE SUM(QtyOUT) END,0) as NumImb
|
||||
, SUM(QtyOUT) AS TotOut
|
||||
, SUM(Duration) AS Durata
|
||||
FROM ProductionLog pl INNER JOIN DiesDet dd ON pl.CodDies=dd.CodDies
|
||||
WHERE pl.ProcessNum = '04'
|
||||
AND pl.okPr = 1 AND pl.okQM = 1
|
||||
AND pl.EventStart BETWEEN @dateFrom AND @dateTo
|
||||
GROUP BY pl.CodPackag
|
||||
ORDER BY pl.CodPackag
|
||||
|
||||
-- salvo nuova revisione dati di produzione...
|
||||
INSERT INTO RevHistory
|
||||
SELECT 'P', ISNULL(MAX(RevNum),0) + 1, GETDATE(), 'Aggiornamento dati di produzione x fase 04 ' + CONVERT(NVARCHAR(20), @dateFrom, 120) + ' --> ' +CONVERT(NVARCHAR(20), @dateTo, 120)
|
||||
FROM RevHistory
|
||||
WHERE RevType = 'P'
|
||||
|
||||
COMMIT TRAN
|
||||
|
||||
END
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.12.13
|
||||
-- Description: Crea TabProdSc (tabella produttività/scarti)
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[stp_TPS_upsert]
|
||||
(
|
||||
@dateFrom DATETIME, -- data da cui iniziare a caricare
|
||||
@dateTo DATETIME -- data fino a cui caricare
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
BEGIN TRAN
|
||||
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- svuoto tabella...
|
||||
TRUNCATE TABLE TabProdSc
|
||||
|
||||
-- riempio di nuovo valori!
|
||||
INSERT INTO TabProdSc
|
||||
SELECT
|
||||
dd.CodItem + '-' + pl.RawMat + '-' + pl.CodPlant + '-' + CAST(dd.HoleNum AS NVARCHAR(19)) as KeyAMIL
|
||||
, dd.CodDiesGroup
|
||||
, dd.CodItem + '-' + pl.RawMat as KeyAM
|
||||
, dd.CodItem, pl.RawMat, pl.CodPlant, dd.HoleNum
|
||||
, 0 as NumSMED -- numero cambi, da sistemare...
|
||||
, SUM(QtyOUT) as KgTeorici
|
||||
, SUM(QtyIN) as KgLordi
|
||||
, SUM(Duration) AS Durata
|
||||
FROM ProductionLog pl INNER JOIN DiesDet dd ON pl.CodDies=dd.CodDies
|
||||
WHERE pl.ProcessNum='01' and pl.EventType=1
|
||||
AND pl.okPr = 1 AND pl.okSc = 1
|
||||
AND pl.EventStart BETWEEN @dateFrom AND @dateTo
|
||||
GROUP BY dd.CodItem, pl.RawMat, dd.CodDiesGroup, pl.CodPlant, dd.HoleNum
|
||||
ORDER BY dd.CodItem, pl.RawMat, dd.CodDiesGroup, SUM(QtyOUT) DESC
|
||||
|
||||
-- calcolo cambi SMED
|
||||
|
||||
-- con cte
|
||||
; WITH cteCambiPre
|
||||
AS
|
||||
(
|
||||
SELECT
|
||||
ROW_NUMBER() OVER(ORDER BY CodPlant, EventStart ASC) AS Row,
|
||||
CodPlant, RawMat, EventStart, ProcessNum, CodDies, CodClient, OrderNum, BatchNum
|
||||
FROM ProductionLog pl
|
||||
WHERE pl.ProcessNum='01' and pl.EventType=1
|
||||
AND pl.okPr = 1 AND pl.okSc = 1
|
||||
AND pl.EventStart BETWEEN @dateFrom AND @dateTo
|
||||
)
|
||||
, cteCambi
|
||||
AS
|
||||
(
|
||||
SELECT dd.CodItem + '-' + a.RawMat + '-' + a.CodPlant + '-' + CAST(dd.HoleNum AS NVARCHAR(19)) as KeyAMIL
|
||||
, dd.CodDiesGroup
|
||||
, a.*
|
||||
--, b.Row
|
||||
--, ISNULL(b.Row, 0) AS Cambio -- se 0 c'è cambio
|
||||
--, CASE ISNULL(b.Row, 0) WHEN 0 THEN 1 ELSE 0 END AS Cambio2
|
||||
, CASE ISNULL(b.Row, 0) WHEN 0 THEN 1 ELSE 0 END AS Cambio2
|
||||
FROM cteCambiPre AS a
|
||||
LEFT JOIN cteCambiPre AS b
|
||||
ON a.Row-1 = b.Row
|
||||
AND a.CodPlant = b.CodPlant AND a.CodDies = b.CodDies
|
||||
INNER JOIN DiesDet dd ON a.CodDies=dd.CodDies
|
||||
WHERE b.Row IS NULL -- se voglio vedere solo i cambi
|
||||
--ORDER BY a.CodPlant, a.EventStart
|
||||
)
|
||||
UPDATE tps
|
||||
SET NumSMED = cc.NumSMED
|
||||
FROM TabProdSc tps
|
||||
INNER JOIN (
|
||||
SELECT KeyAMIL, CodDiesGroup, SUM(Cambio2) as NumSMED
|
||||
FROM cteCambi
|
||||
GROUP BY KeyAMIL, CodDiesGroup
|
||||
--ORDER BY KeyAMIL, CodDiesGroup
|
||||
) AS cc
|
||||
ON tps.KeyAMIL= cc.KeyAMIL AND tps.CodDiesGroup = cc.CodDiesGroup
|
||||
|
||||
|
||||
|
||||
-- -- altro metodo, forse + veloce...
|
||||
-- DROP TABLE test
|
||||
|
||||
-- CREATE TABLE [dbo].[test](
|
||||
-- [Row] [bigint] IDENTITY(1,1) NOT NULL,
|
||||
-- [CodPlant] [nvarchar](50) NOT NULL,
|
||||
-- [EventStart] [datetime] NOT NULL,
|
||||
-- [ProcessNum] [nvarchar](50) NOT NULL,
|
||||
-- [CodDies] [nvarchar](50) NOT NULL,
|
||||
-- [CodClient] [nvarchar](50) NOT NULL,
|
||||
-- [OrderNum] [nvarchar](50) NOT NULL,
|
||||
-- [BatchNum] [nvarchar](50) NOT NULL,
|
||||
-- CONSTRAINT [PK_test] PRIMARY KEY CLUSTERED
|
||||
-- (
|
||||
-- [Row] ASC
|
||||
-- )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
|
||||
-- ) ON [PRIMARY]
|
||||
|
||||
|
||||
-- INSERT INTO TEST
|
||||
-- SELECT CodPlant, EventStart, ProcessNum, CodDies, CodClient, OrderNum, BatchNum
|
||||
-- FROM ProductionLog pl
|
||||
-- WHERE pl.ProcessNum='01' and pl.EventType=1
|
||||
-- ORDER BY CodPlant, EventStart
|
||||
|
||||
---- SELECT * FROM Test
|
||||
|
||||
-- SELECT a.*
|
||||
-- , b.Row
|
||||
-- , ISNULL(b.Row, 0) AS Cambio -- se 0 c'è cambio
|
||||
-- , CASE ISNULL(b.Row, 0) WHEN 0 THEN 1 ELSE 0 END AS Cambio2
|
||||
-- FROM test AS a
|
||||
-- LEFT JOIN test AS b
|
||||
-- ON a.Row - 1 = b.Row -- aggancio record precedente
|
||||
-- AND a.CodPlant = b.CodPlant AND a.CodDies = b.CodDies
|
||||
-- WHERE b.Row IS NULL -- solo i cambi
|
||||
-- ORDER BY a.CodPlant, a.EventStart
|
||||
|
||||
|
||||
|
||||
-- salvo nuova revisione dati di produzione...
|
||||
INSERT INTO RevHistory
|
||||
SELECT 'P', ISNULL(MAX(RevNum),0) + 1, GETDATE(), 'Aggiornamento dati di produzione fase 01 ' + CONVERT(NVARCHAR(20), @dateFrom, 120) + ' --> ' +CONVERT(NVARCHAR(20), @dateTo, 120)
|
||||
FROM RevHistory
|
||||
WHERE RevType = 'P'
|
||||
|
||||
COMMIT TRAN
|
||||
|
||||
END
|
||||
@@ -0,0 +1,18 @@
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2014.02.11
|
||||
-- Description: Ricerca clienti
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].stp_VSCli_SearchLike
|
||||
(
|
||||
@value NVARCHAR(50)
|
||||
)
|
||||
|
||||
AS
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT value
|
||||
,label
|
||||
FROM v_selClient
|
||||
WHERE (value LIKE '%' + @value + '%')
|
||||
OR (label LIKE '%' + @value + '%')
|
||||
@@ -0,0 +1,18 @@
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2014.02.18
|
||||
-- Description: Ricerca items
|
||||
-- =============================================
|
||||
create PROCEDURE [dbo].stp_VSItem_SearchLike
|
||||
(
|
||||
@value NVARCHAR(50)
|
||||
)
|
||||
|
||||
AS
|
||||
SET NOCOUNT ON;
|
||||
|
||||
SELECT value
|
||||
,label
|
||||
FROM v_selItems
|
||||
WHERE (value LIKE '%' + @value + '%')
|
||||
OR (label LIKE '%' + @value + '%')
|
||||
@@ -0,0 +1,53 @@
|
||||
-- =============================================
|
||||
-- Author: S.E.Locatelli
|
||||
-- Create date: 2011-10-24
|
||||
-- Description:
|
||||
-- =============================================
|
||||
create PROCEDURE stp_esplodiVocab
|
||||
AS
|
||||
BEGIN
|
||||
-- SET NOCOUNT ON added to prevent extra result sets from
|
||||
-- interfering with SELECT statements.
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- svuoto vocabolario
|
||||
DELETE FROM ZZZ_VocabExpl
|
||||
|
||||
-- carico termini ITA
|
||||
INSERT INTO ZZZ_VocabExpl(Lemma,IT)
|
||||
SELECT Lemma, Traduzione AS IT
|
||||
FROM Vocabolario
|
||||
WHERE Lingua = 'IT'
|
||||
|
||||
-- update termini ENG
|
||||
UPDATE ZZZ_VocabExpl
|
||||
SET EN=ISNULL(v.Traduzione,ve.EN)
|
||||
FROM ZZZ_VocabExpl ve INNER JOIN Vocabolario v ON ve.Lemma=v.Lemma
|
||||
WHERE v.Lingua='EN'
|
||||
|
||||
-- update termini BRA
|
||||
UPDATE ZZZ_VocabExpl
|
||||
SET BR=ISNULL(v.Traduzione,ve.BR)
|
||||
FROM ZZZ_VocabExpl ve INNER JOIN Vocabolario v ON ve.Lemma=v.Lemma
|
||||
WHERE v.Lingua='BR'
|
||||
|
||||
-- update termini CHN
|
||||
UPDATE ZZZ_VocabExpl
|
||||
SET CN=ISNULL(v.Traduzione,ve.CN)
|
||||
FROM ZZZ_VocabExpl ve INNER JOIN Vocabolario v ON ve.Lemma=v.Lemma
|
||||
WHERE v.Lingua='CN'
|
||||
|
||||
-- update termini CHN
|
||||
UPDATE ZZZ_VocabExpl
|
||||
SET MX=ISNULL(v.Traduzione,ve.MX)
|
||||
FROM ZZZ_VocabExpl ve INNER JOIN Vocabolario v ON ve.Lemma=v.Lemma
|
||||
WHERE v.Lingua='MX'
|
||||
|
||||
-- update termini CHN
|
||||
UPDATE ZZZ_VocabExpl
|
||||
SET PL=ISNULL(v.Traduzione,ve.PL)
|
||||
FROM ZZZ_VocabExpl ve INNER JOIN Vocabolario v ON ve.Lemma=v.Lemma
|
||||
WHERE v.Lingua='PL'
|
||||
|
||||
|
||||
END
|
||||
@@ -0,0 +1,67 @@
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2014.01.15
|
||||
-- Description: stp_packageCost
|
||||
-- SOSTITUITA da query + funzione
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[stp_packageCost]
|
||||
(
|
||||
@CodItem NVARCHAR(50) = '',
|
||||
@CodClient NVARCHAR(50) = '',
|
||||
@CodPackag NVARCHAR(50) = '',
|
||||
@PDesc NVARCHAR(50) OUTPUT,
|
||||
@RMWeight DECIMAL(9,4) OUTPUT,
|
||||
@Weight DECIMAL(9,4) OUTPUT,
|
||||
@Tare DECIMAL(9,4) OUTPUT,
|
||||
@PackCost DECIMAL(9,6) OUTPUT,
|
||||
@TareStRat DECIMAL(9,4) OUTPUT
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
DECLARE @trovati INT = 0,
|
||||
@RMCost DECIMAL(9,3)
|
||||
|
||||
-- calcolo RMCost e RMWeight da tab PackageDet
|
||||
SELECT @RMCost = RMCost, @RMWeight = RMWeight, @PDesc= PackagDesc
|
||||
FROM PackagDet
|
||||
WHERE CodPackag = @CodPackag
|
||||
|
||||
-- Calcolo peso e tara da selezione gerarchica
|
||||
SELECT @trovati = COUNT(*)
|
||||
FROM Package2ItemClient WHERE CodItem = @CodItem AND CodClient = @CodClient AND CodPackag = @CodPackag
|
||||
|
||||
IF(@trovati > 0)
|
||||
-- primo tentativo: cerco il package dato SIA Cliente che Item che Package
|
||||
BEGIN
|
||||
SELECT TOP 1 @Weight = [Weight], @Tare = Tare
|
||||
FROM Package2ItemClient WHERE CodItem = @CodItem AND CodClient = @CodClient AND CodPackag = @CodPackag
|
||||
ORDER BY TotQta DESC
|
||||
END
|
||||
ELSE
|
||||
-- secondo tentativo: se non lo trovo cerco per SOLO ITEM e package
|
||||
BEGIN
|
||||
SELECT @trovati = COUNT(*) FROM Package2Item WHERE CodItem = @CodItem AND CodPackag = @CodPackag
|
||||
IF(@trovati > 0)
|
||||
BEGIN
|
||||
SELECT TOP 1 @Weight = [Weight], @Tare = Tare
|
||||
FROM Package2Item WHERE CodItem = @CodItem AND CodPackag = @CodPackag
|
||||
ORDER BY TotQta DESC
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
SELECT @Weight = [Weight], @Tare = Tare
|
||||
FROM Package2 WHERE CodPackag = @CodPackag
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
-- faccio ultimi calcoli!
|
||||
SELECT @PackCost = @RMCost / @Weight, @TareStRat = (@RMWeight - @Tare) / @Weight
|
||||
|
||||
END
|
||||
|
||||
|
||||
@@ -0,0 +1,244 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.11.20
|
||||
-- Description: Procedure x calcoli e test import dati e prove varie
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [dbo].[stp_zzz_scratch]
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- dichiaro e imposto periodo di calcolo dei valori
|
||||
-- andrà impostato in una tabella e mi determinerà la versione dei dati
|
||||
DECLARE @dateFrom AS DateTime;
|
||||
DECLARE @dateTo AS DateTime;
|
||||
|
||||
SET @dateFrom = '20100101'
|
||||
SET @dateTo = '20130929'
|
||||
|
||||
-- ==========================================
|
||||
-- IMPORTAZIONE DATI CSV
|
||||
-- ==========================================
|
||||
exec tmp.importProductionLogRaw
|
||||
exec tmp.importClientsRaw
|
||||
exec tmp.importTranspCostRaw
|
||||
exec tmp.importItemsRaw
|
||||
exec tmp.importPackagRaw
|
||||
exec tmp.importDiesRaw
|
||||
-- questo sotto va fatto solo se ci sono dati da integrare in DiesRaw
|
||||
exec tmp.importDiesGroupRaw
|
||||
|
||||
select top 10 * FROM tmp.ProductionLogRaw
|
||||
select * FROM tmp.ClientsRaw
|
||||
select * FROM tmp.ItemsRaw
|
||||
select * FROM tmp.PackagRaw
|
||||
select * FROM tmp.DiesRaw
|
||||
select * FROM tmp.DiesGroupRaw
|
||||
|
||||
-- Se ci sono record con Item doppi li cancello????
|
||||
SELECT CodItem,COUNT(*) as qty
|
||||
FROM ( SELECT DISTINCT * FROM tmp.ItemsRaw ) AS a
|
||||
GROUP BY CodItem
|
||||
having COUNT(*)>1
|
||||
|
||||
delete from tmp.ItemsRaw
|
||||
where CodItem IN
|
||||
(
|
||||
SELECT CodItem
|
||||
FROM ( SELECT DISTINCT * FROM tmp.ItemsRaw ) AS a
|
||||
GROUP BY CodItem
|
||||
having COUNT(*)>1
|
||||
)
|
||||
|
||||
|
||||
-- ==========================================
|
||||
-- CARICO DATI IN RAW ( da Char a Tipi corretti )
|
||||
-- ==========================================
|
||||
exec tmp.convertClientsRaw
|
||||
exec tmp.convertTranspCostRaw
|
||||
exec tmp.convertItemsRaw
|
||||
exec tmp.convertProductionLogRaw
|
||||
exec tmp.convertPackagRaw
|
||||
exec tmp.convertDiesRaw
|
||||
|
||||
-- necessario se integriamo i dati x i gruppi di matrici con un file
|
||||
exec tmp.convertDiesGroupRaw
|
||||
|
||||
select top 10 * FROM ext.ProductionLogRaw
|
||||
select * FROM ext.ClientsRaw
|
||||
select * FROM ext.ItemsRaw
|
||||
select * FROM ext.PackagRaw
|
||||
select * FROM ext.DiesRaw
|
||||
SELECT * FROM ext.DiesGroupRaw
|
||||
|
||||
-- elimino a mano dato con oltre 68 anni di evento...
|
||||
select *
|
||||
--delete
|
||||
from ext.ProductionLogRaw
|
||||
where DATEDIFF(YEAR,EventStart,EventEnd)> 10
|
||||
|
||||
exec ext.stp_mergeAgentsDet
|
||||
exec ext.stp_mergeClientDet 'ProductionLogRaw'
|
||||
exec ext.stp_mergeClientDet 'ClientsRaw'
|
||||
exec ext.stp_mergeTranspCostDet 'TranspCostRaw'
|
||||
exec ext.stp_mergePlantsDet
|
||||
exec ext.stp_mergeCost2Plant
|
||||
exec ext.stp_mergeItemDet 'ItemsRaw'
|
||||
exec ext.stp_mergePackagDet 'ProductionLogRaw' -- 'PackagRaw'
|
||||
exec ext.stp_mergePackage2ItemClient 'ProductionLog', @dateFrom, @dateTo
|
||||
exec ext.stp_mergePackage2Item 'ProductionLog', @dateFrom, @dateTo
|
||||
exec ext.stp_mergePackage2 'ProductionLog', @dateFrom, @dateTo
|
||||
|
||||
exec ext.stp_mergeDiesDet
|
||||
-- se ricarico diesgroup... ricarico solo i campi che nel file sono <> ''
|
||||
exec ext.stp_mergeDiesGroupDet
|
||||
|
||||
exec ext.stp_mergeRawMat
|
||||
exec ext.stp_updateProductionLog
|
||||
|
||||
---- aggiorno quota agenti a 0.037
|
||||
----update AgentsDet set quotaperc=0.0374
|
||||
|
||||
|
||||
SELECT DISTINCT dr.CodItem FROM ext.DiesRaw dr LEFT OUTER JOIN ItemDet id ON dr.CodItem = id.CodItem
|
||||
where id.CodItemGroup is null
|
||||
|
||||
select * from ClientDet
|
||||
select * from ItemDet
|
||||
select * from Package2ItemClient
|
||||
select * from Package2Item
|
||||
select * from Package2
|
||||
select * from PackagDet
|
||||
select * from DiesGroupDet where EOLLife > 0
|
||||
select * from DiesDet
|
||||
select * from DiesGroupDet
|
||||
select * from AgentsDet
|
||||
select * from PlantsDet
|
||||
select * from Cost2Plant
|
||||
select * from utilities
|
||||
select top 100 * from ProductionLog
|
||||
|
||||
--update tmp.ProductionLogRaw
|
||||
--set
|
||||
-- okPr = 1
|
||||
-- , okDi = 1
|
||||
-- , okQM = 1
|
||||
-- , okSc = 1
|
||||
|
||||
select distinct ProcessNum from ProductionLog
|
||||
|
||||
select top 10 * from ext.ProductionLogRaw
|
||||
|
||||
|
||||
---- fix errore packaging
|
||||
--update tmp.ProductionLogRaw
|
||||
--SET CodPackag='4'
|
||||
--where CodPackag LIKE '%4%' and CodPackag <> '4'
|
||||
--select * from tmp.ProductionLogRaw where CodPackag LIKE '%4%' and CodPackag <> '4'
|
||||
|
||||
SELECT p.CodDies, CodItem, CodClient, CodPackag, p.* FROM ext.ProductionLogRaw AS p
|
||||
LEFT JOIN dbo.DiesDet AS d ON p.CodDies = d.CodDies
|
||||
WHERE CodItem IS NULL
|
||||
|
||||
|
||||
|
||||
-- parte CALCOLI!!!
|
||||
|
||||
select * from QuoteList
|
||||
|
||||
select * from ClientDet where CodClient='05000001048'
|
||||
|
||||
select * from itemdet
|
||||
where CodItem like '1PT00102%'
|
||||
|
||||
select * from RawMatDet
|
||||
|
||||
|
||||
--Q 1312130001 0 05000001048 1PT00102 A 7020 7673,400 1000 CPT NULL NULL NULL NULL
|
||||
|
||||
SELECT --TOP 10
|
||||
dd.CodItem, pl.RawMat, dd.CodItem + '-' + pl.RawMat as KeyAM, dd.CodDiesGroup, pl.CodPlant, dd.HoleNum
|
||||
,dd.CodItem + '-' + pl.RawMat + '-' + pl.CodPlant + '-' + CAST(dd.HoleNum AS NVARCHAR(19)) as KeyAMIL
|
||||
,0 as NumSMED -- numero cambi, da sistemare...
|
||||
, SUM(QtyOUT) as KgTeorici, SUM(Duration) AS Durata
|
||||
,ISNULL(SUM(QtyOUT),0)/ISNULL(SUM(Duration), 1) as ProduttTeo
|
||||
FROM ProductionLog pl INNER JOIN DiesDet dd ON pl.CodDies=dd.CodDies
|
||||
WHERE pl.ProcessNum='01' and pl.EventType=1
|
||||
GROUP BY dd.CodItem, pl.RawMat, dd.CodDiesGroup, pl.CodPlant, dd.HoleNum
|
||||
ORDER BY dd.CodItem, pl.RawMat, dd.CodDiesGroup, SUM(QtyOUT) DESC
|
||||
|
||||
-- ==========================================
|
||||
-- re-insert dei dati di produzione x statistiche
|
||||
-- ==========================================
|
||||
exec stp_TPS_upsert @dateFrom, @dateTo
|
||||
exec stp_TD_upsert @dateFrom , @dateTo
|
||||
-- exec stp_TI_upsert @dateFrom , @dateTo -- adesso sono già calcolati e inseriti in Package2 / Package2Item
|
||||
|
||||
-- ==========================================
|
||||
-- salvo nuova revisione dati di produzione...
|
||||
-- Va messa in ogni procedura di update con 'procedura' e versione anno-mese-giorno
|
||||
-- ==========================================
|
||||
INSERT INTO RevHistory
|
||||
SELECT 'P', ISNULL(MAX(RevNum),0) + 1, GETDATE(), 'Aggiornamento dati di produzione x fase 04 ' + CONVERT(NVARCHAR(20), @dateFrom, 120) + ' --> ' +CONVERT(NVARCHAR(20), @dateTo, 120)
|
||||
FROM RevHistory
|
||||
WHERE RevType = 'P'
|
||||
|
||||
|
||||
select * from RevHistory
|
||||
|
||||
-- simulazione tempo di calcolo: circa 50/sec
|
||||
---- aggiornamento dei dati dell'offerta in oggetto
|
||||
--DECLARE @tick DATETIME,
|
||||
-- @idx INT = 100
|
||||
--SET @tick = GETDATE()
|
||||
--WHILE @idx > 0
|
||||
--BEGIN
|
||||
-- EXEC stp_QL_update 'Q', 1312130001, 0
|
||||
-- SELECT @idx = @idx - 1
|
||||
--END
|
||||
--SELECT GETDATE() - @tick as tempo
|
||||
|
||||
DECLARE @QuoteType CHAR(1) = 'Q',
|
||||
@CodQuote BIGINT = 1312130001,
|
||||
@QuoteRev INT = 0
|
||||
|
||||
EXEC stp_QL_update @QuoteType, @CodQuote, @QuoteRev
|
||||
SELECT * FROM QuoteList WHERE QuoteType=@QuoteType AND CodQuote = @CodQuote AND QuoteRev = @QuoteRev
|
||||
SELECT * FROM QuoteRM WHERE QuoteType=@QuoteType AND CodQuote = @CodQuote AND QuoteRev = @QuoteRev
|
||||
SELECT * FROM QuoteWorkInt WHERE QuoteType=@QuoteType AND CodQuote = @CodQuote AND QuoteRev = @QuoteRev
|
||||
SELECT * FROM QuoteWorkExt WHERE QuoteType=@QuoteType AND CodQuote = @CodQuote AND QuoteRev = @QuoteRev
|
||||
SELECT * FROM QuoteOC WHERE QuoteType=@QuoteType AND CodQuote = @CodQuote AND QuoteRev = @QuoteRev
|
||||
SELECT * FROM QuoteParam WHERE QuoteType=@QuoteType AND CodQuote = @CodQuote AND QuoteRev = @QuoteRev
|
||||
|
||||
select top 10 * from ItemDet
|
||||
|
||||
SELECT * FROM RawMatDet
|
||||
|
||||
SELECT top 10 * FROM TabProdSc
|
||||
SELECT top 10 * FROM TabDifett
|
||||
-- SELECT * FROM TabImbArt
|
||||
-- SELECT * FROM TabImbGrp
|
||||
SELECT * FROM PackagDet
|
||||
SELECT * FROM Package2
|
||||
|
||||
---- test gestione selezione CodPackag corretto
|
||||
--SELECT TOP 5 * FROM Package2ItemClient
|
||||
--SELECT TOP 5 * FROM Package2Item
|
||||
--SELECT TOP 5 * FROM Package2
|
||||
|
||||
SELECT dbo.f_getCodPackag('1EL00005', '05000001048')
|
||||
--SELECT dbo.f_getCodPackag('1AN00001', '05000000137')
|
||||
|
||||
|
||||
|
||||
END
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
CREATE TABLE [dbo].[AgentsDet] (
|
||||
[CodAg] NVARCHAR (50) NOT NULL,
|
||||
[Lastname] NVARCHAR (50) NOT NULL,
|
||||
[Firstname] NVARCHAR (50) NOT NULL,
|
||||
[QuotaProvvAg] DECIMAL (9, 6) CONSTRAINT [DF_AgentsDet_QuotaPerc] DEFAULT ((0)) NOT NULL,
|
||||
CONSTRAINT [PK_AgentsDet] PRIMARY KEY CLUSTERED ([CodAg] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice agente...', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'AgentsDet', @level2type = N'COLUMN', @level2name = N'CodAg';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Cognome', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'AgentsDet', @level2type = N'COLUMN', @level2name = N'Lastname';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Nome', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'AgentsDet', @level2type = N'COLUMN', @level2name = N'Firstname';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Provvigione come €/kg', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'AgentsDet', @level2type = N'COLUMN', @level2name = N'QuotaProvvAg';
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
CREATE TABLE [dbo].[ClientDet] (
|
||||
[CodClient] NVARCHAR (50) NOT NULL,
|
||||
[ClientName] NVARCHAR (250) NOT NULL,
|
||||
[CodAg] NVARCHAR (50) NOT NULL,
|
||||
[ZipCode] NVARCHAR (50) NOT NULL,
|
||||
[City] NVARCHAR (50) NOT NULL,
|
||||
[State] NVARCHAR (50) NOT NULL,
|
||||
[Nation] NVARCHAR (50) NOT NULL,
|
||||
[TranspZone] NVARCHAR (50) CONSTRAINT [DF_ClientDet_Class01] DEFAULT ('') NULL,
|
||||
CONSTRAINT [PK_ClientDet] PRIMARY KEY CLUSTERED ([CodClient] ASC),
|
||||
CONSTRAINT [FK_ClientDet_AgentsDet] FOREIGN KEY ([CodAg]) REFERENCES [dbo].[AgentsDet] ([CodAg]) ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Client Details Table', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ClientDet';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice cliente', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ClientDet', @level2type = N'COLUMN', @level2name = N'CodClient';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Ragione Sociale', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ClientDet', @level2type = N'COLUMN', @level2name = N'ClientName';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice agente...', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ClientDet', @level2type = N'COLUMN', @level2name = N'CodAg';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'cap', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ClientDet', @level2type = N'COLUMN', @level2name = N'ZipCode';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'città', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ClientDet', @level2type = N'COLUMN', @level2name = N'City';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'stato/provincia', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ClientDet', @level2type = N'COLUMN', @level2name = N'State';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'nazione', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ClientDet', @level2type = N'COLUMN', @level2name = N'Nation';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Classificazione cliente (es zona, provincia...) x incrocio con tab costi trasporto', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ClientDet', @level2type = N'COLUMN', @level2name = N'TranspZone';
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
CREATE TABLE [dbo].[Config] (
|
||||
[Parameter] NVARCHAR (50) NOT NULL,
|
||||
[Value] NVARCHAR (50) NULL,
|
||||
CONSTRAINT [PK_Config] PRIMARY KEY CLUSTERED ([Parameter] ASC)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
CREATE TABLE [dbo].[Cost2Plant] (
|
||||
[CodPlant] NVARCHAR (50) NOT NULL,
|
||||
[ProcessNum] NVARCHAR (50) NOT NULL,
|
||||
[FC] DECIMAL (9, 4) NOT NULL,
|
||||
[VC] DECIMAL (9, 4) CONSTRAINT [DF_Cost2Plant_VC] DEFAULT ((0)) NOT NULL,
|
||||
[OH] DECIMAL (9, 4) CONSTRAINT [DF_Cost2Plant_OH] DEFAULT ((0)) NOT NULL,
|
||||
[SC] DECIMAL (9, 4) CONSTRAINT [DF_Cost2Plant_OH1] DEFAULT ((0)) NOT NULL,
|
||||
[QuotaPlantStd] DECIMAL (9, 4) CONSTRAINT [DF_Cost2Plant_QuotaPlantStd] DEFAULT ((0)) NOT NULL,
|
||||
[QuotaManStd] DECIMAL (9, 4) CONSTRAINT [DF_Cost2Plant_QuotaManStd] DEFAULT ((0)) NOT NULL,
|
||||
CONSTRAINT [PK_Cost2Plant] PRIMARY KEY CLUSTERED ([CodPlant] ASC, [ProcessNum] ASC),
|
||||
CONSTRAINT [FK_Cost2Plant_PlantsDet] FOREIGN KEY ([CodPlant]) REFERENCES [dbo].[PlantsDet] ([CodPlant]) ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice impianto', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Cost2Plant', @level2type = N'COLUMN', @level2name = N'CodPlant';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice fase, da qui si crea anagrafica fasi distinct', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Cost2Plant', @level2type = N'COLUMN', @level2name = N'ProcessNum';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Costo Fissi €/h per CDC + FASE', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Cost2Plant', @level2type = N'COLUMN', @level2name = N'FC';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Costi Variabili €/h per CDC + FASE', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Cost2Plant', @level2type = N'COLUMN', @level2name = N'VC';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Over Head costo €/h per CDC + FASE', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Cost2Plant', @level2type = N'COLUMN', @level2name = N'OH';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'costoSETUP €/cambio per CDC + FASE', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Cost2Plant', @level2type = N'COLUMN', @level2name = N'SC';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'indicazione della quota macchina per produrre quanto registrato', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Cost2Plant', @level2type = N'COLUMN', @level2name = N'QuotaPlantStd';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'indicazione della quota uomo per produrre quanto registrato', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Cost2Plant', @level2type = N'COLUMN', @level2name = N'QuotaManStd';
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
CREATE TABLE [dbo].[DiesDet] (
|
||||
[CodDies] NVARCHAR (50) NOT NULL,
|
||||
[HoleNum] INT NOT NULL,
|
||||
[CodItem] NVARCHAR (50) NOT NULL,
|
||||
[CodDiesGroup] NVARCHAR (50) NOT NULL,
|
||||
[Price] DECIMAL (9, 3) CONSTRAINT [DF_DiesDet_Price] DEFAULT ((0)) NOT NULL,
|
||||
[TestCost] DECIMAL (9, 3) CONSTRAINT [DF_DiesDet_Price1] DEFAULT ((0)) NOT NULL,
|
||||
[ExpLife] DECIMAL (9, 2) NOT NULL,
|
||||
[ActLife] DECIMAL (9, 2) NOT NULL,
|
||||
[Active] INT NOT NULL,
|
||||
CONSTRAINT [PK_DiesDet] PRIMARY KEY CLUSTERED ([CodDies] ASC),
|
||||
CONSTRAINT [FK_DiesDet_DiesGroupDet] FOREIGN KEY ([CodDiesGroup]) REFERENCES [dbo].[DiesGroupDet] ([CodDiesGroup]) ON UPDATE CASCADE,
|
||||
CONSTRAINT [FK_DiesDet_ItemDet] FOREIGN KEY ([CodItem]) REFERENCES [dbo].[ItemDet] ([CodItem]) ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [i_DiesDet_CodItem_CodDiesGroup_Active]
|
||||
ON [dbo].[DiesDet]([CodItem] ASC, [CodDiesGroup] ASC, [Active] ASC)
|
||||
INCLUDE([Price], [ExpLife], [ActLife]);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [i_DiesDet_Active_CodDiesGroup_Filtered]
|
||||
ON [dbo].[DiesDet]([Active] ASC, [CodDiesGroup] ASC)
|
||||
INCLUDE([CodItem]) WHERE ([Active]=(0));
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice matrice', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'DiesDet', @level2type = N'COLUMN', @level2name = N'CodDies';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice articolo', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'DiesDet', @level2type = N'COLUMN', @level2name = N'CodItem';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice CLASSE matrice, es tipo + diametro; nota: massima numerosità pari a numero articoli, minima numerosità 1', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'DiesDet', @level2type = N'COLUMN', @level2name = N'CodDiesGroup';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'prezzo di acquisto', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'DiesDet', @level2type = N'COLUMN', @level2name = N'Price';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'costo di prove e correzioni', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'DiesDet', @level2type = N'COLUMN', @level2name = N'TestCost';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Durata attesa in kg PREVISTA', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'DiesDet', @level2type = N'COLUMN', @level2name = N'ExpLife';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Durata attuale (delle rottamate, media) in kg', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'DiesDet', @level2type = N'COLUMN', @level2name = N'ActLife';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Stato: 1 = disponibile, 0 = rottamata', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'DiesDet', @level2type = N'COLUMN', @level2name = N'Active';
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
CREATE TABLE [dbo].[DiesGroupDet] (
|
||||
[CodDiesGroup] NVARCHAR (50) NOT NULL,
|
||||
[Price] DECIMAL (9, 3) NOT NULL,
|
||||
[QtyTot] INT NOT NULL,
|
||||
[QtyEOL] INT NOT NULL,
|
||||
[ExpLife] DECIMAL (9, 2) CONSTRAINT [DF_DiesGroupDet_ExpLife] DEFAULT ((1)) NOT NULL,
|
||||
[EOLLife] DECIMAL (9, 2) CONSTRAINT [DF_DiesGroupDet_EOLLife] DEFAULT ((1)) NOT NULL,
|
||||
[DateMod] DATE NULL,
|
||||
[UserMod] NVARCHAR (50) NULL,
|
||||
CONSTRAINT [PK_DiesGroupDet] PRIMARY KEY CLUSTERED ([CodDiesGroup] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice CLASSE matrice, es tipo + diametro', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'DiesGroupDet', @level2type = N'COLUMN', @level2name = N'CodDiesGroup';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'prezzo di acquisto', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'DiesGroupDet', @level2type = N'COLUMN', @level2name = N'Price';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Totale matrici del gruppo', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'DiesGroupDet', @level2type = N'COLUMN', @level2name = N'QtyTot';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'numero rottamate nel gruppo (End Of Life)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'DiesGroupDet', @level2type = N'COLUMN', @level2name = N'QtyEOL';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Durata attesa in kg PREVISTA', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'DiesGroupDet', @level2type = N'COLUMN', @level2name = N'ExpLife';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Durata attuale (delle rottamate, media) in kg', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'DiesGroupDet', @level2type = N'COLUMN', @level2name = N'EOLLife';
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
CREATE TABLE [dbo].[Incoterms] (
|
||||
[CodInco] NVARCHAR (5) NOT NULL,
|
||||
[Descript] NVARCHAR (250) NOT NULL,
|
||||
[HasTC] INT CONSTRAINT [DF_Incoterms_HasTC] DEFAULT ((0)) NOT NULL,
|
||||
CONSTRAINT [PK_Incoterms] PRIMARY KEY CLUSTERED ([CodInco] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Codice Incoterms', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Incoterms', @level2type = N'COLUMN', @level2name = N'CodInco';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Descrizione Incoterms', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Incoterms', @level2type = N'COLUMN', @level2name = N'Descript';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Indica se ha costi di trasporto (1) o non lil ha (0)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Incoterms', @level2type = N'COLUMN', @level2name = N'HasTC';
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
CREATE TABLE [dbo].[ItemDet] (
|
||||
[CodItem] NVARCHAR (50) NOT NULL,
|
||||
[ItemDescr] NVARCHAR (250) NOT NULL,
|
||||
[CodPlant] NVARCHAR (50) NOT NULL,
|
||||
[UnitWeight] DECIMAL (9, 3) NOT NULL,
|
||||
[CodItemGroup] NVARCHAR (50) NOT NULL,
|
||||
[Class01] NVARCHAR (50) CONSTRAINT [DF_ItemDet_Class01] DEFAULT ('') NOT NULL,
|
||||
[Class02] NVARCHAR (50) CONSTRAINT [DF_ItemDet_Class02] DEFAULT ('') NOT NULL,
|
||||
[Class03] NVARCHAR (50) CONSTRAINT [DF_ItemDet_Class03] DEFAULT ('') NOT NULL,
|
||||
[Class04] NVARCHAR (50) CONSTRAINT [DF_ItemDet_Class04] DEFAULT ('') NOT NULL,
|
||||
[Class05] NVARCHAR (50) CONSTRAINT [DF_ItemDet_Class05] DEFAULT ('') NOT NULL,
|
||||
CONSTRAINT [PK_AnagArticoli] PRIMARY KEY CLUSTERED ([CodItem] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Item Details Table', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ItemDet';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice articolo', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ItemDet', @level2type = N'COLUMN', @level2name = N'CodItem';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'peso espresso come g/m (grammi / metro)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ItemDet', @level2type = N'COLUMN', @level2name = N'UnitWeight';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'classe raggruppamento (es complessità disegno)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ItemDet', @level2type = N'COLUMN', @level2name = N'CodItemGroup';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ItemDet', @level2type = N'COLUMN', @level2name = N'Class01';
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
CREATE TABLE [dbo].[Lingue] (
|
||||
[Lingua] NVARCHAR (3) NOT NULL,
|
||||
[DescrizioneLingua] NVARCHAR (50) NOT NULL,
|
||||
CONSTRAINT [PK_Lingue] PRIMARY KEY CLUSTERED ([Lingua] ASC)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
CREATE TABLE [dbo].[PackagDet] (
|
||||
[CodPackag] NVARCHAR (50) NOT NULL,
|
||||
[PackagDesc] NVARCHAR (250) NOT NULL,
|
||||
[RMCost] DECIMAL (9, 3) NOT NULL,
|
||||
[RMWeight] DECIMAL (9, 4) NOT NULL,
|
||||
CONSTRAINT [PK_PackagDet] PRIMARY KEY CLUSTERED ([CodPackag] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Raw Material Cost - costo dei materiali', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'PackagDet', @level2type = N'COLUMN', @level2name = N'RMCost';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'kg peso medio', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'PackagDet', @level2type = N'COLUMN', @level2name = N'RMWeight';
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
CREATE TABLE [dbo].[Package2] (
|
||||
[CodPackag] NVARCHAR (50) NOT NULL,
|
||||
[TotQta] DECIMAL (18, 3) CONSTRAINT [DF_Package2_TotQty] DEFAULT ((0)) NOT NULL,
|
||||
[Weight] DECIMAL (18, 6) CONSTRAINT [DF_Package2_Weight] DEFAULT ((0)) NOT NULL,
|
||||
[Tare] DECIMAL (18, 6) CONSTRAINT [DF_Package2_Tare] DEFAULT ((0)) NOT NULL,
|
||||
[NumImb] DECIMAL (9, 6) CONSTRAINT [DF_Package2_NumImb] DEFAULT ((0)) NOT NULL,
|
||||
[Durata] DECIMAL (18, 6) CONSTRAINT [DF_Package2_Durata] DEFAULT ((0)) NOT NULL,
|
||||
CONSTRAINT [PK_Package2] PRIMARY KEY CLUSTERED ([CodPackag] ASC),
|
||||
CONSTRAINT [FK_Package2_PackagDet] FOREIGN KEY ([CodPackag]) REFERENCES [dbo].[PackagDet] ([CodPackag]) ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Quantità totale lavorata', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Package2', @level2type = N'COLUMN', @level2name = N'TotQta';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Peso medio', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Package2', @level2type = N'COLUMN', @level2name = N'Weight';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Tara', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Package2', @level2type = N'COLUMN', @level2name = N'Tare';
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
CREATE TABLE [dbo].[Package2Item] (
|
||||
[CodItem] NVARCHAR (50) NOT NULL,
|
||||
[CodPackag] NVARCHAR (50) NOT NULL,
|
||||
[TotQta] DECIMAL (18, 3) CONSTRAINT [DF_Package2Item_TotQty] DEFAULT ((0)) NOT NULL,
|
||||
[Weight] DECIMAL (9, 4) CONSTRAINT [DF_Package2Item_Weight] DEFAULT ((0)) NOT NULL,
|
||||
[Tare] DECIMAL (9, 4) CONSTRAINT [DF_Package2Item_Tare] DEFAULT ((0)) NOT NULL,
|
||||
[NumImb] DECIMAL (9, 6) CONSTRAINT [DF_Package2Item_NumImb] DEFAULT ((0)) NOT NULL,
|
||||
[Durata] DECIMAL (18, 6) CONSTRAINT [DF_Package2Item_Durata] DEFAULT ((0)) NOT NULL,
|
||||
CONSTRAINT [PK_Package2Item] PRIMARY KEY CLUSTERED ([CodItem] ASC, [CodPackag] ASC),
|
||||
CONSTRAINT [FK_Package2Item_ItemDet] FOREIGN KEY ([CodItem]) REFERENCES [dbo].[ItemDet] ([CodItem]) ON UPDATE CASCADE,
|
||||
CONSTRAINT [FK_Package2Item_PackagDet] FOREIGN KEY ([CodPackag]) REFERENCES [dbo].[PackagDet] ([CodPackag]) ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice articolo', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Package2Item', @level2type = N'COLUMN', @level2name = N'CodItem';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Quantità totale lavorata', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Package2Item', @level2type = N'COLUMN', @level2name = N'TotQta';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Peso medio', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Package2Item', @level2type = N'COLUMN', @level2name = N'Weight';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Tara', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Package2Item', @level2type = N'COLUMN', @level2name = N'Tare';
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
CREATE TABLE [dbo].[Package2ItemClient] (
|
||||
[CodItem] NVARCHAR (50) NOT NULL,
|
||||
[CodClient] NVARCHAR (50) NOT NULL,
|
||||
[CodPackag] NVARCHAR (50) NOT NULL,
|
||||
[TotQta] DECIMAL (18, 3) CONSTRAINT [DF_Package2ItemClient_TotQty] DEFAULT ((0)) NOT NULL,
|
||||
[Weight] DECIMAL (18, 6) CONSTRAINT [DF_Package2ItemClient_Weight] DEFAULT ((0)) NOT NULL,
|
||||
[Tare] DECIMAL (18, 6) CONSTRAINT [DF_Package2ItemClient_Tare] DEFAULT ((0)) NOT NULL,
|
||||
[NumImb] DECIMAL (9, 6) CONSTRAINT [DF_Package2ItemClient_NumImb] DEFAULT ((0)) NOT NULL,
|
||||
[Durata] DECIMAL (18, 6) CONSTRAINT [DF_Package2ItemClient_Durata] DEFAULT ((0)) NOT NULL,
|
||||
CONSTRAINT [PK_Package2ItemClient] PRIMARY KEY CLUSTERED ([CodItem] ASC, [CodClient] ASC, [CodPackag] ASC),
|
||||
CONSTRAINT [FK_Package2ItemClient_ClientDet] FOREIGN KEY ([CodClient]) REFERENCES [dbo].[ClientDet] ([CodClient]) ON UPDATE CASCADE,
|
||||
CONSTRAINT [FK_Package2ItemClient_ItemDet] FOREIGN KEY ([CodItem]) REFERENCES [dbo].[ItemDet] ([CodItem]) ON UPDATE CASCADE,
|
||||
CONSTRAINT [FK_Package2ItemClient_PackagDet] FOREIGN KEY ([CodPackag]) REFERENCES [dbo].[PackagDet] ([CodPackag]) ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice articolo', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Package2ItemClient', @level2type = N'COLUMN', @level2name = N'CodItem';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice cliente', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Package2ItemClient', @level2type = N'COLUMN', @level2name = N'CodClient';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Quantità totale lavorata', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Package2ItemClient', @level2type = N'COLUMN', @level2name = N'TotQta';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Peso medio', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Package2ItemClient', @level2type = N'COLUMN', @level2name = N'Weight';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Tara', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Package2ItemClient', @level2type = N'COLUMN', @level2name = N'Tare';
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
CREATE TABLE [dbo].[PlantsDet] (
|
||||
[CodPlant] NVARCHAR (50) NOT NULL,
|
||||
[Descript] NVARCHAR (250) NOT NULL,
|
||||
[Charge] DECIMAL (9, 6) CONSTRAINT [DF_PlantsDet_OH] DEFAULT ((1)) NOT NULL,
|
||||
CONSTRAINT [PK_PlantsDet] PRIMARY KEY CLUSTERED ([CodPlant] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice impianto', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'PlantsDet', @level2type = N'COLUMN', @level2name = N'CodPlant';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'descrizione impianto', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'PlantsDet', @level2type = N'COLUMN', @level2name = N'Descript';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Over Head costo €/h per CDC + FASE', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'PlantsDet', @level2type = N'COLUMN', @level2name = N'Charge';
|
||||
|
||||
@@ -0,0 +1,134 @@
|
||||
CREATE TABLE [dbo].[ProductionLog] (
|
||||
[EventStart] DATETIME NOT NULL,
|
||||
[EventEnd] DATETIME NOT NULL,
|
||||
[CodPlant] NVARCHAR (50) NOT NULL,
|
||||
[ProcessNum] NVARCHAR (50) NOT NULL,
|
||||
[NrPos] NVARCHAR (50) CONSTRAINT [DF_ProductionLog_NrPos] DEFAULT ('') NOT NULL,
|
||||
[CodDies] NVARCHAR (50) NOT NULL,
|
||||
[CodClient] NVARCHAR (50) NOT NULL,
|
||||
[OrderNum] NVARCHAR (50) NOT NULL,
|
||||
[BatchNum] NVARCHAR (50) NOT NULL,
|
||||
[ProcessType] NVARCHAR (50) NOT NULL,
|
||||
[EventType] NVARCHAR (50) NOT NULL,
|
||||
[RawMat] NVARCHAR (50) NOT NULL,
|
||||
[CodPackag] NVARCHAR (50) NOT NULL,
|
||||
[QtyIN] DECIMAL (18, 4) NOT NULL,
|
||||
[QtyOUT] DECIMAL (18, 4) NOT NULL,
|
||||
[QtyEXT] DECIMAL (18, 4) NOT NULL,
|
||||
[NumIN] INT NOT NULL,
|
||||
[NumOUT] INT NOT NULL,
|
||||
[QuotaPlant] DECIMAL (9, 4) NOT NULL,
|
||||
[QuotaMan] DECIMAL (9, 4) NOT NULL,
|
||||
[Tags] NVARCHAR (250) NOT NULL,
|
||||
[Duration] AS (datediff(second,[EventStart],[EventEnd])/(3600.00)) PERSISTED,
|
||||
[okPr] BIT CONSTRAINT [DF_ProductionLog_okPr] DEFAULT ((1)) NOT NULL,
|
||||
[okQM] BIT CONSTRAINT [DF_ProductionLog_okQM] DEFAULT ((1)) NOT NULL,
|
||||
[okSc] BIT CONSTRAINT [DF_ProductionLog_okSc] DEFAULT ((1)) NOT NULL,
|
||||
[okDi] BIT CONSTRAINT [DF_ProductionLog_okDi] DEFAULT ((1)) NOT NULL,
|
||||
CONSTRAINT [PK_ProductionLog_1] PRIMARY KEY CLUSTERED ([EventStart] ASC, [EventEnd] ASC, [CodPlant] ASC, [ProcessNum] ASC, [NrPos] ASC, [CodDies] ASC),
|
||||
CONSTRAINT [FK_ProductionLog_ClientDet] FOREIGN KEY ([CodClient]) REFERENCES [dbo].[ClientDet] ([CodClient]) ON UPDATE CASCADE,
|
||||
CONSTRAINT [FK_ProductionLog_PackagDet] FOREIGN KEY ([CodPackag]) REFERENCES [dbo].[PackagDet] ([CodPackag]) ON UPDATE CASCADE,
|
||||
CONSTRAINT [FK_ProductionLog_PlantsDet] FOREIGN KEY ([CodPlant]) REFERENCES [dbo].[PlantsDet] ([CodPlant]) ON UPDATE CASCADE,
|
||||
CONSTRAINT [FK_ProductionLog_RawMatDet] FOREIGN KEY ([RawMat]) REFERENCES [dbo].[RawMatDet] ([RawMat]) ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'inizio evento - formato INT 16 cifre yyyyMMddHHmmssnn dove nn = centesimi di sec oppure 00', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'EventStart';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'fine evento - formato INT 16 cifre yyyyMMddHHmmssnn dove nn = centesimi di sec oppure 00', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'EventEnd';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice impianto', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'CodPlant';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice fase, da qui si crea anagrafica fasi distinct', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'ProcessNum';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice matrice', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'CodDies';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice cliente', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'CodClient';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'rif codice ordine', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'OrderNum';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice lotto', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'BatchNum';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice del TIPO di fase, x raggruppamento funzionale', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'ProcessType';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'tipo evento: produzione, prova, guasto, setup...', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'EventType';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice MP', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'RawMat';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice imballo', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'CodPackag';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'kg materiale in ingresso', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'QtyIN';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'kg materiale BUONO prodotto in OUTput', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'QtyOUT';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'kg materiale dbora che fa parte dell''OUT, es imballi/tara', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'QtyEXT';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'qta materiale in ingresso', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'NumIN';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'qta materiale BUONO prodotto in OUTput', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'NumOUT';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'indicazione della quota macchina per produrre quanto registrato', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'QuotaPlant';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'indicazione della quota uomo per produrre quanto registrato', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'QuotaMan';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'categorie LIBERE, separatore #', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'Tags';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Durata espressa in ore', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'Duration';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'validazione riga x calcolo produttività', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'okPr';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'validazione riga x calcolo quota MAN', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'okQM';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'validazione riga x calcolo scarti', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'okSc';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'validazione riga x calcolo difettosità', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'ProductionLog', @level2type = N'COLUMN', @level2name = N'okDi';
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
CREATE TABLE [dbo].[QuoteFull_Q] (
|
||||
[Vers] VARCHAR (5) NOT NULL,
|
||||
[QuoteType] CHAR (1) NOT NULL,
|
||||
[CodQuote] BIGINT NOT NULL,
|
||||
[QuoteRev] INT NOT NULL,
|
||||
[CodClient] NVARCHAR (50) NOT NULL,
|
||||
[ClientName] NVARCHAR (250) NOT NULL,
|
||||
[CodItem] NVARCHAR (50) NOT NULL,
|
||||
[CodItemGroup] NVARCHAR (50) NOT NULL,
|
||||
[RawMat] NVARCHAR (50) NOT NULL,
|
||||
[UnitWeight] DECIMAL (9, 3) NOT NULL,
|
||||
[BatchQty] INT NOT NULL,
|
||||
[CodInco] NVARCHAR (5) NOT NULL,
|
||||
[KeyAM] NVARCHAR (101) NOT NULL,
|
||||
[Note] NVARCHAR (2500) NOT NULL,
|
||||
[PriceOff] DECIMAL (9, 6) CONSTRAINT [DF_QuoteFull_Q_PriceOff] DEFAULT ((0)) NOT NULL,
|
||||
[CodClientAssoc] NVARCHAR (100) NULL,
|
||||
[ClientNameAssoc] NVARCHAR (100) NULL,
|
||||
[ItemDescr] NVARCHAR (100) NULL,
|
||||
[CodifProfilo] NVARCHAR (100) NULL,
|
||||
[ClasseMerc] NVARCHAR (100) NULL,
|
||||
[TipoDies] NVARCHAR (100) NULL,
|
||||
[CodDiesGroup] NVARCHAR (100) NULL,
|
||||
[DiamDies] DECIMAL (18, 6) NULL,
|
||||
[HoleNumDies] INT NULL,
|
||||
[DiesPrice] DECIMAL (18, 6) NULL,
|
||||
[DiesExpLife] DECIMAL (18, 6) NULL,
|
||||
[DiesEOLife] DECIMAL (18, 6) NULL,
|
||||
[NumDiesInList] DECIMAL (18, 6) NULL,
|
||||
[NumDiesExaust] DECIMAL (18, 6) NULL,
|
||||
[CodPlant] NVARCHAR (100) NULL,
|
||||
[KeyAMIL] NVARCHAR (100) NULL,
|
||||
[KgTeo] DECIMAL (18, 6) NULL,
|
||||
[NumSMED] DECIMAL (18, 6) NULL,
|
||||
[QuotaMan] DECIMAL (18, 6) NULL,
|
||||
[PRMWeight] DECIMAL (18, 6) NULL,
|
||||
[PWeight] DECIMAL (18, 6) NULL,
|
||||
[PTare] DECIMAL (18, 6) NULL,
|
||||
[LivPackage] NVARCHAR (100) NULL,
|
||||
[LivPackageDett] NVARCHAR (100) NULL,
|
||||
[RawMatCost] DECIMAL (18, 6) NOT NULL,
|
||||
[RawMatExtraCost] DECIMAL (18, 6) NOT NULL,
|
||||
[RawMatFullCost] DECIMAL (18, 6) NULL,
|
||||
[CodPackag] NVARCHAR (50) NOT NULL,
|
||||
[PkgDesc] NVARCHAR (100) NULL,
|
||||
[FSR] DECIMAL (18, 6) NULL,
|
||||
[ProvvCost] DECIMAL (18, 6) NOT NULL,
|
||||
[EECost] DECIMAL (18, 6) NOT NULL,
|
||||
[GasCost] DECIMAL (18, 6) NOT NULL,
|
||||
[DiesCost] DECIMAL (18, 6) NOT NULL,
|
||||
[PackCost] DECIMAL (18, 6) NOT NULL,
|
||||
[TranspCost] DECIMAL (18, 6) NOT NULL,
|
||||
[SellCost01] DECIMAL (18, 6) NOT NULL,
|
||||
[RefCost01] DECIMAL (18, 6) NOT NULL,
|
||||
[SellCost04] DECIMAL (18, 6) NOT NULL,
|
||||
[RefCost04] DECIMAL (18, 6) NOT NULL,
|
||||
[WSR01] DECIMAL (9, 8) NOT NULL,
|
||||
[MSR01] DECIMAL (9, 8) NOT NULL,
|
||||
[NetProd01] DECIMAL (9, 3) NOT NULL,
|
||||
[FC4UG01] DECIMAL (9, 6) NOT NULL,
|
||||
[VC4UG01] DECIMAL (9, 6) NOT NULL,
|
||||
[OH4UG01] DECIMAL (9, 6) NOT NULL,
|
||||
[SC4UG01] DECIMAL (9, 6) NOT NULL,
|
||||
[DSR] DECIMAL (18, 6) NULL,
|
||||
[NetProd04] DECIMAL (9, 3) NOT NULL,
|
||||
[FC4UG04] DECIMAL (9, 6) NOT NULL,
|
||||
[VC4UG04] DECIMAL (9, 6) NOT NULL,
|
||||
[FVC] DECIMAL (18, 6) NULL,
|
||||
[Charge] DECIMAL (9, 6) NOT NULL,
|
||||
CONSTRAINT [PK_QuoteFull_Q_1] PRIMARY KEY CLUSTERED ([QuoteType] ASC, [CodQuote] ASC, [QuoteRev] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Prezzo Offerto', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteFull_Q', @level2type = N'COLUMN', @level2name = N'PriceOff';
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
CREATE TABLE [dbo].[QuoteFull_Q_old] (
|
||||
[Vers] VARCHAR (5) NOT NULL,
|
||||
[QuoteType] CHAR (1) NOT NULL,
|
||||
[CodQuote] BIGINT NOT NULL,
|
||||
[QuoteRev] INT NOT NULL,
|
||||
[CodClient] NVARCHAR (50) NOT NULL,
|
||||
[ClientName] NVARCHAR (250) NOT NULL,
|
||||
[CodItem] NVARCHAR (50) NOT NULL,
|
||||
[CodItemGroup] NVARCHAR (50) NOT NULL,
|
||||
[RawMat] NVARCHAR (50) NOT NULL,
|
||||
[UnitWeight] DECIMAL (9, 3) NOT NULL,
|
||||
[BatchQty] INT NOT NULL,
|
||||
[CodInco] NVARCHAR (5) NOT NULL,
|
||||
[KeyAM] NVARCHAR (101) NOT NULL,
|
||||
[Note] NVARCHAR (2500) NOT NULL,
|
||||
[FullCost] DECIMAL (9, 6) NOT NULL,
|
||||
[MinPrice] DECIMAL (9, 6) NOT NULL,
|
||||
[PriceOff] DECIMAL (9, 6) NOT NULL,
|
||||
[CodClientAssoc] NVARCHAR (100) NULL,
|
||||
[ClientNameAssoc] NVARCHAR (100) NULL,
|
||||
[ItemDescr] NVARCHAR (100) NULL,
|
||||
[CodifProfilo] NVARCHAR (100) NULL,
|
||||
[ClasseMerc] NVARCHAR (100) NULL,
|
||||
[TipoDies] NVARCHAR (100) NULL,
|
||||
[CodDiesGroup] NVARCHAR (100) NULL,
|
||||
[DiamDies] NVARCHAR (100) NULL,
|
||||
[HoleNumDies] NVARCHAR (100) NULL,
|
||||
[DiesPrice] NVARCHAR (100) NULL,
|
||||
[DiesExpLife] NVARCHAR (100) NULL,
|
||||
[DiesEOLife] NVARCHAR (100) NULL,
|
||||
[NumDiesInList] NVARCHAR (100) NULL,
|
||||
[NumDiesExaust] NVARCHAR (100) NULL,
|
||||
[CodPlant] NVARCHAR (100) NULL,
|
||||
[KeyAMIL] NVARCHAR (100) NULL,
|
||||
[KgTeo] NVARCHAR (100) NULL,
|
||||
[NumSMED] NVARCHAR (100) NULL,
|
||||
[QuotaMan] NVARCHAR (100) NULL,
|
||||
[PRMWeight] NVARCHAR (100) NULL,
|
||||
[PWeight] NVARCHAR (100) NULL,
|
||||
[PTare] NVARCHAR (100) NULL,
|
||||
[LivPackage] NVARCHAR (100) NULL,
|
||||
[LivPackageDett] NVARCHAR (100) NULL,
|
||||
[RawMatCost] DECIMAL (18, 6) NOT NULL,
|
||||
[RawMatExtraCost] DECIMAL (18, 6) NOT NULL,
|
||||
[RawMatFullCost] DECIMAL (19, 6) NULL,
|
||||
[CodPackag] NVARCHAR (50) NOT NULL,
|
||||
[PkgDesc] NVARCHAR (100) NULL,
|
||||
[FSR] DECIMAL (27, 19) NULL,
|
||||
[ProvvCost] DECIMAL (38, 7) NOT NULL,
|
||||
[EECost] DECIMAL (38, 7) NOT NULL,
|
||||
[GasCost] DECIMAL (38, 7) NOT NULL,
|
||||
[DiesCost] DECIMAL (38, 7) NOT NULL,
|
||||
[PackCost] DECIMAL (38, 7) NOT NULL,
|
||||
[TranspCost] DECIMAL (38, 7) NOT NULL,
|
||||
[SellCost01] DECIMAL (38, 7) NOT NULL,
|
||||
[RefCost01] DECIMAL (38, 7) NOT NULL,
|
||||
[SellCost04] DECIMAL (38, 7) NOT NULL,
|
||||
[RefCost04] DECIMAL (38, 7) NOT NULL,
|
||||
[WSR01] DECIMAL (9, 8) NOT NULL,
|
||||
[MSR01] DECIMAL (9, 8) NOT NULL,
|
||||
[NetProd01] DECIMAL (9, 3) NOT NULL,
|
||||
[FC4UG01] DECIMAL (9, 6) NOT NULL,
|
||||
[VC4UG01] DECIMAL (9, 6) NOT NULL,
|
||||
[OH4UG01] DECIMAL (9, 6) NOT NULL,
|
||||
[SC4UG01] DECIMAL (9, 6) NOT NULL,
|
||||
[DSR] DECIMAL (38, 27) NULL,
|
||||
[NetProd04] DECIMAL (9, 3) NOT NULL,
|
||||
[FC4UG04] DECIMAL (9, 6) NOT NULL,
|
||||
[VC4UG04] DECIMAL (9, 6) NOT NULL,
|
||||
[FVC] DECIMAL (38, 7) NULL,
|
||||
[Charge] DECIMAL (9, 6) NOT NULL
|
||||
);
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
CREATE TABLE [dbo].[QuoteList] (
|
||||
[QuoteType] CHAR (1) CONSTRAINT [DF_QuoteList_QuoteType] DEFAULT ('Q') NOT NULL,
|
||||
[CodQuote] BIGINT NOT NULL,
|
||||
[QuoteRev] INT CONSTRAINT [DF_QuoteList_QuoteRev] DEFAULT ((0)) NOT NULL,
|
||||
[CodClient] NVARCHAR (50) NOT NULL,
|
||||
[CodItem] NVARCHAR (50) CONSTRAINT [DF_QuoteList_CodItem] DEFAULT ('') NOT NULL,
|
||||
[CodItemGroup] NVARCHAR (50) CONSTRAINT [DF_QuoteList_CodItemGroup] DEFAULT ('') NOT NULL,
|
||||
[RawMat] NVARCHAR (50) NOT NULL,
|
||||
[UnitWeight] DECIMAL (9, 3) CONSTRAINT [DF_QuoteList_UnitWeight] DEFAULT ((0)) NOT NULL,
|
||||
[BatchQty] INT CONSTRAINT [DF_QuoteList_BathQty] DEFAULT ((0)) NOT NULL,
|
||||
[CodInco] NVARCHAR (5) NOT NULL,
|
||||
[KeyAM] AS (([CodItem]+'-')+[RawMat]),
|
||||
[Note] NVARCHAR (2500) CONSTRAINT [DF_QuoteList_Note] DEFAULT ('') NOT NULL,
|
||||
[PriceOff] DECIMAL (9, 6) CONSTRAINT [DF_QuoteList_OrdPrice1] DEFAULT ((0)) NOT NULL,
|
||||
[OrdDate] DATE NULL,
|
||||
[OrdNum] NVARCHAR (50) CONSTRAINT [DF_QuoteList_OrdNum] DEFAULT ((0)) NOT NULL,
|
||||
[OrdRow] NVARCHAR (50) CONSTRAINT [DF_QuoteList_OrdRow] DEFAULT ((0)) NOT NULL,
|
||||
[OrdPrice] DECIMAL (9, 6) CONSTRAINT [DF_QuoteList_PriceOff1] DEFAULT ((0)) NOT NULL,
|
||||
CONSTRAINT [PK_QuoteList_1] PRIMARY KEY CLUSTERED ([QuoteType] ASC, [CodQuote] ASC, [QuoteRev] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'tipo di preventivo: Q = quote, S = simulation', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteList', @level2type = N'COLUMN', @level2name = N'QuoteType';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'numero nel formato yyMMddnnnn dove nnn è incrementale giornaliero', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteList', @level2type = N'COLUMN', @level2name = N'CodQuote';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice cliente', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteList', @level2type = N'COLUMN', @level2name = N'CodClient';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice articolo', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteList', @level2type = N'COLUMN', @level2name = N'CodItem';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'classe raggruppamento (es complessità disegno)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteList', @level2type = N'COLUMN', @level2name = N'CodItemGroup';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice MP', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteList', @level2type = N'COLUMN', @level2name = N'RawMat';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'peso espresso come g/m (grammi / metro)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteList', @level2type = N'COLUMN', @level2name = N'UnitWeight';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Quantità lotto kg', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteList', @level2type = N'COLUMN', @level2name = N'BatchQty';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Codice Incoterms', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteList', @level2type = N'COLUMN', @level2name = N'CodInco';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Prezzo Offerto', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteList', @level2type = N'COLUMN', @level2name = N'PriceOff';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'data dell''ordine', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteList', @level2type = N'COLUMN', @level2name = N'OrdDate';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'numero ordine', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteList', @level2type = N'COLUMN', @level2name = N'OrdNum';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'riga ordine', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteList', @level2type = N'COLUMN', @level2name = N'OrdRow';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Prezzo finale ordine', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteList', @level2type = N'COLUMN', @level2name = N'OrdPrice';
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
CREATE TABLE [dbo].[QuoteOC] (
|
||||
[QuoteType] CHAR (1) CONSTRAINT [DF_QuoteExtra_QuoteType] DEFAULT ('Q') NOT NULL,
|
||||
[CodQuote] BIGINT NOT NULL,
|
||||
[QuoteRev] INT CONSTRAINT [DF_QuoteExtra_QuoteRev] DEFAULT ((0)) NOT NULL,
|
||||
[NumEx] INT NOT NULL,
|
||||
[ProcessNum] NVARCHAR (50) CONSTRAINT [DF_QuoteExtra_ResType] DEFAULT ((0)) NOT NULL,
|
||||
[CodPlant] NVARCHAR (50) NOT NULL,
|
||||
[Class01] NVARCHAR (50) CONSTRAINT [DF_QuoteExtra_Class01] DEFAULT ('') NOT NULL,
|
||||
[Class02] NVARCHAR (50) CONSTRAINT [DF_QuoteExtra_Class02] DEFAULT ('') NOT NULL,
|
||||
[Class03] NVARCHAR (50) CONSTRAINT [DF_QuoteExtra_Class03] DEFAULT ('') NOT NULL,
|
||||
[Class04] NVARCHAR (50) CONSTRAINT [DF_QuoteExtra_Class04] DEFAULT ('') NOT NULL,
|
||||
[Class05] NVARCHAR (50) CONSTRAINT [DF_QuoteExtra_Class05] DEFAULT ('') NOT NULL,
|
||||
[TotQty] DECIMAL (18, 6) CONSTRAINT [DF_QuoteExtra_TotQty] DEFAULT ((1)) NOT NULL,
|
||||
[TotCost] DECIMAL (18, 6) CONSTRAINT [DF_QuoteExtra_TotCost] DEFAULT ((0)) NOT NULL,
|
||||
[Quota] DECIMAL (18, 6) CONSTRAINT [DF_QuoteExtra_Quota] DEFAULT ((1)) NOT NULL,
|
||||
[C4UG] AS (([TotCost]*[Quota])/[TotQty]) PERSISTED,
|
||||
[valid] BIT CONSTRAINT [DF_QuoteOC_valid] DEFAULT ((1)) NOT NULL,
|
||||
CONSTRAINT [PK_QuoteExtra] PRIMARY KEY CLUSTERED ([QuoteType] ASC, [CodQuote] ASC, [QuoteRev] ASC, [NumEx] ASC),
|
||||
CONSTRAINT [FK_QuoteExtra_QuoteList] FOREIGN KEY ([QuoteType], [CodQuote], [QuoteRev]) REFERENCES [dbo].[QuoteList] ([QuoteType], [CodQuote], [QuoteRev]) ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Altri costi (diretti-indiretti)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteOC';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'tipo di preventivo: Q = quote, S = simulation', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteOC', @level2type = N'COLUMN', @level2name = N'QuoteType';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'numero nel formato yyMMddnnnn dove nnn è incrementale giornaliero', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteOC', @level2type = N'COLUMN', @level2name = N'CodQuote';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'progressivo del costo OTHER', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteOC', @level2type = N'COLUMN', @level2name = N'NumEx';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Tipo risorsa (e lavorazione): 01 .. 04', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteOC', @level2type = N'COLUMN', @level2name = N'ProcessNum';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice impianto', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteOC', @level2type = N'COLUMN', @level2name = N'CodPlant';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Riclass. 01, tipo di costo :
|
||||
- UTIL (EE/GAS)
|
||||
- ROTTAME (costo rifusione + quota perdita x ri-vendita)
|
||||
- CONS
|
||||
- TRASP
|
||||
- PROVV
|
||||
- EXTRA', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteOC', @level2type = N'COLUMN', @level2name = N'Class01';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Riclass. 02, codice di ricerca per tipo di costo extra, es se consumabili è codice matrice', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteOC', @level2type = N'COLUMN', @level2name = N'Class02';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Riclass. 03', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteOC', @level2type = N'COLUMN', @level2name = N'Class03';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Riclass. 04', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteOC', @level2type = N'COLUMN', @level2name = N'Class04';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Riclass. 05', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteOC', @level2type = N'COLUMN', @level2name = N'Class05';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'quantità totale di riferimento', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteOC', @level2type = N'COLUMN', @level2name = N'TotQty';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Costo totale di riferimento', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteOC', @level2type = N'COLUMN', @level2name = N'TotCost';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Quota di impiego', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteOC', @level2type = N'COLUMN', @level2name = N'Quota';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Costo pro quota di impiego (per matrici, imballi,...)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteOC', @level2type = N'COLUMN', @level2name = N'C4UG';
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
CREATE TABLE [dbo].[QuoteParam] (
|
||||
[QuoteType] CHAR (1) CONSTRAINT [DF_QuoteParam_QuoteType] DEFAULT ('Q') NOT NULL,
|
||||
[CodQuote] BIGINT NOT NULL,
|
||||
[QuoteRev] INT CONSTRAINT [DF_QuoteParam_QuoteRev] DEFAULT ((0)) NOT NULL,
|
||||
[NumP] INT NOT NULL,
|
||||
[ProcessNum] NVARCHAR (50) CONSTRAINT [DF_QuoteParam_ProcessNum] DEFAULT ((0)) NOT NULL,
|
||||
[Descr] NVARCHAR (50) NOT NULL,
|
||||
[Parameter] NVARCHAR (100) CONSTRAINT [DF_QuoteParam_Parameter] DEFAULT ('') NOT NULL,
|
||||
CONSTRAINT [PK_QuoteParam] PRIMARY KEY CLUSTERED ([NumP] ASC, [QuoteType] ASC, [CodQuote] ASC, [QuoteRev] ASC),
|
||||
CONSTRAINT [FK_QuoteParam_QuoteList] FOREIGN KEY ([QuoteType], [CodQuote], [QuoteRev]) REFERENCES [dbo].[QuoteList] ([QuoteType], [CodQuote], [QuoteRev]) ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'tipo di preventivo: Q = quote, S = simulation', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteParam', @level2type = N'COLUMN', @level2name = N'QuoteType';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'numero nel formato yyMMddnnnn dove nnn è incrementale giornaliero', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteParam', @level2type = N'COLUMN', @level2name = N'CodQuote';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'progressivo interno', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteParam', @level2type = N'COLUMN', @level2name = N'NumP';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Tipo risorsa (e lavorazione): 01 .. 04', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteParam', @level2type = N'COLUMN', @level2name = N'ProcessNum';
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
CREATE TABLE [dbo].[QuoteRM] (
|
||||
[QuoteType] CHAR (1) CONSTRAINT [DF_QuoteRM_QuoteType] DEFAULT ('Q') NOT NULL,
|
||||
[CodQuote] BIGINT NOT NULL,
|
||||
[QuoteRev] INT CONSTRAINT [DF_QuoteRM_QuoteRev] DEFAULT ((0)) NOT NULL,
|
||||
[NumRM] INT NOT NULL,
|
||||
[RawMat] NVARCHAR (50) NOT NULL,
|
||||
[RawMatCost] DECIMAL (18, 6) CONSTRAINT [DF_QuoteRM_RawMatCost] DEFAULT ((0)) NOT NULL,
|
||||
[RawMatExtraCost] DECIMAL (18, 6) CONSTRAINT [DF_QuoteRM_RawMatExtraCost] DEFAULT ((0)) NOT NULL,
|
||||
[CodPackag] NVARCHAR (50) CONSTRAINT [DF_QuoteRM_CodPackag] DEFAULT ((0)) NOT NULL,
|
||||
[FCR] DECIMAL (18, 6) CONSTRAINT [DF_QuoteRM_ConvRatio] DEFAULT ((1)) NOT NULL,
|
||||
[FYR] AS ((1)/[FCR]),
|
||||
[FSR] AS ((1)-(1)/[FCR]),
|
||||
[valid] BIT CONSTRAINT [DF_QuoteRM_valid] DEFAULT ((1)) NOT NULL,
|
||||
CONSTRAINT [PK_QuoteRM] PRIMARY KEY CLUSTERED ([QuoteType] ASC, [CodQuote] ASC, [QuoteRev] ASC, [NumRM] ASC),
|
||||
CONSTRAINT [FK_QuoteRM_QuoteList] FOREIGN KEY ([QuoteType], [CodQuote], [QuoteRev]) REFERENCES [dbo].[QuoteList] ([QuoteType], [CodQuote], [QuoteRev]) ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'tipo di preventivo: Q = quote, S = simulation', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteRM', @level2type = N'COLUMN', @level2name = N'QuoteType';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'numero nel formato yyMMddnnnn dove nnn è incrementale giornaliero', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteRM', @level2type = N'COLUMN', @level2name = N'CodQuote';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'progressivo interno', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteRM', @level2type = N'COLUMN', @level2name = N'NumRM';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice MP', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteRM', @level2type = N'COLUMN', @level2name = N'RawMat';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'costo della MP €/kg', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteRM', @level2type = N'COLUMN', @level2name = N'RawMatCost';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'costo degli extra della MP €/kg', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteRM', @level2type = N'COLUMN', @level2name = N'RawMatExtraCost';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Tasso di conversione TOTALE, messa al cento, quantità di MP necessaria per produrre un unità di prodotto', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteRM', @level2type = N'COLUMN', @level2name = N'FCR';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'FULL Yield Ratio, percentuale RESA TOTALE', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteRM', @level2type = N'COLUMN', @level2name = N'FYR';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'FULL Scrape Ratio, percentuale scarto TOTALE', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteRM', @level2type = N'COLUMN', @level2name = N'FSR';
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
CREATE TABLE [dbo].[QuoteWorkExt] (
|
||||
[QuoteType] CHAR (1) CONSTRAINT [DF_QuoteWorkExt_QuoteType] DEFAULT ('Q') NOT NULL,
|
||||
[CodQuote] BIGINT NOT NULL,
|
||||
[QuoteRev] INT CONSTRAINT [DF_QuoteWorkExt_QuoteRev] DEFAULT ((0)) NOT NULL,
|
||||
[NumWE] INT NOT NULL,
|
||||
[EWC4UG] DECIMAL (9, 6) CONSTRAINT [DF_QuoteWorkExt_FC4UG] DEFAULT ((0)) NOT NULL,
|
||||
[UM] NVARCHAR (50) CONSTRAINT [DF_QuoteWorkExt_EWC4UG1] DEFAULT ((0)) NOT NULL,
|
||||
[valid] BIT CONSTRAINT [DF_QuoteWorkExt_valid] DEFAULT ((1)) NOT NULL,
|
||||
CONSTRAINT [PK_QuoteWorkExt] PRIMARY KEY CLUSTERED ([QuoteRev] ASC, [QuoteType] ASC, [CodQuote] ASC, [NumWE] ASC),
|
||||
CONSTRAINT [FK_QuoteWorkExt_QuoteList] FOREIGN KEY ([QuoteType], [CodQuote], [QuoteRev]) REFERENCES [dbo].[QuoteList] ([QuoteType], [CodQuote], [QuoteRev]) ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'tipo di preventivo: Q = quote, S = simulation', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkExt', @level2type = N'COLUMN', @level2name = N'QuoteType';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'numero nel formato yyMMddnnnn dove nnn è incrementale giornaliero', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkExt', @level2type = N'COLUMN', @level2name = N'CodQuote';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'progressivo interno', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkExt', @level2type = N'COLUMN', @level2name = N'NumWE';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'External Work Cost FOR Unit of Good, quota dei costi fissi per unità di prodotto finito (Copertura Costo Struttura e Linea)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkExt', @level2type = N'COLUMN', @level2name = N'EWC4UG';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Unità di misura di riferimento per il costo', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkExt', @level2type = N'COLUMN', @level2name = N'UM';
|
||||
|
||||
@@ -0,0 +1,127 @@
|
||||
CREATE TABLE [dbo].[QuoteWorkInt] (
|
||||
[QuoteType] CHAR (1) CONSTRAINT [DF_QuoteWorkInt_QuoteType] DEFAULT ('Q') NOT NULL,
|
||||
[CodQuote] BIGINT NOT NULL,
|
||||
[QuoteRev] INT CONSTRAINT [DF_QuoteWorkInt_QuoteRev] DEFAULT ((0)) NOT NULL,
|
||||
[NumWI] INT NOT NULL,
|
||||
[ProcessNum] NVARCHAR (50) CONSTRAINT [DF_QuoteWorkInt_WorkType] DEFAULT ((0)) NOT NULL,
|
||||
[CodPlant] NVARCHAR (50) NOT NULL,
|
||||
[Class01] NVARCHAR (50) CONSTRAINT [DF_QuoteWorkInt_Prod_LUK] DEFAULT ('') NOT NULL,
|
||||
[Class02] NVARCHAR (50) CONSTRAINT [DF_QuoteWorkInt_Class011] DEFAULT ('') NOT NULL,
|
||||
[Class03] NVARCHAR (50) CONSTRAINT [DF_QuoteWorkInt_Class021] DEFAULT ('') NOT NULL,
|
||||
[Class04] NVARCHAR (50) CONSTRAINT [DF_QuoteWorkInt_Class031] DEFAULT ('') NOT NULL,
|
||||
[Class05] NVARCHAR (50) CONSTRAINT [DF_QuoteWorkInt_Class032] DEFAULT ('') NOT NULL,
|
||||
[NetProd] DECIMAL (9, 3) CONSTRAINT [DF_QuoteWorkInt_NetProd] DEFAULT ((0)) NOT NULL,
|
||||
[WSR] DECIMAL (9, 8) CONSTRAINT [DF_QuoteWorkInt_TSR] DEFAULT ((0)) NOT NULL,
|
||||
[MSR] DECIMAL (9, 8) CONSTRAINT [DF_QuoteWorkInt_CSR] DEFAULT ((0)) NOT NULL,
|
||||
[DSR] DECIMAL (9, 8) CONSTRAINT [DF_QuoteWorkInt_CSR1] DEFAULT ((0)) NOT NULL,
|
||||
[FC4UG] DECIMAL (9, 6) CONSTRAINT [DF_QuoteWorkInt_RUFG] DEFAULT ((0)) NOT NULL,
|
||||
[VC4UG] DECIMAL (9, 6) CONSTRAINT [DF_QuoteWorkInt_RCFG] DEFAULT ((0)) NOT NULL,
|
||||
[OH4UG] DECIMAL (9, 6) CONSTRAINT [DF_QuoteWorkInt_VC4UG1] DEFAULT ((0)) NOT NULL,
|
||||
[SC4UG] DECIMAL (9, 6) CONSTRAINT [DF_QuoteWorkInt_VC4UG1_1] DEFAULT ((0)) NOT NULL,
|
||||
[WYR] AS ((1)-[WSR]),
|
||||
[MYR] AS ((1)-[MSR]),
|
||||
[DYR] AS ((1)-[DSR]),
|
||||
[WCR] AS ((1)/((1)-[WSR])),
|
||||
[MCR] AS ((1)/((1)-[MSR])),
|
||||
[DCR] AS ((1)/((1)-[DSR])),
|
||||
[valid] BIT CONSTRAINT [DF_QuoteWorkInt_valid] DEFAULT ((1)) NOT NULL,
|
||||
CONSTRAINT [PK_QuoteWorkInt] PRIMARY KEY CLUSTERED ([QuoteType] ASC, [CodQuote] ASC, [QuoteRev] ASC, [NumWI] ASC),
|
||||
CONSTRAINT [FK_QuoteWorkInt_QuoteList] FOREIGN KEY ([QuoteType], [CodQuote], [QuoteRev]) REFERENCES [dbo].[QuoteList] ([QuoteType], [CodQuote], [QuoteRev]) ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'tipo di preventivo: Q = quote, S = simulation', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'QuoteType';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'numero nel formato yyMMddnnnn dove nnn è incrementale giornaliero', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'CodQuote';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'progressivo interno', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'NumWI';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Tipo risorsa (e lavorazione): estrusione/imballo', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'ProcessNum';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice impianto', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'CodPlant';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Riclass. 01, ARTICOLO + MATERIALE', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'Class01';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Riclass. 02, codice di ricerca per prod - es cod imballo o Chiave di ricerca Articolo/ClasseArt + RawMat+ Impianto + NumLuci', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'Class02';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Riclass. 03, tipo imballo', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'Class03';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Riclass. 04', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'Class04';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Riclass. 05', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'Class05';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Produttivita netta (teorica) kg/h', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'NetProd';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Work Scrape Ratio, percentuale scarto della lavorazione (tecnico)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'WSR';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Material Scrape Ratio, percentuale scarto legato alla MP (cesoia x alx)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'MSR';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Defect Scrape Ratio, percentuale scarto per difettosità prodotto (qualità)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'DSR';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Fixed Cost FOR Unit of Good, quota dei costi fissi per unità di prodotto finito (Copertura Costo Struttura e Linea)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'FC4UG';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Variables Cost FOR Unit of Good, quota dei costi variabili per unità di prodotto finito (Costo del personale x Alx)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'VC4UG';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'OH Cost FOR Unit of Good, quota dei costi Over Head per unità di prodotto finito', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'OH4UG';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Setup Cost FOR Unit of Good, quota dei costi di setup per unità di prodotto finito (costo cambio matrice x Alx)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'SC4UG';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Work Yield Ratio, percentuale RESA della lavorazione (tecnico), 1 - scarto', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'WYR';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Material Yield Ratio, percentuale RESA legato alla MP (cesoia x alx), 1 - scarto', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'MYR';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Defect Yield Ratio, percentuale RESA per difettosità prodotto (qualità), 1 - scarto', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'DYR';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Work Conversion Ratio, Messa a Cento, 1 / RESA', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'WCR';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Material Conversion Ratio, Messa a Cento, 1 / RESA', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'MCR';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Defect Conversion Ratio, Messa a Cento, 1 / RESA', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'QuoteWorkInt', @level2type = N'COLUMN', @level2name = N'DCR';
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
CREATE TABLE [dbo].[RawMatDet] (
|
||||
[RawMat] NVARCHAR (50) NOT NULL,
|
||||
[ProcCost] DECIMAL (18, 6) CONSTRAINT [DF_RawMatDet_ProcCost] DEFAULT ((0)) NOT NULL,
|
||||
[ProcYield] DECIMAL (9, 6) CONSTRAINT [DF_RawMatDet_ProcYield] DEFAULT ((0)) NOT NULL,
|
||||
[CSR] DECIMAL (9, 6) CONSTRAINT [DF_RawMatDet_CSR] DEFAULT ((0)) NOT NULL,
|
||||
[SSR] DECIMAL (9, 6) CONSTRAINT [DF_RawMatDet_SSR] DEFAULT ((0)) NULL,
|
||||
[SSVA] DECIMAL (9, 6) CONSTRAINT [DF_RawMatDet_SSVA] DEFAULT ((0)) NULL,
|
||||
[SSVR] DECIMAL (9, 6) CONSTRAINT [DF_RawMatDet_SSVR] DEFAULT ((0)) NULL,
|
||||
[ExtraMatCost] DECIMAL (9, 6) CONSTRAINT [DF_RawMatDet_ExtraMatCost] DEFAULT ((0)) NULL,
|
||||
[ExtraServCost] DECIMAL (9, 6) CONSTRAINT [DF_RawMatDet_ExtraServCost] DEFAULT ((0)) NULL,
|
||||
CONSTRAINT [PK_RawMatDet] PRIMARY KEY CLUSTERED ([RawMat] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice MP', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'RawMatDet', @level2type = N'COLUMN', @level2name = N'RawMat';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'costo del processo di rifusione €/kg', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'RawMatDet', @level2type = N'COLUMN', @level2name = N'ProcCost';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'resa del processo di rifusione %', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'RawMatDet', @level2type = N'COLUMN', @level2name = N'ProcYield';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Cut Scrape Ratio, percentuale scarto cesoia', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'RawMatDet', @level2type = N'COLUMN', @level2name = N'CSR';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Scrape Sell Ratio, percentuale di vendita dello scarto (0-100)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'RawMatDet', @level2type = N'COLUMN', @level2name = N'SSR';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Scrape Sell Value - ABSOLUTE, valore di vendita dello scarto ASSOLUTO', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'RawMatDet', @level2type = N'COLUMN', @level2name = N'SSVA';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Scrape Sell Value - RELATIVE come valore % del valore lega', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'RawMatDet', @level2type = N'COLUMN', @level2name = N'SSVR';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Costo extra di acquisto del materiale', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'RawMatDet', @level2type = N'COLUMN', @level2name = N'ExtraMatCost';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Costo extra dei servizi sul materiale (es ultrasuoni)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'RawMatDet', @level2type = N'COLUMN', @level2name = N'ExtraServCost';
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
CREATE TABLE [dbo].[RevHistory] (
|
||||
[RevType] NVARCHAR (50) CONSTRAINT [DF_RevHistory_RevType] DEFAULT (N'P') NOT NULL,
|
||||
[RevNum] INT CONSTRAINT [DF_RevHistory_RevNum] DEFAULT ((0)) NOT NULL,
|
||||
[DateRev] DATETIME NOT NULL,
|
||||
[Description] NVARCHAR (250) CONSTRAINT [DF_RevHistory_Description] DEFAULT ('') NOT NULL,
|
||||
CONSTRAINT [PK_RevHistory] PRIMARY KEY CLUSTERED ([RevType] ASC, [RevNum] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Tipo di revisione indicata coem S.C.P --> in C = costi di contab industriale, P = da ProductionLog, S = Sistema di calcolo', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'RevHistory', @level2type = N'COLUMN', @level2name = N'RevType';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'incrementale del numero di revisione', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'RevHistory', @level2type = N'COLUMN', @level2name = N'RevNum';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'data revisione', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'RevHistory', @level2type = N'COLUMN', @level2name = N'DateRev';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'descrizione revisione', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'RevHistory', @level2type = N'COLUMN', @level2name = N'Description';
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
CREATE TABLE [dbo].[TabDifett] (
|
||||
[KeyAMI] NVARCHAR (152) NOT NULL,
|
||||
[ProcessNum] NVARCHAR (50) NOT NULL,
|
||||
[CodItem] NVARCHAR (50) NOT NULL,
|
||||
[RawMat] NVARCHAR (50) NOT NULL,
|
||||
[CodPlant] NVARCHAR (50) NOT NULL,
|
||||
[TotOUT] INT NULL,
|
||||
[TotIn] INT NULL
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
CREATE CLUSTERED INDEX [i_TabDifett_ProcessNum_KeyAMI]
|
||||
ON [dbo].[TabDifett]([ProcessNum] ASC, [KeyAMI] ASC);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [i_TabDifett_KeyAMI_ProcessNum]
|
||||
ON [dbo].[TabDifett]([KeyAMI] ASC, [ProcessNum] ASC)
|
||||
INCLUDE([TotOUT], [TotIn]);
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
CREATE TABLE [dbo].[TabImbArt] (
|
||||
[KeyA] NVARCHAR (50) NOT NULL,
|
||||
[NumImb] DECIMAL (9, 6) CONSTRAINT [DF_TabImbArt_NumImb] DEFAULT ((0)) NOT NULL,
|
||||
[TotOut] DECIMAL (18, 6) CONSTRAINT [DF_TabImbArt_TotOut] DEFAULT ((0)) NOT NULL,
|
||||
[Durata] DECIMAL (18, 6) CONSTRAINT [DF_TabImbArt_Durata] DEFAULT ((0)) NOT NULL,
|
||||
CONSTRAINT [PK_TabImbArt] PRIMARY KEY CLUSTERED ([KeyA] ASC)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
CREATE TABLE [dbo].[TabImbGrp] (
|
||||
[CodPackag] NVARCHAR (50) NOT NULL,
|
||||
[NumImb] DECIMAL (9, 6) CONSTRAINT [DF_TabImbGrp_NumImb] DEFAULT ((0)) NOT NULL,
|
||||
[TotOut] DECIMAL (18, 6) CONSTRAINT [DF_TabImbGrp_TotOut] DEFAULT ((0)) NOT NULL,
|
||||
[Durata] DECIMAL (18, 6) CONSTRAINT [DF_TabImbGrp_Durata] DEFAULT ((0)) NOT NULL,
|
||||
CONSTRAINT [PK_TabImbGrp] PRIMARY KEY CLUSTERED ([CodPackag] ASC)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
CREATE TABLE [dbo].[TabProdSc] (
|
||||
[KeyAMIL] NVARCHAR (250) NOT NULL,
|
||||
[CodDiesGroup] NVARCHAR (50) NOT NULL,
|
||||
[KeyAM] NVARCHAR (250) NOT NULL,
|
||||
[CodItem] NVARCHAR (50) NOT NULL,
|
||||
[RawMat] NVARCHAR (50) NOT NULL,
|
||||
[CodPlant] NVARCHAR (50) NOT NULL,
|
||||
[HoleNum] INT NOT NULL,
|
||||
[NumSMED] INT NOT NULL,
|
||||
[KgTeo] DECIMAL (18, 6) NOT NULL,
|
||||
[KgLor] DECIMAL (18, 6) NOT NULL,
|
||||
[Duration] DECIMAL (18, 6) NOT NULL,
|
||||
[ProdTeo] AS (isnull([KgTeo],(0))/case isnull([Duration],(1)) when (0) then (1) else isnull([Duration],(1)) end),
|
||||
[ScTec] AS ((1)-[KgTeo]/case [KgLor] when (0) then (1) else [KgLor] end),
|
||||
CONSTRAINT [PK_TabProdSc] PRIMARY KEY CLUSTERED ([KeyAMIL] ASC, [CodDiesGroup] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [i_TabProdSc_KeyAM]
|
||||
ON [dbo].[TabProdSc]([KeyAM] ASC)
|
||||
INCLUDE([KgTeo]);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'produttività teorica (kgTeorici / durata h)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TabProdSc', @level2type = N'COLUMN', @level2name = N'ProdTeo';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'scarto tecnico: 1 - (KgTeorici/ISNULL(KgLordi,1))', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TabProdSc', @level2type = N'COLUMN', @level2name = N'ScTec';
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
CREATE TABLE [dbo].[TranspCostDet] (
|
||||
[TranspZone] NVARCHAR (50) CONSTRAINT [DF_Table_1_ClassCli01] DEFAULT ('') NOT NULL,
|
||||
[TranspCost] DECIMAL (9, 6) NOT NULL,
|
||||
CONSTRAINT [PK_TranspCostDet_1] PRIMARY KEY CLUSTERED ([TranspZone] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Classificazione cliente (es zona, provincia...) x incrocio con tab costi trasporto', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TranspCostDet', @level2type = N'COLUMN', @level2name = N'TranspZone';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'costi di traporto €/kg', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'TranspCostDet', @level2type = N'COLUMN', @level2name = N'TranspCost';
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
CREATE TABLE [dbo].[Utilities] (
|
||||
[CodUtil] NVARCHAR (50) NOT NULL,
|
||||
[CodPlant] NVARCHAR (50) NOT NULL,
|
||||
[UnitCost] DECIMAL (9, 6) CONSTRAINT [DF_Utilities_unitCost] DEFAULT ((0)) NOT NULL,
|
||||
CONSTRAINT [PK_Utilities] PRIMARY KEY CLUSTERED ([CodUtil] ASC, [CodPlant] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'costo unitario per unità di PF (€/kg)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Utilities';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice dell''utility (Energia elettrica / gas)', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Utilities', @level2type = N'COLUMN', @level2name = N'CodUtil';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice impianto', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Utilities', @level2type = N'COLUMN', @level2name = N'CodPlant';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Costo al kg per impianto ed utility', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'TABLE', @level1name = N'Utilities', @level2type = N'COLUMN', @level2name = N'UnitCost';
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
CREATE TABLE [dbo].[Vocabolario] (
|
||||
[Lingua] NVARCHAR (3) NOT NULL,
|
||||
[Lemma] NVARCHAR (50) NOT NULL,
|
||||
[Traduzione] NVARCHAR (500) NOT NULL,
|
||||
CONSTRAINT [PK_Vocabolario] PRIMARY KEY CLUSTERED ([Lingua] ASC, [Lemma] ASC),
|
||||
CONSTRAINT [FK_Vocabolario_Lingue] FOREIGN KEY ([Lingua]) REFERENCES [dbo].[Lingue] ([Lingua]) ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [I_lemma]
|
||||
ON [dbo].[Vocabolario]([Lemma] ASC);
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
CREATE TABLE [dbo].[test] (
|
||||
[Row] BIGINT IDENTITY (1, 1) NOT NULL,
|
||||
[CodPlant] NVARCHAR (50) NOT NULL,
|
||||
[EventStart] DATETIME NOT NULL,
|
||||
[ProcessNum] NVARCHAR (50) NOT NULL,
|
||||
[CodDies] NVARCHAR (50) NOT NULL,
|
||||
[CodClient] NVARCHAR (50) NOT NULL,
|
||||
[OrderNum] NVARCHAR (50) NOT NULL,
|
||||
[BatchNum] NVARCHAR (50) NOT NULL,
|
||||
CONSTRAINT [PK_test] PRIMARY KEY CLUSTERED ([Row] ASC)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,136 @@
|
||||
CREATE VIEW dbo.v_QuoteFull_Q
|
||||
AS
|
||||
SELECT Vers, QuoteType, CodQuote, QuoteRev, CodClient, ClientName, CodItem, CodItemGroup, RawMat, UnitWeight, BatchQty, CodInco, KeyAM, Note, PriceOff, CodClientAssoc, ClientNameAssoc, ItemDescr,
|
||||
CodifProfilo, ClasseMerc, TipoDies, CodDiesGroup, DiamDies, HoleNumDies, DiesPrice, DiesExpLife, DiesEOLife, NumDiesInList, NumDiesExaust, CodPlant, KeyAMIL, KgTeo, NumSMED, QuotaMan,
|
||||
PRMWeight, PWeight, PTare, LivPackage, LivPackageDett, RawMatCost, RawMatExtraCost, RawMatFullCost, CodPackag, PkgDesc, FSR, ProvvCost, EECost, GasCost, DiesCost, PackCost, TranspCost,
|
||||
SellCost01, RefCost01, SellCost04, RefCost04, WSR01, MSR01, NetProd01, FC4UG01, VC4UG01, OH4UG01, SC4UG01, DSR, NetProd04, FC4UG04, VC4UG04, FVC, Charge, FVC + RawMatFullCost AS P_FVC,
|
||||
FC4UG01 + OH4UG01 AS CPS, FC4UG01 + OH4UG01 + FVC + RawMatFullCost AS P_CPS, FC4UG04 + FVC + RawMatFullCost AS P_FC4UG04, FVC + FC4UG01 + OH4UG01 + FC4UG04 AS FullCost,
|
||||
FVC + FC4UG01 + OH4UG01 + FC4UG04 + RawMatFullCost AS P_FullCost, Charge * (FVC + FC4UG01 + OH4UG01 + FC4UG04) AS MinPrice, Charge * (FVC + FC4UG01 + OH4UG01 + FC4UG04 + RawMatFullCost)
|
||||
AS P_MinPrice, PriceOff + RawMatFullCost AS P_PriceOff, FVC + FC4UG01 + OH4UG01 + FC4UG04 - PriceOff AS NetMar, (PriceOff - FVC) / (FC4UG01 + OH4UG01 + FC4UG04) AS FCShield, (PRMWeight - PTare)
|
||||
* (PriceOff + RawMatFullCost) / PWeight AS PckSur
|
||||
FROM dbo.QuoteFull_Q
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
|
||||
Begin DesignProperties =
|
||||
Begin PaneConfigurations =
|
||||
Begin PaneConfiguration = 0
|
||||
NumPanes = 4
|
||||
Configuration = "(H (1[40] 4[20] 2[20] 3) )"
|
||||
End
|
||||
Begin PaneConfiguration = 1
|
||||
NumPanes = 3
|
||||
Configuration = "(H (1 [50] 4 [25] 3))"
|
||||
End
|
||||
Begin PaneConfiguration = 2
|
||||
NumPanes = 3
|
||||
Configuration = "(H (1 [50] 2 [25] 3))"
|
||||
End
|
||||
Begin PaneConfiguration = 3
|
||||
NumPanes = 3
|
||||
Configuration = "(H (4 [30] 2 [40] 3))"
|
||||
End
|
||||
Begin PaneConfiguration = 4
|
||||
NumPanes = 2
|
||||
Configuration = "(H (1 [56] 3))"
|
||||
End
|
||||
Begin PaneConfiguration = 5
|
||||
NumPanes = 2
|
||||
Configuration = "(H (2 [66] 3))"
|
||||
End
|
||||
Begin PaneConfiguration = 6
|
||||
NumPanes = 2
|
||||
Configuration = "(H (4 [50] 3))"
|
||||
End
|
||||
Begin PaneConfiguration = 7
|
||||
NumPanes = 1
|
||||
Configuration = "(V (3))"
|
||||
End
|
||||
Begin PaneConfiguration = 8
|
||||
NumPanes = 3
|
||||
Configuration = "(H (1[56] 4[18] 2) )"
|
||||
End
|
||||
Begin PaneConfiguration = 9
|
||||
NumPanes = 2
|
||||
Configuration = "(H (1 [75] 4))"
|
||||
End
|
||||
Begin PaneConfiguration = 10
|
||||
NumPanes = 2
|
||||
Configuration = "(H (1[66] 2) )"
|
||||
End
|
||||
Begin PaneConfiguration = 11
|
||||
NumPanes = 2
|
||||
Configuration = "(H (4 [60] 2))"
|
||||
End
|
||||
Begin PaneConfiguration = 12
|
||||
NumPanes = 1
|
||||
Configuration = "(H (1) )"
|
||||
End
|
||||
Begin PaneConfiguration = 13
|
||||
NumPanes = 1
|
||||
Configuration = "(V (4))"
|
||||
End
|
||||
Begin PaneConfiguration = 14
|
||||
NumPanes = 1
|
||||
Configuration = "(V (2))"
|
||||
End
|
||||
ActivePaneConfig = 0
|
||||
End
|
||||
Begin DiagramPane =
|
||||
Begin Origin =
|
||||
Top = 0
|
||||
Left = 0
|
||||
End
|
||||
Begin Tables =
|
||||
Begin Table = "QuoteFull_Q"
|
||||
Begin Extent =
|
||||
Top = 6
|
||||
Left = 38
|
||||
Bottom = 136
|
||||
Right = 221
|
||||
End
|
||||
DisplayFlags = 280
|
||||
TopColumn = 0
|
||||
End
|
||||
End
|
||||
End
|
||||
Begin SQLPane =
|
||||
End
|
||||
Begin DataPane =
|
||||
Begin ParameterDefaults = ""
|
||||
End
|
||||
Begin ColumnWidths = 9
|
||||
Width = 284
|
||||
Width = 1500
|
||||
Width = 1500
|
||||
Width = 1500
|
||||
Width = 1500
|
||||
Width = 1500
|
||||
Width = 1500
|
||||
Width = 1500
|
||||
Width = 1500
|
||||
End
|
||||
End
|
||||
Begin CriteriaPane =
|
||||
Begin ColumnWidths = 11
|
||||
Column = 1440
|
||||
Alias = 900
|
||||
Table = 1170
|
||||
Output = 720
|
||||
Append = 1400
|
||||
NewValue = 1170
|
||||
SortType = 1350
|
||||
SortOrder = 1410
|
||||
GroupBy = 1350
|
||||
Filter = 1350
|
||||
Or = 1350
|
||||
Or = 1350
|
||||
Or = 1350
|
||||
End
|
||||
End
|
||||
End', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_QuoteFull_Q';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_QuoteFull_Q';
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
CREATE VIEW dbo.v_selClient
|
||||
AS
|
||||
SELECT CodClient AS value, ClientName + ' [' + CodClient + ']' AS label
|
||||
FROM dbo.ClientDet
|
||||
WHERE (CodClient <> '')
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
|
||||
Begin DesignProperties =
|
||||
Begin PaneConfigurations =
|
||||
Begin PaneConfiguration = 0
|
||||
NumPanes = 4
|
||||
Configuration = "(H (1[40] 4[20] 2[20] 3) )"
|
||||
End
|
||||
Begin PaneConfiguration = 1
|
||||
NumPanes = 3
|
||||
Configuration = "(H (1 [50] 4 [25] 3))"
|
||||
End
|
||||
Begin PaneConfiguration = 2
|
||||
NumPanes = 3
|
||||
Configuration = "(H (1 [50] 2 [25] 3))"
|
||||
End
|
||||
Begin PaneConfiguration = 3
|
||||
NumPanes = 3
|
||||
Configuration = "(H (4 [30] 2 [40] 3))"
|
||||
End
|
||||
Begin PaneConfiguration = 4
|
||||
NumPanes = 2
|
||||
Configuration = "(H (1 [56] 3))"
|
||||
End
|
||||
Begin PaneConfiguration = 5
|
||||
NumPanes = 2
|
||||
Configuration = "(H (2 [66] 3))"
|
||||
End
|
||||
Begin PaneConfiguration = 6
|
||||
NumPanes = 2
|
||||
Configuration = "(H (4 [50] 3))"
|
||||
End
|
||||
Begin PaneConfiguration = 7
|
||||
NumPanes = 1
|
||||
Configuration = "(V (3))"
|
||||
End
|
||||
Begin PaneConfiguration = 8
|
||||
NumPanes = 3
|
||||
Configuration = "(H (1[56] 4[18] 2) )"
|
||||
End
|
||||
Begin PaneConfiguration = 9
|
||||
NumPanes = 2
|
||||
Configuration = "(H (1 [75] 4))"
|
||||
End
|
||||
Begin PaneConfiguration = 10
|
||||
NumPanes = 2
|
||||
Configuration = "(H (1[66] 2) )"
|
||||
End
|
||||
Begin PaneConfiguration = 11
|
||||
NumPanes = 2
|
||||
Configuration = "(H (4 [60] 2))"
|
||||
End
|
||||
Begin PaneConfiguration = 12
|
||||
NumPanes = 1
|
||||
Configuration = "(H (1) )"
|
||||
End
|
||||
Begin PaneConfiguration = 13
|
||||
NumPanes = 1
|
||||
Configuration = "(V (4))"
|
||||
End
|
||||
Begin PaneConfiguration = 14
|
||||
NumPanes = 1
|
||||
Configuration = "(V (2))"
|
||||
End
|
||||
ActivePaneConfig = 0
|
||||
End
|
||||
Begin DiagramPane =
|
||||
Begin Origin =
|
||||
Top = 0
|
||||
Left = 0
|
||||
End
|
||||
Begin Tables =
|
||||
Begin Table = "ClientDet"
|
||||
Begin Extent =
|
||||
Top = 6
|
||||
Left = 38
|
||||
Bottom = 258
|
||||
Right = 208
|
||||
End
|
||||
DisplayFlags = 280
|
||||
TopColumn = 0
|
||||
End
|
||||
End
|
||||
End
|
||||
Begin SQLPane =
|
||||
End
|
||||
Begin DataPane =
|
||||
Begin ParameterDefaults = ""
|
||||
End
|
||||
Begin ColumnWidths = 9
|
||||
Width = 284
|
||||
Width = 1500
|
||||
Width = 4290
|
||||
Width = 1500
|
||||
Width = 1500
|
||||
Width = 1500
|
||||
Width = 1500
|
||||
Width = 1500
|
||||
Width = 1500
|
||||
End
|
||||
End
|
||||
Begin CriteriaPane =
|
||||
Begin ColumnWidths = 11
|
||||
Column = 1440
|
||||
Alias = 900
|
||||
Table = 1170
|
||||
Output = 720
|
||||
Append = 1400
|
||||
NewValue = 1170
|
||||
SortType = 1350
|
||||
SortOrder = 1410
|
||||
GroupBy = 1350
|
||||
Filter = 1350
|
||||
Or = 1350
|
||||
Or = 1350
|
||||
Or = 1350
|
||||
End
|
||||
End
|
||||
End', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selClient';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selClient';
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
CREATE VIEW dbo.v_selItems
|
||||
AS
|
||||
SELECT CodItem AS value, ItemDescr + ' [' + CodItem + ']' AS label
|
||||
FROM dbo.ItemDet
|
||||
WHERE (CodItem <> '')
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPane1', @value = N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
|
||||
Begin DesignProperties =
|
||||
Begin PaneConfigurations =
|
||||
Begin PaneConfiguration = 0
|
||||
NumPanes = 4
|
||||
Configuration = "(H (1[40] 4[20] 2[20] 3) )"
|
||||
End
|
||||
Begin PaneConfiguration = 1
|
||||
NumPanes = 3
|
||||
Configuration = "(H (1 [50] 4 [25] 3))"
|
||||
End
|
||||
Begin PaneConfiguration = 2
|
||||
NumPanes = 3
|
||||
Configuration = "(H (1 [50] 2 [25] 3))"
|
||||
End
|
||||
Begin PaneConfiguration = 3
|
||||
NumPanes = 3
|
||||
Configuration = "(H (4 [30] 2 [40] 3))"
|
||||
End
|
||||
Begin PaneConfiguration = 4
|
||||
NumPanes = 2
|
||||
Configuration = "(H (1 [56] 3))"
|
||||
End
|
||||
Begin PaneConfiguration = 5
|
||||
NumPanes = 2
|
||||
Configuration = "(H (2 [66] 3))"
|
||||
End
|
||||
Begin PaneConfiguration = 6
|
||||
NumPanes = 2
|
||||
Configuration = "(H (4 [50] 3))"
|
||||
End
|
||||
Begin PaneConfiguration = 7
|
||||
NumPanes = 1
|
||||
Configuration = "(V (3))"
|
||||
End
|
||||
Begin PaneConfiguration = 8
|
||||
NumPanes = 3
|
||||
Configuration = "(H (1[56] 4[18] 2) )"
|
||||
End
|
||||
Begin PaneConfiguration = 9
|
||||
NumPanes = 2
|
||||
Configuration = "(H (1 [75] 4))"
|
||||
End
|
||||
Begin PaneConfiguration = 10
|
||||
NumPanes = 2
|
||||
Configuration = "(H (1[66] 2) )"
|
||||
End
|
||||
Begin PaneConfiguration = 11
|
||||
NumPanes = 2
|
||||
Configuration = "(H (4 [60] 2))"
|
||||
End
|
||||
Begin PaneConfiguration = 12
|
||||
NumPanes = 1
|
||||
Configuration = "(H (1) )"
|
||||
End
|
||||
Begin PaneConfiguration = 13
|
||||
NumPanes = 1
|
||||
Configuration = "(V (4))"
|
||||
End
|
||||
Begin PaneConfiguration = 14
|
||||
NumPanes = 1
|
||||
Configuration = "(V (2))"
|
||||
End
|
||||
ActivePaneConfig = 0
|
||||
End
|
||||
Begin DiagramPane =
|
||||
Begin Origin =
|
||||
Top = 0
|
||||
Left = 0
|
||||
End
|
||||
Begin Tables =
|
||||
Begin Table = "ItemDet"
|
||||
Begin Extent =
|
||||
Top = 6
|
||||
Left = 38
|
||||
Bottom = 254
|
||||
Right = 208
|
||||
End
|
||||
DisplayFlags = 280
|
||||
TopColumn = 0
|
||||
End
|
||||
End
|
||||
End
|
||||
Begin SQLPane =
|
||||
End
|
||||
Begin DataPane =
|
||||
Begin ParameterDefaults = ""
|
||||
End
|
||||
Begin ColumnWidths = 9
|
||||
Width = 284
|
||||
Width = 1500
|
||||
Width = 4635
|
||||
Width = 1500
|
||||
Width = 1500
|
||||
Width = 1500
|
||||
Width = 1500
|
||||
Width = 1500
|
||||
Width = 1500
|
||||
End
|
||||
End
|
||||
Begin CriteriaPane =
|
||||
Begin ColumnWidths = 11
|
||||
Column = 1440
|
||||
Alias = 900
|
||||
Table = 1170
|
||||
Output = 720
|
||||
Append = 1400
|
||||
NewValue = 1170
|
||||
SortType = 1350
|
||||
SortOrder = 1410
|
||||
GroupBy = 1350
|
||||
Filter = 1350
|
||||
Or = 1350
|
||||
Or = 1350
|
||||
Or = 1350
|
||||
End
|
||||
End
|
||||
End', @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selItems';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_DiagramPaneCount', @value = 1, @level0type = N'SCHEMA', @level0name = N'dbo', @level1type = N'VIEW', @level1name = N'v_selItems';
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author:
|
||||
-- Create date: 2013.11.29
|
||||
-- Description: Procedura per pulizia dati della tabella ext.ProductionLogRaw
|
||||
--
|
||||
-- Use:
|
||||
-- EXECUTE ext.stp_filterProductionLogRow 0 -- selezione record
|
||||
-- EXECUTE ext.stp_filterProductionLogRow 1 -- cancellazione record
|
||||
--
|
||||
-- SELECT * FROM tmp.ExcludeCondFilter -- Tabella con i filtri
|
||||
-- SELECT * FROM ext.ProductionLogRaw_KO -- Tabella dove eseguo delete
|
||||
--
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [ext].[stp_filterProductionLogRow]
|
||||
(
|
||||
@flgDelete AS TINYINT = 0 -- 0 = solo select 1 = fa delete
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- DECLARE @flgDelete AS TINYINT = 1; -- 0
|
||||
|
||||
DECLARE @Sql AS NVARCHAR(MAX) = '';
|
||||
DECLARE @TotRighe AS INT = 0;
|
||||
DECLARE @Riga AS INT = 1;
|
||||
DECLARE @WhereCond AS NVARCHAR(4000);
|
||||
|
||||
IF OBJECT_ID('tempdb..#tmpTable') IS NOT NULL
|
||||
DROP TABLE #tmpTable
|
||||
|
||||
-- creo sql di base x select o delete
|
||||
IF @flgDelete = 0 -- voglio fare solo select
|
||||
SET @Sql = 'SELECT * FROM ext.ProductionLogRaw WHERE 1=0' -- per test
|
||||
ELSE
|
||||
SET @Sql = 'DELETE FROM ext.ProductionLogRaw
|
||||
WITH (TABLOCK)
|
||||
OUTPUT deleted.* INTO ext.ProductionLogRaw_KO -- salvo i record cancellati in tabella KO
|
||||
( EventStart, EventEnd, CodPlant, ProcessNum, NrPos, CodDies, CodClient, OrderNum, BatchNum, ProcessType, EventType, RawMat, CodPackag, QtyIN, QtyOUT, QtyEXT, NumIN, NumOUT, QuotaPlant, QuotaMan, Tags )
|
||||
WHERE 1=0'
|
||||
|
||||
-- carico in tabella i filtri ( record da cancellare )
|
||||
SELECT ROW_NUMBER() OVER ( ORDER BY TableName, FieldName) AS Riga, *
|
||||
INTO #tmpTable
|
||||
FROM tmp.ExcludeCondFilter
|
||||
WHERE TableName = 'ProductionLogRaw'
|
||||
|
||||
SET @TotRighe = @@ROWCOUNT;
|
||||
|
||||
-- accodo le condizioni di where allo statement iniziale ( collegate con OR )
|
||||
IF @TotRighe > 0
|
||||
BEGIN
|
||||
WHILE @Riga <= @TotRighe
|
||||
BEGIN
|
||||
SELECT @WhereCond = WhereCond FROM #tmpTable WHERE Riga = @Riga
|
||||
|
||||
SET @Sql = @Sql + ' OR ' + @WhereCond;
|
||||
SET @Riga = @Riga + 1;
|
||||
END
|
||||
END
|
||||
|
||||
-- Ritorno la select eseguita
|
||||
SELECT @Sql
|
||||
-- =======================================================
|
||||
-- Eseguo la select/delete e ritorno i record elaborati
|
||||
-- =======================================================
|
||||
EXEC sp_executesql @Sql
|
||||
SELECT @@ROWCOUNT
|
||||
|
||||
-- SELECT * FROM ext.ProductionLogRaw_KO
|
||||
|
||||
IF OBJECT_ID('tempdb..#tmpTable') IS NOT NULL
|
||||
DROP TABLE #tmpTable
|
||||
END
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.12.03
|
||||
-- Description: Procedura per import dati in AgentsDet da dati ClientsRaw
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [ext].[stp_mergeAgentsDet]
|
||||
(
|
||||
@source NVARCHAR(20) = 'ClientsRaw' -- nome della tabella sorgente tra ProductionLogRaw e AgentssRaw
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- Create a temporary table variable to hold the output actions.
|
||||
DECLARE @SummaryOfChanges TABLE(Change VARCHAR(20));
|
||||
|
||||
-- import con MERGE... verifico tipo di caricamento richiesto!
|
||||
IF @source = 'ClientsRaw' -- carico da anagrafica
|
||||
BEGIN
|
||||
MERGE INTO AgentsDet AS Target
|
||||
USING (SELECT DISTINCT CodAg FROM ext.ClientsRaw)
|
||||
AS Source
|
||||
ON Target.CodAg = Source.CodAg
|
||||
--WHEN MATCHED THEN
|
||||
-- UPDATE SET AgentsName = Source.AgentsName, CodAg = Source.CodAg, ZipCode = Source.ZipCode, City = Source.City, [State] = Source.[State], Nation = Source.Nation
|
||||
WHEN NOT MATCHED BY TARGET THEN
|
||||
INSERT (CodAg, Firstname, Lastname, QuotaProvvAg) VALUES (CodAg, '#### - '+ CodAg, '#### - ' + CodAg, 0)
|
||||
OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
END
|
||||
|
||||
-- Query the results of the table variable.
|
||||
SELECT Change, COUNT(*) AS CountPerChange
|
||||
FROM @SummaryOfChanges
|
||||
GROUP BY Change;
|
||||
END
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.11.27
|
||||
-- Description: Procedura per import dati in ClientDet da dati ProductionLogRaw/ClientsRaw
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [ext].[stp_mergeClientDet]
|
||||
(
|
||||
@source NVARCHAR(20) = 'ProductionLogRaw' -- nome della tabella sorgente tra ProductionLogRaw e ClientsRaw
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- Create a temporary table variable to hold the output actions.
|
||||
DECLARE @SummaryOfChanges TABLE(Change VARCHAR(20));
|
||||
|
||||
-- import con MERGE... verifico tipo di caricamento richiesto!
|
||||
IF @source = 'ProductionLogRaw' -- carico da tracciato produzione
|
||||
BEGIN
|
||||
MERGE INTO ClientDet AS Target
|
||||
USING (SELECT DISTINCT CodClient FROM ext.ProductionLogRaw)
|
||||
AS Source
|
||||
ON Target.CodClient = Source.CodClient
|
||||
--WHEN MATCHED THEN
|
||||
-- UPDATE SET ClientName = Source.ClientName
|
||||
WHEN NOT MATCHED BY TARGET THEN
|
||||
INSERT (CodClient, ClientName, CodAg, ZipCode, City, [State], Nation, TranspZone) VALUES (CodClient, '#### - ' + CodClient, '', '', '', '', '', '')
|
||||
OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
END
|
||||
ELSE IF @source = 'ClientsRaw' -- carico da anagrafica
|
||||
BEGIN
|
||||
MERGE INTO ClientDet AS Target
|
||||
USING (SELECT DISTINCT CodClient, ClientName, CodAg, ZipCode, City, [State], Nation, TranspZone FROM ext.ClientsRaw)
|
||||
AS Source
|
||||
ON Target.CodClient = Source.CodClient
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET ClientName = Source.ClientName, CodAg = Source.CodAg, ZipCode = Source.ZipCode, City = Source.City, [State] = Source.[State], Nation = Source.Nation, TranspZone = Source.TranspZone
|
||||
WHEN NOT MATCHED BY TARGET THEN
|
||||
INSERT (CodClient, ClientName, CodAg, ZipCode, City, [State], Nation, TranspZone) VALUES (CodClient, ClientName, CodAg, ZipCode, City, [State], Nation, TranspZone)
|
||||
OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
END
|
||||
|
||||
-- Query the results of the table variable.
|
||||
SELECT Change, COUNT(*) AS CountPerChange
|
||||
FROM @SummaryOfChanges
|
||||
GROUP BY Change;
|
||||
END
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.12.03
|
||||
-- Description: Procedura per import dati in Cost2Plant da dati ProductionLogRaw
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [ext].[stp_mergeCost2Plant]
|
||||
(
|
||||
@source NVARCHAR(20) = 'ProductionLogRaw' -- nome della tabella sorgente tra ProductionLogRaw
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- Create a temporary table variable to hold the output actions.
|
||||
DECLARE @SummaryOfChanges TABLE(Change VARCHAR(20));
|
||||
|
||||
-- import con MERGE... verifico tipo di caricamento richiesto!
|
||||
IF @source = 'ProductionLogRaw' -- carico da tracciato produzione
|
||||
BEGIN
|
||||
MERGE INTO Cost2Plant AS Target
|
||||
USING (SELECT DISTINCT CodPlant, ProcessNum FROM ext.ProductionLogRaw)
|
||||
AS Source
|
||||
ON Target.CodPlant = Source.CodPlant
|
||||
--WHEN MATCHED THEN
|
||||
-- UPDATE SET PackagName = Source.PackagName
|
||||
WHEN NOT MATCHED BY TARGET THEN
|
||||
INSERT (CodPlant, ProcessNum) VALUES (CodPlant, ProcessNum)
|
||||
OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
END
|
||||
--ELSE IF @source = 'PackagRaw' -- carico da anagrafica
|
||||
-- BEGIN
|
||||
-- MERGE INTO PackagDet AS Target
|
||||
-- USING (SELECT CodPackag, PackagDesc, RMCost, RMWeight, Tare, FullWeight FROM ext.PackagRaw)
|
||||
-- AS Source
|
||||
-- ON Target.CodPackag = Source.CodPackag
|
||||
-- WHEN MATCHED THEN
|
||||
-- UPDATE SET PackagDesc = Source.PackagDesc, RMCost = Source.RMCost, RMWeight = Source.RMWeight, Tare = Source.Tare, FullWeight = Source.FullWeight
|
||||
-- WHEN NOT MATCHED BY TARGET THEN
|
||||
-- INSERT (CodPackag, PackagDesc, RMCost, RMWeight, Tare, FullWeight) VALUES (CodPackag, PackagDesc, RMCost, RMWeight, Tare, FullWeight)
|
||||
-- OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
-- END
|
||||
|
||||
-- Query the results of the table variable.
|
||||
SELECT Change, COUNT(*) AS CountPerChange
|
||||
FROM @SummaryOfChanges
|
||||
GROUP BY Change;
|
||||
END
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.12.02
|
||||
-- Description: Procedura per import dati in DiesDet da dati ProductionLogRaw/DiesRaw
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [ext].[stp_mergeDiesDet]
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- Create a temporary table variable to hold the output actions.
|
||||
DECLARE @SummaryOfChanges TABLE(Change VARCHAR(20));
|
||||
|
||||
SET XACT_ABORT ON
|
||||
|
||||
BEGIN tran
|
||||
|
||||
-- =======================================
|
||||
-- ora aggiungiamo eventuali item mancanti
|
||||
-- =======================================
|
||||
MERGE INTO ItemDet AS Target
|
||||
USING (SELECT DISTINCT CodItem FROM ext.DiesRaw)
|
||||
AS Source
|
||||
ON Target.CodItem = Source.CodItem
|
||||
--WHEN MATCHED THEN
|
||||
-- UPDATE SET ClientName = Source.ClientName
|
||||
WHEN NOT MATCHED BY TARGET THEN
|
||||
INSERT (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup) VALUES (CodItem, '#### - ' + CodItem, '', 0, '')
|
||||
OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
-- =======================================
|
||||
-- ora carico i dati delle singole matrici
|
||||
-- =======================================
|
||||
MERGE INTO DiesDet AS Target
|
||||
USING (SELECT CodDies, HoleNum, CodItem, CodDiesGroup, Price, ExpLife, ActLife, Active FROM ext.DiesRaw)
|
||||
AS Source
|
||||
ON Target.CodDies = Source.CodDies
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET HoleNum = Source.HoleNum, CodItem = Source.CodItem, CodDiesGroup = Source.CodDiesGroup, Price = Source.Price, ExpLife = Source.ExpLife, ActLife = Source.ActLife, Active = Source.Active
|
||||
WHEN NOT MATCHED BY TARGET THEN
|
||||
INSERT (CodDies, HoleNum, CodItem, CodDiesGroup, Price, ExpLife, ActLife, Active) VALUES (CodDies, HoleNum, CodItem, CodDiesGroup, Price, ExpLife, ActLife, Active)
|
||||
OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
-- =================================================
|
||||
-- Carico i dati dei GRUPPI DI MATRICI ( DiesGroupDet )
|
||||
-- nel caso debbano essere integrati vanno caricati nella tabella ext.DiesGroupRaw
|
||||
-- =================================================
|
||||
MERGE INTO dbo.DiesGroupDet AS Target
|
||||
USING (
|
||||
SELECT CodDiesGroup
|
||||
, ISNULL ( AVG( Price ),0) AS Price -- prezzo medio ( valori nulli non considerati )
|
||||
, COUNT (*) AS QtyTot -- N. Matrici nel gruppo
|
||||
, COUNT ( CASE Active WHEN 0 THEN 1 END ) AS QtyEOL -- Qta Matrici rottamate
|
||||
, ISNULL( AVG( ExpLife ), 0 ) AS ExpLife -- Vita stimata matrice ( iniziale )
|
||||
, ISNULL( AVG ( CASE WHEN Active = 0 AND ActLife > 5000 THEN ActLife END ),0 ) AS EOLLife -- solo Matrici rottamate e vita > 5000KG
|
||||
FROM dbo.DiesDet
|
||||
GROUP BY CodDiesGroup
|
||||
) AS Source
|
||||
ON Target.CodDiesGroup = Source.CodDiesGroup
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET CodDiesGroup = Source.CodDiesGroup, Price = Source.Price, QtyTot = Source.QtyTot
|
||||
, QtyEOL = Source.QtyEOL, ExpLife = Source.ExpLife, EOLLife = Source.EOLLife
|
||||
, DateMod = GETDATE(), UserMod = 'IMPORT_DiesRaw'
|
||||
|
||||
WHEN NOT MATCHED BY TARGET THEN
|
||||
INSERT ( CodDiesGroup, Price, QtyTot, QtyEOL, ExpLife, EOLLife, DateMod ,UserMod )
|
||||
VALUES ( CodDiesGroup, Source.Price, Source.QtyTot, Source.QtyEOL, Source.ExpLife, Source.EOLLife, GETDATE(), 'IMPORT_DiesRaw' ) -- mi da errori in calcoli successivi altrimenti con zero a ExpLife e EOLLife
|
||||
OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
|
||||
---- a questo punto calcolo il VERO update dalle inforamzioni di dbo.DiesDet --> dbo.DiesGroupDet
|
||||
--MERGE INTO dbo.DiesGroupDet AS Target
|
||||
--USING (
|
||||
-- SELECT coddiesgroup,
|
||||
-- Avg(Isnull(price, 0)) AS Price,
|
||||
-- Count(*) AS QtyTot,
|
||||
-- Count(*) - Sum(Active) AS QtyEOL,
|
||||
-- Avg(Isnull(ExpLife, 0.1)) AS ExpLife, -- mi da errori in calcoli successivi altrimenti con zero a ExpLife e EOLLife
|
||||
-- Sum(Isnull(ActLife * (1 - Active), 0)) / (Count(*) - Sum(Active)) AS EOLLife
|
||||
-- FROM dbo.DiesDet
|
||||
-- WHERE ActLife > 5000
|
||||
-- GROUP BY CodDiesGroup
|
||||
-- HAVING Count(*) > Sum(Active) -- ci siano rottamate
|
||||
-- )
|
||||
-- AS Source
|
||||
--ON Target.CodDiesGroup = Source.CodDiesGroup
|
||||
--WHEN MATCHED THEN
|
||||
-- UPDATE SET Price = Source.Price, QtyTot = Source.QtyTot, QtyEOL = Source.QtyEOL, ExpLife = Source.ExpLife, EOLLife = Source.EOLLife
|
||||
--OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
COMMIT tran
|
||||
|
||||
-- Query the results of the table variable.
|
||||
SELECT Change, COUNT(*) AS CountPerChange
|
||||
FROM @SummaryOfChanges
|
||||
GROUP BY Change;
|
||||
END
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2014.01.08
|
||||
-- Description: Procedura per import dati in DiesDet da dati DiesGroupRaw
|
||||
-- Il caricamento principale avviene tramite DiesRaw, questa
|
||||
-- serve solo per completare i dati mancanti
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [ext].[stp_mergeDiesGroupDet]
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- Create a temporary table variable to hold the output actions.
|
||||
DECLARE @SummaryOfChanges TABLE(Change VARCHAR(20));
|
||||
|
||||
SET XACT_ABORT ON
|
||||
|
||||
BEGIN TRAN
|
||||
|
||||
-- vado ad aggiornare i dati dei gruppi di matrici SOLO x i campi <> 0 ( li ritengo come non passati )
|
||||
MERGE INTO dbo.DiesGroupDet AS Target
|
||||
USING ( SELECT * FROM ext.DiesGroupRaw )
|
||||
AS Source
|
||||
ON Target.CodDiesGroup = Source.CodDiesGroup
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET Price = CASE Source.Price WHEN 0 THEN Target.Price ELSE Source.Price END
|
||||
, QtyTot = CASE Source.QtyTot WHEN 0 THEN Target.QtyTot ELSE Source.QtyTot END
|
||||
, QtyEOL = CASE Source.QtyEOL WHEN 0 THEN Target.QtyEOL ELSE Source.QtyEOL END
|
||||
, ExpLife = CASE Source.ExpLife WHEN 0 THEN Target.ExpLife ELSE Source.ExpLife END
|
||||
, EOLLife = CASE Source.EOLLife WHEN 0 THEN Target.EOLLife ELSE Source.EOLLife END
|
||||
, DateMod = GETDATE()
|
||||
, UserMod = 'UPDATE_DiesGroupRaw'
|
||||
WHEN NOT MATCHED BY TARGET THEN
|
||||
INSERT ( CodDiesGroup, Price, QtyTot, QtyEOL, ExpLife, EOLLife, DateMod, UserMod )
|
||||
VALUES ( Source.CodDiesGroup, Source.Price, Source.QtyTot, Source.QtyEOL, Source.ExpLife, Source.EOLLife, GETDATE(), 'INSERT_DiesGroupRaw' )
|
||||
-- VALUES ( CodDiesGroup, 0, 1, 0, 0.1, 0.1 ) -- mi da errori in calcoli successivi altrimenti con 0 a ExpLife e EOLLife
|
||||
OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
COMMIT TRAN
|
||||
|
||||
-- Query the results of the table variable.
|
||||
SELECT Change, COUNT(*) AS CountPerChange
|
||||
FROM @SummaryOfChanges
|
||||
GROUP BY Change;
|
||||
END
|
||||
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.11.27
|
||||
-- Description: Procedura per import dati in ItemDet da dati ProductionLogRaw/ItemsRaw
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [ext].[stp_mergeItemDet]
|
||||
(
|
||||
@source NVARCHAR(20) = 'ProductionLogRaw' -- nome della tabella sorgente tra ProductionLogRaw e ItemsRaw
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
|
||||
-- Create a temporary table variable to hold the output actions.
|
||||
DECLARE @SummaryOfChanges TABLE(Change VARCHAR(20));
|
||||
|
||||
-- import con MERGE... verifico tipo di caricamento richiesto!
|
||||
IF @source = 'ProductionLogRaw' -- carico da tracciato produzione
|
||||
BEGIN
|
||||
--MERGE INTO ItemDet AS Target
|
||||
--USING (SELECT DISTINCT CodItem FROM ext.ProductionLogRaw)
|
||||
-- AS Source
|
||||
--ON Target.CodItem = Source.CodItem
|
||||
----WHEN MATCHED THEN
|
||||
---- UPDATE SET ClientName = Source.ClientName
|
||||
--WHEN NOT MATCHED BY TARGET THEN
|
||||
-- INSERT (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup) VALUES (CodItem, '#### - ' + CodItem, '', 0, '')
|
||||
--OUTPUT $action INTO @SummaryOfChanges;
|
||||
select 1
|
||||
END
|
||||
ELSE IF @source = 'ItemsRaw' -- carico da anagrafica
|
||||
BEGIN
|
||||
MERGE INTO ItemDet AS Target
|
||||
USING (SELECT CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup, Class01, Class02, Class03, Class04, Class05 FROM ext.ItemsRaw)
|
||||
AS Source
|
||||
ON Target.CodItem = Source.CodItem
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET ItemDescr = Source.ItemDescr, CodPlant = Source.CodPlant, UnitWeight = Source.UnitWeight, CodItemGroup = Source.CodItemGroup, Class01 = Source.Class01, Class02 = Source.Class02, Class03 = Source.Class03, Class04 = Source.Class04, Class05 = Source.Class05
|
||||
WHEN NOT MATCHED BY TARGET THEN
|
||||
INSERT (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup, Class01, Class02, Class03, Class04, Class05) VALUES (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup, Class01, Class02, Class03, Class04, Class05)
|
||||
OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
END
|
||||
|
||||
-- Query the results of the table variable.
|
||||
SELECT Change, COUNT(*) AS CountPerChange
|
||||
FROM @SummaryOfChanges
|
||||
GROUP BY Change;
|
||||
END
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.11.29
|
||||
-- Description: Procedura per import dati in PackagDet da dati ProductionLogRaw/PackagRaw
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [ext].[stp_mergePackagDet]
|
||||
(
|
||||
@source NVARCHAR(20) = 'ProductionLogRaw' -- nome della tabella sorgente tra ProductionLogRaw e PackagRaw
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- Create a temporary table variable to hold the output actions.
|
||||
DECLARE @SummaryOfChanges TABLE(Change VARCHAR(20));
|
||||
|
||||
-- import con MERGE... verifico tipo di caricamento richiesto!
|
||||
IF @source = 'ProductionLogRaw' -- carico da tracciato produzione
|
||||
BEGIN
|
||||
MERGE INTO PackagDet AS Target
|
||||
USING (SELECT DISTINCT CodPackag FROM ext.ProductionLogRaw)
|
||||
AS Source
|
||||
ON Target.CodPackag = Source.CodPackag
|
||||
--WHEN MATCHED THEN
|
||||
-- UPDATE SET PackagName = Source.PackagName
|
||||
WHEN NOT MATCHED BY TARGET THEN
|
||||
INSERT (CodPackag, PackagDesc, RMCost, RMWeight) VALUES (CodPackag, '#### - ' + CodPackag, 0, 0)
|
||||
OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
END
|
||||
ELSE IF @source = 'PackagRaw' -- carico da anagrafica
|
||||
BEGIN
|
||||
MERGE INTO PackagDet AS Target
|
||||
USING (SELECT CodPackag, PackagDesc, RMCost, RMWeight FROM ext.PackagRaw)
|
||||
AS Source
|
||||
ON Target.CodPackag = Source.CodPackag
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET PackagDesc = Source.PackagDesc, RMCost = Source.RMCost, RMWeight = Source.RMWeight
|
||||
WHEN NOT MATCHED BY TARGET THEN
|
||||
INSERT (CodPackag, PackagDesc, RMCost, RMWeight) VALUES (CodPackag, PackagDesc, RMCost, RMWeight)
|
||||
OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
END
|
||||
|
||||
-- Query the results of the table variable.
|
||||
SELECT Change, COUNT(*) AS CountPerChange
|
||||
FROM @SummaryOfChanges
|
||||
GROUP BY Change;
|
||||
END
|
||||
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
|
||||
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2014.01.15
|
||||
-- Description: Procedura per import dati in Package2Item da dati ProductionLogRaw
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [ext].[stp_mergePackage2]
|
||||
(
|
||||
@source NVARCHAR(20) = 'ProductionLog', -- nome della tabella sorgente tra ProductionLogRaw e ItemsRaw
|
||||
@dateFrom DATETIME, -- data da cui iniziare a caricare
|
||||
@dateTo DATETIME -- data fino a cui caricare
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
|
||||
-- Create a temporary table variable to hold the output actions.
|
||||
DECLARE @SummaryOfChanges TABLE(Change VARCHAR(20));
|
||||
|
||||
-- import con MERGE... verifico tipo di caricamento richiesto!
|
||||
IF @source = 'ProductionLog' -- carico da tracciato produzione
|
||||
BEGIN
|
||||
MERGE INTO Package2 AS Target
|
||||
USING (
|
||||
--SELECT plr.CodPackag, SUM(QtyOUT) AS TotQta, COUNT(*) AS NumEv
|
||||
-- , SUM(QtyOUT) / COUNT(*) AS PesoMedio
|
||||
-- , SUM(QtyEXT) / COUNT(*) AS TaraMedia
|
||||
--FROM ext.ProductionLogRaw plr
|
||||
-- INNER JOIN DiesDet dd ON plr.CodDies = dd.CodDies
|
||||
-- WHERE ISNULL(plr.CodPackag, '') <> ''
|
||||
--GROUP BY plr.CodPackag
|
||||
SELECT
|
||||
pl.CodPackag
|
||||
, SUM(QtyOUT) AS TotQta
|
||||
-- , COUNT(*) AS NumEv
|
||||
, SUM(QtyOUT) / COUNT(*) AS PesoMedio
|
||||
, SUM(QtyEXT) / COUNT(*) AS TaraMedia
|
||||
|
||||
-- dati produttività imballo
|
||||
, ROUND(SUM(QtyOUT * QuotaMan) / CASE WHEN SUM(QtyOUT) = 0 THEN 1 ELSE SUM(QtyOUT) END,0) as NumImb
|
||||
-- , SUM(QtyOUT) AS TotOut -- unificata a TotQta
|
||||
, SUM(Duration) AS Durata
|
||||
FROM ProductionLog pl
|
||||
INNER JOIN DiesDet dd ON pl.CodDies=dd.CodDies
|
||||
WHERE pl.ProcessNum = '04'
|
||||
AND pl.okPr = 1 AND pl.okQM = 1
|
||||
AND ISNULL(pl.CodPackag, '') <> '' -- cmq filtro righe con package VUOTO
|
||||
AND pl.EventStart BETWEEN @dateFrom AND @dateTo
|
||||
GROUP BY pl.CodPackag
|
||||
)
|
||||
AS Source
|
||||
ON Target.CodPackag = Source.CodPackag
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET TotQta = Source.TotQta
|
||||
, [Weight] = Source.PesoMedio
|
||||
, Tare = Source.TaraMedia
|
||||
, NumImb = Source.NumImb
|
||||
, Durata = Source.Durata
|
||||
WHEN NOT MATCHED BY TARGET THEN
|
||||
INSERT (CodPackag, TotQta, [Weight], Tare, NumImb, Durata)
|
||||
VALUES (CodPackag, TotQta, PesoMedio, TaraMedia, NumImb, Durata)
|
||||
WHEN NOT MATCHED BY SOURCE THEN
|
||||
DELETE
|
||||
OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
END
|
||||
--ELSE IF @source = 'ItemsRaw' -- carico da anagrafica
|
||||
-- BEGIN
|
||||
-- MERGE INTO Item2Package AS Target
|
||||
-- USING (SELECT CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup FROM ItemsRaw)
|
||||
-- AS Source
|
||||
-- ON Target.CodItem = Source.CodItem
|
||||
-- WHEN MATCHED THEN
|
||||
-- UPDATE SET ItemDescr = Source.ItemDescr, CodPlant = Source.CodPlant, UnitWeight = Source.UnitWeight, CodItemGroup = Source.CodItemGroup
|
||||
-- WHEN NOT MATCHED BY TARGET THEN
|
||||
-- INSERT (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup) VALUES (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup)
|
||||
-- OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
-- END
|
||||
|
||||
-- Query the results of the table variable.
|
||||
SELECT Change, COUNT(*) AS CountPerChange
|
||||
FROM @SummaryOfChanges
|
||||
GROUP BY Change;
|
||||
END
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2014.01.15
|
||||
-- Description: Procedura per import dati in Package2Item da dati ProductionLogRaw
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [ext].[stp_mergePackage2Item]
|
||||
(
|
||||
@source NVARCHAR(20) = 'ProductionLog', -- nome della tabella sorgente tra ProductionLogRaw e ItemsRaw
|
||||
@dateFrom DATETIME, -- data da cui iniziare a caricare
|
||||
@dateTo DATETIME -- data fino a cui caricare
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
|
||||
-- Create a temporary table variable to hold the output actions.
|
||||
DECLARE @SummaryOfChanges TABLE(Change VARCHAR(20));
|
||||
|
||||
-- import con MERGE... verifico tipo di caricamento richiesto!
|
||||
IF @source = 'ProductionLog' -- carico da tracciato produzione
|
||||
BEGIN
|
||||
MERGE INTO Package2Item AS Target
|
||||
USING (
|
||||
--SELECT dd.CodItem, plr.CodPackag, SUM(QtyOUT) AS TotQta, COUNT(*) AS NumEv
|
||||
-- , SUM(QtyOUT) / COUNT(*) AS PesoMedio
|
||||
-- , SUM(QtyEXT) / COUNT(*) AS TaraMedia
|
||||
--FROM ext.ProductionLogRaw plr
|
||||
-- INNER JOIN DiesDet dd ON plr.CodDies = dd.CodDies
|
||||
-- WHERE ISNULL(plr.CodPackag, '') <> ''
|
||||
--GROUP BY dd.CodItem, plr.CodPackag
|
||||
SELECT
|
||||
dd.CodItem
|
||||
, pl.CodPackag
|
||||
, SUM(QtyOUT) AS TotQta
|
||||
-- , COUNT(*) AS NumEv
|
||||
, SUM(QtyOUT) / COUNT(*) AS PesoMedio
|
||||
, SUM(QtyEXT) / COUNT(*) AS TaraMedia
|
||||
-- dati produttività imballo
|
||||
, ROUND(SUM(QtyOUT* QuotaMan) / CASE WHEN SUM(QtyOUT) = 0 THEN 1 ELSE SUM(QtyOUT) END,0) as NumImb
|
||||
, SUM(Duration) AS Durata
|
||||
FROM ProductionLog pl
|
||||
INNER JOIN DiesDet dd ON pl.CodDies=dd.CodDies
|
||||
WHERE pl.ProcessNum = '04'
|
||||
AND pl.okPr = 1 AND pl.okQM = 1
|
||||
AND ISNULL(pl.CodPackag, '') <> ''
|
||||
AND pl.EventStart BETWEEN @dateFrom AND @dateTo
|
||||
GROUP BY dd.CodItem, pl.CodPackag
|
||||
)
|
||||
AS Source
|
||||
ON Target.CodItem = Source.CodItem AND Target.CodPackag = Source.CodPackag
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET TotQta = Source.TotQta
|
||||
, [Weight] = Source.PesoMedio
|
||||
, Tare = Source.TaraMedia
|
||||
, NumImb = Source.NumImb
|
||||
, Durata = Source.Durata
|
||||
WHEN NOT MATCHED BY TARGET THEN
|
||||
INSERT (CodItem, CodPackag, TotQta, [Weight], Tare, NumImb, Durata)
|
||||
VALUES (CodItem, CodPackag, TotQta, PesoMedio, TaraMedia, NumImb, Durata)
|
||||
WHEN NOT MATCHED BY SOURCE THEN
|
||||
DELETE
|
||||
OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
END
|
||||
--ELSE IF @source = 'ItemsRaw' -- carico da anagrafica
|
||||
-- BEGIN
|
||||
-- MERGE INTO Item2Package AS Target
|
||||
-- USING (SELECT CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup FROM ItemsRaw)
|
||||
-- AS Source
|
||||
-- ON Target.CodItem = Source.CodItem
|
||||
-- WHEN MATCHED THEN
|
||||
-- UPDATE SET ItemDescr = Source.ItemDescr, CodPlant = Source.CodPlant, UnitWeight = Source.UnitWeight, CodItemGroup = Source.CodItemGroup
|
||||
-- WHEN NOT MATCHED BY TARGET THEN
|
||||
-- INSERT (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup) VALUES (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup)
|
||||
-- OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
-- END
|
||||
|
||||
-- Query the results of the table variable.
|
||||
SELECT Change, COUNT(*) AS CountPerChange
|
||||
FROM @SummaryOfChanges
|
||||
GROUP BY Change;
|
||||
END
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.11.27
|
||||
-- Description: Procedura per import dati in Package2ItemClient da dati ProductionLogRaw
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [ext].[stp_mergePackage2ItemClient]
|
||||
(
|
||||
@source NVARCHAR(20) = 'ProductionLog', -- nome della tabella sorgente tra ProductionLogRaw e ItemsRaw
|
||||
@dateFrom DATETIME, -- data da cui iniziare a caricare
|
||||
@dateTo DATETIME -- data fino a cui caricare
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
|
||||
-- Create a temporary table variable to hold the output actions.
|
||||
DECLARE @SummaryOfChanges TABLE(Change VARCHAR(20));
|
||||
|
||||
-- import con MERGE... verifico tipo di caricamento richiesto!
|
||||
IF @source = 'ProductionLog' -- carico da tracciato produzione
|
||||
BEGIN
|
||||
MERGE INTO Package2ItemClient AS Target
|
||||
USING (
|
||||
--SELECT dd.CodItem, plr.CodClient, plr.CodPackag, SUM(QtyOUT) AS TotQta, COUNT(*) AS NumEv
|
||||
-- , SUM(QtyOUT) / COUNT(*) AS PesoMedio
|
||||
-- , SUM(QtyEXT) / COUNT(*) AS TaraMedia
|
||||
--FROM ext.ProductionLogRaw plr
|
||||
-- INNER JOIN DiesDet dd ON plr.CodDies = dd.CodDies
|
||||
-- WHERE ISNULL(plr.CodPackag, '') <> ''
|
||||
--GROUP BY dd.CodItem, plr.CodClient, plr.CodPackag
|
||||
SELECT
|
||||
dd.CodItem
|
||||
, pl.CodClient
|
||||
, pl.CodPackag
|
||||
, SUM(QtyOUT) AS TotQta
|
||||
-- , COUNT(*) AS NumEv
|
||||
, SUM(QtyOUT) / COUNT(*) AS PesoMedio
|
||||
, SUM(QtyEXT) / COUNT(*) AS TaraMedia
|
||||
-- dati produttività imballo
|
||||
, ROUND(SUM(QtyOUT* QuotaMan) / CASE WHEN SUM(QtyOUT) = 0 THEN 1 ELSE SUM(QtyOUT) END,0) as NumImb
|
||||
, SUM(Duration) AS Durata
|
||||
FROM dbo.ProductionLog pl
|
||||
INNER JOIN dbo.DiesDet dd ON pl.CodDies=dd.CodDies
|
||||
|
||||
WHERE pl.ProcessNum = '04'
|
||||
AND pl.okPr = 1 AND pl.okQM = 1
|
||||
AND ISNULL(pl.CodPackag, '') <> ''
|
||||
AND pl.EventStart BETWEEN @dateFrom AND @dateTo
|
||||
GROUP BY dd.CodItem, pl.CodClient, pl.CodPackag
|
||||
|
||||
)
|
||||
AS Source
|
||||
ON Target.CodItem = Source.CodItem AND Target.CodClient = Source.CodClient AND Target.CodPackag = Source.CodPackag
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET TotQta = Source.TotQta
|
||||
, [Weight] = Source.PesoMedio
|
||||
, Tare = Source.TaraMedia
|
||||
, NumImb = Source.NumImb
|
||||
, Durata = Source.Durata
|
||||
WHEN NOT MATCHED BY TARGET THEN
|
||||
INSERT (CodItem, CodClient, CodPackag, TotQta, [Weight], Tare, NumImb, Durata)
|
||||
VALUES (CodItem, CodClient, CodPackag, TotQta, PesoMedio, TaraMedia, NumImb, Durata)
|
||||
WHEN NOT MATCHED BY SOURCE THEN
|
||||
DELETE
|
||||
OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
END
|
||||
--ELSE IF @source = 'ItemsRaw' -- carico da anagrafica
|
||||
-- BEGIN
|
||||
-- MERGE INTO Item2PackageClient AS Target
|
||||
-- USING (SELECT CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup FROM ItemsRaw)
|
||||
-- AS Source
|
||||
-- ON Target.CodItem = Source.CodItem
|
||||
-- WHEN MATCHED THEN
|
||||
-- UPDATE SET ItemDescr = Source.ItemDescr, CodPlant = Source.CodPlant, UnitWeight = Source.UnitWeight, CodItemGroup = Source.CodItemGroup
|
||||
-- WHEN NOT MATCHED BY TARGET THEN
|
||||
-- INSERT (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup) VALUES (CodItem, ItemDescr, CodPlant, UnitWeight, CodItemGroup)
|
||||
-- OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
-- END
|
||||
|
||||
-- Query the results of the table variable.
|
||||
SELECT Change, COUNT(*) AS CountPerChange
|
||||
FROM @SummaryOfChanges
|
||||
GROUP BY Change;
|
||||
END
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.12.03
|
||||
-- Description: Procedura per import dati in PlantsDet da dati ProductionLogRaw
|
||||
-- =============================================
|
||||
create PROCEDURE [ext].[stp_mergePlantsDet]
|
||||
(
|
||||
@source NVARCHAR(20) = 'ProductionLogRaw' -- nome della tabella sorgente tra ProductionLogRaw e PackagRaw
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- Create a temporary table variable to hold the output actions.
|
||||
DECLARE @SummaryOfChanges TABLE(Change VARCHAR(20));
|
||||
|
||||
-- import con MERGE... verifico tipo di caricamento richiesto!
|
||||
IF @source = 'ProductionLogRaw' -- carico da tracciato produzione
|
||||
BEGIN
|
||||
MERGE INTO PlantsDet AS Target
|
||||
USING (SELECT DISTINCT CodPlant FROM ext.ProductionLogRaw)
|
||||
AS Source
|
||||
ON Target.CodPlant = Source.CodPlant
|
||||
--WHEN MATCHED THEN
|
||||
-- UPDATE SET PackagName = Source.PackagName
|
||||
WHEN NOT MATCHED BY TARGET THEN
|
||||
INSERT (CodPlant, Descript) VALUES (CodPlant, '#### - ' + CodPlant)
|
||||
OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
END
|
||||
--ELSE IF @source = 'PackagRaw' -- carico da anagrafica
|
||||
-- BEGIN
|
||||
-- MERGE INTO PackagDet AS Target
|
||||
-- USING (SELECT CodPackag, PackagDesc, RMCost, RMWeight, Tare, FullWeight FROM ext.PackagRaw)
|
||||
-- AS Source
|
||||
-- ON Target.CodPackag = Source.CodPackag
|
||||
-- WHEN MATCHED THEN
|
||||
-- UPDATE SET PackagDesc = Source.PackagDesc, RMCost = Source.RMCost, RMWeight = Source.RMWeight, Tare = Source.Tare, FullWeight = Source.FullWeight
|
||||
-- WHEN NOT MATCHED BY TARGET THEN
|
||||
-- INSERT (CodPackag, PackagDesc, RMCost, RMWeight, Tare, FullWeight) VALUES (CodPackag, PackagDesc, RMCost, RMWeight, Tare, FullWeight)
|
||||
-- OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
-- END
|
||||
|
||||
-- Query the results of the table variable.
|
||||
SELECT Change, COUNT(*) AS CountPerChange
|
||||
FROM @SummaryOfChanges
|
||||
GROUP BY Change;
|
||||
END
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.12.02
|
||||
-- Description: Procedura per import dati in PackagDet da dati ProductionLogRaw/PackagRaw
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [ext].[stp_mergeRawMat]
|
||||
(
|
||||
@source NVARCHAR(20) = 'ProductionLogRaw' -- nome della tabella sorgente tra ProductionLogRaw e PackagRaw
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- Create a temporary table variable to hold the output actions.
|
||||
DECLARE @SummaryOfChanges TABLE(Change VARCHAR(20));
|
||||
|
||||
-- import con MERGE... verifico tipo di caricamento richiesto!
|
||||
IF @source = 'ProductionLogRaw' -- carico da tracciato produzione
|
||||
BEGIN
|
||||
MERGE INTO RawMatDet AS Target
|
||||
USING (SELECT DISTINCT RawMat FROM ext.ProductionLogRaw)
|
||||
AS Source
|
||||
ON Target.RawMat = Source.RawMat
|
||||
--WHEN MATCHED THEN
|
||||
-- UPDATE SET PackagName = Source.PackagName
|
||||
WHEN NOT MATCHED BY TARGET THEN
|
||||
INSERT (RawMat, ProcCost, ProcYield, CSR) VALUES (RawMat, 0, 0, 0)
|
||||
OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
END
|
||||
--ELSE IF @source = 'PackagRaw' -- carico da anagrafica
|
||||
-- BEGIN
|
||||
-- MERGE INTO PackagDet AS Target
|
||||
-- USING (SELECT CodPackag, PackagDesc, RMCost, RMWeight, Tare, FullWeight FROM ext.PackagRaw)
|
||||
-- AS Source
|
||||
-- ON Target.CodPackag = Source.CodPackag
|
||||
-- WHEN MATCHED THEN
|
||||
-- UPDATE SET PackagDesc = Source.PackagDesc, RMCost = Source.RMCost, RMWeight = Source.RMWeight, Tare = Source.Tare, FullWeight = Source.FullWeight
|
||||
-- WHEN NOT MATCHED BY TARGET THEN
|
||||
-- INSERT (CodPackag, PackagDesc, RMCost, RMWeight, Tare, FullWeight) VALUES (CodPackag, PackagDesc, RMCost, RMWeight, Tare, FullWeight)
|
||||
-- OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
-- END
|
||||
|
||||
-- Query the results of the table variable.
|
||||
SELECT Change, COUNT(*) AS CountPerChange
|
||||
FROM @SummaryOfChanges
|
||||
GROUP BY Change;
|
||||
END
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2014.01.16
|
||||
-- Description: Procedura per import dati in ClientDet da dati ProductionLogRaw/ClientsRaw
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [ext].[stp_mergeTranspCostDet]
|
||||
(
|
||||
@source NVARCHAR(20) = 'TranspCostRaw' -- nome della tabella sorgente tra ProductionLogRaw e ClientsRaw
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- Create a temporary table variable to hold the output actions.
|
||||
DECLARE @SummaryOfChanges TABLE(Change VARCHAR(20));
|
||||
|
||||
-- import con MERGE... verifico tipo di caricamento richiesto!
|
||||
IF @source = 'TranspCostRaw' -- carico da anagrafica
|
||||
BEGIN
|
||||
MERGE INTO TranspCostDet AS Target
|
||||
USING (SELECT DISTINCT TranspZone, TranspCost FROM ext.TranspCostRaw)
|
||||
AS Source
|
||||
ON Target.TranspZone = Source.TranspZone
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET TranspCost = Source.TranspCost
|
||||
WHEN NOT MATCHED BY TARGET THEN
|
||||
INSERT (TranspZone, TranspCost) VALUES (TranspZone, TranspCost)
|
||||
OUTPUT $action INTO @SummaryOfChanges;
|
||||
|
||||
END
|
||||
|
||||
-- Query the results of the table variable.
|
||||
SELECT Change, COUNT(*) AS CountPerChange
|
||||
FROM @SummaryOfChanges
|
||||
GROUP BY Change;
|
||||
END
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.11.29
|
||||
-- Description: Procedura per import dati in ProductionLog da dati ProductionLogRaw
|
||||
--
|
||||
-- ATTENZIONE: dato l'intervallo temporale in ext.ProductionLogRaw eventuali dati precedenti in dbo.ProductionLog saranno eliminati
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [ext].[stp_updateProductionLog]
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- Create a temporary table variable to hold the output actions.
|
||||
DECLARE @deleted INT = 0
|
||||
,@inserted INT = 0
|
||||
,@fromDate DATETIME = GETDATE()
|
||||
,@toDate DATETIME = GETDATE()
|
||||
|
||||
-- primo step: calcolo inizio/fine periodo...
|
||||
SELECT @fromDate=MIN(EventStart), @toDate=MAX(EventStart) FROM ext.ProductionLogRaw
|
||||
|
||||
|
||||
-- secondo step: elimino dal tracciato tutti i dati dal periodo indicato
|
||||
DELETE FROM dbo.ProductionLog
|
||||
WHERE EventStart BETWEEN @fromDate AND @toDate
|
||||
|
||||
SELECT @deleted = ISNULL(@@ROWCOUNT,0)
|
||||
|
||||
-- inserisco i nuovi dati
|
||||
INSERT INTO dbo.ProductionLog
|
||||
SELECT * FROM ext.ProductionLogRaw
|
||||
|
||||
SELECT @inserted = ISNULL(@@ROWCOUNT,0)
|
||||
|
||||
-- riporto in output quanto eliminato/inserito
|
||||
SELECT @deleted as RecDeleted, @inserted as RecInserted
|
||||
|
||||
END
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
CREATE TABLE [ext].[ClientsRaw] (
|
||||
[CodClient] NVARCHAR (50) NOT NULL,
|
||||
[ClientName] NVARCHAR (250) NOT NULL,
|
||||
[CodAg] NVARCHAR (50) NOT NULL,
|
||||
[ZipCode] NVARCHAR (50) NOT NULL,
|
||||
[City] NVARCHAR (50) NOT NULL,
|
||||
[State] NVARCHAR (50) NOT NULL,
|
||||
[Nation] NVARCHAR (50) NOT NULL,
|
||||
[TranspZone] NVARCHAR (50) CONSTRAINT [DF_ClientsRaw_ClassZona] DEFAULT ('') NOT NULL,
|
||||
CONSTRAINT [PK_ClientiRaw] PRIMARY KEY CLUSTERED ([CodClient] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ClientsRaw';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice cliente', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ClientsRaw', @level2type = N'COLUMN', @level2name = N'CodClient';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Ragione Sociale', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ClientsRaw', @level2type = N'COLUMN', @level2name = N'ClientName';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice agente...', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ClientsRaw', @level2type = N'COLUMN', @level2name = N'CodAg';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'cap', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ClientsRaw', @level2type = N'COLUMN', @level2name = N'ZipCode';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'città', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ClientsRaw', @level2type = N'COLUMN', @level2name = N'City';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'stato/provincia', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ClientsRaw', @level2type = N'COLUMN', @level2name = N'State';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'nazione', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ClientsRaw', @level2type = N'COLUMN', @level2name = N'Nation';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Classificazione cliente (es zona, provincia...) x incrocio con tab costi trasporto', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ClientsRaw', @level2type = N'COLUMN', @level2name = N'TranspZone';
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
CREATE TABLE [ext].[DiesGroupRaw] (
|
||||
[CodDiesGroup] NVARCHAR (50) NOT NULL,
|
||||
[Price] DECIMAL (9, 3) NOT NULL,
|
||||
[QtyTot] INT NOT NULL,
|
||||
[QtyEOL] INT NOT NULL,
|
||||
[ExpLife] DECIMAL (9, 3) NOT NULL,
|
||||
[EOLLife] DECIMAL (9, 3) NOT NULL,
|
||||
CONSTRAINT [PK_DiesGroupRaw] PRIMARY KEY CLUSTERED ([CodDiesGroup] ASC)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
CREATE TABLE [ext].[DiesRaw] (
|
||||
[CodDies] NVARCHAR (50) NOT NULL,
|
||||
[HoleNum] INT NOT NULL,
|
||||
[CodItem] NVARCHAR (50) NOT NULL,
|
||||
[CodDiesGroup] NVARCHAR (50) NOT NULL,
|
||||
[Price] DECIMAL (9, 3) NOT NULL,
|
||||
[ExpLife] DECIMAL (9, 2) NOT NULL,
|
||||
[ActLife] DECIMAL (9, 2) NOT NULL,
|
||||
[Active] INT NOT NULL,
|
||||
CONSTRAINT [PK_DiesDet] PRIMARY KEY CLUSTERED ([CodDies] ASC)
|
||||
);
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
CREATE TABLE [ext].[ItemsRaw] (
|
||||
[CodItem] NVARCHAR (50) NOT NULL,
|
||||
[ItemDescr] NVARCHAR (250) NOT NULL,
|
||||
[UnitWeight] DECIMAL (9, 3) NOT NULL,
|
||||
[CodPlant] NVARCHAR (50) CONSTRAINT [DF_ItemsRaw_CodPlant] DEFAULT ('') NOT NULL,
|
||||
[CodItemGroup] NVARCHAR (50) NOT NULL,
|
||||
[Class01] NVARCHAR (50) CONSTRAINT [DF_ItemsRaw_Class01_1] DEFAULT ('') NOT NULL,
|
||||
[Class02] NVARCHAR (50) CONSTRAINT [DF_ItemsRaw_Class02_1] DEFAULT ('') NOT NULL,
|
||||
[Class03] NVARCHAR (50) CONSTRAINT [DF_ItemsRaw_Class03_1] DEFAULT ('') NOT NULL,
|
||||
[Class04] NVARCHAR (50) CONSTRAINT [DF_ItemsRaw_Class04_1] DEFAULT ('') NOT NULL,
|
||||
[Class05] NVARCHAR (50) CONSTRAINT [DF_ItemsRaw_Class05_1] DEFAULT ('') NOT NULL,
|
||||
CONSTRAINT [PK_ArticoliRaw] PRIMARY KEY CLUSTERED ([CodItem] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice articolo', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ItemsRaw', @level2type = N'COLUMN', @level2name = N'CodItem';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'calsse raggruppamento (es complessità disegno)', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ItemsRaw', @level2type = N'COLUMN', @level2name = N'CodItemGroup';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ItemsRaw', @level2type = N'COLUMN', @level2name = N'Class01';
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
CREATE TABLE [ext].[PackagRaw] (
|
||||
[CodPackag] NVARCHAR (50) NOT NULL,
|
||||
[PackagDesc] NVARCHAR (250) NOT NULL,
|
||||
[RMCost] DECIMAL (9, 3) NOT NULL,
|
||||
[RMWeight] DECIMAL (9, 4) NOT NULL,
|
||||
[Tare] DECIMAL (9, 4) NOT NULL,
|
||||
[FullWeight] DECIMAL (9, 4) NOT NULL,
|
||||
CONSTRAINT [PK_PackagDet] PRIMARY KEY CLUSTERED ([CodPackag] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'Raw Material Cost - costo dei materiali', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'PackagRaw', @level2type = N'COLUMN', @level2name = N'RMCost';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'kg peso medio', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'PackagRaw', @level2type = N'COLUMN', @level2name = N'RMWeight';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'kg tara standard', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'PackagRaw', @level2type = N'COLUMN', @level2name = N'Tare';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'peso medio del pacco (compelssivo)', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'PackagRaw', @level2type = N'COLUMN', @level2name = N'FullWeight';
|
||||
|
||||
@@ -0,0 +1,125 @@
|
||||
CREATE TABLE [ext].[ProductionLogRaw] (
|
||||
[EventStart] DATETIME NOT NULL,
|
||||
[EventEnd] DATETIME NOT NULL,
|
||||
[CodPlant] NVARCHAR (50) NOT NULL,
|
||||
[ProcessNum] NVARCHAR (50) NOT NULL,
|
||||
[NrPos] NVARCHAR (50) CONSTRAINT [DF_ProductionLogRaw_NrPos_1] DEFAULT ('') NOT NULL,
|
||||
[CodDies] NVARCHAR (50) CONSTRAINT [DF_ProductionLogRaw_CodDies] DEFAULT ('') NOT NULL,
|
||||
[CodClient] NVARCHAR (50) CONSTRAINT [DF_ProductionLogRaw_CodClient] DEFAULT ('') NOT NULL,
|
||||
[OrderNum] NVARCHAR (50) CONSTRAINT [DF_ProductionLogRaw_OrderNum] DEFAULT ('') NOT NULL,
|
||||
[BatchNum] NVARCHAR (50) CONSTRAINT [DF_ProductionLogRaw_BatchNum] DEFAULT ('') NOT NULL,
|
||||
[ProcessType] NVARCHAR (50) CONSTRAINT [DF_ProductionLogRaw_ProcessType] DEFAULT ('') NOT NULL,
|
||||
[EventType] NVARCHAR (50) CONSTRAINT [DF_ProductionLogRaw_EventType] DEFAULT ('') NOT NULL,
|
||||
[RawMat] NVARCHAR (50) CONSTRAINT [DF_ProductionLogRaw_RawMat] DEFAULT ('') NOT NULL,
|
||||
[CodPackag] NVARCHAR (50) CONSTRAINT [DF_ProductionLogRaw_CodPackag] DEFAULT ('') NOT NULL,
|
||||
[QtyIN] DECIMAL (18, 4) CONSTRAINT [DF_ProductionLogRaw_QtyIN] DEFAULT ((0)) NOT NULL,
|
||||
[QtyOUT] DECIMAL (18, 4) CONSTRAINT [DF_ProductionLogRaw_QtyOUT] DEFAULT ((0)) NOT NULL,
|
||||
[QtyEXT] DECIMAL (18, 4) CONSTRAINT [DF_ProductionLogRaw_QtyEXT] DEFAULT ((0)) NOT NULL,
|
||||
[NumIN] INT CONSTRAINT [DF_ProductionLogRaw_NumIN] DEFAULT ((0)) NOT NULL,
|
||||
[NumOUT] INT CONSTRAINT [DF_ProductionLogRaw_NumOUT] DEFAULT ((0)) NOT NULL,
|
||||
[QuotaPlant] DECIMAL (9, 4) CONSTRAINT [DF_ProductionLogRaw_QuotaPlant] DEFAULT ((0)) NOT NULL,
|
||||
[QuotaMan] DECIMAL (9, 4) CONSTRAINT [DF_ProductionLogRaw_QuotaMan] DEFAULT ((0)) NOT NULL,
|
||||
[Tags] NVARCHAR (250) CONSTRAINT [DF_ProductionLogRaw_Tags] DEFAULT ('') NOT NULL,
|
||||
[okPr] BIT CONSTRAINT [DF_ProductionLogRaw_okPr_1] DEFAULT ((1)) NOT NULL,
|
||||
[okQM] BIT CONSTRAINT [DF_ProductionLogRaw_okQM_1] DEFAULT ((1)) NOT NULL,
|
||||
[okSc] BIT CONSTRAINT [DF_ProductionLogRaw_okSc_1] DEFAULT ((1)) NOT NULL,
|
||||
[okDi] BIT CONSTRAINT [DF_ProductionLogRaw_okDi_1] DEFAULT ((1)) NOT NULL,
|
||||
CONSTRAINT [PK_ProductionLogRaw] PRIMARY KEY CLUSTERED ([EventStart] ASC, [EventEnd] ASC, [CodPlant] ASC, [ProcessNum] ASC, [NrPos] ASC, [CodDies] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'inizio evento - formato INT 16 cifre yyyyMMddHHmmssnn dove nn = centesimi di sec oppure 00', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'EventStart';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'fine evento - formato INT 16 cifre yyyyMMddHHmmssnn dove nn = centesimi di sec oppure 00', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'EventEnd';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice impianto', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'CodPlant';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice fase, da qui si crea anagrafica fasi distinct', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'ProcessNum';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice matrice', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'CodDies';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice cliente', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'CodClient';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'rif codice ordine', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'OrderNum';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice lotto', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'BatchNum';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice del TIPO di fase, x raggruppamento funzionale', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'ProcessType';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'tipo evento: produzione, prova, guasto, setup...', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'EventType';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice MP', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'RawMat';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'codice imballo', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'CodPackag';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'kg materiale in ingresso', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'QtyIN';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'kg materiale BUONO prodotto in OUTput', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'QtyOUT';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'kg materiale extra che fa parte dell''OUT, es imballi/tara', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'QtyEXT';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'qta materiale in ingresso', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'NumIN';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'qta materiale BUONO prodotto in OUTput', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'NumOUT';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'indicazione della quota macchina per produrre quanto registrato', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'QuotaPlant';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'indicazione della quota uomo per produrre quanto registrato', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'QuotaMan';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'categorie LIBERE, separatore #', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'Tags';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'validazione riga x calcolo produttività', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'okPr';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'validazione riga x calcolo quota MAN', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'okQM';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'validazione riga x calcolo scarti', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'okSc';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'validazione riga x calcolo difettosità', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw', @level2type = N'COLUMN', @level2name = N'okDi';
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
CREATE TABLE [ext].[ProductionLogRaw_KO] (
|
||||
[EventStart] DATETIME NOT NULL,
|
||||
[EventEnd] DATETIME NOT NULL,
|
||||
[CodPlant] NVARCHAR (50) NOT NULL,
|
||||
[ProcessNum] NVARCHAR (50) NOT NULL,
|
||||
[NrPos] NVARCHAR (50) NOT NULL,
|
||||
[CodDies] NVARCHAR (50) NOT NULL,
|
||||
[CodClient] NVARCHAR (50) NOT NULL,
|
||||
[OrderNum] NVARCHAR (50) NOT NULL,
|
||||
[BatchNum] NVARCHAR (50) NOT NULL,
|
||||
[ProcessType] NVARCHAR (50) NOT NULL,
|
||||
[EventType] NVARCHAR (50) NOT NULL,
|
||||
[RawMat] NVARCHAR (50) NOT NULL,
|
||||
[CodPackag] NVARCHAR (50) NOT NULL,
|
||||
[QtyIN] DECIMAL (18, 4) NOT NULL,
|
||||
[QtyOUT] DECIMAL (18, 4) NOT NULL,
|
||||
[QtyEXT] DECIMAL (18, 4) NOT NULL,
|
||||
[NumIN] INT NOT NULL,
|
||||
[NumOUT] INT NOT NULL,
|
||||
[QuotaPlant] DECIMAL (9, 4) NOT NULL,
|
||||
[QuotaMan] DECIMAL (9, 4) NOT NULL,
|
||||
[Tags] NVARCHAR (250) NOT NULL,
|
||||
[okPr] BIT CONSTRAINT [DF_ProductionLogRaw_KO_okPr] DEFAULT ((1)) NOT NULL,
|
||||
[okQM] BIT CONSTRAINT [DF_ProductionLogRaw_KO_okQM] DEFAULT ((1)) NOT NULL,
|
||||
[okSc] BIT CONSTRAINT [DF_ProductionLogRaw_KO_okSc] DEFAULT ((1)) NOT NULL,
|
||||
[okDi] BIT CONSTRAINT [DF_ProductionLogRaw_KO_okDi] DEFAULT ((1)) NOT NULL,
|
||||
[ImportDateExt] DATETIME CONSTRAINT [DF_ProductionLogRaw_KO_ImportDateExt] DEFAULT (getdate()) NULL,
|
||||
CONSTRAINT [PK_ProductionLogRaw_KO] PRIMARY KEY CLUSTERED ([EventStart] ASC, [EventEnd] ASC, [CodPlant] ASC, [ProcessNum] ASC, [NrPos] ASC, [CodDies] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'validazione riga x calcolo produttività', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw_KO', @level2type = N'COLUMN', @level2name = N'okPr';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'validazione riga x calcolo quota MAN', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw_KO', @level2type = N'COLUMN', @level2name = N'okQM';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'validazione riga x calcolo scarti', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw_KO', @level2type = N'COLUMN', @level2name = N'okSc';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value = N'validazione riga x calcolo difettosità', @level0type = N'SCHEMA', @level0name = N'ext', @level1type = N'TABLE', @level1name = N'ProductionLogRaw_KO', @level2type = N'COLUMN', @level2name = N'okDi';
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
CREATE TABLE [ext].[TranspCostRaw] (
|
||||
[TranspZone] NVARCHAR (50) CONSTRAINT [DF_TraspZoneExt] DEFAULT ('') NOT NULL,
|
||||
[TranspCost] DECIMAL (9, 6) NOT NULL,
|
||||
CONSTRAINT [PK_TranspCostDet_1] PRIMARY KEY CLUSTERED ([TranspZone] ASC)
|
||||
);
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,5 @@
|
||||
C:\Users\samuele\Documents\Visual Studio 2012\Projects\C2P\C2P_Project\bin\Debug\C2P_Project.dacpac
|
||||
C:\Users\samuele\Documents\Visual Studio 2012\Projects\C2P\C2P_Project\obj\Debug\C2P_Project.dll
|
||||
C:\Users\samuele\Documents\Visual Studio 2012\Projects\C2P\C2P_Project\obj\Debug\C2P_Project.pdb
|
||||
C:\Users\samuele\Documents\Visual Studio 2012\Projects\C2P\C2P_Project\bin\Debug\C2P_Project.dll
|
||||
C:\Users\samuele\Documents\Visual Studio 2012\Projects\C2P\C2P_Project\bin\Debug\C2P_Project.pdb
|
||||
@@ -0,0 +1,43 @@
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.11.28
|
||||
-- Description: Procedura per conversioen e tipizzazione dati da tmp a ext x ClientsRaw
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [tmp].[convertClientsRaw]
|
||||
(
|
||||
@fileType NVARCHAR(50) = 'ClientsRaw'
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- per Giancarlo: rendere parametrico con esecuzione sql x poter inserire nei parametri il separatore ed il resto? http://www.sqlteam.com/article/using-bulk-insert-to-load-a-text-file
|
||||
|
||||
IF @fileType = 'ClientsRaw'
|
||||
BEGIN
|
||||
-- svuoto tabella temp
|
||||
TRUNCATE TABLE ext.ClientsRaw
|
||||
|
||||
-- inserisco con cast valori...
|
||||
INSERT ext.ClientsRaw
|
||||
WITH (TABLOCK)
|
||||
( CodClient, ClientName, CodAg, ZipCode, City, [State], Nation, TranspZone)
|
||||
SELECT
|
||||
CodClient,
|
||||
ClientName,
|
||||
CodAg,
|
||||
ZipCode,
|
||||
City,
|
||||
[State],
|
||||
Nation,
|
||||
TranspZone
|
||||
FROM tmp.ClientsRaw;
|
||||
|
||||
SELECT COUNT(*) as RecordsIn FROM ext.ClientsRaw
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2014.01.08
|
||||
-- Description: Procedura per conversione e tipizzazione dati da tmp a ext x DiesGroupRaw
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [tmp].[convertDiesGroupRaw]
|
||||
(
|
||||
@fileType NVARCHAR(50) = 'DiesGroupRaw'
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- per Giancarlo: rendere parametrico con esecuzione sql x poter inserire nei parametri il separatore ed il resto? http://www.sqlteam.com/article/using-bulk-insert-to-load-a-text-file
|
||||
|
||||
IF @fileType = 'DiesGroupRaw'
|
||||
BEGIN
|
||||
-- svuoto tabella temp
|
||||
TRUNCATE TABLE ext.DiesGroupRaw
|
||||
|
||||
-- inserisco con cast valori...
|
||||
INSERT ext.DiesGroupRaw
|
||||
WITH (TABLOCK)
|
||||
( CodDiesGroup, Price, QtyTot, QtyEOL, ExpLife, EOLLife)
|
||||
SELECT
|
||||
CodDiesGroup,
|
||||
CAST( CAST( REPLACE( '0' + REPLACE(Price,'.',''),',','.' ) AS float )AS decimal( 9,3 )) AS Price,
|
||||
CAST(ISNULL(QtyTot,0) AS INT) AS QtyTot,
|
||||
CAST(ISNULL(QtyEOL,0) AS INT) AS QtyEOL,
|
||||
CAST( CAST( REPLACE( '0' + REPLACE(ExpLife,'.',''),',','.' ) AS float )AS decimal( 9,2 )) AS ExpLife,
|
||||
CAST( CAST( REPLACE( '0' + REPLACE(EOLLife,'.',''),',','.' ) AS float )AS decimal( 9,2 )) AS EOLLife
|
||||
FROM tmp.DiesGroupRaw;
|
||||
|
||||
SELECT COUNT(*) as RecordsIn FROM ext.DiesGroupRaw
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.12.02
|
||||
-- Description: Procedura per conversione e tipizzazione dati da tmp a ext x DiesRaw
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [tmp].[convertDiesRaw]
|
||||
(
|
||||
@fileType NVARCHAR(50) = 'DiesRaw'
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- per Giancarlo: rendere parametrico con esecuzione sql x poter inserire nei parametri il separatore ed il resto? http://www.sqlteam.com/article/using-bulk-insert-to-load-a-text-file
|
||||
|
||||
IF @fileType = 'DiesRaw'
|
||||
BEGIN
|
||||
-- svuoto tabella temp
|
||||
TRUNCATE TABLE ext.DiesRaw
|
||||
|
||||
-- inserisco con cast valori...
|
||||
INSERT ext.DiesRaw
|
||||
WITH (TABLOCK)
|
||||
( CodDies, HoleNum, CodItem, CodDiesGroup, Price, ExpLife, ActLife, Active )
|
||||
SELECT
|
||||
CodDies,
|
||||
CAST(ISNULL(HoleNum,0) AS INT) AS HoleNum,
|
||||
CodItem,
|
||||
CodDiesGroup,
|
||||
CAST( CAST( REPLACE( '0' + Price,',','.' )AS float )AS decimal( 9,3 )) AS Price,
|
||||
CAST( CAST( REPLACE( '0' + ExpLife,',','.' )AS float )AS decimal( 9,2 )) AS ExpLife,
|
||||
CAST( CAST( REPLACE( '0' + ActLife,',','.' )AS float )AS decimal( 9,2 )) AS ActLife,
|
||||
CAST(ISNULL(Active,0) AS INT) AS Active
|
||||
FROM tmp.DiesRaw;
|
||||
|
||||
SELECT COUNT(*) as RecordsIn FROM ext.DiesRaw
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.11.28
|
||||
-- Description: Procedura per conversioen e tipizzazione dati da tmp a ext x ItemsRaw
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [tmp].[convertItemsRaw]
|
||||
(
|
||||
@fileType NVARCHAR(50) = 'ItemsRaw'
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- per Giancarlo: rendere parametrico con esecuzione sql x poter inserire nei parametri il separatore ed il resto? http://www.sqlteam.com/article/using-bulk-insert-to-load-a-text-file
|
||||
|
||||
IF @fileType = 'ItemsRaw'
|
||||
BEGIN
|
||||
-- svuoto tabella temp
|
||||
TRUNCATE TABLE ext.ItemsRaw
|
||||
|
||||
-- inserisco con cast valori...
|
||||
INSERT ext.ItemsRaw
|
||||
WITH (TABLOCK)
|
||||
( CodItem, ItemDescr, UnitWeight, CodPlant, CodItemGroup, Class01, Class02, Class03, Class04, Class05 )
|
||||
SELECT DISTINCT
|
||||
CodItem,
|
||||
ItemDescr,
|
||||
CAST( CAST( REPLACE( '0' + UnitWeight,',','.' )AS float )AS decimal( 9,3 )) AS UnitWeight,
|
||||
CodPlant,
|
||||
CodItemGroup,
|
||||
Class01,
|
||||
Class02,
|
||||
Class03,
|
||||
Class04,
|
||||
Class05
|
||||
FROM tmp.ItemsRaw;
|
||||
|
||||
SELECT COUNT(*) as RecordsIn FROM ext.ItemsRaw
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.11.29
|
||||
-- Description: Procedura per conversioen e tipizzazione dati da tmp a ext x PackagRaw
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [tmp].[convertPackagRaw]
|
||||
(
|
||||
@fileType NVARCHAR(50) = 'PackagRaw'
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- per Giancarlo: rendere parametrico con esecuzione sql x poter inserire nei parametri il separatore ed il resto? http://www.sqlteam.com/article/using-bulk-insert-to-load-a-text-file
|
||||
|
||||
IF @fileType = 'PackagRaw'
|
||||
BEGIN
|
||||
-- svuoto tabella temp
|
||||
TRUNCATE TABLE ext.PackagRaw
|
||||
|
||||
-- inserisco con cast valori...
|
||||
INSERT ext.PackagRaw
|
||||
WITH (TABLOCK)
|
||||
( CodPackag, PackagDesc, RMCost, RMWeight, Tare, FullWeight )
|
||||
SELECT
|
||||
CodPackag,
|
||||
PackagDesc,
|
||||
CAST( CAST( REPLACE( '0' + RMCost,',','.' )AS float )AS decimal( 9,3 )) AS RMCost,
|
||||
CAST( CAST( REPLACE( '0' + RMWeight,',','.' )AS float )AS decimal( 9,4 )) AS RMWeight,
|
||||
CAST( CAST( REPLACE( '0' + Tare,',','.' )AS float )AS decimal( 9,4 )) AS Tare,
|
||||
CAST( CAST( REPLACE( '0' + FullWeight,',','.' )AS float )AS decimal( 9,4 )) AS FullWeight
|
||||
FROM tmp.PackagRaw;
|
||||
|
||||
SELECT COUNT(*) as RecordsIn FROM ext.PackagRaw
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
|
||||
|
||||
|
||||
-- =============================================
|
||||
-- Author: S.E. Locatelli
|
||||
-- Create date: 2013.11.28
|
||||
-- Description: Procedura per conversioen e tipizzazione dati da tmp a ext x ProductionLogRaw
|
||||
-- =============================================
|
||||
CREATE PROCEDURE [tmp].[convertProductionLogRaw]
|
||||
(
|
||||
@fileType NVARCHAR(50) = 'ProductionLogRaw'
|
||||
)
|
||||
AS
|
||||
BEGIN
|
||||
SET NOCOUNT ON;
|
||||
|
||||
-- per Giancarlo: rendere parametrico con esecuzione sql x poter inserire nei parametri il separatore ed il resto? http://www.sqlteam.com/article/using-bulk-insert-to-load-a-text-file
|
||||
|
||||
IF @fileType = 'ProductionLogRaw'
|
||||
BEGIN
|
||||
-- svuoto tabella temp
|
||||
TRUNCATE TABLE ext.ProductionLogRaw
|
||||
|
||||
-- inserisco con cast valori...
|
||||
INSERT ext.ProductionLogRaw
|
||||
WITH (TABLOCK)
|
||||
( EventStart, EventEnd, CodPlant, ProcessNum, NrPos, CodDies, CodClient, OrderNum, BatchNum, ProcessType, EventType, RawMat, CodPackag, QtyIN, QtyOUT, QtyEXT, NumIN, NumOUT, QuotaPlant, QuotaMan, Tags, okPr, okQM, okSc, okDi )
|
||||
|
||||
SELECT
|
||||
dbo.f_dtFromRaw( EventStart ) AS EventStart, -- record nulli sono già stati cancellati
|
||||
dbo.f_dtFromRaw( EventEnd ) AS EventEnd, -- record nulli sono già stati cancellati
|
||||
dbo.f_trim(ISNULL(CodPlant ,'')),
|
||||
dbo.f_trim(ISNULL(ProcessNum ,'')),
|
||||
dbo.f_trim(ISNULL(NrPos ,'')),
|
||||
dbo.f_trim(ISNULL(CodDies ,'')),
|
||||
dbo.f_trim(ISNULL(CodClient ,'')),
|
||||
dbo.f_trim(ISNULL(OrderNum ,'')),
|
||||
dbo.f_trim(ISNULL(BatchNum ,'')),
|
||||
dbo.f_trim(ISNULL(ProcessType,'')),
|
||||
dbo.f_trim(ISNULL(EventType ,'')),
|
||||
dbo.f_trim(ISNULL(RawMat ,'')),
|
||||
dbo.f_trim(ISNULL(CodPackag ,'')),
|
||||
CAST( CAST( REPLACE( '0' + ISNULL(QtyIN,'') ,',','.' ) AS float ) AS decimal( 18,4 )) AS QtyIN,
|
||||
CAST( CAST( REPLACE( '0' + ISNULL(QtyOUT,''),',','.' ) AS float ) AS decimal( 18,4 )) AS QtyOUT,
|
||||
CAST( CAST( REPLACE( '0' + ISNULL(QtyEXT,''),',','.' ) AS float ) AS decimal( 18,4 )) AS QtyEXT,
|
||||
CAST( ISNULL(NumIN ,'') AS int )AS NumIN,
|
||||
CAST( ISNULL(NumOUT ,'') AS int )AS NumOUT,
|
||||
CAST( CAST( REPLACE( '0' + ISNULL(QuotaPlant,''),',','.' ) AS float )AS decimal( 9,4 )) AS QuotaPlant,
|
||||
CAST( CAST( REPLACE( '0' + ISNULL(QuotaMan,''),',','.' ) AS float )AS decimal( 9,4 )) AS QuotaMan,
|
||||
dbo.f_trim(ISNULL(Tags ,'')),
|
||||
okPr,
|
||||
okQM,
|
||||
okSc,
|
||||
okDi
|
||||
FROM tmp.ProductionLogRaw;
|
||||
|
||||
SELECT COUNT(*) as RecordsIn FROM ext.ProductionLogRaw
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user