change -修改扫描入库,能看到收料申请单数量,并限制change -注释修改

master
启龙 曹 8 months ago
parent f113432f72
commit 4912460cdc

@ -20,7 +20,7 @@ namespace Khd.Core.Domain.Models
[Column("complete_flag")]
public string completeFlag { get; set; }
[Column("purchase_order_id")]
public int? PurchaseOrderId { get; set; }
public long PurchaseOrderId { get; set; }
[Key]
[Column("barcode_id")]
public long barcodeId { get; set; }
@ -205,8 +205,17 @@ namespace Khd.Core.Domain.Models
[Column("bind_barcode")]
public string bindBarcode { get; set; }
/// <summary>
/// 安全库存表标识
/// </summary>
[Column("safe_flag")]
public string safeFlag { get; set; }
/// <summary>
/// 收料通知单号
/// </summary>
[Column("receive_bill_id")]
public long receiveBillId { get; set; }
}
}

@ -0,0 +1,264 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Khd.Core.Domain.Models
{
/// <summary>
/// 采购订单信息;从ERP同步过来的信息需要与物料信息关联需要确认接口同步过来的信息内容
///</summary>
[Table("mes_purchase_order")]
public class MesPurchaseOrder
{
/// <summary>
/// 备 注:主键标识
/// 默认值:
///</summary>
[Key]
[Column("purchase_order_id")]
public long Purchase_order_id { get; set; }
/// <summary>
/// 备 注:ERP的主键信息;对应FID
/// 默认值:
///</summary>
[Column("erp_id")]
public long? Erp_id { get; set; }
/// <summary>
/// 备 注:对应金蝶ERP订单明细的ID;对应FPOOrderEntry.FEntryID
/// 默认值:
///</summary>
[Column("fentry_id")]
public long? Fentry_id { get; set; }
/// <summary>
/// 备 注:采购订单编号;对应FBillNo
/// 默认值:
///</summary>
[Column("po_no")]
public string? Po_no { get; set; }
/// <summary>
/// 备 注:单据状态;FDocumentStatus
/// 默认值:
///</summary>
[Column("document_status")]
public string? Document_status { get; set; }
/// <summary>
/// 备 注:物料ID,关联物料信息主键
/// 默认值:
///</summary>
[Column("material_id")]
public long? Material_id { get; set; }
/// <summary>
/// 备 注:物料编码;对应FMaterialId.FNumber
/// 默认值:
///</summary>
[Column("material_code")]
public string Material_code { get; set; } = null!;
/// <summary>
/// 备 注:物料名称;对应FMaterialId.FName
/// 默认值:
///</summary>
[Column("material_name")]
public string? Material_name { get; set; }
/// <summary>
/// 备 注:订单计划数量;对应FQty
/// 默认值:
///</summary>
[Column("order_amount")]
public decimal Order_amount { get; set; }
/// <summary>
/// 备 注:完成采购数量
/// 默认值:
///</summary>
[Column("complete_amount")]
public decimal? Complete_amount { get; set; }
/// <summary>
/// 备 注:审核日期;对应FApproveDate
/// 默认值:
///</summary>
[Column("approve_date")]
public DateTime? Approve_date { get; set; }
/// <summary>
/// 备 注:ERP最后修改日期;对应FModifyDate
/// 默认值:
///</summary>
[Column("erp_modify_date")]
public DateTime? Erp_modify_date { get; set; }
/// <summary>
/// 备 注:计划交货日期;对应FDeliveryDate
/// 默认值:
///</summary>
[Column("plan_delivery_date")]
public DateTime? Plan_delivery_date { get; set; }
/// <summary>
/// 备 注:计划开始日期
/// 默认值:
///</summary>
[Column("begin_date")]
public DateTime? Begin_date { get; set; }
/// <summary>
/// 备 注:计划结束日期
/// 默认值:
///</summary>
[Column("end_date")]
public DateTime? End_date { get; set; }
/// <summary>
/// 备 注:订单状态(1待采购2采购中3采购完成)
/// 默认值:
///</summary>
[Column("order_status")]
public string Order_status { get; set; } = null!;
/// <summary>
/// 备 注:完成日期
/// 默认值:
///</summary>
[Column("complete_date")]
public DateTime? Complete_date { get; set; }
/// <summary>
/// 备 注:是否标识1-是0-否
/// 默认值:
///</summary>
[Column("is_flag")]
public string Is_flag { get; set; } = null!;
/// <summary>
/// 备 注:采购单位;FUnitId
/// 默认值:
///</summary>
[Column("unit_id")]
public long? Unit_id { get; set; }
/// <summary>
/// 备 注:库存单位;FStockUnitID
/// 默认值:
///</summary>
[Column("stock_unit_id")]
public long? Stock_unit_id { get; set; }
/// <summary>
/// 备 注:计价单位;FPriceUnitID
/// 默认值:
///</summary>
[Column("price_unit_id")]
public long? Price_unit_id { get; set; }
/// <summary>
/// 备 注:辅助属性;FAuxPropId
/// 默认值:
///</summary>
[Column("aux_prop_id")]
public long? Aux_prop_id { get; set; }
/// <summary>
/// 备 注:源单编号;FSrcBillNo
/// 默认值:
///</summary>
[Column("src_bill_no")]
public string? Src_bill_no { get; set; }
/// <summary>
/// 备 注:采购组织;FPurchaseOrgId
/// 默认值:
///</summary>
[Column("purchase_org_id")]
public long? Purchase_org_id { get; set; }
/// <summary>
/// 备 注:京源项目;F_TOND_Base
/// 默认值:
///</summary>
[Column("tond_base")]
public string? Tond_base { get; set; }
/// <summary>
/// 备 注:供应商ID;FSupplierId
/// 默认值:
///</summary>
[Column("supplier_id")]
public long? Supplier_id { get; set; }
/// <summary>
/// 备 注:备注
/// 默认值:
///</summary>
[Column("remark")]
public string? Remark { get; set; }
/// <summary>
/// 备 注:创建人
/// 默认值:
///</summary>
[Column("create_by")]
public string? Create_by { get; set; }
/// <summary>
/// 备 注:创建时间
/// 默认值:
///</summary>
[Column("create_time")]
public DateTime? Create_time { get; set; }
/// <summary>
/// 备 注:更新人
/// 默认值:
///</summary>
[Column("update_by")]
public string? Update_by { get; set; }
/// <summary>
/// 备 注:更新时间
/// 默认值:
///</summary>
[Column("update_time")]
public DateTime? Update_time { get; set; }
/// <summary>
/// 备 注:源单编号
/// 默认值:
///</summary>
[Column("specification_parameter")]
public string? Specification_parameter { get; set; }
/// <summary>
/// 备 注:采购订单分类:1ERP同步2虚拟采购订单
/// 默认值:
///</summary>
[Column("purchase_order_classfication")]
public string Purchase_order_classfication { get; set; } = null!;
/// <summary>
/// 备 注:自动出库完成标识(0否1是)
/// 默认值:
///</summary>
[Column("auto_outstock_flag")]
public string? Auto_outstock_flag { get; set; }
/// <summary>
/// 备 注:
/// 默认值:
///</summary>
[Column("price")]
public decimal? Price { get; set; }
}
}

