From ad1a9cd5ae489fbadc1ebfe754d3b71f65d43a1f Mon Sep 17 00:00:00 2001
From: cnf <3283105747@qq.com>
Date: 星期四, 20 十一月 2025 15:46:46 +0800
Subject: [PATCH] 委外任务单批量排产(审核)
---
DevApp/Gs.DevApp/DevFrm/WW/Frm_ProductionOrder.cs | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 170 insertions(+), 5 deletions(-)
diff --git a/DevApp/Gs.DevApp/DevFrm/WW/Frm_ProductionOrder.cs b/DevApp/Gs.DevApp/DevFrm/WW/Frm_ProductionOrder.cs
index 9acc51a..60d0b40 100644
--- a/DevApp/Gs.DevApp/DevFrm/WW/Frm_ProductionOrder.cs
+++ b/DevApp/Gs.DevApp/DevFrm/WW/Frm_ProductionOrder.cs
@@ -7,6 +7,8 @@
using System;
using System.Collections.Generic;
using System.Data;
+using System.Linq;
+using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
@@ -255,24 +257,187 @@
}
/// <summary>
- /// 瀹℃牳浜嬩欢
+ /// 瀹℃牳浜嬩欢
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ToolBarMenu1_btnChkClick(object sender, EventArgs e)
{
- _toolCk(8);
+ ExecuteBatchOperation(8, "瀹℃牳");
}
/// <summary>
- /// 鍙嶅鏍�
+ /// 鍙嶅鏍�
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
- /// <exception cref="NotImplementedException"></exception>
private void ToolBarMenu1_btnFChkClick(object sender, EventArgs e)
{
- _toolCk(9);
+ ExecuteBatchOperation(9, "鍙嶅鏍�");
+ }
+
+ /// <summary>
+ /// 鎵归噺鎵ц鎿嶄綔
+ /// </summary>
+ /// <param name="inFieldValue">鎿嶄綔绫诲瀷鍊�</param>
+ /// <param name="operationName">鎿嶄綔鍚嶇О</param>
+ private void ExecuteBatchOperation(int inFieldValue, string operationName)
+ {
+ gridView1.PostEditor();
+ gridView1.UpdateCurrentRow();
+ DataTable dt = this.gcMain1.DataSource as DataTable;
+
+ // 鏀堕泦鎵�鏈夐�変腑鐨刧uid
+ List<string> selectedGuids = new List<string>();
+ foreach (DataRow dr in dt.Rows)
+ {
+ string checkBox = dr["chkInt"].ToString();
+ string _guid = dr["guid"].ToString();
+ if (Gs.DevApp.ToolBox.UtilityHelper.ToCheck(checkBox))
+ {
+ selectedGuids.Add(_guid);
+ }
+ }
+
+ // 濡傛灉娌℃湁閫変腑鐨勮褰曪紝鐩存帴杩斿洖
+ if (selectedGuids.Count == 0)
+ {
+ MsgHelper.ShowError("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�");
+ return;
+ }
+
+ // 纭瀵硅瘽妗�
+ if (!MsgHelper.AskQuestion($"浣犻�夋嫨浜� {selectedGuids.Count} 鏉¤褰曪紝纭畾{operationName}鍚楋紵"))
+ return;
+
+ // 鎵ц鎵归噺鎿嶄綔
+ BatchExecuteOperation(selectedGuids, inFieldValue, operationName);
+ }
+
+ /// <summary>
+ /// 鎵归噺鎵ц鎿嶄綔骞剁粺涓�杩斿洖缁撴灉
+ /// </summary>
+ private void BatchExecuteOperation(List<string> guids, int inFieldValue, string operationName)
+ {
+ List<string> successMessages = new List<string>();
+ List<string> errorMessages = new List<string>();
+ string lastSuccessGuid = string.Empty;
+
+ foreach (string rowGuid in guids)
+ {
+ if (string.IsNullOrEmpty(rowGuid))
+ {
+ errorMessages.Add("閬囧埌绌篏UID锛岃烦杩囧鐞�");
+ continue;
+ }
+
+ try
+ {
+ var _obj = new
+ {
+ guid = rowGuid,
+ inFieldValue = inFieldValue,
+ };
+
+ var strJson = UtilityHelper.HttpPost("",
+ _webServiceName + "EditModelSubmit",
+ JsonConvert.SerializeObject(_obj));
+ var _rtn = UtilityHelper.ReturnToDynamic(strJson);
+
+ if (_rtn.rtnCode > 0 && _rtn.rtnData.outSum * 1 > 0)
+ {
+ successMessages.Add($"璁板綍 {rowGuid}锛歿_rtn.rtnData.outMsg}");
+ lastSuccessGuid = rowGuid;
+
+ // 鏇存柊鐣岄潰
+ UpdateUI(rowGuid, inFieldValue);
+ }
+ else
+ {
+ errorMessages.Add($"璁板綍 {rowGuid}锛歿_rtn.rtnData.outMsg}");
+ }
+ }
+ catch (Exception ex)
+ {
+ errorMessages.Add($"璁板綍 {rowGuid}锛氬鐞嗗け璐� - {ex.Message}");
+ }
+ }
+
+ // 缁熶竴鏄剧ず缁撴灉
+ ShowBatchResult(successMessages, errorMessages, operationName, lastSuccessGuid);
+ }
+
+ /// <summary>
+ /// 鏇存柊鐣岄潰
+ /// </summary>
+ private void UpdateUI(string rowGuid, int inFieldValue)
+ {
+ if (xtraTabControl1.SelectedTabPageIndex == 1)
+ {
+ getModel(lbGuid.Text.Trim());
+ int rowHandle = gridView1.LocateByValue(1, gridView1.Columns["guid"], rowGuid);
+ gridView1.FocusedRowHandle = rowHandle;
+ UtilityHelper.SetCheckIco(gridView1, "auditStatusChk", "auditor", "auditDate", picCheckBox, this, (inFieldValue == 8 ? 1 : 0).ToString());
+ }
+ else
+ {
+ getPageList(this.pageBar1.CurrentPage);
+ int rowHandle = gridView1.LocateByValue("guid", rowGuid);
+ gridView1.FocusedRowHandle = rowHandle;
+ }
+ }
+
+ /// <summary>
+ /// 鏄剧ず鎵归噺鎿嶄綔缁撴灉
+ /// </summary>
+ private void ShowBatchResult(List<string> successMessages, List<string> errorMessages, string operationName, string lastSuccessGuid)
+ {
+ StringBuilder resultMessage = new StringBuilder();
+ resultMessage.AppendLine($"{operationName}鎿嶄綔瀹屾垚锛�");
+ resultMessage.AppendLine($"鎴愬姛锛歿successMessages.Count} 鏉�");
+ resultMessage.AppendLine($"澶辫触锛歿errorMessages.Count} 鏉�");
+
+ if (successMessages.Count > 0)
+ {
+ resultMessage.AppendLine();
+ resultMessage.AppendLine("鎴愬姛璁板綍锛�");
+ foreach (var msg in successMessages.Take(5)) // 鍙樉绀哄墠5鏉℃垚鍔熶俊鎭�
+ {
+ resultMessage.AppendLine($" 鉁� {msg}");
+ }
+ if (successMessages.Count > 5)
+ {
+ resultMessage.AppendLine($" ... 杩樻湁 {successMessages.Count - 5} 鏉℃垚鍔熻褰�");
+ }
+ }
+
+ if (errorMessages.Count > 0)
+ {
+ resultMessage.AppendLine();
+ resultMessage.AppendLine("澶辫触璁板綍锛�");
+ foreach (var msg in errorMessages.Take(5)) // 鍙樉绀哄墠5鏉¢敊璇俊鎭�
+ {
+ resultMessage.AppendLine($" 鉁� {msg}");
+ }
+ if (errorMessages.Count > 5)
+ {
+ resultMessage.AppendLine($" ... 杩樻湁 {errorMessages.Count - 5} 鏉″け璐ヨ褰�");
+ }
+ }
+
+ // 鏍规嵁缁撴灉绫诲瀷鏄剧ず涓嶅悓鐨勬秷鎭
+ if (errorMessages.Count == 0)
+ {
+ MsgHelper.ShowInformation(resultMessage.ToString());
+ }
+ else if (successMessages.Count == 0)
+ {
+ MsgHelper.ShowError(resultMessage.ToString());
+ }
+ else
+ {
+ MsgHelper.ShowError(resultMessage.ToString());
+ }
}
/// <summary>
--
Gitblit v1.9.3