dev
liuwf 1 year ago
parent 2cdeceb38d
commit 28517e068c

@ -7,7 +7,7 @@ namespace Admin.Core.Model
/// 发泡计划
/// </summary>
[SugarTable("BOX_FOAMPLAN", "AUCMA_SCADA")]
public class BoxFoamPlan
public class BoxFoamPlan
{
/// <summary>
/// 主键标识
@ -26,11 +26,21 @@ namespace Admin.Core.Model
[SugarColumn(ColumnName = "BOX_MATERIALNAME")]
public string MaterialName { get; set; }
/// <summary>
/// SAP订单编码
/// </summary>
[SugarColumn(ColumnName = "ORDER_CODE")]
public string OrderCode { get; set; }
/// <summary>
/// 计划数量
/// </summary>
[SugarColumn(ColumnName = "PLAN_AMOUNT")]
public int PlanAmount { get; set; }
/// <summary>
/// 产线
/// </summary>
[SugarColumn(ColumnName = "PRODUCT_LINE_CODE")]
public string ProductLineCode { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[SugarColumn(ColumnName = "UPDATE_TIME")]

@ -59,5 +59,10 @@ namespace Admin.Core.Model.Model_New
/// </summary>
[SugarColumn(ColumnName = "MATERIAL_CODE")]
public string MaterialCode { get; set; }
/// <summary>
/// 产品名称
/// </summary>
[SugarColumn(ColumnName = "MATERIAL_NAME")]
public string MaterialName { get; set; }
}
}

@ -0,0 +1,32 @@
using CommunityToolkit.Mvvm.ComponentModel;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Aucma.Core.OldBoxFoam.Models
{
/// <summary>
/// 执行计划
/// </summary>
public class BoxFoamPlanModel : ObservableObject
{
/// <summary>
/// 序号
/// </summary>
public int No { get; set; }
public int ObjId { get; set; }
public string MaterialCode { get; set; }
public string MaterialName { get; set; }
public int PlanAmount { get; set; }
}
}

@ -49,5 +49,7 @@ namespace Aucma.Core.OldBoxFoam.Models
public DateTime UpdatedTime { get; set; } = DateTime.Now;
public string MaterialCode { get; set; }
public string MaterialName { get; set; }
}
}