@ -0,0 +1,192 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
namespace Models
{
/// <summary>
/// 采购收料通知单;从ERP同步过来的信息需要与物料信息关联需要确认接口同步过来的信息内容
///</summary>
[Table("Mes_purchase_receive_bill")]
public class MesPurchaseReceiveBill
{
/// <summary>
/// 备 注:主键标识
/// 默认值:
///</summary>
[Key]
[Column("receive_bill_id") ]
public long Receive_bill_id { get; set; }
/// <summary>
/// 备 注:ERP的主键信息;对应FID
/// 默认值:
///</summary>
[Column("erp_id" ) ]
public long? Erp_id { get; set; }
/// <summary>
/// 备 注:对应金蝶ERP收料单明细的ID;对应FDetailEntity_FEntryID
/// 默认值:
///</summary>
[Column("fentry_id" ) ]
public long? Fentry_id { get; set; }
/// <summary>
/// 备 注:收料单据号;对应FBillNo
/// 默认值:
///</summary>
[Column("bill_no") ]
public string? Bill_no { get; set; }
/// <summary>
/// 备 注:采购订单编号;对应FOrderBillNo
/// 默认值:
///</summary>
[Column("po_no") ]
public string? Po_no { get; set; }
/// <summary>
/// 备 注:单据状态;FDocumentStatus
/// 默认值:
///</summary>
[Column("document_status") ]
public string? Document_status { get; set; }
/// <summary>
/// 备 注:ERP物料ID;FMaterialId
/// 默认值:
///</summary>
[Column("material_id") ]
public long? Material_id { get; set; }
/// <summary>
/// 备 注:物料编码;对应FMaterialId.FNumber
/// 默认值:
///</summary>
[Column("material_code") ]
public string Material_code { get; set; } = null!;
/// <summary>
/// 备 注:物料名称;对应FMaterialId.FName
/// 默认值:
///</summary>
[Column("material_name") ]
public string? Material_name { get; set; }
/// <summary>
/// 备 注:源单内码;对应FDetailEntity_Link_FSBillId
/// 默认值:
///</summary>
[Column("fs_bill_id") ]
public string? Fs_bill_id { get; set; }
/// <summary>
/// 备 注:源单分录内码;对应FDetailEntity_Link_FSId
/// 默认值:
///</summary>
[Column("fs_id") ]
public string? Fs_id { get; set; }
/// <summary>
/// 备 注:实到数量;对应FActlandQty
/// 默认值:
///</summary>
[Column("act_land_amount") ]
public decimal? Act_land_amount { get; set; }
/// <summary>
/// 备 注:交货数量;对应FActReceiveQty
/// 默认值:
///</summary>
[Column("act_receive_amount") ]
public decimal? Act_receive_amount { get; set; }
/// <summary>
/// 备 注:审核日期;对应FApproveDate
/// 默认值:
///</summary>
[Column("approve_date") ]
public DateTime? Approve_date { get; set; }
/// <summary>
/// 备 注:ERP最后修改日期;对应FModifyDate
/// 默认值:
///</summary>
[Column("erp_modify_date") ]
public DateTime? Erp_modify_date { get; set; }
/// <summary>
/// 备 注:采购组织;FPurchaseOrgId
/// 默认值:
///</summary>
[Column("purchase_org_id") ]
public long? Purchase_org_id { get; set; }
/// <summary>
/// 备 注:京源项目;F_TOND_Base
/// 默认值:
///</summary>
[Column("tond_base") ]
public string? Tond_base { get; set; }
/// <summary>
/// 备 注:单价;FPRICE
/// 默认值:
///</summary>
[Column("price") ]
public decimal? Price { get; set; }
/// <summary>
/// 备 注:供应商ID;FSupplierId
/// 默认值:
///</summary>
[Column("supplier_id") ]
public long? Supplier_id { get; set; }
/// <summary>
/// 备 注:备注
/// 默认值:
///</summary>
[Column("remark") ]
public string? Remark { get; set; }
/// <summary>
/// 备 注:创建人
/// 默认值:
///</summary>
[Column("create_by") ]
public string? Create_by { get; set; }
/// <summary>
/// 备 注:创建时间
/// 默认值:
///</summary>
[Column("create_time") ]
public DateTime? Create_time { get; set; }
/// <summary>
/// 备 注:更新人
/// 默认值:
///</summary>
[Column("update_by") ]
public string? Update_by { get; set; }
/// <summary>
/// 备 注:更新时间
/// 默认值:
///</summary>
[Column("update_time") ]
public DateTime? Update_time { get; set; }
/// <summary>
/// 备 注:预计到货日期
/// 默认值:
///</summary>
[Column("pre_delivery_date") ]
public DateTime? Pre_delivery_date { get; set; }
}
}

