add-添加手动叫料功能,优先指定某个库位投料出库

dev
liuwf 5 months ago
parent da98c72771
commit 866d035a20

@ -0,0 +1,255 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Text;
#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* (c) 2024 WenJY
* CLR4.0.30319.42000
* LAPTOP-E0N2L34V
* SlnMesnac.Model.domain
* 8c0a747f-0ee1-4c2a-957a-95ff8345896f
*
* WenJY
* wenjy@mesnac.com
* 2024-04-09 16:17:47
* V1.0.0
*
*
*--------------------------------------------------------------------
*
*
*
*
* V1.0.0
*--------------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
namespace SlnMesnac.Model.domain
{
[SugarTable("wms_base_location"), TenantAttribute("mes")]
public class WmsBaseLocation
{
/// <summary>
/// 库位ID
/// </summary>
[SugarColumn(ColumnName = "location_id", IsPrimaryKey = true, IsIdentity = true)]
public long LocationId { get; set; }
/// <summary>
/// 仓库ID
/// </summary>
[SugarColumn(ColumnName = "warehouse_id")]
public long WarehouseId { get; set; }
/// <summary>
/// AGV位置代码
/// </summary>
[SugarColumn(ColumnName = "agv_position_code")]
public string AgvPositionCode { get; set; }
/// <summary>
/// 仓库楼层
/// </summary>
[SugarColumn(ColumnName = "warehouse_floor")]
public int WarehouseFloor { get; set; }
/// <summary>
/// 库位代码
/// </summary>
[SugarColumn(ColumnName = "location_code")]
public string LocationCode { get; set; }
/// <summary>
/// 容器代码
/// </summary>
[SugarColumn(ColumnName = "container_code")]
public string ContainerCode { get; set; }
/// <summary>
/// 行
/// </summary>
[SugarColumn(ColumnName = "loc_row")]
public int? LocRow { get; set; }
/// <summary>
/// 列
/// </summary>
[SugarColumn(ColumnName = "loc_column")]
public int? LocColumn { get; set; }
/// <summary>
/// 层数
/// </summary>
[SugarColumn(ColumnName = "layer_num")]
public int? LayerNum { get; set; }
/// <summary>
/// 深位1 浅位2
/// </summary>
[SugarColumn(ColumnName = "loc_deep")]
public int? LocDeep { get; set; }
/// <summary>
/// 是否启用
/// </summary>
[SugarColumn(ColumnName = "active_flag")]
public string ActiveFlag { get; set; } // '1' or other values
/// <summary>
/// 手动标记
/// </summary>
[SugarColumn(ColumnName = "manual_flag")]
public string ManualFlag { get; set; }
/// <summary>
/// 返回标记
/// </summary>
[SugarColumn(ColumnName = "return_flag")]
public string ReturnFlag { get; set; }
/// <summary>
/// 数量限制
/// </summary>
[SugarColumn(ColumnName = "qty_limit")]
public decimal? QtyLimit { get; set; }
/// <summary>
/// 入库标记
/// </summary>
[SugarColumn(ColumnName = "instock_flag")]
public string InstockFlag { get; set; }
/// <summary>
/// 出库标记
/// </summary>
[SugarColumn(ColumnName = "outstock_flag")]
public string OutstockFlag { get; set; }
/// <summary>
/// 库位状态
/// </summary>
[SugarColumn(ColumnName = "location_status")]
public string LocationStatus { get; set; } // '1' or other values
/// <summary>
/// 批次混合
/// </summary>
[SugarColumn(ColumnName = "batch_mix")]
public string BatchMix { get; set; } // '0' or other values
/// <summary>
/// 创建人
/// </summary>
[SugarColumn(ColumnName = "create_by")]
public string CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[SugarColumn(ColumnName = "create_time")]
public DateTime? CreateTime { get; set; }
/// <summary>
/// 更新人
/// </summary>
[SugarColumn(ColumnName = "update_by")]
public string UpdateBy { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[SugarColumn(ColumnName = "update_time")]
public DateTime? UpdateTime { get; set; }
/// <summary>
/// 备注
/// </summary>
[SugarColumn(ColumnName = "remark")]
public string Remark { get; set; }
/// <summary>
/// 删除标记
/// </summary>
[SugarColumn(ColumnName = "del_flag")]
public string DelFlag { get; set; } // '0' or other values
/// <summary>
/// 货架排序
/// </summary>
[SugarColumn(ColumnName = "shelf_order")]
public string ShelfOrder { get; set; }
/// <summary>
/// 检查排序
/// </summary>
[SugarColumn(ColumnName = "check_order")]
public string CheckOrder { get; set; }
/// <summary>
/// 拣货排序
/// </summary>
[SugarColumn(ColumnName = "pick_order")]
public string PickOrder { get; set; }
/// <summary>
/// 拣货标记
/// </summary>
[SugarColumn(ColumnName = "pick_flag")]
public string PickFlag { get; set; }
/// <summary>
/// 是否开启KN标记
/// </summary>
[SugarColumn(ColumnName = "is_open_kn_flag")]
public string IsOpenKnFlag { get; set; }
/// <summary>
/// 库位报废类型
/// </summary>
[SugarColumn(ColumnName = "location_scrap_type")]
public string LocationScrapType { get; set; }
/// <summary>
/// 体积限制
/// </summary>
[SugarColumn(ColumnName = "volume_limit")]
public decimal? VolumeLimit { get; set; }
/// <summary>
/// 重量限制
/// </summary>
[SugarColumn(ColumnName = "weight_limit")]
public decimal? WeightLimit { get; set; }
/// <summary>
/// 长度
/// </summary>
[SugarColumn(ColumnName = "length")]
public decimal? Length { get; set; }
/// <summary>
/// 宽度
/// </summary>
[SugarColumn(ColumnName = "width")]
public decimal? Width { get; set; }
/// <summary>
/// 高度
/// </summary>
[SugarColumn(ColumnName = "height")]
public decimal? Height { get; set; }
/// <summary>
/// 容器状态
/// </summary>
[SugarColumn(ColumnName = "container_status")]
public string ContainerStatus { get; set; } // '1' or '2'
/// <summary>
/// 异常描述
/// </summary>
[SugarColumn(ColumnName = "exception_desc")]
public string ExceptionDesc { get; set; }
}
}

@ -0,0 +1,78 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Security.Principal;
using System.Text;
namespace SlnMesnac.Model.domain
{
[SugarTable("wms_raw_preferred_out"), TenantAttribute("mes")]
public class WmsRawPreferredOut
{
/// <summary>
/// 优先出库ID
/// </summary>
[SugarColumn(ColumnName = "raw_preferred_out_id", IsPrimaryKey = true, IsIdentity = true)]
public long RawPreferredOutId { get; set; }
/// <summary>
/// 仓库ID
/// </summary>
[SugarColumn(ColumnName = "warehouse_id")]
public long WarehouseId { get; set; }
/// <summary>
/// 仓库楼层
/// </summary>
[SugarColumn(ColumnName = "warehouse_floor")]
public int? WarehouseFloor { get; set; }
/// <summary>
/// 库位编码
/// </summary>
[SugarColumn(ColumnName = "location_code")]
public string LocationCode { get; set; }
/// <summary>
/// 库存类型1原材料2成品
/// </summary>
[SugarColumn(ColumnName = "stock_type")]
public string StockType { get; set; }
/// <summary>
/// 物料ID
/// </summary>
[SugarColumn(ColumnName = "material_id")]
public long MaterialId { get; set; }
/// <summary>
/// 创建人
/// </summary>
[SugarColumn(ColumnName = "create_by")]
public string CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[SugarColumn(ColumnName = "create_date")]
public DateTime? CreateDate { get; set; }
/// <summary>
/// 最后更新人
/// </summary>
[SugarColumn(ColumnName = "update_by")]
public string UpdateBy { get; set; }
/// <summary>
/// 最后更新时间
/// </summary>
[SugarColumn(ColumnName = "update_date")]
public DateTime? UpdateDate { get; set; }
/// <summary>
/// 有效标记
/// </summary>
[SugarColumn(ColumnName = "use_flag", DefaultValue = "1")]
public string UseFlag { get; set; }
}
}

@ -0,0 +1,150 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Security.Principal;
using System.Text;
namespace SlnMesnac.Model.domain
{
[SugarTable("wms_raw_stock"), TenantAttribute("mes")]
public class WmsRawStock
{
/// <summary>
/// 原材料库存ID
/// </summary>
[SugarColumn(ColumnName = "raw_stock_id", IsPrimaryKey = true, IsIdentity = true)]
public long RawStockId { get; set; }
/// <summary>
/// 仓库ID
/// </summary>
[SugarColumn(ColumnName = "warehouse_id")]
public long WarehouseId { get; set; }
/// <summary>
/// 仓库楼层
/// </summary>
[SugarColumn(ColumnName = "warehouse_floor")]
public int? WarehouseFloor { get; set; }
/// <summary>
/// 库位编码
/// </summary>
[SugarColumn(ColumnName = "location_code", Length = 64)]
public string LocationCode { get; set; }
/// <summary>
/// 库存类型1原材料
/// </summary>
[SugarColumn(ColumnName = "stock_type", Length = 1)]
public string StockType { get; set; }
/// <summary>
/// 物料ID
/// </summary>
[SugarColumn(ColumnName = "material_id")]
public long MaterialId { get; set; }
/// <summary>
/// 物料条码,非批次号;当柜体不完整时存物料条码
/// </summary>
[SugarColumn(ColumnName = "instock_batch", Length = 64)]
public string InstockBatch { get; set; }
/// <summary>
/// 托盘RFID代码
/// </summary>
[SugarColumn(ColumnName = "pallet_info_code", Length = 64, IsNullable = true)]
public string PalletInfoCode { get; set; }
/// <summary>
/// 销售订单ID
/// </summary>
[SugarColumn(ColumnName = "sale_order_id", DefaultValue = "0")]
public long SaleOrderId { get; set; }
/// <summary>
/// 安全库存标识(1是0否)
/// </summary>
[SugarColumn(ColumnName = "safe_flag", Length = 1)]
public string SafeFlag { get; set; }
/// <summary>
/// 入库时间;此入库时间从批次信息中获取accepted_date
/// </summary>
[SugarColumn(ColumnName = "instock_date")]
public DateTime? InstockDate { get; set; }
/// <summary>
/// 最晚出库时间;根据物料信“存放周期“计算出来的时间
/// </summary>
[SugarColumn(ColumnName = "last_outstock_time")]
public DateTime? LastOutstockTime { get; set; }
/// <summary>
/// 质检状态(0待质检,1检验中,2质检通过,3质检不通过)
/// </summary>
[SugarColumn(ColumnName = "quality_status", Length = 1, IsNullable = true)]
public string QualityStatus { get; set; }
/// <summary>
/// 完整标识(1是0否)拆分后为0
/// </summary>
[SugarColumn(ColumnName = "complete_flag", Length = 1, DefaultValue = "1")]
public string CompleteFlag { get; set; }
/// <summary>
/// 总数量;库位存放的总数量
/// </summary>
[SugarColumn(ColumnName = "total_amount", DecimalDigits = 6)]
public decimal TotalAmount { get; set; }
/// <summary>
/// 冻结数量;手动冻结的,暂时可不用
/// </summary>
[SugarColumn(ColumnName = "frozen_amount", DecimalDigits = 6, DefaultValue = "0.000000")]
public decimal FrozenAmount { get; set; }
/// <summary>
/// 占用数量;申请时占用的数量,在出库时要减去出库数量,并且总数量要同步更新;
/// </summary>
[SugarColumn(ColumnName = "occupy_amount", DecimalDigits = 6, DefaultValue = "0.000000")]
public decimal OccupyAmount { get; set; }
/// <summary>
/// 供应商ID
/// </summary>
[SugarColumn(ColumnName = "supplier_id", IsNullable = true)]
public long? SupplierId { get; set; }
/// <summary>
/// 创建人
/// </summary>
[SugarColumn(ColumnName = "create_by", Length = 64, IsNullable = true)]
public string CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[SugarColumn(ColumnName = "create_date")]
public DateTime? CreateDate { get; set; }
/// <summary>
/// 最后更新人
/// </summary>
[SugarColumn(ColumnName = "update_by", Length = 64, IsNullable = true)]
public string UpdateBy { get; set; }
/// <summary>
/// 最后更新时间
/// </summary>
[SugarColumn(ColumnName = "update_date")]
public DateTime? UpdateDate { get; set; }
/// <summary>
/// 有效标记
/// </summary>
[SugarColumn(ColumnName = "active_flag", Length = 1, DefaultValue = "1")]
public string ActiveFlag { get; set; }
}
}

@ -0,0 +1,12 @@
using SlnMesnac.Model.domain;
using SlnMesnac.Repository.service.@base;
using System;
using System.Collections.Generic;
using System.Text;
namespace SlnMesnac.Repository.service
{
public interface IWmsRawPreferredOutService : IBaseService<WmsRawPreferredOut>
{
}
}

@ -0,0 +1,37 @@
using SlnMesnac.Model.domain;
using SlnMesnac.Repository.service.@base;
using System;
using System.Collections.Generic;
using System.Text;
#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* (c) 2024 WenJY
* CLR4.0.30319.42000
* LAPTOP-E0N2L34V
* SlnMesnac.Repository.service.Impl
* 4775f606-89b8-4dba-88da-4920de3e1559
*
* WenJY
* wenjy@mesnac.com
* 2024-04-09 16:21:05
* V1.0.0
*
*
*--------------------------------------------------------------------
*
*
*
*
* V1.0.0
*--------------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
namespace SlnMesnac.Repository.service.Impl
{
public class WmsRawPreferredOutServiceImpl : BaseServiceImpl<WmsRawPreferredOut>, IWmsRawPreferredOutService
{
public WmsRawPreferredOutServiceImpl(Repository<WmsRawPreferredOut> rep) : base(rep)
{
}
}
}

@ -113,10 +113,7 @@ namespace SlnMesnac.TouchSocket
udpService.Send(new IPHost("192.168.2.51:3000").EndPoint, str);
}
}
}

