From 365cbc3eebc4cd017298534bbe7e55cfc5570f4d Mon Sep 17 00:00:00 2001 From: kyy <3283105747@qq.com> Date: 星期六, 26 七月 2025 16:25:37 +0800 Subject: [PATCH] 异常报告系修改(增加修改、保存、反审核按钮。明细行增加合格、工废、料废计算) --- DevApp/Gs.DevApp/DevFrm/QC/MesQcExceptional.cs | 255 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 242 insertions(+), 13 deletions(-) diff --git a/DevApp/Gs.DevApp/DevFrm/QC/MesQcExceptional.cs b/DevApp/Gs.DevApp/DevFrm/QC/MesQcExceptional.cs index 2e3daa0..ddf3ed8 100644 --- a/DevApp/Gs.DevApp/DevFrm/QC/MesQcExceptional.cs +++ b/DevApp/Gs.DevApp/DevFrm/QC/MesQcExceptional.cs @@ -6,8 +6,10 @@ using System; using System.Collections.Generic; using System.Data; +using System.Diagnostics; using System.Threading.Tasks; using System.Windows.Forms; + namespace Gs.DevApp.DevFrm.QC { @@ -28,8 +30,14 @@ InitializeComponent(); this.toolBarMenu1.btnLoadClick += ToolBarMenu1_btnLoadClick; this.toolBarMenu1.btnQueryClick += ToolBarMenu1_btnQueryClick; - toolBarMenu1.btnChkClick += ToolBarMenu1_btnChkClick; + toolBarMenu1.btnLogClick += ToolBarMenu1_btnLogClick; + this.toolBarMenu1.btnEdtClick += ToolBarMenu1_btnEdtClick; + this.toolBarMenu1.btnSaveClick += ToolBarMenu1_btnSaveClick; + toolBarMenu1.btnFChkClick += ToolBarMenu1_btnFChkClick; + toolBarMenu1.btnChkClick += ToolBarMenu1_btnChkClick; + this.toolBarMenu1.btnEscClick += ToolBarMenu1_btnEscClick; + this.toolBarMenu1.getXmlConfig(); Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameterMx(gvMx1); Gs.DevApp.ToolBox.UtilityHelper.SetGridViewParameter(gridView1, picCheckBox, this, "chkStatus", "", (value) => @@ -45,6 +53,10 @@ }, lbGuid); getPageList(1); pageBar1.PagerEvent += PageBar1_PagerEvent; + + + + } private void GridView1_ColumnFilterChanged(object sender, EventArgs e) @@ -124,7 +136,7 @@ } } /// <summary> - /// 瀹℃牳浜嬩欢 + /// 瀹℃牳浜嬩欢 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> @@ -132,6 +144,164 @@ { _toolCk(1); } + /// <summary> + /// 鍙嶅鏍� + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + /// <exception cref="NotImplementedException"></exception> + private void ToolBarMenu1_btnFChkClick(object sender, EventArgs e) + { + _toolCk(0); + } + /// <summary> + /// 鍙栨秷浜嬩欢 + /// </summary> + /// <param name="sender"></param> + /// <param name="e"></param> + private void ToolBarMenu1_btnEscClick(object sender, EventArgs e) + { + Gs.DevApp.ToolBox.UtilityHelper.JumpTab(xtraTabControl1, 1); + } + /// <summary> + /// 淇敼浜嬩欢 + /// </summary> + /// <param name="sender">浜嬩欢鍙戦�佽��</param> + /// <param name="e">浜嬩欢鍙傛暟</param> + private void ToolBarMenu1_btnEdtClick(object sender, EventArgs e) + { + // 璁剧疆褰撳墠鎿嶄綔妯″紡涓虹紪杈戠姸鎬� + toolBarMenu1.currentAction = "edit"; + // 瀹氫箟鍙橀噺瀛樺偍閫変腑琛岀殑鍞竴鏍囪瘑鍜屽悕绉� + string rowGuid = "", rowName = ""; + // 浠庡綋鍓嶆椿鍔ㄨ〃鏍间腑鑾峰彇閫変腑琛岀殑鍏抽敭淇℃伅 + // 鍙傛暟璇存槑锛� + // - xtraTabControl1锛氭爣绛鹃〉鎺т欢锛岀敤浜庣‘瀹氬綋鍓嶆椿鍔ㄩ〉 + // - lbGuid锛氭樉绀篏UID鐨勬爣绛炬帶浠� + // - txt_releaseNo锛氭樉绀哄彂甯冪紪鍙风殑鏂囨湰妗� + // - gridView1锛氫富琛ㄦ牸瑙嗗浘 + // - "releaseNo"锛氳鑾峰彇鐨勫垪鍚� + (rowGuid, rowName) = UtilityHelper.GetCurrentRow(xtraTabControl1, lbGuid, txt_fBillNo, gridView1, "fBillNo"); + // 楠岃瘉鏄惁閫変腑鏈夋晥琛� + if (string.IsNullOrEmpty(rowGuid)) + { + // 鏈�変腑鏃舵彁绀虹敤鎴峰苟缁堟鎿嶄綔 + ToolBox.MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�"); + return; + } + // 瀵艰埅鍒扮紪杈戦〉闈�(绗�4涓爣绛鹃〉锛岀储寮曚粠0寮�濮�) + Gs.DevApp.ToolBox.UtilityHelper.JumpTab(xtraTabControl1, 3); + // 鏍规嵁褰撳墠娲诲姩鏍囩椤垫墽琛屼笉鍚岀殑鍒濆鍖栭�昏緫 + if (xtraTabControl1.SelectedTabPageIndex == 1) + { + // 濡傛灉鏄壒瀹氭爣绛鹃〉(绗�2椤�)锛屽姞杞藉畬鏁存暟鎹ā鍨� + // 鍙傛暟璇存槑锛� + // - rowGuid锛氶�変腑琛岀殑鍞竴鏍囪瘑 + getModel(rowGuid); + } + else + { + // 鍏朵粬鏍囩椤电殑缂栬緫妯″紡鍒濆鍖� + // 鍒涘缓闇�瑕佺壒娈婂鐞嗙殑琛ㄦ牸瑙嗗浘鍒楄〃 + List<DevExpress.XtraGrid.Views.Grid.GridView> gvList = new List<DevExpress.XtraGrid.Views.Grid.GridView>(); + gvList.Add(gvMx1); // 娣诲姞鏄庣粏琛ㄨ鍥�1 + + // 鍚敤缂栬緫妯″紡涓嬬殑鎵�鏈夋帶浠� + // 鍙傛暟璇存槑锛� + // - this.layoutMx1.Controls锛氳鍚敤鐨勬帶浠跺鍣� + // - true锛氬惎鐢ㄦ爣蹇� + // - gvList锛氶渶瑕佺壒娈婂鐞嗙殑琛ㄦ牸瑙嗗浘鍒楄〃 + UtilityHelper.ChangeEnableByControl(this.layoutMx1.Controls, true, gvList); + + + } + } + + /// <summary> + /// 淇濆瓨 -鎸夐挳鐐瑰嚮浜嬩欢 澶勭悊寮傚父鍗曟槑缁嗙殑淇濆瓨閫昏緫 + /// </summary> + /// <param name="sender">浜嬩欢鍙戦�佽��</param> + /// <param name="e">浜嬩欢鍙傛暟</param> + private void ToolBarMenu1_btnSaveClick(object sender, EventArgs e) + { + // 1. 鍒濆鍖栦繚瀛樼姸鎬� + toolBarMenu1.isSetBtn = false; // 绂佺敤宸ュ叿鏍忔寜閽姸鎬佽缃� + // 2. 鏋勫缓璇锋眰瀵硅薄 + var _obj = new + { + guid = UtilityHelper.ToGuid(lbGuid.Text.Trim()), //涓昏〃涓诲缓 + list = new List<dynamic>(), // 鏄庣粏鏁版嵁鍒楄〃 + }; + // 3. 鏁版嵁楠岃瘉涓庡噯澶� + gvMx1.CloseEditor(); // 鍏抽棴娲诲姩缂栬緫鍣� + gvMx1.PostEditor(); // 鎻愪氦缂栬緫鐨勫�� + gvMx1.UpdateCurrentRow(); // 鏇存柊褰撳墠琛屾暟鎹� + // 楠岃瘉鏄庣粏鏄惁涓虹┖ + if (gvMx1.DataRowCount <= 0) + { + MsgHelper.ShowError("鏄庣粏涓嶈兘涓虹┖锛岃閫夋嫨浣犵殑寮傚父鍗曟槑缁嗭紒"); + return; + } + // 4. 鏀堕泦鏄庣粏鏁版嵁 + for (var i = 0; i < gvMx1.DataRowCount; i++) + { + + var row = gvMx1.GetDataRow(i); + if (row != null) + { + // 鑾峰彇褰撳墠鏄庣粏琛岀殑GUID + Guid? _guid = UtilityHelper.ToGuid(row["guid"].ToString()); + // 娣诲姞鏄庣粏椤瑰埌璇锋眰瀵硅薄 + _obj.list.Add(new + { + Guid = _guid, + BatchQty = (row["batchQty"].ToString()), // 鎵规鏁伴噺 + GfRkqty = (row["gfRkqty"].ToString()), // 鍚堟牸鍏ュ簱鏁伴噺 + LfRkqtyz = (row["lfRkqty"].ToString()), // 涓嶅悎鏍煎叆搴撴暟閲� + HandResult = (row["handResult"].ToString()), // 閫夊埆绫诲瀷 + ChooseType = (row["chooseType"].ToString()), // 澶勭悊鎰忚 + Process = (row["process"].ToString()), // 閫�鏂欐柟寮� + + }); + } + } + // 5. 鍙戦�佷繚瀛樿姹� + try + { + // 搴忓垪鍖栧璞″苟璋冪敤WebService + string strJson = UtilityHelper.HttpPost("", _webServiceName + "EditModel", JsonConvert.SerializeObject(_obj)); + // 瑙f瀽杩斿洖缁撴灉 + ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson); + ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg); + // 6. 澶勭悊淇濆瓨鎴愬姛閫昏緫 + if (_rtn.rtnCode > 0) + { + // 鏇存柊涓昏〃GUID + lbGuid.Text = _rtn.rtnData.outGuid; + // 鎭㈠宸ュ叿鏍忕姸鎬� + toolBarMenu1.isSetBtn = true; + // 绂佺敤缂栬緫鎺т欢 + List<DevExpress.XtraGrid.Views.Grid.GridView> gvList = new List<DevExpress.XtraGrid.Views.Grid.GridView>(); + gvList.Add(gvMx1); + UtilityHelper.ChangeEnableByControl(this.layoutMx1.Controls, false, gvList); + // 閲嶇疆鎿嶄綔鐘舵�� + toolBarMenu1.currentAction = ""; + // 銆愭柊澧炲埛鏂伴�昏緫銆戜繚瀛樻垚鍔熷悗绔嬪嵆鍒锋柊褰撳墠妯″瀷鏁版嵁鍜屽垪琛� + // 鍒锋柊褰撳墠鍗曟嵁璇︽儏 + getModel(lbGuid.Text.Trim()); + // 鍒锋柊鍒楄〃椤垫暟鎹� + getPageList(this.pageBar1.CurrentPage); + + // 璺宠浆鍒版煡鐪嬬粨鏋滈〉闈� + Gs.DevApp.ToolBox.UtilityHelper.JumpTab(xtraTabControl1, 6); + } + } + catch (Exception ex) + { + ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message); + } + } + /// <summary> /// @@ -176,73 +346,130 @@ ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message); } } + + /// <summary> - /// 璇诲彇瀹炰綋 + /// 璇诲彇瀹炰綋鏁版嵁锛堟牴鎹敮涓�鏍囪瘑GUID鍔犺浇璇︽儏锛屽苟灏嗘暟鎹粦瀹氬埌鐣岄潰鎺т欢锛� + /// 鍔熻兘锛氫粠鏈嶅姟绔幏鍙栨寚瀹氳川閲忔帶鍒跺紓甯歌褰曠殑璇︾粏淇℃伅锛屽寘鎷富鏁版嵁鍜屾槑缁嗘暟鎹紝 + /// 骞舵牴鎹搷浣滅姸鎬侊紙鏌ョ湅/缂栬緫锛夎缃晫闈㈡帶浠剁殑鍙紪杈戞�� /// </summary> - /// <param name="strGuid"></param> + /// <param name="strGuid">瀹炰綋鐨勫敮涓�鏍囪瘑锛圙UID鏍煎紡鐨勪富閿紝鐢ㄤ簬瀹氫綅鍏蜂綋璁板綍锛�</param> private void getModel(string strGuid) { + // 瀹氫箟鍙橀噺鏍囪褰撳墠鏄惁涓虹紪杈戠姸鎬侊紙榛樿闈炵紪杈戠姸鎬侊級 bool isEdit = false; + + // 鑻ュ綋鍓嶅伐鍏锋爮鎿嶄綔鏄�"鏂板"锛坅dd锛夛紝鏃犻渶鍔犺浇宸叉湁鏁版嵁锛岀洿鎺ヨ繑鍥� + // 鍘熷洜锛氭柊澧炵姸鎬佷笅搴旀樉绀虹┖鐧借〃鍗曪紝鑰岄潪鍔犺浇鍘嗗彶鏁版嵁 if (toolBarMenu1.currentAction == "add") return; + + // 鑻ュ綋鍓嶅伐鍏锋爮鎿嶄綔鏄�"缂栬緫"锛坋dit锛夛紝灏嗙紪杈戠姸鎬佹爣璁颁负true + // 鍚庣画鐣岄潰鎺т欢鐨勫彲缂栬緫鎬у皢鍩轰簬姝ゅ彉閲忓垽鏂� if (toolBarMenu1.currentAction == "edit") isEdit = true; + + // 鏍¢獙鍙傛暟锛氳嫢鏈紶鍏ユ湁鏁堢殑GUID锛堢敤鎴锋湭閫夋嫨浠讳綍琛岋級锛屾彁绀虹敤鎴峰苟缁堟鎵ц if (string.IsNullOrEmpty(strGuid)) { + // 寮瑰嚭璀﹀憡鎻愮ず妗嗭紝寮曞鐢ㄦ埛鍏堥�夋嫨鎿嶄綔琛� MsgHelper.Warning("璇峰厛閫夋嫨浣犺鎿嶄綔鐨勮锛�"); return; } + + // 鏋勫缓璇锋眰鍙傛暟瀵硅薄锛氫互鍖垮悕绫诲舰寮忓皝瑁呰鏌ヨ鐨勫疄浣撲富閿紙GUID锛� + // 璇ュ弬鏁板皢鐢ㄤ簬鍚戞湇鍔$璇锋眰瀵瑰簲鐨勫疄浣撴暟鎹� var _obj = new { - guid = strGuid,//涓诲缓 + guid = strGuid,// 涓婚敭瀛楁锛屾湇鍔$閫氳繃姝ゅ�煎畾浣嶅叿浣撹褰� }; + try { + // 璋冪敤HTTP宸ュ叿绫诲彂閫丳OST璇锋眰锛岃幏鍙栨湇鍔$杩斿洖鐨凧SON鏁版嵁 + // 鍙傛暟璇存槑锛� + // 绗竴涓弬鏁帮細绌哄瓧绗︿覆锛堝熀纭�URL鍙兘鍦║tilityHelper鍐呴儴棰勮锛� + // 绗簩涓弬鏁帮細鎺ュ彛璺緞锛堢粨鍚坃webServiceName鍓嶇紑锛屽畬鏁磋矾寰勪负"MesQcExceptionalManager/GetModel"锛� + // 绗笁涓弬鏁帮細灏嗘煡璇㈠弬鏁板簭鍒楀寲涓篔SON瀛楃涓� string strJson = UtilityHelper.HttpPost("", _webServiceName + "GetModel", JsonConvert.SerializeObject(_obj)); + + // 灏嗘湇鍔$杩斿洖鐨凧SON瀛楃涓茶浆鎹负閫氱敤杩斿洖妯″瀷锛圧eturnModel锛� + // ReturnModel鍖呭惈鐘舵�佺爜锛坮tnCode锛夈�佹秷鎭紙rtnMsg锛夈�佹暟鎹紙rtnData锛変笁涓牳蹇冨瓧娈� ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson); + + // 妫�鏌ユ湇鍔$杩斿洖鐘舵�侊細rtnCode > 0 琛ㄧず璇锋眰鎴愬姛锛堜笟鍔″眰闈㈢殑鎴愬姛锛� if (_rtn.rtnCode > 0) { + // 鎻愬彇杩斿洖鏁版嵁涓殑瀹炰綋璇︽儏锛坉ynamic绫诲瀷鍙姩鎬佽闂瓧娈碉紝鏃犻渶棰勫厛瀹氫箟瀹炰綋绫伙級 dynamic dy = _rtn.rtnData; + + // 鍦ㄧ晫闈㈢殑lbGuid鏍囩涓婃樉绀哄綋鍓嶅疄浣撶殑GUID锛堢敤浜庢爣璇嗗綋鍓嶆搷浣滅殑璁板綍锛� lbGuid.Text = strGuid; + + // 鍒涘缓缃戞牸瑙嗗浘鍒楄〃锛屽寘鍚渶瑕佸鐞嗙殑鏄庣粏缃戞牸瑙嗗浘gvMx1 + // 鍚庣画灏嗛�氳繃宸ュ叿鏂规硶缁熶竴璁剧疆杩欎簺缃戞牸鐨勫睘鎬э紙濡傚彲缂栬緫鎬э級 List<DevExpress.XtraGrid.Views.Grid.GridView> gvList = new List<DevExpress.XtraGrid.Views.Grid.GridView>(); gvList.Add(gvMx1); + + // 璋冪敤宸ュ叿鏂规硶鎵归噺璁剧疆鐣岄潰鎺т欢鐨勫�煎拰鍙紪杈戠姸鎬� + // 鍙傛暟璇存槑锛� + // this.layoutMx1.Controls锛氬竷灞�瀹瑰櫒涓殑鎵�鏈夋帶浠讹紙鏂囨湰妗嗐�佷笅鎷夋绛夛級 + // dy锛氭湇鍔$杩斿洖鐨勫疄浣撴暟鎹紙鐢ㄤ簬涓烘帶浠惰祴鍊硷級 + // isEdit锛氭槸鍚︿负缂栬緫鐘舵�侊紙鎺у埗鎺т欢鏄惁鍙紪杈戯級 + // gvList锛氶渶瑕佸悓姝ヨ缃殑缃戞牸瑙嗗浘鍒楄〃 UtilityHelper.SetValueByObj(this.layoutMx1.Controls, dy, isEdit, gvList); + + + // 瑙f瀽鏈嶅姟绔繑鍥炵殑JSON锛屾彁鍙栨槑缁嗘暟鎹垪琛紙瀛樺偍鍦╮tnData涓嬬殑list瀛楁涓級 + // 浣跨敤JObject瑙f瀽JSON锛屼究浜庢彁鍙栧祵濂楃粨鏋勭殑鏁版嵁 JObject _job = JObject.Parse(strJson); JArray array = new JArray(); + // 閬嶅巻list鏁扮粍涓殑鎵�鏈夊厓绱狅紝娣诲姞鍒版柊鐨凧Array涓紙绛涢�夋槑缁嗘暟鎹級 foreach (var a in _job["rtnData"]["list"]) { array.Add(a); } + + // 灏嗘槑缁嗘暟鎹殑JSON鏁扮粍杞崲涓篋ataTable锛堥�傚悎浣滀负缃戞牸鎺т欢鐨勬暟鎹簮锛� DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString()); + + // 鑻ユ槑缁嗘暟鎹瓨鍦紙DataTable琛屾暟>0锛� if (dt.Rows.Count > 0) { + // 涓虹綉鏍兼帶浠秅cMx1璁剧疆鏂扮殑缁戝畾涓婁笅鏂囷紙BindingContext锛� + // 鐩殑锛氶伩鍏嶄笌鍏朵粬鎺т欢鍏变韩缁戝畾涓婁笅鏂囧鑷寸殑鏁版嵁鍒锋柊鍐茬獊 gcMx1.BindingContext = new BindingContext(); + // 灏嗘槑缁嗘暟鎹粦瀹氬埌缃戞牸鎺т欢gcMx1锛坓cMx1鏄疓ridControl锛実vMx1鏄叾瀵瑰簲鐨勮鍥撅級 gcMx1.DataSource = dt; + // 寮哄埗鍒濆鍖栫綉鏍兼帶浠讹紙纭繚鍒楄缃�佹牱寮忕瓑鐢熸晥锛� gcMx1.ForceInitialize(); + // 鑷姩璋冩暣缃戞牸鍒楀锛屼娇鍒楀唴瀹瑰畬鍏ㄦ樉绀猴紙浼樺寲瑙嗚鏁堟灉锛� gvMx1.BestFitColumns(); - + // 璋冪敤宸ュ叿鏂规硶璁剧疆缃戞牸甯冨眬锛堝闄愬埗鏈�澶у垪瀹斤紝閬垮厤鍒楄繃瀹藉鑷寸晫闈㈡贩涔憋級 Gs.DevApp.ToolBox.UtilityHelper.SetGridLayout(gvMx1); } + // 鑻ユ槑缁嗘暟鎹笉瀛樺湪锛堟棤璁板綍锛� else { + // 璋冪敤宸ュ叿鏂规硶璁剧疆榛樿鐨勭綉鏍肩粨鏋勶紙濡傜┖琛ㄦ椂鏄剧ず鍒楁爣棰樹絾鏃犳暟鎹锛� Gs.DevApp.ToolBox.UtilityHelper.SetDefaultTable(gcMx1, gvMx1); } } + // 鏈嶅姟绔繑鍥炲け璐ョ姸鎬侊紙rtnCode <= 0锛夛紝鏄剧ず鏈嶅姟绔繑鍥炵殑閿欒娑堟伅 else ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg); } + // 鎹曡幏鎵ц杩囩▼涓殑寮傚父锛堝缃戠粶閿欒銆丣SON瑙f瀽澶辫触绛夛級 catch (Exception ex) { + // 鏄剧ず寮傚父淇℃伅锛屼究浜庤皟璇曞拰鐢ㄦ埛鍙嶉 ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message); } } - /// <summary> /// 宸ュ叿鏉′簨浠� /// </summary> /// <param name="inFieldValue"></param> /// <summary> - /// - /// </summary> - /// <param name="inFieldValue"></param> + private void _toolCk(int _inFieldValue) { //toolBarMenu1.guidKey = ""; @@ -293,11 +520,10 @@ }; try { - var strJson = UtilityHelper.HttpPost("", - _webServiceName + "EditModelSubmit", - JsonConvert.SerializeObject(_obj)); + var strJson = UtilityHelper.HttpPost("", _webServiceName + "EditModelSubmit", JsonConvert.SerializeObject(_obj)); var _rtn = UtilityHelper.ReturnToDynamic(strJson); MsgHelper.Warning(_rtn.rtnData.outMsg.ToString()); + if (_rtn.rtnCode > 0 && _rtn.rtnData.outSum * 1 > 0) { if (xtraTabControl1.SelectedTabPageIndex == 1) @@ -314,5 +540,8 @@ MsgHelper.Warning("鎻愮ず锛�" + ex.Message); } } + + + } } \ No newline at end of file -- Gitblit v1.9.3