@ -178,6 +178,13 @@ namespace Khd.Core.Domain.Models
[Column("tips")]
public string? tips { get; set; }
/// <summary>
/// 收料通知单号
/// </summary>
[Column("receive_bill_id")]
public long receiveBillId { get; set; }
}
}

@ -56,11 +56,11 @@ namespace Khd.Core.Domain.Models
[Column("material_id")]
public long? materialId { get; set; }
///// <summary>
///// 物料批次
///// </summary>
//[Column("material_batch")]
//public string materialBatch { get; set; }
/// <summary>
/// 物料编码
/// </summary>
[Column("material_barcode")]
public string materialBarcode { get; set; }
/// <summary>
/// 计划出库数量

@ -2,6 +2,7 @@
using Khd.Core.Domain.Dto.agv;
using Khd.Core.Domain.Models;
using Microsoft.EntityFrameworkCore;
using Models;
namespace Khd.Core.EntityFramework
{
@ -97,5 +98,7 @@ namespace Khd.Core.EntityFramework
public DbSet<DmsRecordAlarmTime> DmsRecordAlarmTime { get; set; }
public DbSet<MesBaseUnitInfo> MesBaseUnitInfo { get; set; }
public DbSet<MesPurchaseReceiveBill> MesPurchaseReceiveBill { get; set; }
}
}

@ -108,7 +108,7 @@ namespace Khd.Core.Wcs
FiveFloorCTU fiveFloorCTU = new(_host, 5);
fiveFloorCTU.StartPoint();
AGV
//五层AGV
FiveFloorAGV fifthFloorAGV = new(_host, 5);
fifthFloorAGV.StartPoint();

