diff --git a/shangjian/.vs/BL/v17/HierarchyCache.v1.txt b/shangjian/.vs/BL/v17/HierarchyCache.v1.txt index 9541633..5509f6a 100644 Binary files a/shangjian/.vs/BL/v17/HierarchyCache.v1.txt and b/shangjian/.vs/BL/v17/HierarchyCache.v1.txt differ diff --git a/shangjian/XGL.Data/DBServiceFinishProd/FinishProdDBService.cs b/shangjian/XGL.Data/DBServiceFinishProd/FinishProdDBService.cs index a72c055..61cdfab 100644 --- a/shangjian/XGL.Data/DBServiceFinishProd/FinishProdDBService.cs +++ b/shangjian/XGL.Data/DBServiceFinishProd/FinishProdDBService.cs @@ -204,6 +204,17 @@ ORDER BY return null; } + public DataTable GetOperationShouJian(string v,string work) + { + string sql = $" SELECT bat.batch_code,bat.qc_result,bat.update_time,ordee.product_code,product_name,ordee.shift_id FROM pro_order_workorder_batch bat LEFT JOIN pro_order_workorder ordee on bat.workorder_id=ordee.workorder_id WHERE bat.qc_status=2 AND (bat.update_time>'{v} 00:00:00' AND bat.update_time< '{v} 23:59:59') AND ordee.workorder_name='{work}' AND ordee.product_date='{v}' ORDER BY bat.update_time "; + 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 GetCompleteHistoryList(string deviceCode) { string sql = $@"select @@ -604,12 +615,12 @@ select a.TrayCode,a.ProductBarNo,a.carcode,a.createtime,a.lineno,b.HadNumber { 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, workorder.parent_order,batch.qc_status,isnull(batch.qc_result,'') qc_result,batch.status as batchStatus,workorder_code_sap,salary_flag,qty.batchQty,batch.batch_quantity - qty.batchQty as diffQty, chack.create_time, +workorder.unit,workorder.shift_id ,batch.batch_code,batch.batch_quantity,sort_no, workorder.parent_order,batch.qc_status,isnull(batch.qc_result,'') qc_result,batch.status as batchStatus,workorder_code_sap,salary_flag,qty.batchQty,batch.batch_quantity - qty.batchQty as diffQty, chack.create_time, chack.check_status from pro_order_workorder workorder WITH (NOLOCK) left JOIN base_shifts_t shifts WITH (NOLOCK) on workorder.shift_id = shifts.shift_id -LEFT JOIN (SELECT create_time,check_status,order_no FROM qc_check_task WHERE check_type='checkTypeCP' ) chack ON workorder.workorder_code = chack.order_no left JOIN pro_order_workorder_batch batch WITH (NOLOCK) on workorder.workorder_id = batch.workorder_id +LEFT JOIN ( SELECT * FROM qc_check_task WHERE check_type='checkTypeCPPC' ) chack ON batch.batch_code = chack.income_batch_no left join (SELECT sum(quantity_feedback) as batchQty,workorder_code,batch FROM [dbo].[mes_report_work] where del_flag = 0 GROUP BY workorder_code,batch) qty on qty.workorder_code = workorder.workorder_code and batch.batch_code = qty.batch where 1=1 and batch.del_flag = 0 and workorder.del_flag = 0 and workorder.parent_order ='0' and CONVERT(VARCHAR(10), workorder.product_date , 120)= CONVERT(VARCHAR(10), '{date}' , 120) and workorder.prod_line_code like '%{deviceCode}%' order by sort_no,batch_code"; @@ -720,7 +731,7 @@ where line_code = '{deviceCode}' and CONVERT(VARCHAR(10), Create_time , 120) = C /// /// /// - public string GetCreateUnitPriceInfo(sys_user item,string workorderCode, string sapWorkorderCode,string productCode,string productName,string childProcessCode,string childProcessName,string deviceCode,string number,string credata) + public string GetCreateUnitPriceInfo(sys_user item,string workorderCode, string sapWorkorderCode,string productCode,string productName,string childProcessCode,string childProcessName,string deviceCode,string number,string credata,string attr2) { string sql = $@"INSERT INTO [dbo].[mes_unitprice_report] ( [id],[workorder_code], [workorder_code_sap], [product_name], [product_code], @@ -732,7 +743,7 @@ where line_code = '{deviceCode}' and CONVERT(VARCHAR(10), Create_time , 120) = C ( '{Common.GetUUID()}', '{workorderCode}','{sapWorkorderCode}', '{productName}', '{productCode}', N'{item.user_name}', N'{item.nick_name}', N'{childProcessCode}', N'{childProcessName}',' {number}', - NULL, NULL, '{LoginUser.UserName}', '{credata} 00:00:00', NULL, + {attr2}, NULL, '{LoginUser.UserName}', '{credata} 00:00:00', NULL, NULL, NULL,'{deviceCode}' );"; return sql; diff --git a/shangjian/XGL.Model/Model/sys_user.cs b/shangjian/XGL.Model/Model/sys_user.cs index a7bbbdc..958283e 100644 --- a/shangjian/XGL.Model/Model/sys_user.cs +++ b/shangjian/XGL.Model/Model/sys_user.cs @@ -11,6 +11,10 @@ namespace XGL.Models.Model /// public class sys_user { + /// + /// 工时 + /// + public string attr2 { get; set; } /// /// 报工数量 /// diff --git a/shangjian/XGL/App.config b/shangjian/XGL/App.config index d49924b..c5eaaa5 100644 --- a/shangjian/XGL/App.config +++ b/shangjian/XGL/App.config @@ -12,7 +12,7 @@ - + diff --git a/shangjian/XGL/Views/LanJu_Prepare.xaml b/shangjian/XGL/Views/LanJu_Prepare.xaml index 0761e93..eee3556 100644 --- a/shangjian/XGL/Views/LanJu_Prepare.xaml +++ b/shangjian/XGL/Views/LanJu_Prepare.xaml @@ -287,7 +287,7 @@ - + --> - + public partial class LanJu_Prepare : UserControl { - Timer timerDeciveState = new Timer(); + System.Timers. Timer timerDeciveState = new System.Timers.Timer(); public LanJu_Prepare() { @@ -243,147 +244,158 @@ namespace XGL.Views private async void btnStartOrders_Click(object sender, RoutedEventArgs e) { - //陈恒杰在2024-01-07日与榄菊的苏振华确认,不需要用户验证 - //CheckUserWin checkUserWin = new CheckUserWin(); - //checkUserWin.ShowDialog(); - //if (!checkUserWin.loginFlag) - //{ - // CustomMessageBox.Show("请先校验用户!",CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning); - // return; - //} - if (WorkOrder.SelectedItems.Count == 0) + try { - CustomMessageBox.Show("请选择要开始的工单!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning); - return; - } - string orderID = (WorkOrder.SelectedItem as WetMaterialModel).id; - string workorderID = (WorkOrder.SelectedItem as WetMaterialModel).workorder_id; - string material = (WorkOrder.SelectedItem as WetMaterialModel).material_code; - string sync_flag = (WorkOrder.SelectedItem as WetMaterialModel).sync_flag; - string status = (WorkOrder.SelectedItem as WetMaterialModel).status; - if (sync_flag.Equals("Y")) - { - CustomMessageBox.Show("该工单已同步,请选择其他的工单!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning); - return; - } + // Check user verification (commented out as per your requirement) + // CheckUserWin checkUserWin = new CheckUserWin(); + // checkUserWin.ShowDialog(); + // if (!checkUserWin.loginFlag) + // { + // CustomMessageBox.Show("请先校验用户!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning); + // return; + // } - if (!status.Equals("w1")) - { - if (status != "") + if (WorkOrder.SelectedItems.Count == 0) { - CustomMessageBox.Show("该工单不符合条件,请选择其他的工单!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning); + CustomMessageBox.Show("请选择要开始的工单!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning); return; - } - } + } - //获取WMS齐套率,湿料计划先不用 - //var wmsState = userDbWareHouse.GetWorkOrderQitaoLv(orderID); - //if (wmsState == null || wmsState.Rows[0][0].Equals("0")) - //{ - // CustomMessageBox.Show("该工单未准备好,请稍后再试!", CustomMessageBoxIcon.Warning); - // return; - //} + string orderID = (WorkOrder.SelectedItem as WetMaterialModel).id; + string workorderID = (WorkOrder.SelectedItem as WetMaterialModel).workorder_id; + string material = (WorkOrder.SelectedItem as WetMaterialModel).material_code; + string sync_flag = (WorkOrder.SelectedItem as WetMaterialModel).sync_flag; + string status = (WorkOrder.SelectedItem as WetMaterialModel).status; - //获取湿料计划指定的成型机 - //var cxjDt = userDbWareHouse.GetCXJList(orderID); - DataTable cxjDt = null; - //根据工单获取成型机 - - cxjDt = userDbWareHouse.GetCXJList(workorderID);// 在此处执行数据库查询 - - if (cxjDt == null || cxjDt.Rows.Count == 0) - { - CustomMessageBox.Show("该工单未指定料罐、成型机,请稍后再试!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning); - return; - } - List cxjList = new List(); - List bucketList = new List(); - //这扯淡的设计,根据湿料计划获取各个工单对应的工序、机台信息,这样式的,[["GX01","C1"],["GX01","C5"],["GX01","C3"],["GX01","C6"],["GX01","C8"],["GX02","H2"],["GX02","H3"],["GX02","H4"],["GX02","H5"],["GX02","H6"],["GX03","X3"],["GX03","X6"]] - for (int i = 0; i < cxjDt.Rows.Count; i++) - { - string jsonStrCXJList = cxjDt.Rows[i][0].ToString(); - string bucketNo = cxjDt.Rows[i][1].ToString(); - bucketList.Add(bucketNo); - // 解析JSON字符串为嵌套的列表结构 - List> data = JsonConvert.DeserializeObject>>(jsonStrCXJList); - - - // 输出嵌套列表的值 - foreach (var innerList in data) + if (sync_flag.Equals("Y")) { - - if (innerList[1].Contains("C")) + CustomMessageBox.Show("该工单已同步,请选择其他的工单!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning); + return; + } + + if (!status.Equals("w1")) + { + if (status != "") + { + CustomMessageBox.Show("该工单不符合条件,请选择其他的工单!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning); + return; + } + } + + // Show loading indicator + Dispatcher.Invoke(() => + { + jindu.Visibility = Visibility.Visible; + }); + + // Simulate some work + await Task.Run(async () => + { + // 获取湿料计划指定的成型机 + DataTable cxjDt = userDbWareHouse.GetCXJList(workorderID); + + if (cxjDt == null || cxjDt.Rows.Count == 0) + { + throw new Exception("该工单未指定料罐、成型机,请稍后再试!"); + } + + List cxjList = new List(); + List bucketList = new List(); + + for (int i = 0; i < cxjDt.Rows.Count; i++) + { + string jsonStrCXJList = cxjDt.Rows[i][0].ToString(); + string bucketNo = cxjDt.Rows[i][1].ToString(); + bucketList.Add(bucketNo); + + List> data = JsonConvert.DeserializeObject>>(jsonStrCXJList); + + foreach (var innerList in data) { - //记录成型机列表 - cxjList.Add(innerList[1]); + if (innerList[1].Contains("C")) + { + cxjList.Add(innerList[1]); + } } - - } - } - cxjList = cxjList.Distinct().ToList();//去重 - bucketList = bucketList.Distinct().ToList(); - //var jsonObject = JsonConvert.DeserializeObject(jsonStrCXJList); + } - string apiUrl = Utils.GetAppSetting("WCSMaterialSyncAddress")=="" ? "http://192.168.202.28:9001/api/v1/ReceiveMesMsg/materialPlanSync": Utils.GetAppSetting("WCSMaterialSyncAddress"); + cxjList = cxjList.Distinct().ToList(); + bucketList = bucketList.Distinct().ToList(); + string apiUrl = Utils.GetAppSetting("WCSMaterialSyncAddress") == "" ? "http://192.168.202.28:9001/api/v1/ReceiveMesMsg/materialPlanSync" : Utils.GetAppSetting("WCSMaterialSyncAddress"); - MaterialPlanModel materialPlanModel = new MaterialPlanModel(); - - List listWetMaterial = Utils.ToDataList(dt); - - List skuInfoList = new List(); + MaterialPlanModel materialPlanModel = new MaterialPlanModel(); + List listWetMaterial = Utils.ToDataList(dt); + List skuInfoList = new List(); - materialPlanModel.reqCode = CommonFunc.Common.GetUUID(); - materialPlanModel.reqTime = DateTime.Now.ToString(); - materialPlanModel.factory = Utils.GetAppSetting("SiteCode"); - materialPlanModel.planNo = workorderID; + materialPlanModel.reqCode = CommonFunc.Common.GetUUID(); + materialPlanModel.reqTime = DateTime.Now.ToString(); + materialPlanModel.factory = Utils.GetAppSetting("SiteCode"); + materialPlanModel.planNo = workorderID; + foreach (var item in bucketList) + { + skuInfo sku = new skuInfo + { + sku = material, + loadNo = item, + unLoadItems = new List() + }; - foreach (var item in bucketList) - { - skuInfo sku = new skuInfo(); - sku.sku = material; - sku.loadNo = item; - - List unloadNoInfoList = new List(); - foreach (var buckt in cxjList) + foreach (var buckt in cxjList) + { + unloadNoInfo unloadNoInfo = new unloadNoInfo + { + unloadNo = buckt + }; + sku.unLoadItems.Add(unloadNoInfo); + } + skuInfoList.Add(sku); + } + + materialPlanModel.data = skuInfoList; + + var jsonContent = JsonConvert.SerializeObject(materialPlanModel); + LogHelper.instance.log.Info("给WCS同步计划>>" + jsonContent); + RestHelper restClient = new RestHelper(); + var response =await restClient.PostAsync(apiUrl, jsonContent); + + WcsSyncResult result = Utils.DeJson(response); + + if (result.message.ToLower().Equals("ok")) { - unloadNoInfo unloadNoInfo = new unloadNoInfo(); - unloadNoInfo.unloadNo = buckt; - unloadNoInfoList.Add(unloadNoInfo); - } - sku.unLoadItems = unloadNoInfoList; - skuInfoList.Add(sku); + var updatestatus = userDbWareHouse.UpdateSycnFlag(workorderID); + if (!updatestatus) + { + LogHelper.instance.log.Info("更新湿料计划同步状态失败!"); + throw new Exception("推送至WCS计划失败!"); + } + } + else + { + throw new Exception("开始工单失败!"); + } + + // Simulate delay + Thread.Sleep(2000); + }); } - - materialPlanModel.data = skuInfoList; - - // 将要发送的数据序列化为JSON格式 - var jsonContent = JsonConvert.SerializeObject(materialPlanModel); - LogHelper.instance.log.Info("给WCS同步计划>>"+ jsonContent); - RestHelper restClient = new RestHelper(); - var response = await restClient.PostAsync(apiUrl, jsonContent); - - WcsSyncResult result = Utils.DeJson(response); - //Console.WriteLine(response); - if (result.message.ToLower().Equals("ok")) + catch (Exception ex) { - //更新湿料计划同步状态 - var updatestatus = userDbWareHouse.UpdateSycnFlag(workorderID); - if (!updatestatus) - LogHelper.instance.log.Info("更新湿料计划同步状态失败!"); - else + CustomMessageBox.Show("同步湿料计划失败!>>>>" + ex.Message, CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning, 2000); + } + finally + { + Dispatcher.Invoke(() => { + // Hide loading indicator + jindu.Visibility = Visibility.Collapsed; GetWorkOrder(); - } + }); } - else - { - CustomMessageBox.Show("开始工单失败!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning); - } - } + private void InitShiftInfo() { DataTable dt = formingMachineService.GetShiftList(); diff --git a/shangjian/XGL/config/ConnectionConfig.Config b/shangjian/XGL/config/ConnectionConfig.Config index c1b3110..66aee6d 100644 --- a/shangjian/XGL/config/ConnectionConfig.Config +++ b/shangjian/XGL/config/ConnectionConfig.Config @@ -2,13 +2,16 @@ 强烈建议:对数据库以及本软件的参数更改,不要在此页进行.可以通过系统配置页进行更新. + vadMWi9D6ZC3usVUY51rbTRH8TjL6CxlF0tM4FO8qPh090fSbocpFrq1jWXNjwNnL+PpPtMzMa3twenC59knc+hzG9+/BpVUziKe0re5+K7EarPL+O+z1yYkea4KSxvd0pYaBws8NBUfRakxq8PBtNc1SFWCuPGjfGL/ZHZr/yKO3oLzGk4KHKBgHdnI182Gw68ADwmuC5BzxvlYPefyby8TkSEmemNvt81w7QBmU5M= + + --> + vadMWi9D6ZC3usVUY51rbTRH8TjL6CxlF0tM4FO8qPh090fSbocpFrq1jWXNjwNnXgKYRJ9zN5oAHgVngDpmr/dw8Hc1dHuNE73NlxQdTq/+57SfWg+Ya5uD7N8RaXKNRAP0mCGTNtIXcAyKOR1JdH+n1t3euTba vadMWi9D6ZBkwIr78LoLmGwiSCvVnpY3nMB7IyQlxFiV2OD5s5WUgOabwGwWK3THofFvPL2rHpOvJVIvtz0oZU/NFQyT8KQlbk0rHjUXoU7wgRdUumDJ1RrSFmIjPm8S - vadMWi9D6ZC3usVUY51rbTRH8TjL6CxlHbduXNDkc8suJwqe10me6ktk8XD3QU91w41/fcxqaq/+4SEgJrXDqR11H6yLI6j0e+twOEf+dgxO2izAFRQ8gHi3LlPP+MhoPB53b/3a/Jd77lDX8gemUvFsAcxEIF0V/c/nkoIAT6M+WIrSSS1icw6HuVSEjGl1zPqinhBhfvehu5cxP02aD/dmOZJEXtBdPUgLuwVFLRI= + - vadMWi9D6ZC3usVUY51rbTRH8TjL6CxlHbduXNDkc8suJwqe10me6ktk8XD3QU91ML11cYCqHcHmTXJFsNQamIbW3UEpkjgNPUcBwRfgP6AWftvk9YFyv7y7/6nzX/c+6z6xMDIdcjYVvfteU+7YtOQhJXTfF5ScosAA0GliBfD8dWAunW+ZCos5LemAj2xb2wvvCxlbnrof8IunWslCaBEAGrdC/KhE0qEfNbxydwc= + \ No newline at end of file diff --git a/shangjian/XGL/obj/x86/Debug/Views/LanJu_Prepare.g.cs b/shangjian/XGL/obj/x86/Debug/Views/LanJu_Prepare.g.cs index 9b2a40d..72c76ec 100644 --- a/shangjian/XGL/obj/x86/Debug/Views/LanJu_Prepare.g.cs +++ b/shangjian/XGL/obj/x86/Debug/Views/LanJu_Prepare.g.cs @@ -1,4 +1,4 @@ -#pragma checksum "..\..\..\..\Views\LanJu_Prepare.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "2215B60EFC3C101766D87000765EE4605230CBAFD6FAE8E2E0A67863E548589E" +#pragma checksum "..\..\..\..\Views\LanJu_Prepare.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "929CF6E091A5BFA67338C66C86D79EF5760134602FAA54C40B7D749E60225FD7" //------------------------------------------------------------------------------ // // 此代码由工具生成。 @@ -87,6 +87,14 @@ namespace XGL.Views { #line hidden + #line 406 "..\..\..\..\Views\LanJu_Prepare.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ProgressBar jindu; + + #line default + #line hidden + + #line 409 "..\..\..\..\Views\LanJu_Prepare.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.DataGrid WorkOrder; @@ -178,6 +186,9 @@ namespace XGL.Views { #line hidden return; case 7: + this.jindu = ((System.Windows.Controls.ProgressBar)(target)); + return; + case 8: this.WorkOrder = ((System.Windows.Controls.DataGrid)(target)); #line 422 "..\..\..\..\Views\LanJu_Prepare.xaml" @@ -205,7 +216,7 @@ namespace XGL.Views { void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) { switch (connectionId) { - case 8: + case 9: #line 542 "..\..\..\..\Views\LanJu_Prepare.xaml" ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Flow_Click); @@ -213,7 +224,7 @@ namespace XGL.Views { #line default #line hidden break; - case 9: + case 10: #line 549 "..\..\..\..\Views\LanJu_Prepare.xaml" ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.SOP_Click); @@ -221,7 +232,7 @@ namespace XGL.Views { #line default #line hidden break; - case 10: + case 11: #line 556 "..\..\..\..\Views\LanJu_Prepare.xaml" ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Material_Click); diff --git a/shangjian/XGL/obj/x86/Debug/Views/LanJu_Prepare.g.i.cs b/shangjian/XGL/obj/x86/Debug/Views/LanJu_Prepare.g.i.cs index 9b2a40d..72c76ec 100644 --- a/shangjian/XGL/obj/x86/Debug/Views/LanJu_Prepare.g.i.cs +++ b/shangjian/XGL/obj/x86/Debug/Views/LanJu_Prepare.g.i.cs @@ -1,4 +1,4 @@ -#pragma checksum "..\..\..\..\Views\LanJu_Prepare.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "2215B60EFC3C101766D87000765EE4605230CBAFD6FAE8E2E0A67863E548589E" +#pragma checksum "..\..\..\..\Views\LanJu_Prepare.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}" "929CF6E091A5BFA67338C66C86D79EF5760134602FAA54C40B7D749E60225FD7" //------------------------------------------------------------------------------ // // 此代码由工具生成。 @@ -87,6 +87,14 @@ namespace XGL.Views { #line hidden + #line 406 "..\..\..\..\Views\LanJu_Prepare.xaml" + [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] + internal System.Windows.Controls.ProgressBar jindu; + + #line default + #line hidden + + #line 409 "..\..\..\..\Views\LanJu_Prepare.xaml" [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")] internal System.Windows.Controls.DataGrid WorkOrder; @@ -178,6 +186,9 @@ namespace XGL.Views { #line hidden return; case 7: + this.jindu = ((System.Windows.Controls.ProgressBar)(target)); + return; + case 8: this.WorkOrder = ((System.Windows.Controls.DataGrid)(target)); #line 422 "..\..\..\..\Views\LanJu_Prepare.xaml" @@ -205,7 +216,7 @@ namespace XGL.Views { void System.Windows.Markup.IStyleConnector.Connect(int connectionId, object target) { switch (connectionId) { - case 8: + case 9: #line 542 "..\..\..\..\Views\LanJu_Prepare.xaml" ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Flow_Click); @@ -213,7 +224,7 @@ namespace XGL.Views { #line default #line hidden break; - case 9: + case 10: #line 549 "..\..\..\..\Views\LanJu_Prepare.xaml" ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.SOP_Click); @@ -221,7 +232,7 @@ namespace XGL.Views { #line default #line hidden break; - case 10: + case 11: #line 556 "..\..\..\..\Views\LanJu_Prepare.xaml" ((System.Windows.Controls.Button)(target)).Click += new System.Windows.RoutedEventHandler(this.Material_Click); diff --git a/shangjian/XGLFinishPro/Tools/ShiftConvert.cs b/shangjian/XGLFinishPro/Tools/ShiftConvert.cs new file mode 100644 index 0000000..221f66f --- /dev/null +++ b/shangjian/XGLFinishPro/Tools/ShiftConvert.cs @@ -0,0 +1,48 @@ +using HandyControl.Tools.Extension; +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Data; + +namespace XGLFinishPro.Tools +{ + public class ShiftConvert : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + if (value.ToString().IsNullOrEmpty()) + { + return "未发起检测"; + } + else if (value.Equals("0")) + { + return "待检测"; + } + else if (value.Equals("1")) + { + return "监测中"; + } + else if (value.Equals("2")) + { + return "检测完成"; + } + else if(value.Equals("5")) + { + return "白班"; + } + else + { + return "夜班"; + } + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + // 如果需要双向绑定,也需要实现 ConvertBack 方法 + throw new NotImplementedException(); + } + } +} diff --git a/shangjian/XGLFinishPro/Views/ExecReportWorkWin.xaml.cs b/shangjian/XGLFinishPro/Views/ExecReportWorkWin.xaml.cs index 1ab767f..ffd715d 100644 --- a/shangjian/XGLFinishPro/Views/ExecReportWorkWin.xaml.cs +++ b/shangjian/XGLFinishPro/Views/ExecReportWorkWin.xaml.cs @@ -89,7 +89,8 @@ namespace XGLFinishPro.Views selectedRow = _selectedRow; _deviceCode = deviceCode; this._workOrdercode = selectedRow["workorder_code"].ToString(); - this.lbCurrOrderNo.Content = selectedRow["workorder_code"].ToString(); + string orderNumber = selectedRow["workorder_code_sap"].ToString(); + this.lbCurrOrderNo.Content = orderNumber.TrimStart('0'); this._workOrderId = selectedRow["workorder_id"].ToString(); object obi = selectedRow["batch_quantity"]; @@ -386,7 +387,7 @@ namespace XGLFinishPro.Views { try { - var getorder = formingMachineService.Getorderworkorder(lbCurrOrderNo.Content.ToString()); + var getorder = formingMachineService.Getorderworkorder(selectedRow["workorder_code"].ToString()); var eqment = formingMachineService.GetWorkShop(Utils.GetAppSetting("DeviceCode")); createCheckProductTask createCheckProductTask = new createCheckProductTask(); createCheckProductTask.factoryCode = Utils.GetAppSetting("SiteCode");//工厂编码 @@ -405,7 +406,7 @@ namespace XGLFinishPro.Views if (eqment != null && eqment.Rows.Count > 0) { createCheckProductTask.carName = eqment.Rows[0]["workshop_name"].ToString();//车间名称 - createCheckProductTask.carName = eqment.Rows[0]["workshop_code"].ToString();//车间编码 + createCheckProductTask.carCode = eqment.Rows[0]["workshop_code"].ToString();//车间编码 } createCheckProductTask.produceDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");//生产时间格式yyyy-MM-dd HH:mm:ss createCheckProductTask.checkLoc = Utils.GetAppSetting("DeviceCode");//检测地点 @@ -413,6 +414,7 @@ namespace XGLFinishPro.Views string apiUrl = formingMachineService.InterfaceUrl("BatcInspection"); // 将请求参数序列化为 JSON 格式 string requestBodyJson = Newtonsoft.Json.JsonConvert.SerializeObject(createCheckProductTask); + LogHelper.instance.log.Info("requestBodyJson批次检验任务日志"+ requestBodyJson); // 发送 HTTP POST 请求 using (var httpClient = new HttpClient()) { @@ -424,6 +426,7 @@ namespace XGLFinishPro.Views { // 获取响应内容 string responseBody = response.Content.ReadAsStringAsync().Result; // 或者 .Wait(); + CustomMessageBox.Show("批次成品检验任务创建成功!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning, 2000); } else { @@ -536,7 +539,10 @@ namespace XGLFinishPro.Views private void GetFatherOrderUserCount() { - string workOrder = this.lbCurrOrderNo.Content.ToString(); + //2024-06-17处理报工界面工单号问题 + //string workOrder = this.lbCurrOrderNo.Content.ToString(); + + //DataTable dt = formingMachineService.GetSubOrderCount(workOrder); //if (dt == null) //{ @@ -548,7 +554,7 @@ namespace XGLFinishPro.Views // this.txtFOUserCount.Text = "4"; // this.txtFOUserCount.IsEnabled = false; //} - GetSubOrder(workOrder); + GetSubOrder(this._workOrdercode); //string workOrder = this.lbCurrOrderNo.Content.ToString(); //DataTable dt = formingMachineService.GetFatherOrderUserCount(workOrder); //if (dt == null) @@ -933,8 +939,8 @@ namespace XGLFinishPro.Views } double rate = 0; - string workOrder = this.lbCurrOrderNo.Content.ToString(); - DataTable dt = formingMachineService.GetOrderReportSumQty(workOrder); + //string workOrder = this.lbCurrOrderNo.Content.ToString(); + DataTable dt = formingMachineService.GetOrderReportSumQty(this._workOrdercode); //如果没报过工,按照只有一个批次处理 if (dt == null || dt.Rows.Count == 0) { diff --git a/shangjian/XGLFinishPro/Views/LanJu_Operator.xaml b/shangjian/XGLFinishPro/Views/LanJu_Operator.xaml index 04ac24a..fec8ff7 100644 --- a/shangjian/XGLFinishPro/Views/LanJu_Operator.xaml +++ b/shangjian/XGLFinishPro/Views/LanJu_Operator.xaml @@ -17,7 +17,7 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/shangjian/XGLFinishPro/Views/firstInspection.xaml.cs b/shangjian/XGLFinishPro/Views/firstInspection.xaml.cs new file mode 100644 index 0000000..14ece81 --- /dev/null +++ b/shangjian/XGLFinishPro/Views/firstInspection.xaml.cs @@ -0,0 +1,57 @@ +using CommonFunc.Tools; +using CommonFunc; +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 +{ + /// + /// firstInspection.xaml 的交互逻辑 + /// + public partial class firstInspection : UserControl + { + FinishProdDBService userDbWareHouse = new FinishProdDBService(); + public firstInspection() + { + InitializeComponent(); + } + + private void UserControl_Loaded(object sender, RoutedEventArgs e) + { + GetInfo(); + } + private void GetInfo() + { + try + { + DataTable dt = userDbWareHouse.GetOperationShouJian(LoginUser.WorkDate, Utils.GetAppSetting("DeviceCode")); + if (dt == null) return; + + this.datagrid1.ItemsSource = dt.DefaultView; + } + catch (Exception ex) + { + LogHelper.instance.log.Error("获取完成记录信息时发生异常:" + ex.Message); + } + } + + private void datagrid1_LoadingRow(object sender, DataGridRowEventArgs e) + { + e.Row.Header = (e.Row.GetIndex() + 1).ToString(); + } + } +} diff --git a/shangjian/XGLFinishPro/XGLFinishPro.csproj b/shangjian/XGLFinishPro/XGLFinishPro.csproj index 340f0d0..c848b3c 100644 --- a/shangjian/XGLFinishPro/XGLFinishPro.csproj +++ b/shangjian/XGLFinishPro/XGLFinishPro.csproj @@ -326,6 +326,7 @@ + @@ -414,6 +415,9 @@ DryingRoomUC.xaml + + firstInspection.xaml + HBLogWin.xaml @@ -668,6 +672,10 @@ Designer MSBuild:Compile + + MSBuild:Compile + Designer + MSBuild:Compile Designer