成品消耗报工、领料单展示、烘房数量展示

master
zhaoaomin 2 years ago
parent e4811a1857
commit e39a220821

Binary file not shown.

@ -14,7 +14,7 @@
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>5nsrkfe5IXcthCM2+m3k9Y4yChx8IqJYU3f1Sxq/sG0=</dsig:DigestValue>
<dsig:DigestValue>BF6HEC9M/jagPc3wN6LzoIFOcqz6U6GkFfq7B5nijQc=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>

@ -49,7 +49,7 @@
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>RdMRkRfxKcw3U8ADB8Tu6YmAoNCF0PI0PcoxnRKNOUU=</dsig:DigestValue>
<dsig:DigestValue>iy/mPB9no8LMx3n5XtwTBu3OAI6tw4qGaQVBeTlUnhM=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>

@ -14,7 +14,7 @@
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>5nsrkfe5IXcthCM2+m3k9Y4yChx8IqJYU3f1Sxq/sG0=</dsig:DigestValue>
<dsig:DigestValue>BF6HEC9M/jagPc3wN6LzoIFOcqz6U6GkFfq7B5nijQc=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>

@ -49,7 +49,7 @@
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>RdMRkRfxKcw3U8ADB8Tu6YmAoNCF0PI0PcoxnRKNOUU=</dsig:DigestValue>
<dsig:DigestValue>iy/mPB9no8LMx3n5XtwTBu3OAI6tw4qGaQVBeTlUnhM=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>

@ -316,6 +316,30 @@ VALUES
return issucc;//> 0 ? true : false;
}
/// <summary>
/// 插入消耗表
/// </summary>
/// <param name="qty"></param>
/// <param name="remark"></param>
/// <param name="selectedRow"></param>
/// <param name="newReportCode"></param>
/// <param name="siteCode"></param>
public bool InsertConsumeInfo(string qty, string remark, DataRowView selectedRow, string newReportCode, string siteCode)
{
string sql = $@" INSERT INTO [dbo].[mes_report_work_consume]
([record_id], [workorder_code], [material_code], [material_name], [material_spc],
[quantity], [unit], [remark], [attr1], [attr2],
[attr3], [attr4], [create_by], [create_time], [update_by],
[update_time], [factory_code], [report_code], [del_flag])
VALUES
('{Common.GetUUID()}', '{selectedRow["workorder_code"]}', '{selectedRow["product_code"]}', '{selectedRow["product_name"]}', '{selectedRow["product_spc"]}',
'{qty}','{selectedRow["unit"]}', '{remark}', NULL, NULL,
NULL, NULL, '{LoginUser.UserName}', GetDate(), '{LoginUser.UserName}',
GetDate(), '{siteCode}', '{newReportCode}', '0'); ";
int ret = Utils.netClientDBHelper.executeUpdate(sql);
return ret > 0 ? true : false;
}
/// <summary>
/// 根据设备编码获取当前机台最新的吊满的RFID信息