@ -6,7 +6,7 @@
xmlns:local="clr-namespace:SlnMesnac.WPF.Page"
xmlns:local1="clr-namespace:SlnMesnac.WPF.Converter.ProdMgmt"
mc:Ignorable="d"
Title="手动叫料" Height="750" Width="1000" Background="White" Name="window">
Title="手动叫料" Height="750" Width="1000" Background="White" Name="window" WindowStartupLocation="CenterOwner">
<Control.Resources>
<local1:PlanStatusConverter x:Key="PlanStatusConverter" />
<local1:PlanAmountConverter x:Key="PlanAmountConverter" />
@ -19,22 +19,22 @@
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="6*"/>
<ColumnDefinition Width="3*"/>
<!--<ColumnDefinition Width="3*"/>-->
</Grid.ColumnDefinitions>
<Border Grid.Column="0" BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Background="Transparent">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="16*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="12*"/>
</Grid.RowDefinitions>
<WrapPanel Grid.Row="0" Margin="5 5 0 0">
<Label Content="查询条件" FontSize="20" VerticalAlignment="Center" Foreground="White" />
<TextBox x:Name="queryParam" Text="" Width="200" HorizontalAlignment="Left" VerticalContentAlignment="Center" Style="{StaticResource TextBoxStyle}" Foreground="White"/>
<Button Content="查 询" FontSize="16" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="35" Background="#007DFA" BorderBrush="#007DFA" Margin="10,0,10,0" Command="{Binding QueryStringCommand}" CommandParameter="{Binding Text, ElementName=queryParam}" />
<Label Content="选择库位" FontSize="20" VerticalAlignment="Center" Foreground="White" />
<TextBox x:Name="queryParam" FontSize="20" BorderThickness="3" Text="" Width="100" HorizontalAlignment="Left" VerticalContentAlignment="Center" Style="{StaticResource TextBoxStyle}" Foreground="White"/>
<Button Content="优先投料" FontSize="16" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="35" Background="LimeGreen" BorderBrush="#007DFA" Margin="10,0,10,0" Command="{Binding QueryStringCommand}" CommandParameter="{Binding Text, ElementName=queryParam}" />
</WrapPanel>
<Border Grid.Row="1" BorderBrush="White" BorderThickness="1,1,0,1" CornerRadius="5">
<DataGrid x:Name="dgvMH" Grid.Row="0" ItemsSource="{Binding PlanInfoDataGrid}" Background="Transparent"
<DataGrid x:Name="dgvMH" Grid.Row="0" ItemsSource="{Binding WmsRawPreferredOutDataGrid}" Background="Transparent"
FontSize="15" ColumnHeaderHeight="35"
RowHeight="31" AutoGenerateColumns="False" RowHeaderWidth="0"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Hidden"
@ -43,21 +43,27 @@
Foreground="#FFFFFF" >
<!--resourceStyle 399行修改选中字体颜色-->
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding PlanCode}" Header="计划编号" Width="2*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding MaterialId}" Header="物料型号" Width="1*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding MaterialName}" Header="物料名称" Width="1*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding PlanAmount,Converter={StaticResource PlanAmountConverter}}" Header="计划数量" Width="1*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding CompleteAmount,Converter={StaticResource PlanAmountConverter}}" Header="完成数量" Width="1*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding PlanStatus,Converter={StaticResource PlanStatusConverter}}" Header="计划状态" Width="1*" IsReadOnly="True"/>
<!--<DataGridTextColumn Binding="{Binding RealBeginTime ,StringFormat=\{0:MM月dd日 HH:mm\}}" Header="开始时间" Width="1.5*" IsReadOnly="True"/>-->
<DataGridTextColumn Binding="{Binding LocationCode}" Header="库位编号" Width="*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding WarehouseId}" Header="仓库编号" Width="1*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding MaterialId}" Header="物料ID" Width="1*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding CreateDate,StringFormat=\{0:MM月dd日 HH:mm\}}" Header="创建时间" Width="2*" IsReadOnly="True"/>
<DataGridTemplateColumn Header="操作" Width="2*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Button Content="删除" CommandParameter="{Binding LocationCode}" Background="Red" Foreground="White" Margin="10,0,0,0" Height="25" BorderBrush="DeepSkyBlue" BorderThickness="0" Width="45" Command="{Binding DataContext.DeleteCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid }}"/>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Border>
</Grid>
</Border>
<Border Grid.Column="1" Margin="10,10">
<!--<Border Grid.Column="1" Margin="10,10">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
@ -93,7 +99,7 @@
<Button Content="取 消" FontSize="16" Command="{Binding CancelCommand}" CommandParameter="{Binding ElementName=window}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#FF0033" BorderBrush="#FF0033" Margin="0,0,10,0"/>
</WrapPanel>
</Grid>
</Border>
</Border>-->
</Grid>
</Border>