@ -205,14 +205,15 @@ namespace Khd.Core.Wcs.Wcs
newTask.objid = StaticData.SnowId.NextId();
newTask.createTime = DateTime.Now;
newTask.taskType = StaticTaskType.FiveRawIn;
if (newTask.fromFloorNo != 1)//如果不是一楼来的,需要通过接口确认入库(质检通过后,点击继续入库)
{
newTask.useFlag = 0;
}
else
{
newTask.useFlag = 1;
}
//if (newTask.fromFloorNo != 1)//如果不是一楼来的,需要通过接口确认入库(质检通过后,点击继续入库)
//{
// newTask.useFlag = 0;
//}
//else
//{
// newTask.useFlag = 1;
//}
newTask.useFlag = 1; //取消前置质检环节,直接入库即可
wmsBaseLocation.locationStatus = "2";
dbContext.Update(wmsBaseLocation);
dbContext.Remove(wcsTask);

@ -2138,24 +2138,27 @@
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition Height="2*" />
<RowDefinition Height="166.667" />
<RowDefinition />
<RowDefinition />
<RowDefinition Height="119.048" />
<RowDefinition Height="95*" />
<RowDefinition Height="95*" />
<RowDefinition Height="95*" />
<RowDefinition Height="95*" />
<RowDefinition Height="170*" />
<RowDefinition Height="120*" />
<RowDefinition Height="95*" />
<RowDefinition Height="95*" />
<RowDefinition Height="100" />
<RowDefinition Height="100" />
</Grid.RowDefinitions>
<TextBlock Text="扫描入库" FontSize="50" Grid.ColumnSpan="6" HorizontalAlignment="Center" VerticalAlignment="Center" />
<TextBlock Text="扫描料箱号:" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="75" />
<TextBlock Text="扫描条码号:" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="75" />
<TextBlock Text="物料名称:" Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="75" />
<TextBlock Text="物料规格:" Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="75" />
<TextBlock Text="入库数量:" Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="75" />
<TextBlock Text="单位:" Grid.Row="5" Grid.Column="3" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="75" Width="172" />
<TextBlock Text="备注信息:" Grid.Row="6" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="75" />
<TextBlock Text="收料通知单数量:" Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="75" />
<TextBlock x:Name="orderNumText" Grid.Column="2" Grid.Row="5" FontSize="60" Grid.ColumnSpan="3" Width="400" Height="100" Foreground="White" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0,30,0,0"/>
<TextBlock Text="入库数量:" Grid.Row="6" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="75" />
<TextBlock Text="单位:" Grid.Row="6" Grid.Column="3" Grid.ColumnSpan="1" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="75" Width="172" />
<TextBlock Text="备注信息:" Grid.Row="7" Grid.Column="0" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="75" />
<hc:TextBox x:Name="txtInBox" hc:InfoElement.ShowClearButton="True" FontSize="50" LostFocus="txtInBox_TextChanged" TextChanged="txtInBox_TextChanged" Width="900" HorizontalAlignment="Left" VerticalAlignment="Center" Height="80" Grid.Row="1" Grid.Column="2" Grid.ColumnSpan="4" />
<Button Click="barClear_Click" HorizontalAlignment="Right" Height="80" Panel.ZIndex="1" Width="100" Margin="0,0,130,0" Grid.Column="5" Grid.Row="2">
<Image Source="..\Resources\cancel.png" />
@ -2164,24 +2167,24 @@
<Image Source="..\Resources\cancel.png" />
</Button>
<hc:TextBox x:Name="txtInBarCode" hc:InfoElement.ShowClearButton="True" FontSize="50" LostFocus="txtInBarCode_TextChanged" TextChanged="txtInBarCode_TextChanged" Width="900" HorizontalAlignment="Left" VerticalAlignment="Center" Height="80" Grid.Row="2" Grid.Column="2" Grid.ColumnSpan="4" />
<hc:TextBox x:Name="txtInStoreRemark" hc:InfoElement.ShowClearButton="True" FontSize="50" Width="726" HorizontalAlignment="Left" VerticalAlignment="Center" Height="80" Grid.Row="6" Grid.Column="2" Grid.ColumnSpan="3" />
<hc:TextBox x:Name="txtInStoreRemark" hc:InfoElement.ShowClearButton="True" FontSize="50" Width="726" HorizontalAlignment="Left" VerticalAlignment="Center" Height="80" Grid.Row="7" Grid.Column="2" Grid.ColumnSpan="3" />
<hc:TextBox x:Name="materialName" IsReadOnly="True" hc:InfoElement.ShowClearButton="True" FontSize="50" Width="970" HorizontalAlignment="Left" VerticalAlignment="Center" Height="80" Grid.Row="3" Grid.Column="2" Grid.ColumnSpan="4" />
<hc:TextBox x:Name="materialSpec" TextWrapping="Wrap" ScrollViewer.VerticalScrollBarVisibility="Visible" IsReadOnly="True" hc:InfoElement.ShowClearButton="True" FontSize="50" Width="970" HorizontalAlignment="Left" VerticalAlignment="Center" Height="140" Grid.Row="4" Grid.Column="2" Grid.ColumnSpan="4" />
<hc:TextBox x:Name="txtInScan" FontSize="50" IsReadOnly="True" Width="400" HorizontalAlignment="Left" VerticalAlignment="Center" Height="80" Grid.Row="5" Grid.Column="2" Grid.ColumnSpan="3" KeyDown="ScanInKeyDown" Margin="0 20 0 20" />
<hc:TextBox x:Name="txtInUnit" FontSize="50" IsReadOnly="True" Width="287" HorizontalAlignment="Left" VerticalAlignment="Center" Height="80" Grid.Row="5" Grid.Column="4" Grid.ColumnSpan="2" KeyDown="ScanInKeyDown" Margin="138,0,0,0" />
<Button Content="确认入库" Grid.Row="7" Grid.ColumnSpan="2" Width="300" Height="80" FontSize="50" Background="#346DFF" Foreground="White" Click="InRawBaseLocaltion_Click" Grid.Column="2" HorizontalAlignment="Left" Margin="125,0,0,10" VerticalAlignment="Bottom" />
<Button Content="取消预调度" x:Name="CancelPreScheduling" Grid.Row="6" Grid.ColumnSpan="2" Width="328" Height="80" FontSize="50" Background="#346DFF" Foreground="White" HorizontalAlignment="Left" Grid.Column="4" Margin="222,0,0,0" Click="CancelPreScheduling_Click" />
<Button Content="一键收料" Grid.Row="7" Grid.ColumnSpan="2" Width="328" Height="80" FontSize="50" Background="#346DFF" Foreground="White" Click="callPlc_Click" HorizontalAlignment="Left" Grid.Column="4" Margin="222,0,0,0" />
<TextBlock Grid.Row="8" Text="提示信息:" HorizontalAlignment="Center" Grid.Column="1" Grid.ColumnSpan="1" Width="250" Height="100" FontSize="50" Foreground="White" />
<TextBlock x:Name="MsgText" Grid.Row="8" FontSize="50" Grid.ColumnSpan="5" Width="800" Height="100" Foreground="White" HorizontalAlignment="Right" />
<hc:TextBox x:Name="txtInScan" FontSize="50" IsReadOnly="True" Width="240" HorizontalAlignment="Left" VerticalAlignment="Center" Height="80" Grid.Row="6" Grid.Column="2" Grid.ColumnSpan="1" KeyDown="ScanInKeyDown" Margin="0 0 10 0" />
<hc:TextBox x:Name="txtInUnit" FontSize="50" IsReadOnly="True" Width="240" HorizontalAlignment="Left" VerticalAlignment="Center" Height="80" Grid.Row="6" Grid.Column="4" Grid.ColumnSpan="1" KeyDown="ScanInKeyDown" Margin="0,0,10,0" />
<Button Content="确认入库" Grid.Row="8" Grid.ColumnSpan="2" Width="300" Height="80" FontSize="50" Background="#346DFF" Foreground="White" Click="InRawBaseLocaltion_Click" Grid.Column="2" HorizontalAlignment="Left" Margin="125,0,0,10" VerticalAlignment="Bottom" />
<Button Content="取消预调度" x:Name="CancelPreScheduling" Grid.Row="7" Grid.ColumnSpan="2" Width="328" Height="80" FontSize="50" Background="#346DFF" Foreground="White" HorizontalAlignment="Left" Grid.Column="4" Margin="222,0,0,0" Click="CancelPreScheduling_Click" />
<Button Content="一键收料" Grid.Row="8" Grid.ColumnSpan="2" Width="328" Height="80" FontSize="50" Background="#346DFF" Foreground="White" Click="callPlc_Click" HorizontalAlignment="Left" Grid.Column="4" Margin="222,0,0,0" />
<TextBlock Grid.Row="9" Text="提示信息:" HorizontalAlignment="Center" Grid.Column="1" Grid.ColumnSpan="1" Width="250" Height="100" FontSize="50" Foreground="White" />
<TextBlock x:Name="MsgText" Grid.Row="9" FontSize="50" Grid.ColumnSpan="5" Width="800" Height="100" Foreground="White" HorizontalAlignment="Right" />
<Button Content="执行CTU入库任务" Visibility="Hidden" Click="btnCtuInConfirmBox_Click" Grid.Row="5" Grid.ColumnSpan="6" Width="500" Height="100" FontSize="50" Background="#346DFF" Foreground="White" />
</Grid>
</StackPanel>
</StackPanel>
</StackPanel>
</TabItem>
<TabItem x:Name="ScanReturnManager" Header="扫描退库" Style="{StaticResource DefaultItem}" FontSize="25" HorizontalContentAlignment="Center" Background="#213269" VerticalContentAlignment="Center" Foreground="White" Width="160" Height="80" Margin="5">
<StackPanel Height="1060" Width="1703" Background="#213269" Canvas.Left="175" Canvas.Top="110" Orientation="Horizontal">
<TabItem x:Name="ScanReturnManager" Header="扫描退库" Style="{StaticResource DefaultItem}" FontSize="25" HorizontalContentAlignment="Center" Background="#213269" VerticalContentAlignment="Center" Foreground="White" Width="160" Height="80" Margin="5">
<StackPanel Height="1060" Width="1703" Background="#213269" Canvas.Left="175" Canvas.Top="110" Orientation="Horizontal">
<StackPanel Orientation="Horizontal" Width="1750">
<StackPanel Orientation="Vertical" Margin="20,5,0,0">
<Grid Width="1650" Height="1000">
@ -2321,6 +2324,7 @@
<hc:TextBox hc:InfoElement.ShowClearButton="True" IsReadOnly="True" x:Name="returnMaterialName" FontSize="50" Width="700" HorizontalAlignment="Left" VerticalAlignment="Center" Height="90" Grid.Row="2" Grid.Column="3" Grid.ColumnSpan="3" />
</Grid>
<Button Content="确认退库" Grid.Column="4" Grid.Row="5" Grid.ColumnSpan="2" Width="330" Height="100" Margin="100,0,0,0" FontSize="35" Background="#346DFF" Foreground="White" Click="ReturnRawBaseLocaltion_Click" />
<Button Content="直接退库" Grid.Column="4" Grid.Row="5" Grid.ColumnSpan="2" Width="330" Height="100" Margin="50,0,0,0" FontSize="35" Background="#346DFF" Foreground="White" Click="DirectReturn_Click" />
</StackPanel>
<StackPanel HorizontalAlignment="Left" Orientation="Horizontal" Grid.Row="5" Grid.ColumnSpan="6">
<TextBlock Text="物料规格:" Width="260" Grid.Row="5" Grid.Column="1" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="50" />
@ -2342,7 +2346,6 @@
<StackPanel HorizontalAlignment="Left" Orientation="Horizontal" Grid.Row="7" Grid.ColumnSpan="6">
<TextBlock Text="提示信息:" Grid.Row="4" Grid.Column="1" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="50" />
<Grid Width="1125">
<TextBlock x:Name="txtReturnMsg" Margin="50,0,0,0" VerticalAlignment="Center" FontSize="40" HorizontalAlignment="Left" Height="90" Width="1065" />
</Grid>
</StackPanel>
@ -2519,7 +2522,7 @@
<StackPanel HorizontalAlignment="Left" Orientation="Horizontal" Grid.Row="0" Grid.ColumnSpan="6">
<TextBlock Text="扫描料箱号:" Width="280" Grid.Column="1" Grid.ColumnSpan="2" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="50" />
<Grid>
<hc:TextBox hc:InfoElement.ShowClearButton="True" x:Name="txtOutBox" FontSize="50" TextChanged="txtOutBox_TextChanged" Width="700" HorizontalAlignment="Left" VerticalAlignment="Center" Height="80" Grid.Row="2" Grid.Column="3" Grid.ColumnSpan="3" />
<hc:TextBox hc:InfoElement.ShowClearButton="True" x:Name="txtOutBox" FontSize="50" TextChanged="txtOutBox_TextChanged" Width="700" HorizontalAlignment="Left" VerticalAlignment="Center" Height="90" Grid.Row="2" Grid.Column="3" Grid.ColumnSpan="3" />
<Button Click="boxOutClear_Click" HorizontalAlignment="Right" Height="80" Panel.ZIndex="1" Width="100" Margin="0,0,0,0" Grid.Column="5" Grid.Row="2">
<Image Source="..\Resources\cancel.png" />
</Button>