@ -177,6 +177,24 @@ where CONVERT(VARCHAR(10), upload_time , 120)= CONVERT(VARCHAR(10), GetDate() ,
return null;
}
public DataTable GetCosumeData(string workorder)
{
string sql = $@"select '0' as qty, workorder_code, material_code,material_name,detail.prod_type,material_spc,detail.unit,quantity,
detail.create_by,detail.create_time,detail.update_by,detail.update_time,locator,need_date,
recoil,fund_quanlity,detail.del_flag
from mes_prepare_detail detail
LEFT JOIN mes_prepare pre on detail.prepare_id = pre.prepare_id
where detail.parent_work_order ='{workorder}'";
DataSet dtset = Utils.netClientDBHelper.getDataSet(sql);
if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0)
{
return dtset.Tables[0];
}
return null;
}
public DataTable GetCostCenter()
{
string sql = $"select factory_code,factory_name from sys_factory where f_type = 'c'";
@ -494,7 +512,7 @@ select a.TrayCode,a.ProductBarNo,a.carcode,a.createtime,a.lineno,b.HadNumber
public DataTable GetWetPlanInfo(string deviceCode, string date)
{
string sql = $@"select workorder.factory_code,workorder.product_date as plan_time, workorder.workorder_id,workorder.workorder_code, product_code,product_name,
product_spc,shifts.shift_desc,prod_line_code,workorder.status,route_code,quantity_split,unit,workorder.shift_id ,batch.batch_code,batch.batch_quantity,sort_no
product_spc,shifts.shift_desc,prod_line_code,workorder.status,route_code,quantity_split,unit,workorder.shift_id ,batch.batch_code,batch.batch_quantity,sort_no,product_spc
from pro_order_workorder workorder
left JOIN base_shifts_t shifts on workorder.shift_id = shifts.shift_id
left JOIN pro_order_workorder_batch batch on workorder.workorder_id = batch.workorder_id
@ -654,7 +672,7 @@ detail.create_by,detail.create_time,detail.update_by,detail.update_time,locator,
recoil,fund_quanlity,detail.del_flag
from mes_prepare_detail detail
LEFT JOIN mes_prepare pre on detail.prepare_id = pre.prepare_id
where pre.workorder_code = '{processid}'"; //where CONVERT(VARCHAR(10), wet.plan_time , 120)= CONVERT(VARCHAR(10), GetDate() , 120)
where detail.parent_work_order = '{processid}'"; //where CONVERT(VARCHAR(10), wet.plan_time , 120)= CONVERT(VARCHAR(10), GetDate() , 120)
DataSet dtset = Utils.netClientDBHelper.getDataSet(sql);
if (dtset != null && dtset.Tables.Count > 0 && dtset.Tables[0].Rows.Count > 0)
{

File diff suppressed because it is too large Load Diff

@ -20,7 +20,8 @@ namespace XGL
{
public App()
{
var processs = Process.GetProcessesByName(Process.GetCurrentProcess().MainModule.ModuleName.Replace(".exe", ""));
string name = Process.GetCurrentProcess().MainModule.ModuleName.Replace(".exe", "");
var processs = Process.GetProcessesByName(name);
if (processs.Length > 1)
{
Environment.Exit(0);

@ -5,7 +5,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:XGLFinishPro.Views"
mc:Ignorable="d"
Title="CheckUserWin" Height="550" Width="1050" WindowStartupLocation="CenterScreen" WindowStyle="None" Loaded="Window_Loaded">
Title="CheckUserWin" Height="850" Width="1250" WindowStartupLocation="CenterScreen" WindowStyle="None" Loaded="Window_Loaded">
<Window.Resources>
<!--ComboBox下拉按钮-->
<Style TargetType="ToggleButton" x:Key="ComboxStyleBtn">
@ -97,19 +97,27 @@
</Style>
<Style TargetType="TextBox">
<Setter Property="Height" Value="50"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
</Style>
<Style TargetType="Label">
<Setter Property="Margin" Value="15,0,0,0"/>
</Style>
<Style x:Key="CustomCellStyle" TargetType="DataGridCell">
<Setter Property="Foreground" Value="Black" />
<Setter Property="TextBlock.TextAlignment" Value="Center" />
<Setter Property="TextBlock.FontSize" Value="22" />
<Setter Property="BorderThickness" Value="0 0 1 1" />
<Setter Property="BorderBrush" Value="LightGray" />
</Style>
</Window.Resources>
<Grid>
<Grid.Background>
<!--<Grid.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF2281D1"></GradientStop>
<GradientStop Color="AliceBlue" Offset="0.8"></GradientStop>
<GradientStop Color="AliceBlue" Offset="1"></GradientStop>
</LinearGradientBrush>
</Grid.Background>
</Grid.Background>-->
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
@ -120,10 +128,11 @@
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition Height="400"/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Label Grid.ColumnSpan="2" x:Name="lbTitle" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="24" Content="报工" FontWeight="Bold"></Label>
<Label Grid.ColumnSpan="2" x:Name="lbTitle" HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="24" Content="报工" FontWeight="Bold"></Label>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Left" Grid.Row="1">
<Label Grid.Row="1" HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="24" Content="当前工单:"></Label>
<Label x:Name="lbCurrOrderNo" Grid.Row="1" HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="24" Content="202311010001" Width="260"></Label>
@ -152,15 +161,51 @@
<Label Content="* 不选批次号则默认为该工单报工" Foreground="Red" VerticalAlignment="Center"></Label>
</StackPanel>
<Label x:Name="tbMsg" Width="500" Height="60" Grid.Row="5" Grid.ColumnSpan="2" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" FontSize="18" Foreground="Red" FontWeight="Bold"></Label>
<DataGrid x:Name="dgConsumeInfo" Grid.Row="5" Grid.ColumnSpan="2" Background="#0000"
LoadingRow="dgConsumeInfo_LoadingRow"
CanUserAddRows="False"
AutoGenerateColumns="False"
HeadersVisibility="Column"
SelectionMode="Single"
CellEditEnding="dgConsumeInfo_CellEditEnding"
CellStyle="{StaticResource CustomCellStyle}">
<DataGrid.ColumnHeaderStyle >
<Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="Height" Value="48" />
<Setter Property="FontSize" Value="20" />
<Setter Property="Foreground" Value="Black" />
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="Background" Value="#0000" />
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>
<DataGridTemplateColumn Header=" 序号" Width="50" MinWidth="10" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow}}, Path=Header}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="10,0,0,0"></TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Width="120" Header="用量" Binding="{Binding qty}" IsReadOnly="False">
</DataGridTextColumn>
<DataGridTextColumn Width="250" Header="备注" Binding="{Binding Remark}" IsReadOnly="False" />
<DataGridTextColumn Width="120" Header="领取数" Binding="{Binding quantity}" IsReadOnly="True" />
<DataGridTextColumn Width="250" Header="组件编码" Binding="{Binding material_code}" IsReadOnly="True"/>
<DataGridTextColumn Width="300" Header="组件名称" Binding="{Binding material_name}" IsReadOnly="True"/>
<DataGridTextColumn Width="100" Header="单位" Binding="{Binding unit}" />
<!--<DataGridTextColumn Width="250" Header="物料组" Binding="{Binding productGroup}" IsReadOnly="True"/>
<DataGridTextColumn Width="250" Header="组名称" Binding="{Binding productGroupName}" IsReadOnly="True"/>-->
</DataGrid.Columns>
</DataGrid>
<Label x:Name="tbMsg" Width="600" Height="60" Grid.Row="6" Grid.ColumnSpan="2" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" FontSize="24" Foreground="Red" FontWeight="Bold"></Label>
<CheckBox Content="最终报工" Height="auto" Margin="15,0,0,0" FontSize="10" ToolTip="选择后将结束该工单" Grid.Row="6" IsChecked="False" HorizontalAlignment="Left" VerticalContentAlignment="Center" Name="xuanze9" >
<CheckBox.LayoutTransform >
<ScaleTransform ScaleX="2" ScaleY="2" />
</CheckBox.LayoutTransform>
</CheckBox>
<Button x:Name="btnOK" Grid.Row="6" Grid.Column="0" Width="120" Height="43" Content="确定" Margin="3,-20,0,0" Background="#2F82E7" Foreground="White" FontSize="22" FontWeight="Bold" Click="btnOK_Click"/>
<Button x:Name="btnCancel" Grid.Row="6" Grid.Column="1" Width="120" Height="43" Content="取消" Margin="3,-20,0,0" FontWeight="Bold" FontSize="22" Click="btnCancel_Click"/>
<Button x:Name="btnOK" Grid.Row="7" Grid.Column="0" Width="120" Height="43" Content="确定" Margin="3,-20,0,0" Background="#2F82E7" Foreground="White" FontSize="22" FontWeight="Bold" Click="btnOK_Click"/>
<Button x:Name="btnCancel" Grid.Row="7" Grid.Column="1" Width="120" Height="43" Content="取消" Margin="3,-20,0,0" FontWeight="Bold" FontSize="22" Click="btnCancel_Click"/>
</Grid>
</Window>

@ -1,4 +1,6 @@
using CommonFunc.Tools;
using CommonFunc;
using CommonFunc.Tools;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
@ -16,7 +18,9 @@ using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using Xceed.Wpf.DataGrid;
using XGL.Data;
using XGL.Data.DBService;
using XGL.Dats.DBServiceFinishProd;
using XGL.Models.Model.OrderPrepare;
namespace XGLFinishPro.Views
{
@ -26,27 +30,46 @@ namespace XGLFinishPro.Views
public partial class ExecReportWorkWin : Window
{
FinishProdDBService userDbWareHouse = new FinishProdDBService();
FormingMachineService formingMachineService = new FormingMachineService();
public bool loginFlag;
public string _workTime = "";
public string _useMan = "";
public string _costCenter = "";
public string _workQuntity = "";
public string workOrdercode = "";
public string _workOrdercode = "";
public string _workOrderId = "";
public string batchCode = "";
public bool? _isEndReport = false;
public string _deviceCode = "";
public string _siteCode = "";
DataRowView selectedRow = null;
public ExecReportWorkWin()
{
InitializeComponent();
}
public ExecReportWorkWin(string workOrder, string quantity,string workOrdercode,string batch_code)
public ExecReportWorkWin(string workOrder, string quantity,string workOrdercode, string batch_code, string siteCode)
{
InitializeComponent();
this.workOrdercode = workOrdercode;
this._workOrdercode = workOrdercode;
this.lbCurrOrderNo.Content = workOrder;
this.txtQuantity.Text = quantity;
this.comboBoxBatch.Text = batch_code;
_siteCode = siteCode;
}
public ExecReportWorkWin(DataRowView _selectedRow,string deviceCode, string siteCode)
{
InitializeComponent();
selectedRow = _selectedRow;
_deviceCode = deviceCode;
this._workOrdercode = selectedRow["workorder_code"].ToString();
this.lbCurrOrderNo.Content = selectedRow["workorder_code"].ToString();
this._workOrderId = selectedRow["workorder_id"].ToString();
this.txtQuantity.Text = selectedRow["quantity_split"].ToString();
this.comboBoxBatch.Text = selectedRow["batch_code"].ToString();
_siteCode = siteCode;
}
private void btnCancel_Click(object sender, RoutedEventArgs e)
@ -55,7 +78,7 @@ namespace XGLFinishPro.Views
this.Close();
}
private void btnOK_Click(object sender, RoutedEventArgs e)
private async void btnOK_Click(object sender, RoutedEventArgs e)
{
if (string.IsNullOrEmpty(this.txtQuantity.Text))
{
@ -131,21 +154,124 @@ namespace XGLFinishPro.Views
this.DialogResult = true;
}
}
//获取报工编码
string newReportCode = "";
DataTable dtNewReportCode = formingMachineService.GetReportCode();
if (dtNewReportCode == null || dtNewReportCode.Rows.Count == 0)
{
newReportCode = DateTime.Now.ToString("yyyyMMdd") + "0001";
}
else
{
if (string.IsNullOrEmpty(dtNewReportCode.Rows[0]["report_code"].ToString()))
{
newReportCode = DateTime.Now.ToString("yyyyMMdd") + "0001";
}
else
{
newReportCode = (Convert.ToInt64(dtNewReportCode.Rows[0]["report_code"].ToString()) + 1).ToString();
}
}
string isEndReport = _isEndReport == true ? "1" : "0";
bool issucc = formingMachineService.ExecuteReportWork(selectedRow, _workQuntity, newReportCode, _workTime, _useMan, _costCenter, batchCode, isEndReport, _deviceCode);
if (issucc)
{
//调用报工接口
string apiUrl = formingMachineService.InterfaceUrl("reportWork");
ReportWork reportWork = new ReportWork();
reportWork.factoryCode = Utils.GetAppSetting("SiteCode");
reportWork.reportCode = newReportCode;
// 将要发送的数据序列化为JSON格式
var jsonContent = JsonConvert.SerializeObject(reportWork);
LogHelper.instance.log.Info("开始报工>>" + jsonContent);
RestHelper restClient = new RestHelper();
//var response =;
Rootobjectresu result = Utils.DeJson<Rootobjectresu>(await restClient.PostAsync(apiUrl, jsonContent));
if (result.code == 200)
{
AddConsumInfo(newReportCode);
}
else
{
CustomMessageBox.Show("调用报工接口失败!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning);
}
}
else
{
CustomMessageBox.Show("报工失败", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Error);
}
}
private void AddConsumInfo(string newReportCode)
{
try
{
//报工消耗数量
// 获取第二列的值
int columnIndex = 1; // 列索引,这里假设为第一列
foreach (var row in dgConsumeInfo.Items)
{
// 获取 DataGridRow
var dataGridRow = dgConsumeInfo.ItemContainerGenerator.ContainerFromItem(row) as DataGridRow;
if (dataGridRow != null)
{
// 获取该行的单元格内容
var cellQtyContent = dgConsumeInfo.Columns[columnIndex].GetCellContent(dataGridRow);
var cellRemarkContent = dgConsumeInfo.Columns[columnIndex+1].GetCellContent(dataGridRow);
if (cellQtyContent != null)
{
// 获取单元格的值
var qty = (cellQtyContent as TextBlock)?.Text;
var remark = (cellRemarkContent as TextBlock)?.Text;
// 插入表
if (qty != null)
{
// 处理 cellValue
formingMachineService.InsertConsumeInfo(qty,remark,selectedRow, newReportCode, _siteCode);
}
else
continue;
}
}
}
}
catch (Exception ex)
{
CustomMessageBox.Show("报工失败:生成消耗数据发生异常:"+ex.Message, CustomMessageBoxButton.OK, CustomMessageBoxIcon.Error);
}
}
}
private void pw_PasswordChanged(object sender, RoutedEventArgs e)
{
tbMsg.Content = "";
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
{
InitComBoboxData();
piciInitComBoboxData();
InitConsumeData();
}
private void InitConsumeData()
{
DataTable dt = userDbWareHouse.GetCosumeData(_workOrdercode);
if (dt == null)
{
this.tbMsg.Content = "没有找到该工单的消耗信息";
//CustomMessageBox.Show("没有维护成本中心,请联系管理员!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning);
return;
}
//绑定
dgConsumeInfo.ItemsSource = dt.DefaultView;
}
private void txtQuantity_TextChanged(object sender, TextChangedEventArgs e)
@ -214,7 +340,7 @@ namespace XGLFinishPro.Views
}
private void piciInitComBoboxData()
{
DataTable dt = userDbWareHouse.piciGetCostCenter(this.workOrdercode);
DataTable dt = userDbWareHouse.piciGetCostCenter(this._workOrderId);
if (dt == null)
{
CustomMessageBox.Show("没有找到批次号,请联系管理员!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning);
@ -239,6 +365,16 @@ namespace XGLFinishPro.Views
{
}
private void dgConsumeInfo_LoadingRow(object sender, DataGridRowEventArgs e)
{
e.Row.Header = (e.Row.GetIndex() + 1).ToString();
}
private void dgConsumeInfo_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
//dgConsumeInfo.CommitEdit();
}
}
public class CostCenter
{

@ -486,6 +486,20 @@
FontSize="28"
Text="出入记录" />
</Button>-->
<Button
Width="196"
Height="69"
HorizontalAlignment="Left"
VerticalAlignment="Bottom"
Margin="10,0,0,0"
Background="White"
Click="GetQitaolv_Click">
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontSize="28"
Text="领料单" />
</Button>
<Button
Width="196"
Height="69"

@ -441,66 +441,66 @@ namespace XGLFinishPro.Views
MessageBox.Show("你选择的工单不能报工!", "温馨提示", MessageBoxButton.OK, MessageBoxImage.Warning);
return;
}
ExecReportWorkWin execReport = new ExecReportWorkWin(selectedRow["workorder_code"].ToString(), selectedRow["quantity_split"].ToString(), selectedRow["workorder_id"].ToString(),selectedRow["batch_code"].ToString());
ExecReportWorkWin execReport = new ExecReportWorkWin(selectedRow, deviceCode, Utils.GetAppSetting("SiteCode")) ;
if (execReport.ShowDialog() == true)
{
//获取报工编码
string newReportCode = "";
DataTable dtNewReportCode = formingMachineService.GetReportCode();
if (dtNewReportCode == null || dtNewReportCode.Rows.Count == 0)
{
newReportCode = DateTime.Now.ToString("yyyyMMdd") + "0001";
}
else
{
if (string.IsNullOrEmpty(dtNewReportCode.Rows[0]["report_code"].ToString()))
{
newReportCode = DateTime.Now.ToString("yyyyMMdd") + "0001";
}
else
{
newReportCode = (Convert.ToInt64(dtNewReportCode.Rows[0]["report_code"].ToString()) + 1).ToString();
}
}
////获取报工编码
//string newReportCode = "";
//DataTable dtNewReportCode = formingMachineService.GetReportCode();
//if (dtNewReportCode == null || dtNewReportCode.Rows.Count == 0)
//{
// newReportCode = DateTime.Now.ToString("yyyyMMdd") + "0001";
//}
//else
//{
// if (string.IsNullOrEmpty(dtNewReportCode.Rows[0]["report_code"].ToString()))
// {
// newReportCode = DateTime.Now.ToString("yyyyMMdd") + "0001";
// }
// else
// {
// newReportCode = (Convert.ToInt64(dtNewReportCode.Rows[0]["report_code"].ToString()) + 1).ToString();
// }
//}
string workTime = execReport._workTime;
string costCenter = execReport._costCenter;
string userCount = execReport._useMan;
string workCount = execReport._workQuntity;
string batchCode = execReport.batchCode;
string isEndReport = execReport._isEndReport == true ? "1" : "0";
bool issucc = formingMachineService.ExecuteReportWork(selectedRow, workCount, newReportCode, workTime, userCount, costCenter, batchCode, isEndReport, deviceCode);
if (issucc)
{
//调用报工接口
string apiUrl = formingMachineService.InterfaceUrl("reportWork");
ReportWork reportWork = new ReportWork();
reportWork.factoryCode = Utils.GetAppSetting("SiteCode");
reportWork.reportCode = newReportCode;
// 将要发送的数据序列化为JSON格式
var jsonContent = JsonConvert.SerializeObject(reportWork);
LogHelper.instance.log.Info("开始报工>>" + jsonContent);
RestHelper restClient = new RestHelper();
//var response =;
//string workTime = execReport._workTime;
//string costCenter = execReport._costCenter;
//string userCount = execReport._useMan;
//string workCount = execReport._workQuntity;
//string batchCode = execReport.batchCode;
//string isEndReport = execReport._isEndReport == true ? "1" : "0";
//bool issucc = formingMachineService.ExecuteReportWork(selectedRow, workCount, newReportCode, workTime, userCount, costCenter, batchCode, isEndReport, deviceCode);
//if (issucc)
//{
// //调用报工接口
// string apiUrl = formingMachineService.InterfaceUrl("reportWork");
// ReportWork reportWork = new ReportWork();
// reportWork.factoryCode = Utils.GetAppSetting("SiteCode");
// reportWork.reportCode = newReportCode;
// // 将要发送的数据序列化为JSON格式
// var jsonContent = JsonConvert.SerializeObject(reportWork);
// LogHelper.instance.log.Info("开始报工>>" + jsonContent);
// RestHelper restClient = new RestHelper();
// //var response =;
Rootobjectresu result = Utils.DeJson<Rootobjectresu>(await restClient.PostAsync(apiUrl, jsonContent));
// Rootobjectresu result = Utils.DeJson<Rootobjectresu>(await restClient.PostAsync(apiUrl, jsonContent));
if (result.code == 200)
{
GetWorkOrderInfo();
}
else
{
CustomMessageBox.Show("调用报工接口失败!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning);
}
}
else
{
CustomMessageBox.Show("报工失败", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Error);
}
// if (result.code == 200)
// {
// GetWorkOrderInfo();
// }
// else
// {
// CustomMessageBox.Show("调用报工接口失败!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning);
// }
//}
//else
//{
// CustomMessageBox.Show("报工失败", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Error);
//}
}
}
catch (Exception ex)
@ -604,6 +604,16 @@ namespace XGLFinishPro.Views
DateTime selectedDate = datePicker.SelectedDate ?? DateTime.MinValue;
}
}
private void GetQitaolv_Click(object sender, RoutedEventArgs e)
{
QitaoLvUC lanJu_QitaoLv = new QitaoLvUC(_workOrderCode);
Window1.Content = new Frame
{
Content = lanJu_QitaoLv
};
}
}
public class ReportWork
{

@ -1,24 +1,15 @@
using CentralControl.BaseData;
using CommonFunc;
using CommonFunc.Tools;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Timers;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using XGL.Dats.DBServiceFinishProd;
using XGL.Models.Model.OrderPrepare;
using XGL.Thrift;

@ -0,0 +1,72 @@
<UserControl x:Class="XGLFinishPro.Views.QitaoLvUC"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:XGLFinishPro.Views"
mc:Ignorable="d"
Width="1920" Height="330" Loaded="UserControl_Loaded">
<UserControl.Resources >
<Style x:Key="CustomCellStyle" TargetType="DataGridCell">
<Setter Property="Foreground" Value="Black" />
<Setter Property="TextBlock.TextAlignment" Value="Center" />
<Setter Property="TextBlock.FontSize" Value="22" />
<Setter Property="BorderThickness" Value="0 0 1 1" />
<Setter Property="BorderBrush" Value="LightGray" />
</Style>
</UserControl.Resources>
<Grid>
<DataGrid
x:Name="dgMaterialInfo"
Grid.Row="1"
Grid.Column="0"
Background="#F2F3F5"
MinHeight="309"
Margin="25,0,0,0"
BorderThickness="0"
CellStyle="{StaticResource CustomCellStyle}"
LoadingRow="dgMaterialInfo_LoadingRow"
HeadersVisibility="Column"
AutoGenerateColumns="False"
FrozenColumnCount="1"
EnableColumnVirtualization="False"
ScrollViewer.HorizontalScrollBarVisibility="Visible" IsReadOnly="True" CanUserAddRows="False">
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="Height" Value="48" />
<Setter Property="FontSize" Value="24" />
<Setter Property="Foreground" Value="White" />
<Setter Property="Background" Value="#2B7EE6" />
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>
<DataGridTemplateColumn Header=" 序号" Width="80" MinWidth="10" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type DataGridRow}}, Path=Header}" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="10,0,0,0"></TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Width="260" Header="工单" Binding="{Binding workorder_code}" Visibility="Collapsed"/>
<DataGridTextColumn Width="280" Header="物料编码" Binding="{Binding material_code}"/>
<DataGridTextColumn Width="480" Header="物料名称" Binding="{Binding material_name}"/>
<DataGridTextColumn Width="200" Header="物料规格" Binding="{Binding material_spc}"/>
<DataGridTextColumn Width="150" Header="产品类型" Binding="{Binding prod_type}"/>
<DataGridTextColumn Width="80" Header="单位" Binding="{Binding unit}"/>
<DataGridTextColumn Width="80" Header="数量" Binding="{Binding quantity}" />
<DataGridTextColumn Width="80" Header="库位" Binding="{Binding locator}" />
<DataGridTextColumn Width="150" Header="需求日期" Binding="{Binding need_date}"/>
<DataGridTextColumn Width="100" Header="缺料" Binding="{Binding fund_quanlity}"/>
</DataGrid.Columns>
<!--<DataGrid.Columns>
<DataGridTextColumn Width="300" Header="序号" />
<DataGridTextColumn Width="300" Header="准备类型" />
<DataGridTextColumn Width="300" Header="准备内容" />
<DataGridTextColumn Width="300" Header="状态" />
<DataGridTextColumn Width="300" Header="完成时间" />
</DataGrid.Columns>-->
</DataGrid>
</Grid>
</UserControl>

