From fb59a056dc4ca2ed5634fe312a983a69fd0ec28a Mon Sep 17 00:00:00 2001 From: chenhaozhe <cgz@hz-kingdee.com> Date: 星期二, 08 七月 2025 13:25:37 +0800 Subject: [PATCH] 职员列表 修复日期类型前端传入值为空时转换失败问题 修复数据库事务开启 回滚和提交 生命周期混乱导致的死锁问题 --- WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs | 31 +++++++++++++++++-------------- 1 files changed, 17 insertions(+), 14 deletions(-) diff --git a/WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs b/WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs index e421290..a354e80 100644 --- a/WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs +++ b/WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs @@ -279,8 +279,9 @@ [HttpPost] public object ModifyByID([FromBody] JObject oMain) { + try - { + { DAL.ClsGy_Employee_Ctl oDept = new DAL.ClsGy_Employee_Ctl(); DAL.ClsGy_Employee_View oDeptHlp = new DAL.ClsGy_Employee_View(); @@ -292,7 +293,7 @@ string msg4 = sArray[2].ToString(); //string msg4 = sArray[2].ToString(); //string msg5 = sArray[3].ToString(); - + oCN.BeginTran(); //缂栬緫鏉冮檺 if (!DBUtility.ClsPub.Security_Log_second("Gy_Employee_Edit", 1, false, msg3)) { @@ -337,8 +338,8 @@ long HCTPrjID = list[0].HCTPrjID; long HProcID = list[0].HProcID; string HBasePay = list[0].HBasePay; - DateTime HInComDate = list[0].HInComDate; //杩涘巶鏃ユ湡 - DateTime HDimissionDate = list[0].HDimissionDate; //绂昏亴鏃ユ湡 (鍏佽NULL) + DateTime HInComDate = list[0].HInComDate == null ? Convert.ToDateTime("1900/1/1") : list[0].HInComDate.Value; //杩涘巶鏃ユ湡 + DateTime HDimissionDate = list[0].HDimissionDate == null ? Convert.ToDateTime("1900/1/1") : list[0].HDimissionDate.Value; //绂昏亴鏃ユ湡 (鍏佽NULL) bool HOverType = list[0].HOverType; string HEmpType = list[0].HEmpType; string HOtherDeduct3 = list[0].HOtherDeduct3; @@ -352,16 +353,16 @@ string HDimissionReason = list[0].HDimissionReason; long HDormID = list[0].HDormID; string HArchivesNo = list[0].HArchivesNo; - DateTime HStayCardEDate = list[0].HStayCardEDate; //鏆備綇璇佸埌鏈熸棩 + DateTime HStayCardEDate = list[0].HStayCardEDate == null ? Convert.ToDateTime("1900/1/1") : list[0].HStayCardEDate.Value; //鏆備綇璇佸埌鏈熸棩 DateTime HCheckCardEDate = Convert.ToDateTime("1900/1/1"); //瀹℃璇佸埌鏈熸棩 string HJobCardNo = list[0].HJobCardNo ?? ""; DateTime HJobCardEDate = Convert.ToDateTime("1900/1/1"); //灏变笟璇佸埌鏈熸棩 string HWorkType = list[0].HWorkType; long HContractYear = list[0].HContractYear; - DateTime HContractBDate = list[0].HContractBDate; //鍚堝悓寮�濮嬫棩 - DateTime HContractEDate = list[0].HContractEDate; //鍚堝悓鍒版湡鏃� + DateTime HContractBDate = list[0].HContractBDate == null ? Convert.ToDateTime("1900/1/1") : list[0].HContractBDate.Value; //鍚堝悓寮�濮嬫棩 + DateTime HContractEDate = list[0].HContractEDate == null ? Convert.ToDateTime("1900/1/1") : list[0].HContractEDate.Value; //鍚堝悓鍒版湡鏃� string HInsuranceNo = list[0].HInsuranceNo; - DateTime HInsuranceDate = list[0].HInsuranceDate; //鍙備繚鏃ユ湡 + DateTime HInsuranceDate = list[0].HInsuranceDate == null ? Convert.ToDateTime("1900/1/1") : list[0].HInsuranceDate.Value; //鍙備繚鏃ユ湡 bool HInsuranceStatus = list[0].HInsuranceStatus; DateTime HSignDate = Convert.ToDateTime("1900/1/1"); //绛剧害鏃ユ湡 bool HSignStatus = list[0].HSignStatus; @@ -372,7 +373,7 @@ string HSpec = list[0].HSpec ?? ""; string HCompLev = list[0].HCompLev ?? ""; string HEngLev = list[0].HEngLev ?? ""; - DateTime HGradDate = list[0].HGradDate; //姣曚笟鏃ユ湡 + DateTime HGradDate = list[0].HGradDate == null ? Convert.ToDateTime("1900/1/1") : list[0].HGradDate.Value; //姣曚笟鏃ユ湡 string HGradSchool = list[0].HGradSchool ?? ""; string HSalaryLev = list[0].HSalaryLev ?? ""; long HDutyID = list[0].HDutyID; @@ -431,6 +432,7 @@ // objJsonResult.data = null; // return objJsonResult; //} + //鏌ヨ鏁版嵁涓槸鍚﹀瓨鍦ㄩ噸澶嶄唬鐮� ds = oCN.RunProcReturn("Select HItemID from Gy_Employee Where HItemID<>" + HItemID + " and HNumber='" + HNumber + "' and HUSEORGID=" + HUSEORGID, "Gy_Warehouse"); @@ -446,7 +448,7 @@ //淇濆瓨瀹屾瘯鍚庡鐞� if (HItemID == 0) { - oCN.BeginTran(); + oCN.RunProc("Insert into Gy_Employee (" + "HNumber,HName,HShortNumber,HEmpRate,HExamRate" + ",HLevel,HParentID,HEndflag,HHighestPay,HOverPayRate" + @@ -508,13 +510,13 @@ } LogService.Write(sql3); oCN.RunProcReturn(sql3, "Gy_Employee_Post"); - oCN.Commit(); + } else { //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙� - oCN.BeginTran(); + //宸插鏍镐笉鍏佽淇敼 DataSet dss; dss = oCN.RunProcReturn("select * from Gy_Employee where HItemID=" + HItemID, "Gy_Employee"); @@ -624,8 +626,9 @@ } LogService.Write(sql3); oCN.RunProcReturn(sql3, "Gy_WorkCenterSub"); - oCN.Commit(); + } + oCN.Commit(); objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "淇濆瓨鎴愬姛锛�"; @@ -635,7 +638,7 @@ } catch (Exception e) { - //oCN.RollBack(); + oCN.RollBack(); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exception锛�" + e.Message; -- Gitblit v1.9.1