@ -1,4 +1,6 @@
using Admin.Core.IService;
using Admin.Core.Model;
using Aucma.Core.OldBoxFoam.Models;
using Aucma.Core.OldBoxFoam.Views;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
@ -23,22 +25,35 @@ namespace Aucma.Core.OldBoxFoam.ViewModels
protected readonly IBoxFoamPlanServices? _boxFoamPlanServices;
public FoamPlanPageViewModel()
{
DeleteCommand = new RelayCommand<int>(obj => DeleteCommandExecute(obj));
_boxFoamPlanServices = App.ServiceProvider.GetService<IBoxFoamPlanServices>();
WeakReferenceMessenger.Default.Register<string>(this, Recive);
InitData();
}
public RelayCommand<int> DeleteCommand { get; set; }
private void DeleteCommandExecute(int id)
{
Console.WriteLine(id);
}
public async void InitData()
{
var task =await _boxFoamPlanServices.QueryAsync();
if (task == null) return;
task.OrderBy(d=>d.ObjId);
foreach (var item in task)
int count = 0;
List<BoxFoamPlan> list =await _boxFoamPlanServices.QueryAsync();
if (list == null) return;
foreach (BoxFoamPlan item in list)
{
Id.Add(item.ObjId);
MaterialCode.Add(item.MaterialCode);
MaterialName.Add(item.MaterialName);
PlanAmount.Add(item.PlanAmount);
BoxFoamPlanModel model = new BoxFoamPlanModel();
model.No = ++count;
model.MaterialCode = item.MaterialCode;
model.MaterialName = item.MaterialName;
model.PlanAmount = item.PlanAmount;
model.ObjId = item.ObjId;
ListItems.Add(model);
ListItems1.Add(model);
}
}
@ -95,9 +110,26 @@ namespace Aucma.Core.OldBoxFoam.ViewModels
MessageBox.Show("清除计划失败!", "系统提醒");
}
}
private void Recive(object recipient, string message)
#region 初始化datagrid
private ObservableCollection<BoxFoamPlanModel> listItems = new ObservableCollection<BoxFoamPlanModel>();
public ObservableCollection<BoxFoamPlanModel> ListItems
{
get => listItems;
set => SetProperty(ref listItems, value);
}
#endregion
#region 初始化datagrid
private ObservableCollection<BoxFoamPlanModel> listItems1 = new ObservableCollection<BoxFoamPlanModel>();
public ObservableCollection<BoxFoamPlanModel> ListItems1
{
get => listItems1;
set => SetProperty(ref listItems1, value);
}
#endregion
private void Recive(object recipient, string message)
{
if (message == "RefreshTask")
{

@ -102,23 +102,25 @@ namespace Aucma.Core.OldBoxFoam.ViewModels
var productPlanInfo = _planInfo;
if (_planInfo != null)
{
var task = _boxFoamPlanServices.FirstAsync(d => d.ObjId ==int.Parse(_objId)).Result;
if (task != null)
BoxFoamPlan plan = new BoxFoamPlan();
plan.MaterialCode = _planInfo.MaterialCode;
plan.MaterialName = _planInfo.MaterialName;
plan.PlanAmount = _planInfo.PlanAmount;
plan.ProductLineCode = "CX_01";
plan.UpdateTime = DateTime.Now;
plan.CreateTime = DateTime.Now;
plan.OrderCode = _planInfo.OrderCode;
var result = _boxFoamPlanServices.AddAsync(plan).Result;
if (result>=0)
{
task.MaterialCode = _planInfo.MaterialCode;
task.MaterialName = _planInfo.MaterialName;
task.PlanAmount = Convert.ToInt32(TransmitAmount);
var result = _boxFoamPlanServices.UpdateAsync(task).Result;
if (result)
{
MessageBox.Show("任务添加成功!", "系统提醒");
WeakReferenceMessenger.Default.Send<string>("RefreshTask");//刷新任务界面
}
else
{
MessageBox.Show("任务添加失败!", "系统提醒");
}
MessageBox.Show("任务添加成功!", "系统提醒");
WeakReferenceMessenger.Default.Send<string>("RefreshTask");//刷新任务界面
}
else
{
MessageBox.Show("任务添加失败!", "系统提醒");
}
}
else
{

@ -44,6 +44,7 @@ namespace Aucma.Core.OldBoxFoam.ViewModels
Status = "1",
Storeamount = item.Storeamount,
MaterialCode = item.MaterialCode,
MaterialName=item.MaterialName,
Boxtype = item.Boxtype,
}); ;

@ -44,7 +44,8 @@ namespace Aucma.Core.OldBoxFoam.ViewModels
{
MaterialDataGrid.Clear();
int i = 1;
string station = Appsettings.app("StoreInfo", "StationCode");
//string station = Appsettings.app("StoreInfo", "StationCode");
string station = "1003";
var planlist = await _productPlanInfoServices.QueryAsync(d => d.ProductLineCode.Equals(station));
var execList = await _executePlanInfoServices.QueryAsync(d => d.ProductLineCode.Equals(station));
foreach (var item in planlist)
@ -152,7 +153,7 @@ namespace Aucma.Core.OldBoxFoam.ViewModels
task.OrderCode = order_code;
task.MaterialCode = material_code;
task.MaterialName = material_name;
task.ProductLineCode = "1001";//计划工位
task.ProductLineCode = "1003"; //计划工位
if (list.Count == 0)
task.ExecuteOrder = 1;
if (list.Count != 0)

@ -121,7 +121,7 @@
<Setter Property="Background" Value="#0288d1" />
</Style>
</UserControl.Resources>
<Border x:Name="HeightHelperPanel" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="5">
<Grid>
<Grid.Resources>
@ -148,19 +148,28 @@
<Border>
<TextBlock Text="白班计划" Foreground="White" FontSize="20" />
</Border>
<Button Content="添加计划" HorizontalAlignment="Left" Margin="857,20,0,0" VerticalAlignment="Top" Click="Button_Click"/>
<DataGrid Grid.Row="1" ItemsSource="{Binding ListItems}" ColumnHeaderHeight="35" Height="{Binding Path=ActualHeight, ElementName=ScanPanel}"
RowHeight="50" AutoGenerateColumns="False" RowHeaderWidth="0"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto" BorderThickness="0" CanUserAddRows="False" SelectionMode="Single" IsReadOnly="True"
>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Local}" Header="序号" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding Storeamount}" Header="物料编号" Width="3*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding MaterialCode}" Header="物料名称" Width="3*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" />
<DataGridTextColumn Binding="{Binding Boxtype}" Header="计划数" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding Boxtype}" Header="操作" Width="3*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn x:Name="id" Binding="{Binding ObjId}" Header="主键" Visibility="Collapsed"/>
<DataGridTextColumn Binding="{Binding No}" Header="序号" Width="1*" />
<DataGridTextColumn Binding="{Binding MaterialCode}" Header="物料编号" Width="3*" />
<DataGridTextColumn Binding="{Binding MaterialName}" Header="物料名称" Width="3*" />
<DataGridTextColumn Binding="{Binding PlanAmount}" Header="计划数" Width="1*" />
<DataGridTemplateColumn Header="操作" Width="3*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="删除" Command="{Binding DataContext.DeleteCommand, RelativeSource={RelativeSource AncestorType=ItemsControl}}" CommandParameter="{Binding Text, ElementName=id}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
<Grid Grid.Column="1" Margin="5 0 0 0">
<Grid.RowDefinitions>
@ -170,22 +179,29 @@
<Border>
<TextBlock Text="夜班计划" Foreground="White" FontSize="20" />
</Border>
<DataGrid Grid.Row="1" ItemsSource="{Binding ListItems}" ColumnHeaderHeight="35" Height="{Binding Path=ActualHeight, ElementName=ScanPanel}"
<DataGrid Grid.Row="1" ItemsSource="{Binding ListItems1}" ColumnHeaderHeight="35" Height="{Binding Path=ActualHeight, ElementName=ScanPanel}"
RowHeight="50" AutoGenerateColumns="False" RowHeaderWidth="0"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto" BorderThickness="0" CanUserAddRows="False" SelectionMode="Single" IsReadOnly="True"
>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Local}" Header="序号" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding Storeamount}" Header="物料编号" Width="3*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding MaterialCode}" Header="物料名称" Width="3*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" />
<DataGridTextColumn Binding="{Binding Boxtype}" Header="计划数" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding Boxtype}" Header="操作" Width="3*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding ObjId}" Header="主键" Visibility="Collapsed"/>
<DataGridTextColumn Binding="{Binding No}" Header="序号" Width="1*" />
<DataGridTextColumn Binding="{Binding MaterialCode}" Header="物料编号" Width="3*" />
<DataGridTextColumn Binding="{Binding MaterialName}" Header="物料名称" Width="3*" />
<DataGridTextColumn Binding="{Binding PlanAmount}" Header="计划数" Width="1*" />
<DataGridTemplateColumn Header="操作" Width="3*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Content="删除" Command="{Binding DataContext.DeleteCommand, RelativeSource={RelativeSource AncestorType=ItemsControl}}" CommandParameter="{Binding Text, ElementName=id}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Grid>
</Border>
</UserControl>