@ -0,0 +1,66 @@
using CommonFunc;
using CommonFunc.Tools;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using XGL.Dats.DBServiceFinishProd;
namespace XGLFinishPro.Views
{
/// <summary>
/// QitaoLvUC.xaml 的交互逻辑
/// </summary>
public partial class QitaoLvUC : UserControl
{
FinishProdDBService userDbWareHouse = new FinishProdDBService();
string _workOrderCode = "";
public QitaoLvUC()
{
InitializeComponent();
}
public QitaoLvUC(string workOrderCode)
{
InitializeComponent();
_workOrderCode = workOrderCode;
}
private void dgMaterialInfo_LoadingRow(object sender, DataGridRowEventArgs e)
{
e.Row.Header = (e.Row.GetIndex() + 1).ToString();
}
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
try
{
DataTable dt = userDbWareHouse.GetQitaolvInfo(_workOrderCode);
if (dt == null)
{
this.dgMaterialInfo.ItemsSource = null;
}
else
{
this.dgMaterialInfo.ItemsSource = dt.DefaultView;
}
}
catch (Exception ex)
{
CustomMessageBox.Show(ex.Message, CustomMessageBoxButton.OK, CustomMessageBoxIcon.Error);
LogHelper.instance.log.Error("获取工单齐套信息时发生异常:" + ex.Message);
}
}
}
}

@ -346,6 +346,9 @@
<Compile Include="Views\HBLogWin.xaml.cs">
<DependentUpon>HBLogWin.xaml</DependentUpon>
</Compile>
<Compile Include="Views\QitaoLvUC.xaml.cs">
<DependentUpon>QitaoLvUC.xaml</DependentUpon>
</Compile>
<Compile Include="Views\ShouPeiWin.xaml.cs">
<DependentUpon>ShouPeiWin.xaml</DependentUpon>
</Compile>
@ -589,6 +592,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Views\QitaoLvUC.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\ShouPeiWin.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>

Loading…
Cancel
Save