diff --git a/shangjian/XGL.Data/DBService/FormingMachineService.cs b/shangjian/XGL.Data/DBService/FormingMachineService.cs
index 3c16119..0f06d0e 100644
--- a/shangjian/XGL.Data/DBService/FormingMachineService.cs
+++ b/shangjian/XGL.Data/DBService/FormingMachineService.cs
@@ -703,6 +703,9 @@ VALUES
//赵啸林又说sap有问题,需要上位机修改报工标识2023-12-25,但仅在最终报工时,才更新此状态
if (isEndReport.Equals("1"))
{
+ LogHelper.instance.log.Info("最终报工706行workorder_code值为>>>" + selectRow["workorder_code"].ToString());
+ LogHelper.instance.log.Info("最终报工707行product_code值为>>>" + selectRow["product_code"].ToString());
+ Getorderworkordermaterial(selectRow["workorder_code"].ToString(), selectRow["product_code"].ToString());
//2024-04-15添加切线方案,暂停状态下不修改报工状态,=w4的时候,不加报工状态更新语句
if (!selectRow["status"].ToString().Equals("w4"))
{
@@ -941,12 +944,12 @@ VALUES
([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],[parent_order],[recoil],[IP],[version])
+ [update_time], [factory_code], [report_code], [del_flag],[parent_order],[recoil],[IP],[version],[rspos])
VALUES
('{Common.GetUUID()}', '{selectedConsumeRow["workorder_code"]}', '{selectedConsumeRow["material_code"]}', '{selectedConsumeRow["material_name"]}', '{selectedConsumeRow["material_spc"]}',
'{selectedConsumeRow["qty"]}','{selectedConsumeRow["unit"]}', '{selectedConsumeRow["remark"]}', NULL, NULL,
NULL, NULL, '{LoginUser.UserName}', GetDate(), '{LoginUser.UserName}',
- GetDate(), '{siteCode}', '{newReportCode}', '0','{selectedConsumeRow["parent_work_order"]}','{selectedConsumeRow["recoil"]}','{LoginUser.CurrDeviceIP}','{LoginUser.Version}'); ";
+ GetDate(), '{siteCode}', '{newReportCode}', '0','{selectedConsumeRow["parent_work_order"]}','{selectedConsumeRow["recoil"]}','{LoginUser.CurrDeviceIP}','{LoginUser.Version}','{selectedConsumeRow["attr1"]}'); ";
//int ret = Utils.netClientDBHelper.executeUpdate(sql);
return sql;
}
@@ -984,6 +987,21 @@ VALUES
}
return null;
}
+
+ ///
+ /// 处理重复物料2024-06-13陈恒杰说的
+ ///
+ ///
+ ///
+ public bool Getorderworkordermaterial(string workorderCode, string materialCode)
+ {
+ string sql = $@"UPDATE mes_report_work_consume SET rspos = ( SELECT attr1 FROM mes_prepare_detail WHERE material_code = '{materialCode}' AND parent_work_order = '{workorderCode}' ) WHERE
+ material_code = '{materialCode}'
+ AND workorder_code = '{workorderCode}';";
+ DataSet dtset = Utils.netClientDBHelper.getDataSet(sql);
+ int ret = Utils.netClientDBHelper.executeUpdate(sql);
+ return ret > 0 ? true : false;
+ }
///
/// 获取所在车间
///
diff --git a/shangjian/XGL.Data/DBServiceFinishProd/FinishProdDBService.cs b/shangjian/XGL.Data/DBServiceFinishProd/FinishProdDBService.cs
index 30a322d..a72c055 100644
--- a/shangjian/XGL.Data/DBServiceFinishProd/FinishProdDBService.cs
+++ b/shangjian/XGL.Data/DBServiceFinishProd/FinishProdDBService.cs
@@ -229,7 +229,7 @@ where CONVERT(VARCHAR(10), create_time , 120)= CONVERT(VARCHAR(10), '{LoginUser.
{
string sql = $@"select DISTINCT '0' as qty,'' as remark, pre.workorder_code, SUBSTRING(material_code, 8, LEN(material_code)) as material_code1,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,parent_work_order,orders.workorder_code_sap
+recoil,fund_quanlity,detail.del_flag,parent_work_order,detail.attr1,orders.workorder_code_sap
from mes_prepare_detail detail
LEFT JOIN mes_prepare pre on detail.prepare_id = pre.prepare_id
left join pro_order_workorder orders on pre.workorder_code = orders.workorder_code and orders.del_flag = '0'
@@ -997,7 +997,7 @@ where detail.parent_work_order = '{processid}'"; //where CONVERT(VARCHAR(10), w
public bool UpdateSycnFlag(string workOrderID,string deviceCode,string user)
{
string sql1 = $@"update pro_order_workorder set status = 'w2',workorder_name = '{deviceCode}', update_by = '{LoginUser.UserName}',attr3='{user}',update_time = GETDATE(),start_work_time = GETDATE() where workorder_code = '{workOrderID}' ";
-
+ LogHelper.instance.log.Info("开始工单SQl:"+ sql1);
return Utils.netClientDBHelper.executeUpdate(sql1) > 0 ? true : false;
}
@@ -1046,7 +1046,7 @@ where detail.parent_work_order = '{processid}'"; //where CONVERT(VARCHAR(10), w
('{CommonFunc.Common.GetUUID()}', '{LoginUser.UserId}', '{LoginUser.UserName}', '{type}', GetDate(),
'工单报工', 'w2', '{status}', '{deviceCode}','{remark}','{orderCode}','{materialCode}','{materialDesc}','{LoginUser.Version}','{LoginUser.CurrDeviceIP}');";
}
-
+
sqlList.Add(logSql);
bool issucc = Utils.netClientDBHelper.executeBatchSql(sqlList);
diff --git a/shangjian/XGLFinishPro/App.config b/shangjian/XGLFinishPro/App.config
index 11adb0f..97c2775 100644
--- a/shangjian/XGLFinishPro/App.config
+++ b/shangjian/XGLFinishPro/App.config
@@ -10,7 +10,7 @@
-
+
diff --git a/shangjian/XGLFinishPro/Views/LanJu_Operator.xaml.cs b/shangjian/XGLFinishPro/Views/LanJu_Operator.xaml.cs
index 0884aa3..186a53e 100644
--- a/shangjian/XGLFinishPro/Views/LanJu_Operator.xaml.cs
+++ b/shangjian/XGLFinishPro/Views/LanJu_Operator.xaml.cs
@@ -503,6 +503,7 @@ namespace XGLFinishPro.Views
}
if (!selectedRow["status"].ToString().Equals("w2") && !selectedRow["status"].ToString().Equals("w4"))
{
+ LogHelper.instance.log.Info("当前选择的工单"+ (dgWorkOrderInfo.SelectedItem as DataRowView)["workorder_code"].ToString() + "状态为:"+ selectedRow["status"].ToString());
string status = selectedRow["status"].ToString();
string st = status.Equals("w1") ? "未派发" : status.Equals("w3") ? "已报工" : status.Equals("w0") ? "未派发" : "已暂停";
CustomMessageBox.Show("你选择的工单不能报工,请检查工单状态,当前工单状态为:"+ st, CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning);
@@ -644,7 +645,7 @@ namespace XGLFinishPro.Views
if (dgWorkOrderInfo.SelectedItem is DataRowView selectedRow)
{
string rowContent = string.Join(", ", selectedRow.Row.ItemArray);
- LogHelper.instance.log.Info("选择的行内容: " + rowContent);
+ LogHelper.instance.log.Info("开始工单选择的行内容: " + rowContent);
}
else
{
@@ -652,12 +653,13 @@ namespace XGLFinishPro.Views
}
string workorderID = (dgWorkOrderInfo.SelectedItem as DataRowView)["workorder_code"].ToString();
string status = (dgWorkOrderInfo.SelectedItem as DataRowView)["status"].ToString();
- LogHelper.instance.log.Info("记录工单状态:"+ status +", 工单号为:"+ workorderID);
+ LogHelper.instance.log.Info("记录开始工单状态:"+ status +", 开始工单号为:"+ workorderID);
if (!status.Equals("w1"))
{
if (status != "")
{
string st = status.Equals("w1") ? "未派发" : status.Equals("w3") ? "已报工" : status.Equals("w0") ? "未派发" : "已暂停";
+ LogHelper.instance.log.Info("该工单不符合条件,请检查工单状态,当前工单状态为:" + st);
CustomMessageBox.Show("该工单不符合条件,请检查工单状态,当前工单状态为:" + st, CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning);
return;
}
@@ -670,11 +672,14 @@ namespace XGLFinishPro.Views
if (orderCount >= 1)
{
CustomMessageBox.Show("已有活动中的工单,请先报工再开始下一个工单!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning);
+ LogHelper.instance.log.Info("开始工单:已有活动中的工单,请先报工再开始下一个工单!");
return;
}
+ LogHelper.instance.log.Info("查询到当前正在活动的工单数量为"+ orderCount);
//更新工单状态
if (!UpdateOrderStatus(workorderID))
{
+ LogHelper.instance.log.Info("开始工单返回失败");
CustomMessageBox.Show("开始工单失败!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning);
}
else
@@ -705,27 +710,39 @@ namespace XGLFinishPro.Views
private bool UpdateOrderStatus(string workorderID)
{
- string name = LoginUser.UserName +"-"+ LoginUser.UserId;
- if (name.IsNullOrEmpty())
+ try
{
- name = "无-0";
- }
- //更新工单状态
- var updatestatus = userDbWareHouse.UpdateSycnFlag(workorderID, deviceCode, name);
- if (!updatestatus)
- {
- CustomMessageBox.Show("开始工单失败!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning);
- }
- DataTable dtSubOrders = userDbWareHouse.GetSubOrderInfo(workorderID);
- if (dtSubOrders != null)
- {
- // 递归更新子单状态
- foreach (DataRow subOrder in dtSubOrders.Rows)
+ string name = LoginUser.UserName + "-" + LoginUser.UserId;
+ if (name.IsNullOrEmpty())
{
- UpdateOrderStatus(subOrder["workorder_code"].ToString());
+ name = "无-0";
+ }
+ //更新工单状态
+ var updatestatus = userDbWareHouse.UpdateSycnFlag(workorderID, deviceCode, name);
+ if (!updatestatus)
+ {
+ CustomMessageBox.Show("开始工单失败!", CustomMessageBoxButton.OK, CustomMessageBoxIcon.Warning);
+ LogHelper.instance.log.Info("开始工单失败");
+ return false;
+ }
+ else
+ {
+ LogHelper.instance.log.Info("开始工单正常");
+ }
+ DataTable dtSubOrders = userDbWareHouse.GetSubOrderInfo(workorderID);
+ if (dtSubOrders != null)
+ {
+ // 递归更新子单状态
+ foreach (DataRow subOrder in dtSubOrders.Rows)
+ {
+ UpdateOrderStatus(subOrder["workorder_code"].ToString());
+ }
}
}
-
+ catch (Exception ex)
+ {
+ LogHelper.instance.log.Info("开始工单异常" +ex.Message);
+ }
return true;
}
@@ -781,11 +798,10 @@ namespace XGLFinishPro.Views
}
}
- CustomMessageBoxResult result = CustomMessageBox.Show("你确定要首检么?", CustomMessageBoxButton.OKCancel, CustomMessageBoxIcon.Warning);
+ CustomMessageBoxResult result = CustomMessageBox.Show($"你确定要为批次号:{ (dgWorkOrderInfo.SelectedItem as DataRowView)["batch_code"]}进行首检么?", CustomMessageBoxButton.OKCancel, CustomMessageBoxIcon.Warning);
if (result == CustomMessageBoxResult.Cancel)
return;
-
-
+ LogHelper.instance.log.Info($"首检检验按钮被点击工单号为:{(dgWorkOrderInfo.SelectedItem as DataRowView)["workorder_code"]},批次号为:{(dgWorkOrderInfo.SelectedItem as DataRowView)["batch_code"]}");
//2024-04-16添加不限制首检确认的功能;
//string qcStatus = (dgWorkOrderInfo.SelectedItem as DataRowView)["qc_status"].ToString();
@@ -820,7 +836,6 @@ namespace XGLFinishPro.Views
string workorderCode = (dgWorkOrderInfo.SelectedItem as DataRowView)["workorder_code"].ToString();
string workorderID = (dgWorkOrderInfo.SelectedItem as DataRowView)["workorder_id"].ToString();
string batchCode = (dgWorkOrderInfo.SelectedItem as DataRowView)["batch_code"].ToString();
-
//调用首件检验接口
string apiUrl = formingMachineService.GetInterfaceUrl("createCheckProduceTask");
FirstCheckModel firstCheck = new FirstCheckModel();
@@ -829,11 +844,13 @@ namespace XGLFinishPro.Views
if (checkType.Equals("checkTypeSCXJ"))
{
taskName = "巡检任务";
+ LogHelper.instance.log.Info($"准备触发巡检任务{workorderCode}>>批次号为:{batchCode}");
firstCheck.incomeBatchNo = null;
}
else
{
taskName = "首件检验任务";
+ LogHelper.instance.log.Info($"准备触发首件检验任务{workorderCode}>>批次号为:{batchCode}");
firstCheck.incomeBatchNo = (dgWorkOrderInfo.SelectedItem as DataRowView)["batch_code"].ToString();
}
diff --git a/shangjian/XGLFinishPro/config/ConnectionConfig.Config b/shangjian/XGLFinishPro/config/ConnectionConfig.Config
index 37d6a27..5bcfc2d 100644
--- a/shangjian/XGLFinishPro/config/ConnectionConfig.Config
+++ b/shangjian/XGLFinishPro/config/ConnectionConfig.Config
@@ -2,11 +2,11 @@
强烈建议:对数据库以及本软件的参数更改,不要在此页进行.可以通过系统配置页进行更新.
- vadMWi9D6ZBkwIr78LoLmGwiSCvVnpY3nMB7IyQlxFiV2OD5s5WUgOabwGwWK3THofFvPL2rHpOvJVIvtz0oZU/NFQyT8KQlbk0rHjUXoU7wgRdUumDJ1RrSFmIjPm8S
+
- vadMWi9D6ZC3usVUY51rbTRH8TjL6CxlHbduXNDkc8suJwqe10me6ktk8XD3QU91A7V9zSnfhmhLWUQKZQdqof6chkC37l6QElb57z876mZdo9764iNmLGULHBiQyMu6PXowBdyaQVt17BPsWFn4EUs7Z7zTZwBP+2iJBVXitA3OF6EZXxAztmeZk/1iCwni+JzeWNpXqeOoGzkmSSzmVQH2Yf9m/mlqag2TbldSCcnUQl6lE7tcGg==
+
- vadMWi9D6ZC3usVUY51rbTRH8TjL6CxlHbduXNDkc8suJwqe10me6ktk8XD3QU91ML11cYCqHcHmTXJFsNQamIbW3UEpkjgNPUcBwRfgP6AWftvk9YFyv7y7/6nzX/c+6z6xMDIdcjYVvfteU+7YtOQhJXTfF5ScosAA0GliBfD8dWAunW+ZCos5LemAj2xb2wvvCxlbnrof8IunWslCaBEAGrdC/KhE0qEfNbxydwc=
+
@@ -14,10 +14,10 @@
-
+ vadMWi9D6ZBkwIr78LoLmGwiSCvVnpY3nMB7IyQlxFiV2OD5s5WUgOabwGwWK3THofFvPL2rHpOvJVIvtz0oZU/NFQyT8KQlbk0rHjUXoU7wgRdUumDJ1RrSFmIjPm8S
-
+ vadMWi9D6ZC3usVUY51rbTRH8TjL6CxlF0tM4FO8qPh090fSbocpFrq1jWXNjwNntlKCeRLc6CBQNAw+bzYK+yDKBny3FzdffaiQ/9ohZ/iFw6P/06Dz1d7Q8OX2fGT3YK8v2yeiGlLhRHNGlkzN6Okv9SEccNYXDHZKQND/31n9bbXRhaFERnPoCp+evwBwpKq0nDcp4lLRNDrJpG2b6nw1popy2st0u+eYfbIYddNpj2jZcnrJXg==
-
+ vadMWi9D6ZC3usVUY51rbTRH8TjL6CxlF0tM4FO8qPh090fSbocpFrq1jWXNjwNnXgKYRJ9zN5r4cTE3Hh+JS6lnhIJQCLO5Tn/1DUIbZe8kwpCPuiyxdQS9ApxjjxU3xmhgbAR3NfwaZV2/zLMECLZyTqYXOHwTHdkzxa9RyCzNcbpiSjkFFOVT9SrfkzeVUA+7kogOazAQ7II0ms/Pnls5vU+gUjP9JcI1Q6esb8M=
\ No newline at end of file