@ -1566,6 +1566,8 @@ namespace Khd.Core.Wpf.Form
// wmsRawOutstock.executeStatus = "2";
// wmsRawOutstock.endTime = DateTime.Now;
// }
// // 保存备注信息
// wmsRawOutstock.Tips = remarks.Text;
// dbContext.Update(wmsRawOutstock);
// dbContext.SaveChanges();
// }
@ -2260,6 +2262,12 @@ namespace Khd.Core.Wpf.Form
HandyControl.Controls.MessageBox.Error("请先输入数量"); return;
}
decimal amount = decimal.Parse(txtInScan.Text);
decimal orderAmount = decimal.Parse(orderNumText.Text);
if (amount > orderAmount)
{
HandyControl.Controls.MessageBox.Error("入库数量不能超过收料通知单数量");
return;
}
// 计算入库后当前总数量,仅用来提示使用
decimal? totalMessage = 0;
if (amount <= 0)
@ -2294,6 +2302,12 @@ namespace Khd.Core.Wpf.Form
return;
}
if (material.batchFlag == "0" && amount > 1) //非批次标识的物料入库数量只能为1
{
HandyControl.Controls.MessageBox.Error("非批次物料入库数量只能为1");
return;
}
if (wmsRawStocks.Count > 0)
{
if (material.batchFlag != "1")
@ -2332,7 +2346,8 @@ namespace Khd.Core.Wpf.Form
palletInfoCode = container.containerCode,
poNo = mesBaseBarcodeInfo.poNo,
warehouseId = 512,
tips = this.txtInStoreRemark.Text
tips = this.txtInStoreRemark.Text,
receiveBillId = material.receiveBillId
};
dbContext.Add(wmsRawInstock);
@ -2676,6 +2691,18 @@ namespace Khd.Core.Wpf.Form
{
try
{
// 显示采购订单数量,在获取 material 后,查询 MesPurchaseOrder 表以获取 order_amount
var purchaseReceiveBill = dbContext.MesPurchaseReceiveBill.FirstOrDefault(x => x.Receive_bill_id == material.receiveBillId);
if (purchaseReceiveBill != null)
{
// 假设 TextBlock 的名称为 orderAmountTextBlock
orderNumText.Text = purchaseReceiveBill.Act_land_amount.ToString();
}
else
{
orderNumText.Text = "无收料通知单";
}
//显示单位信息
var mesBaseUnitInfo = dbContext.MesBaseUnitInfo.FirstOrDefault(t => t.ErpId == mesBaseMaterialInfo.MaterialUnitId);
if (mesBaseUnitInfo != null)
@ -3028,7 +3055,7 @@ namespace Khd.Core.Wpf.Form
outstockTime = DateTime.Now,
outstockWay = "2",
materialProductionDate = mesBaseBarcodeInfo.productionDate,
Tips = this.remarks.Text
Tips = this.remarks.Text
};
dbContext.Add(wmsProductOutstockDetail);
dbContext.Update(item);
@ -3071,6 +3098,7 @@ namespace Khd.Core.Wpf.Form
newWmsRawOutstock.taskType = "1";
newWmsRawOutstock.auditStatus = "1";
newWmsRawOutstock.applyBy = "CtuGun";
newWmsRawOutstock.applyReason = this.remarks.Text;
newWmsRawOutstock.applyDate = DateTime.Now;
newWmsRawOutstock.executeStatus = "2";
newWmsRawOutstock.saleOrderId = mesBaseBarcodeInfo.saleOrderId;
@ -5970,5 +5998,126 @@ namespace Khd.Core.Wpf.Form
HoistWarnHandlerWindow window = new HoistWarnHandlerWindow(_host);
window.ShowDialog();
}
/// <summary>
/// 直接退库,用于辅料库的没有销售订单的退库情况
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void DirectReturn_Click(object sender, RoutedEventArgs e)
{
try
{
if (!string.IsNullOrEmpty(txtReturnBox.Text) && !string.IsNullOrEmpty(txtReturnBarCode.Text))
{
using var scope = _host.Services.CreateScope();
using var dbContext = scope.ServiceProvider.GetRequiredService<DefaultDbContext>();
var container = dbContext.WmsBaseLocation.FirstOrDefault(t => t.containerCode == txtReturnBox.Text && t.warehouseId == 512);
//List<WmsRawStock> wmsRawStocks = dbContext.WmsRawStock
// .Where(t => txtReturnBarCode.Text == t.instockBatch)
// .Where(t => t.warehouseFloor == 5 && t.warehouseId == 512).ToList();
if (container == null)
{
MsgText.Text = "未查询到该容器!";
txtReturnBox.Focus();
txtReturnBox.Text = string.Empty;
return;
}
var material = dbContext.MesBaseBarcodeInfo.FirstOrDefault(t => t.barcodeInfo == txtReturnBarCode.Text);
if (material == null)
{
txtReturnMsg.Text = ("未查询到该条码内容!");
txtReturnBarCode.Text = string.Empty;
txtReturnBarCode.Focus();
return;
}
var wmsRawStock = dbContext.WmsRawStock.FirstOrDefault(t => t.instockBatch == txtReturnBarCode.Text && t.palletInfoCode == txtReturnBox.Text);
if (wmsRawStock != null)
{
int returnNum = Convert.ToInt32(txtReturnScan.Text);
wmsRawStock.totalAmount += returnNum; // 退库数量加回库存
dbContext.WmsRawStock.Update(wmsRawStock);
}
else
{
var newRawStock = new WmsRawStock()
{
materialId = material.materialId,
supplierId = material.manufacturerId,
instockBatch = txtReturnBarCode.Text,
locationCode = container.locationCode,
stockType = "1",
palletInfoCode = txtReturnBox.Text,
totalAmount = Convert.ToInt32(txtReturnScan.Text),
activeFlag = "1",
occupyAmount = 0,
completeFlag = "1",
frozenAmount = 0,
instockDate = System.DateTime.Now,
rawStockId = Global.SnowId.NextId(),
saleOrderId = material.saleOrderId,
safeFlag = material.safeFlag,
warehouseFloor = 5,
warehouseId = 512,
createBy = "WPF",
createDate = System.DateTime.Now,
};
dbContext.WmsRawStock.Add(newRawStock);
}
// 添加到退库表
var wmsRawReturn = new WmsRawReturn()
{
taskCode = Global.SnowId.NextId().ToString(),
taskType = "1",
warehouseId = 512,
locationCode = container.locationCode,
materialId = material.materialId,
materialBarcode = material.barcodeInfo,
planAmount = (decimal)wmsRawStock.totalAmount,
returnAmount = Convert.ToInt32(txtReturnScan.Text),
executeStatus = "2",
operationType = "1",
applyBy = "WPF",
applyDate = System.DateTime.Now,
applyReason = "直接退库",
auditStatus = "1",
endTime = System.DateTime.Now
};
dbContext.WmsRawReturn.Add(wmsRawReturn);
//// 添加到退库明细表
//var wmsRawReturnDetail = new WmsRawReturnDetail()
//{
// rawReturnId = wmsRawReturn.taskCode,
// locationCode = "default_location", // 需要根据实际情况设置
// materialBarcode = txtReturnBarCode.Text,
// materialId = material.materialId,
// returnAmount = 1,
// executeStatus = "1",
// returnPerson = "WPF",
// returnTime = System.DateTime.Now,
// createBy = "直接退库",
// createDate = System.DateTime.Now
//};
//dbContext.WmsRawReturnDetail.Add(wmsRawReturnDetail);
dbContext.SaveChanges();
txtReturnMsg.Text = ($"退库成功!,当前库存{wmsRawStock?.totalAmount ?? 1}");
txtReturnBarCode.Text = string.Empty;
txtReturnBox.Text = string.Empty;
txtReturnBox.Focus();
}
else
{
txtReturnMsg.Text = ("请先扫描容器号和条码!");
}
}
catch (Exception ex)
{
LogManager.Error(ex);
txtReturnMsg.Text = ("退库失败");
}
}
}
}