@ -26,5 +26,11 @@ namespace Aucma.Core.OldBoxFoam.Views
InitializeComponent();
this.DataContext = new FoamPlanPageViewModel();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
SplitPlanView type = new SplitPlanView("1");
type.ShowDialog();
}
}
}

@ -228,12 +228,13 @@
ScrollViewer.VerticalScrollBarVisibility="Auto" BorderThickness="0" CanUserAddRows="False" SelectionMode="Single" IsReadOnly="True"
Foreground="White" >
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding Local}" Header="位置" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding ObjId}" Header="货道号" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding Status}" Header="库存状态" Width="3*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding Local}" Header="位置" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding Boxtype}" Header="货道类型" Width="3*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding Storeamount}" Header="库存数量" Width="3*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding MaterialCode}" Header="产品型号" Width="3*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" />
<DataGridTextColumn Binding="{Binding Boxtype}" Header="发泡型号" Width="3*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding Status}" Header="库存状态" Width="3*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding MaterialCode}" Header="物料编号" Width="3*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" />
<DataGridTextColumn Binding="{Binding MaterialName}" Header="物料名称" Width="3*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" />
<!--<DataGridTextColumn Binding="{Binding QualityResult}" Header="模具数量" Width="*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>-->
</DataGrid.Columns>
</DataGrid>

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWPF>true</UseWPF>

@ -107,7 +107,7 @@ public class SheetMetalPlanTaskHandle
do
{
if (obj.plc.ReadInt32("D6021") == 2)
if (obj.plc.ReadInt32("D6021") == 1)
{
obj.plc.WriteInt32("D6021", 0);
Console.WriteLine($"{DateTime.Now.ToString("HH:m:s")}===>收到设备应答信号,复位应答地址");

@ -50,12 +50,7 @@ namespace Aucma.Core.SheetMetal.ViewModels
#region 构造函数
public IndexPageViewModel()
{
_taskHandle.RefreshCurrentPlanInfoEvent += RefreshCurrentPlanInfo;
Task.Run(() =>
{
Thread.Sleep(5000);
_taskHandle.SendPlanTaskToDevice();
});
_taskExecutionPlanInfoServices = App.ServiceProvider.GetService<IExecutePlanInfoServices>();
StationName = Appsettings.app("StoreInfo", "StationName");
Job_SheetMetalTask_Quartz.SmEverDayDelegateEvent += InitEveryDayMethod;
@ -70,6 +65,12 @@ namespace Aucma.Core.SheetMetal.ViewModels
LocationSource.Add(item);
}
SelectLocation = ReadFile();
_taskHandle.RefreshCurrentPlanInfoEvent += RefreshCurrentPlanInfo;
Task.Run(() =>
{
Thread.Sleep(5000);
_taskHandle.SendPlanTaskToDevice();
});
}
#endregion

@ -46,7 +46,7 @@
"Enabled": true,
"HitRate": 50,
//"Connection": "Data Source=localhost;Initial Catalog=Hsdb;User ID=sa;Password=sa;Integrated Security=false;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
"Connection": "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=175.27.215.92)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=helowin)));User ID=aucma_scada;Password=aucma;",
"Connection": "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.100.72.20)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ORCLCDB)));User ID=C##aucma_scada;Password=aucma;",
"ProviderName": "System.Data.SqlClient"
},
{
@ -54,7 +54,7 @@
"DBType": 3,
"Enabled": true,
"HitRate": 40,
"Connection": "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=175.27.215.92)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=helowin)));User ID=aucma_mes;Password=aucma;",
"Connection": "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.100.72.20)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ORCLCDB)));User ID=c##aucma_mes;Password=aucma;",
"ProviderName": "System.Data.SqlClient"
}
],

Loading…
Cancel
Save