From 82de67c48acaf472a6f8bb8b53f3f4feec9f5e54 Mon Sep 17 00:00:00 2001
From: zrg <z1873@LAPTOP-EAVL132E>
Date: 星期五, 17 十月 2025 10:42:18 +0800
Subject: [PATCH] 1
---
WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs | 239 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 219 insertions(+), 20 deletions(-)
diff --git a/WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs b/WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs
index 2dfbf7c..9653694 100644
--- a/WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs
@@ -10,6 +10,7 @@
using System.Web;
using System.Web.Http;
using WebAPI.Models;
+using WebAPI.Models.鍩虹璧勬枡;
using WebAPI.Service;
namespace WebAPI.Controllers
@@ -38,7 +39,7 @@
{
List<object> columnNameList = new List<object>();
//缂栬緫鏉冮檺
- if (!DBUtility.ClsPub.Security_Log_second("Gy_Employee", 1, false, user))
+ if (!DBUtility.ClsPub.Security_Log_second("Gy_Employee_Query", 1, false, user))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
@@ -46,14 +47,15 @@
objJsonResult.data = null;
return objJsonResult;
}
- string sql1 = string.Format(@"select * from h_v_IF_EmployeeList where 缁勭粐鍚嶇О='" + Organization + "'");
+ //string sql1 = string.Format(@"select * from h_v_IF_EmployeeList where 缁勭粐鍚嶇О='" + Organization + "'");
+ string sql1 = string.Format(@"select * from h_v_IF_EmployeeList where 1=1 ");
if (sWhere == null || sWhere.Equals(""))
{
- ds = oCN.RunProcReturn(sql1 + sWhere + " order by 鑱屽憳浠g爜", "h_v_IF_EmployeeList");
+ ds = oCN.RunProcReturn(sql1 + sWhere, "h_v_IF_EmployeeList");
}
else
{
- string sql = sql1 + sWhere + " order by 鑱屽憳浠g爜";
+ string sql = sql1 + sWhere;
ds = oCN.RunProcReturn(sql, "h_v_IF_EmployeeList");
}
@@ -81,6 +83,87 @@
return objJsonResult;
}
}
+
+ #region 鑱屽憳 鏍戝舰鍥�
+ public class TreeModel
+ {
+ public string id { get; set; }
+ public string title { get; set; }
+ public List<TreeModel> children = new List<TreeModel>();
+ }
+ [Route("Gy_Employee/Gy_EmployeeTreeList")]
+ [HttpGet]
+ public object Gy_SourceTreeList(string sWhere)
+ {
+ try
+ {
+ string sql1 = string.Format("select hitemid,hnumber,hname,HUSEORGID from Gy_Employee" + sWhere + " order by hnumber");
+
+ ds = oCN.RunProcReturn(sql1, "Gy_Employee");
+
+ List<TreeModel> treeModels = new List<TreeModel>();
+ TreeModel first = new TreeModel();
+ first.id = "0";
+ first.title = "鑱屽憳璁剧疆";
+ treeModels.Add(first);
+
+ foreach (DataRow row in ds.Tables[0].Rows)
+ {
+ var strLen = row["hitemid"].ToString().Split('.');
+ if (strLen.Length == 1)
+ {
+ TreeModel tree = new TreeModel();
+ tree.id = row["hitemid"].ToString();
+ tree.title = row["hname"].ToString();
+ treeModels[0].children.Add(tree);
+ }
+ }
+ digui(ds.Tables[0], treeModels[0].children, 2);
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "Sucess锛�";
+ objJsonResult.data = Newtonsoft.Json.JsonConvert.SerializeObject(treeModels);
+ return objJsonResult;
+ }
+ catch (Exception e)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "Exception锛�" + e.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+
+ /// <summary>
+ /// 閫掑綊鍑芥暟
+ /// </summary>
+ public void digui(DataTable dt, List<TreeModel> tree, int num)
+ {
+ for (int m = 0; m < tree.Count; m++)
+ {
+ tree[m].children = new List<TreeModel>();
+ for (int i = 0; i < dt.Rows.Count; i++)//绗竴娆″惊鐜紝寰楀埌鎵�鏈夋牴鑺傜偣鐨勫瓙闆�
+ {
+ var strLen = dt.Rows[i]["hnumber"].ToString().Split('.');
+ if (strLen.Length == num && dt.Rows[i]["hnumber"].ToString().Contains(tree[m].id + "."))
+ {
+ TreeModel tbjson = new TreeModel();
+ tbjson.id = dt.Rows[i]["hitemid"].ToString();
+ tbjson.title = dt.Rows[i]["hname"].ToString();
+ tree[m].children.Add(tbjson);
+ }
+ }
+ var strLens = tree[m].id.Split('.');
+ for (int i = 0; i < tree[m].children.Count; i++)
+ {
+ digui(dt, tree[m].children, strLens.Length + 2);//鍐嶆鐢ㄥ瓙闆嗗幓寰幆锛屾嬁鍑哄瓙闆嗙殑瀛愰泦
+ }
+ }
+
+ }
+ #endregion
///// <summary>
///// 鏂板鑱屽憳-淇濆瓨鎸夐挳
@@ -278,8 +361,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();
@@ -288,9 +372,10 @@
string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
string msg2 = sArray[0].ToString();
string msg3 = sArray[1].ToString();
+ 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))
{
@@ -304,6 +389,7 @@
//鍙嶅簭鍒楀寲
msg2 = "[" + msg2.ToString() + "]";
List<Gy_Employee> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_Employee>>(msg2);
+ List<ClsGy_EmployeeSub> list1 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_EmployeeSub>>(msg4);
long HItemID = list[0].HItemID;
string HNumber = list[0].HNumber;
@@ -334,8 +420,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;
@@ -349,16 +435,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;
@@ -369,7 +455,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;
@@ -428,11 +514,23 @@
// objJsonResult.data = null;
// return objJsonResult;
//}
+
+ //鏌ヨ鏁版嵁涓槸鍚﹀瓨鍦ㄩ噸澶嶄唬鐮�
+ ds = oCN.RunProcReturn("Select HItemID from Gy_Employee Where HItemID<>" + HItemID + " and HNumber='" + HNumber + "' and HUSEORGID=" + HUSEORGID, "Gy_Warehouse");
+
+ if (ds.Tables[0].Rows.Count > 0)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "淇濆瓨澶辫触锛佷唬鐮侀噸澶嶏紒";
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
//淇濆瓨
//淇濆瓨瀹屾瘯鍚庡鐞�
if (HItemID == 0)
{
- oCN.BeginTran();
+
oCN.RunProc("Insert into Gy_Employee (" +
"HNumber,HName,HShortNumber,HEmpRate,HExamRate" +
",HLevel,HParentID,HEndflag,HHighestPay,HOverPayRate" +
@@ -450,7 +548,7 @@
",HEmpType,HPayType,HOverType,HNoBrushFlag,HShiftFlag,HStopwagesFlag" +
",HPostalCode,HBank,HBasePay,HExamLevPostMoney,HBSTDeptID" +
",HOtherDeduct3,HInsurance,HMedicare,HDrydock" +
- ",HBankAccount,HGroupID,HDeptID,HWorkTypeID,HCTPrjID,HUSEORGID,HAddress" +
+ ",HBankAccount,HGroupID,HDeptID,HWorkTypeID,HCTPrjID,HUSEORGID,HAddress,HMakeEmp" +
") " +
" Values('" + HNumber + "','" + HName + "','" + HShortNumber + "','" + HEmpRate.ToString() + "','" + HExamRate.ToString() +
"','" + HLevel + "','" + HParentID + "','" + Convert.ToString(HEndFlag ? 1 : 0) + "','" + HHighestPay.ToString() + "','" + HOverPayRate.ToString() +
@@ -468,15 +566,52 @@
"','" + HEmpType + "'" + ",'" + HPayType + "'" + ",'" + DBUtility.ClsPub.BoolToString(HOverType) + "','" + DBUtility.ClsPub.BoolToString(HNoBrushFlag) + "','" + DBUtility.ClsPub.BoolToString(HShiftFlag) + "','" + DBUtility.ClsPub.BoolToString(HStopwagesFlag) +
"','" + HPostalCode + "','" + HBank + "','" + HBasePay.ToString() + "','" + HExamLevPostMoney.ToString() + "','" + HBSTDeptID + "'" +
",'" + HOtherDeduct3.ToString() + "','" + HInsurance.ToString() + "','" + HMedicare.ToString() + "','" + HDrydock.ToString() +
- "','" + HBankAccount + "'" + ",'" + HGroupID.ToString() + "','" + HDeptID.ToString() + "','" + HWorkTypeID.ToString() + "','" + HCTPrjID.ToString() + "','" + HUSEORGID + "','" + HAddress + "')", ref DBUtility.ClsPub.sExeReturnInfo);
+ "','" + HBankAccount + "'" + ",'" + HGroupID.ToString() + "','" + HDeptID.ToString() + "','" + HWorkTypeID.ToString() + "','" + HCTPrjID.ToString() + "','" + HUSEORGID + "','" + HAddress + "','"+ msg3 + "')", ref DBUtility.ClsPub.sExeReturnInfo);
//淇敼涓婄骇涓洪潪鏈骇浠g爜
oCN.RunProc("Update Gy_Employee set HStopflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
- oCN.Commit();
+
+ DataSet temp_ds = oCN.RunProcReturn("select top 1 HItemID from Gy_Employee where HNumber = N'" + HNumber + "'", "Gy_Employee");
+
+ if (temp_ds.Tables[0].Rows.Count < 1)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "淇濆瓨澶辫触!鍘熷洜锛氭彃鍏ユ暟鎹け璐�";
+ objJsonResult.data = null;
+ oCN.RollBack();
+ return objJsonResult;
+ }
+
+ int itemID = int.Parse(temp_ds.Tables[0].Rows[0]["HItemID"].ToString());
+ string sql3 = "";
+ foreach (ClsGy_EmployeeSub listOne in list1)
+ {
+ sql3 += "insert into Gy_Employee_Post(HEmpID, HPostID, HRemark) Values("
+ + itemID + "," + listOne.HPostID +",N'" + listOne.HRemark + "');";
+
+ }
+ LogService.Write(sql3);
+ oCN.RunProcReturn(sql3, "Gy_Employee_Post");
+
}
else
{
+
//鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
- oCN.BeginTran();
+
+ //宸插鏍镐笉鍏佽淇敼
+ DataSet dss;
+ dss = oCN.RunProcReturn("select * from Gy_Employee where HItemID=" + HItemID, "Gy_Employee");
+ //鍒ゆ柇鏄惁鍙紪杈�
+ if (dss.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+ {
+ oCN.RollBack();
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "姝ゅ崟鎹姸鎬佸凡缁忓鏍革紝涓嶅厑璁镐慨鏀癸紒";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
oCN.RunProc("Update Gy_Employee set " +
" HNumber='" + HNumber + "'" +
",HName='" + HName + "'" +
@@ -562,8 +697,20 @@
",HAddress='" + HAddress.ToString() + "'" +
",HDeptID= '" + HDeptID + "' Where HItemID=" + HItemID);
- oCN.Commit();
+
+ oCN.RunProcReturn("delete from Gy_Employee_Post where HEmpID = " + HItemID, "Gy_Employee_Post");
+
+ string sql3 = "";
+ foreach (ClsGy_EmployeeSub listOne in list1)
+ {
+ sql3 += "insert into Gy_Employee_Post(HEmpID, HPostID, HRemark) Values("
+ + HItemID + "," + listOne.HPostID + ",N'" + listOne.HRemark + "');";
+ }
+ LogService.Write(sql3);
+ oCN.RunProcReturn(sql3, "Gy_WorkCenterSub");
+
}
+ oCN.Commit();
objJsonResult.code = "0";
objJsonResult.count = 1;
objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
@@ -573,7 +720,7 @@
}
catch (Exception e)
{
- //oCN.RollBack();
+ oCN.RollBack();
objJsonResult.code = "0";
objJsonResult.count = 0;
objJsonResult.Message = "Exception锛�" + e.Message;
@@ -815,7 +962,52 @@
// }
//}
+ /// <summary>
+ /// 鏌ヨ瀛愯〃鏂规硶
+ /// </summary>
+ [Route("Gy_Employee/listSub")]
+ [HttpGet]
+ public object listSub(string sWhere, string user)
+ {
+ try
+ {
+ List<object> columnNameList = new List<object>();
+ //鏌ョ湅鏉冮檺
+ if (!DBUtility.ClsPub.Security_Log("Gy_Employee_Query", 1, false, user))
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ ds = oCN.RunProcReturn("select * from h_v_IF_EmployeeSubList where 1 = 1 " + sWhere + " order by HItemID ", "h_v_IF_EmployeeSubList");
+
+ //娣诲姞鍒楀悕
+ foreach (DataColumn col in ds.Tables[0].Columns)
+ {
+ Type dataType = col.DataType;
+ string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+ columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+ }
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "Sucess锛�";
+ objJsonResult.data = ds.Tables[0];
+ objJsonResult.list = columnNameList;
+ return objJsonResult;
+ }
+ catch (Exception e)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "Exception锛�" + e.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
/// <summary>
/// 鑱屽憳璁剧疆鑾峰彇淇℃伅
@@ -870,6 +1062,13 @@
objJsonResult.Message = "娌℃湁鏁版嵁锛屾棤娉曞垹闄わ紒";
objJsonResult.data = null;
return objJsonResult; ;
+ }else if (ds.Tables[0].Rows[0]["HCheckEmp"] !=null && ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鑱屽憳宸茬粡瀹℃牳涓嶈兘鍒犻櫎锛�";
+ objJsonResult.data = null;
+ return objJsonResult; ;
}
else
{
--
Gitblit v1.9.1