@ -2,10 +2,11 @@
"ConnectionStrings": {
//mysql
//"DefaultConnection": "server=106.12.13.113;port=3306;database=khd_jyhb;uid=root;pwd=root;charset='utf8';persistsecurityinfo=True;SslMode=none;Allow User Variables=True"
//khd
"DefaultConnection": "server=172.16.12.100;port=3306;database=hwjy-cloud;uid=kehaida;pwd=khdrkjy2024...;charset='utf8';persistsecurityinfo=True;SslMode=None;Allow User Variables=True"
// "DefaultConnection": "server=175.27.215.92;port=3306;database=hwjy-cloud;uid=kehaida;pwd=khd2024;charset='utf8';persistsecurityinfo=True;SslMode=none;Allow User Variables=True"
// "DefaultConnection": "server=localhost;port=3306;database=jyhb;uid=root;pwd=root;charset='utf8';persistsecurityinfo=True;SslMode=None;Allow User Variables=True"
//khd
"DefaultConnection": "server=172.16.12.100;port=3306;database=hwjy-cloud;uid=root;pwd=JyhbRk@123456;charset='utf8';persistsecurityinfo=True;SslMode=None;Allow User Variables=True"
// "DefaultConnection": "server=175.27.215.92;port=3306;database=hwjy-cloud;uid=kehaida;pwd=khd2024;charset='utf8';persistsecurityinfo=True;SslMode=none;Allow User Variables=True"
//
//"DefaultConnection": "server=1.13.177.47;port=3306;database=hwjy-cloud;uid=root;pwd=Haiwei123456;charset='utf8';persistsecurityinfo=True;SslMode=None;Allow User Variables=True"
},
"PlcConfigs": [
{

Loading…
Cancel
Save