@ -2,10 +2,12 @@
using GalaSoft.MvvmLight.Command;
using Microsoft.Extensions.DependencyInjection;
using SlnMesnac.Business;
using SlnMesnac.Model.domain;
using SlnMesnac.Model.dto;
using SlnMesnac.Model.enums;
using SlnMesnac.Plc;
using SlnMesnac.Repository.service;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
@ -41,30 +43,46 @@ namespace SlnMesnac.WPF.ViewModel
{
public class ManualDeliveryViewModel : ViewModelBase
{
private readonly ProdMgmtBusiness? _prodMgmtBusiness;
private readonly IWmsRawPreferredOutService? wmsRawPreferredOutService;
private readonly ISqlSugarClient? sqlSugarClient;
public ManualDeliveryViewModel()
{
_prodMgmtBusiness = App.ServiceProvider.GetService<ProdMgmtBusiness>();
wmsRawPreferredOutService = App.ServiceProvider.GetService<IWmsRawPreferredOutService>();
sqlSugarClient = App.ServiceProvider.GetService<ISqlSugarClient>();
QueryStringCommand = new RelayCommand<string>(Query);
this.Query(string.Empty);
Init();
// ConfirmCommand = new RelayCommand<object>(Confirm);
DeleteCommand = new RelayCommand<object>(Delete);
}
ConfirmCommand = new RelayCommand<object>(Confirm);
CancelCommand = new RelayCommand<object>(Cancel);
private void Init()
{
WmsRawPreferredOutDataGrid.Clear();
List<WmsRawPreferredOut> list = wmsRawPreferredOutService.Query();
if(list!= null && list.Count > 0)
{
foreach (var item in list)
{
WmsRawPreferredOutDataGrid.Add(item);
}
}
}
#region 参数定义
/// <summary>
/// 计划列表DataGrid
/// </summary>
private ObservableCollection<MesProductPlanDto> planInfoDataGrid;
private ObservableCollection<WmsRawPreferredOut> wmsRawPreferredOutDataGrid = new ObservableCollection<WmsRawPreferredOut>();
public ObservableCollection<MesProductPlanDto> PlanInfoDataGrid
public ObservableCollection<WmsRawPreferredOut> WmsRawPreferredOutDataGrid
{
get { return planInfoDataGrid; }
set { planInfoDataGrid = value; RaisePropertyChanged(() => PlanInfoDataGrid); }
get { return wmsRawPreferredOutDataGrid; }
set { wmsRawPreferredOutDataGrid = value; RaisePropertyChanged(() => WmsRawPreferredOutDataGrid); }
}
@ -86,85 +104,107 @@ namespace SlnMesnac.WPF.ViewModel
#region 事件定义
public RelayCommand<string> QueryStringCommand { get; set; }
/// <summary>
/// 确认事件
/// </summary>
public RelayCommand<object> ConfirmCommand { get; set; }
/// <summary>
/// 关闭事件
/// </summary>
public RelayCommand<object> CancelCommand { get; set; }
public RelayCommand<object> DeleteCommand { get; set; }
#endregion
/// <summary>
/// 查询事件
/// 查询库位能否优先投料,可以的话保存
/// </summary>
/// <param name="queryStr"></param>
private void Query(string queryStr)
{
try
{
PlanInfoDataGrid = new ObservableCollection<MesProductPlanDto>();
var list = _prodMgmtBusiness._mesProductPlanService.GetPlanDtos();
if (list != null)
WmsBaseLocation? targetLocation = sqlSugarClient.AsTenant().GetConnection("mes").Queryable<WmsBaseLocation>().Where(it => it.LocationCode == queryStr && it.WarehouseId ==311).First();
WmsRawStock? wmsRawStock = sqlSugarClient.AsTenant().GetConnection("mes").Queryable<WmsRawStock>().Where(it => it.LocationCode == queryStr).First();
if(targetLocation != null)
{
list.OrderByDescending(x => x.PlanStatus);
list.ForEach(
arg =>
if (string.IsNullOrEmpty(targetLocation.ContainerCode) || wmsRawStock==null)
{
PlanInfoDataGrid.Add(arg);
});
}
}
catch (Exception ex)
{
//_logger.LogError($"生产计划刷新异常:{ex.Message}");
}
}
/// <summary>
/// 确认
/// </summary>
/// <param name="parameter"></param>
private void Confirm(object parameter)
{
try
{
if (selectedCells != null)
{
if (_prodMgmtBusiness.ApplyDeliveryHandle(selectedCells.MaterialId.ToString()))
{
_prodMgmtBusiness.RefreshMessage("手动叫料成功");
MessageBox.Show("该库位没有库存,请重新输入");
return;
}
else
if (targetLocation.LocationStatus != "1")
{
_prodMgmtBusiness.RefreshMessage("手动叫料失败");
MessageBox.Show("该库位状态异常,禁止出");
return;
}
WmsRawPreferredOut wmsRawPreferredOut = new WmsRawPreferredOut();
wmsRawPreferredOut.WarehouseId = wmsRawStock.WarehouseId;
wmsRawPreferredOut.WarehouseFloor = targetLocation.WarehouseFloor;
wmsRawPreferredOut.LocationCode = targetLocation.LocationCode;
wmsRawPreferredOut.StockType = "1";
wmsRawPreferredOut.MaterialId = wmsRawStock.MaterialId;
wmsRawPreferredOut.CreateBy = "PRD";
wmsRawPreferredOut.CreateDate = DateTime.Now;
wmsRawPreferredOut.UpdateBy = "PRD";
wmsRawPreferredOut.UpdateDate = DateTime.Now;
wmsRawPreferredOut.UseFlag = "1";
wmsRawPreferredOutService.Insert(wmsRawPreferredOut);
Init();
MessageBox.Show("保存成功");
}
else
{
MessageBox.Show("输入的库位有误,请重新输入");
return;
}
}catch (Exception ex)
{
_prodMgmtBusiness.RefreshMessage($"手动叫料处理异常:{ex.Message}");
}
var window = parameter as Window;
if (window != null)
catch (Exception ex)
{
window.Close();
Console.WriteLine($"保存异常:{ex.Message}");
}
}
///// <summary>
///// 确认
///// </summary>
///// <param name="parameter"></param>
//private void Confirm(object parameter)
//{
// try
// {
// if (selectedCells != null)
// {
// if (_prodMgmtBusiness.ApplyDeliveryHandle(selectedCells.MaterialId.ToString()))
// {
// _prodMgmtBusiness.RefreshMessage("手动叫料成功");
// }
// else
// {
// _prodMgmtBusiness.RefreshMessage("手动叫料失败");
// }
// }
// }catch (Exception ex)
// {
// _prodMgmtBusiness.RefreshMessage($"手动叫料处理异常:{ex.Message}");
// }
// var window = parameter as Window;
// if (window != null)
// {
// window.Close();
// }
//}
/// <summary>
/// 取消
/// </summary>
private void Cancel(object parameter)
private void Delete(object parameter)
{
var window = parameter as Window;
if (window != null)
string locationCode = parameter as string;
if (!string.IsNullOrEmpty(locationCode))
{
window.Close();
var item = wmsRawPreferredOutService.Query(x => x.LocationCode == locationCode).FirstOrDefault();
bool isSuccess = wmsRawPreferredOutService.DeleteById(item.RawPreferredOutId);
Init();
}
}
}

Loading…
Cancel
Save