using Newtonsoft.Json; using Newtonsoft.Json.Converters; using Newtonsoft.Json.Linq; using Pub_Class; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Web.Http; using WebAPI.Models; namespace WebAPI.Controllers { /// /// 工资报表菜单各模块接口 /// public class Pay_ReportController : ApiController { public DBUtility.ClsPub.Enum_BillStatus BillStatus; private json objJsonResult = new json(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); DataSet ds; #region [职员明细列表] [Route("Pay_EmpDet/list")] [HttpGet] public object PayEmpDetList(string HBDate, string HEDate, string HBENumber, string HEENumber, string HBMNumber, string HEMNumber, string HBPNumber, string HEPNumber) { List columnNameList = new List(); try { ds = oCN.RunProcReturn("exec h_p_Pay_EmpWorkQtyEntryReport '" + HBDate + "','" + HEDate + "','" + HBENumber + "','" + HEENumber + "','" + HBMNumber + "','" + HEMNumber + "','" + HBPNumber + "','" + HEPNumber + "'", "h_p_Pay_EmpWorkQtyEntryReport"); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; //foreach (DataColumn col in ds.Tables[1].Columns) //{ // Type dataType = col.DataType; // string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; // columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名 //} //if (ds.Tables[1].Rows.Count > 0) //{ // objJsonResult.code = "1"; // objJsonResult.count = ds.Tables[0].Rows.Count; // objJsonResult.Message = "获取资源绑定数据成功!"; // objJsonResult.data = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(ds.Tables[1], new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" })); //序列化DataSet中的时间格式,然后再反序列化回来 // objJsonResult.list = columnNameList; // return objJsonResult; //} //else //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "无数据!"; // objJsonResult.data = null; // objJsonResult.list = columnNameList; // return objJsonResult; //} } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [部门发放清单] [Route("Pay_Department/list")] [HttpGet] public object PayDepartment(int HYear,int HPeriod,int DeptID) { List columnNameList = new List(); try { ds = oCN.RunProcReturn("exec h_p_Pay_PayMentDeptSendList '" + HYear + "','" + HPeriod + "','" + DeptID + "'", "h_p_Pay_PayMentDeptSendList"); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [部门年度分析] [Route("Pay_DepYearAnalyze/list")] [HttpGet] public object PayDepYearAnalyze(string DeptID,string EDeptID,int Year) { List columnNameList = new List(); try { ds = oCN.RunProcReturn("exec h_p_PayMentDeptYearReport '" + DeptID + "','" + EDeptID + "','" + Year + "'", "h_p_PayMentDeptYearReport"); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [工资发放清单] [Route("Pay_Wages/list")] [HttpGet] public object PayWages(int HYear, int HPeriod, int DeptID) { List columnNameList = new List(); try { ds = oCN.RunProcReturn("exec h_p_Pay_PayMentSendList '" + HYear + "','" + HPeriod + "','" + DeptID + "'", "h_p_Pay_PayMentSendList"); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [工资年报表] [Route("Pay_YearReport/list")] [HttpGet] public object PayYearReport(string DeptID, string EDeptID, int Year) { List columnNameList = new List(); try { ds = oCN.RunProcReturn("exec h_p_PayMentYearReport '" + DeptID + "','" + EDeptID + "','" + Year + "'", "h_p_PayMentYearReport"); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [考勤汇总表] [Route("Pay_Attendance/list")] [HttpGet] public object PayAttendance(int HYear,int HPeriod, int DeptID, string HStatus,string HType) { List columnNameList = new List(); try { ds = oCN.RunProcReturn("exec h_p_Pay_WorkTimesList '" + HYear + "','" + HPeriod + "','" + DeptID + "','" + HStatus + "','" + HType+ "'", "h_p_Pay_WorkTimesList"); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [计件工资汇总分析] [Route("Pay_ByThePiece_SumAna/list")] [HttpGet] public object PayByThePieceSum(int HYear,int HPeriod,string DeptNumber, string DeptNumber2, string GroupNumber, string GroupNumber2) { List columnNameList = new List(); try { ds = oCN.RunProcReturn("exec h_p_Pay_EmpPayMentSumReport '" + HYear + "','" + HPeriod + "','" + DeptNumber + "','" + DeptNumber2 + "','" + GroupNumber + "','" + GroupNumber2 + "'", "h_p_Pay_EmpPayMentSumReport"); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [计时工资明细表] [Route("Pay_ByTheTime_Detail/list")] [HttpGet] public object PayByTheTimeDetail(string HBDate, string HEDate, string HBDeptNumber, string HEDeptNumber, string HBEmpNumber, string HEEmpNumber) { List columnNameList = new List(); try { ds = oCN.RunProcReturn("exec h_p_Pay_WorkTimesPayMentEntryReport '" + HBDate + "','" + HEDate + "','" + HBDeptNumber + "','" + HEDeptNumber + "','" + HBEmpNumber + "','" + HEEmpNumber + "'", "h_p_Pay_WorkTimesPayMentEntryReport"); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [计时工资汇总表] [Route("Pay_ByTheTime_Sum/list")] [HttpGet] public object PayByTheTimeSum(string HBDate, string HEDate, string HBDeptNumber, string HEDeptNumber, string HBEmpNumber, string HEEmpNumber) { List columnNameList = new List(); try { ds = oCN.RunProcReturn("exec h_p_Pay_WorkTimesPayMentSumReport '" + HBDate + "','" + HEDate + "','" + HBDeptNumber + "','" + HEDeptNumber + "','" + HBEmpNumber + "','" + HEEmpNumber + "'", "h_p_Pay_WorkTimesPayMentSumReport"); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [计件工资明细表] [Route("Pay_ByThePiece_Detail/list")] [HttpGet] public object PayByThePieceDetail(string HBDate, string HEDate, string HBDeptNumber, string HEDeptNumber, string HBEmpNumber, string HEEmpNumber) { List columnNameList = new List(); try { ds = oCN.RunProcReturn("exec h_p_Pay_SingleBalBillEntryReport '" + HBDate + "','" + HEDate + "','" + HBDeptNumber + "','" + HEDeptNumber + "','" + HBEmpNumber + "','" + HEEmpNumber + "'", "h_p_Pay_SingleBalBillEntryReport"); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [计件工资汇总表] [Route("Pay_ByThePiece_Sum/list")] [HttpGet] public object PayByThePieceSum(string HBDate, string HEDate, string HBDeptNumber, string HEDeptNumber, string HBEmpNumber, string HEEmpNumber) { List columnNameList = new List(); try { ds = oCN.RunProcReturn("exec h_p_Pay_SingleBalBillSumReport '" + HBDate + "','" + HEDate + "','" + HBDeptNumber + "','" + HEDeptNumber + "','" + HBEmpNumber + "','" + HEEmpNumber + "'", "h_p_Pay_SingleBalBillSumReport"); objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; return objJsonResult; } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [车间计件工资汇总] [Route("Pay_PaymentPieceSumReport/list")] [HttpGet] public object Pay_PaymentPieceSumReport(int HYear, int HPeriod, int DeptID, string user) { List columnNameList = new List(); try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Pay_PaymentPieceSumReport", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限查看!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("exec h_p_Pay_PaymentPieceSumReport '" + HYear + "','" + HPeriod + "','" + DeptID + "'", "h_p_Pay_PaymentPieceSumReport"); 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));//获取到DataColumn列对象的列名 } 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 = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [车间计时工资汇总] [Route("Pay_PaymentTimeSumReport/list")] [HttpGet] public object Pay_PaymentTimeSumReport(int HYear, int HPeriod, int DeptID,int HEmpID,string user) { List columnNameList = new List(); try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Pay_PaymentTimeSumReport", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限查看!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("exec h_p_Pay_PaymentTimeSumReport '" + HYear + "', '" + HPeriod + "','" + DeptID + "','" + HEmpID + "'", "h_p_Pay_PaymentTimeSumReport"); 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));//获取到DataColumn列对象的列名 } 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 = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [工资月报表] [Route("Pay_PaymentMonthSumReport/list")] [HttpGet] public object Pay_PaymentMonthSumReport(int HYear, int HPeriod, int DeptID,int HGroupID,int HEmpID, string user) { List columnNameList = new List(); try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Pay_PaymentMonthSumReport", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限查看!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("exec h_p_Pay_PaymentMonthSumReport '" + HYear + "','" + HPeriod + "','" + DeptID + "','" + HGroupID + "','" + HEmpID + "'", "h_p_Pay_PaymentMonthSumReport"); 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));//获取到DataColumn列对象的列名 } 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 = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [工资汇总] [Route("Pay_PayWorkShopSumReport/list")] [HttpGet] public object Pay_PayWorkShopSumReport(int HYear, int HPeriod, int DeptID,int HEmpID, string user) { List columnNameList = new List(); try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Pay_PayWorkShopSumReport", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限查看!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("exec h_p_Pay_PayWorkShopSumReport '" + HYear + "','" + HPeriod + "','" + DeptID + "','" + HEmpID + "'", "h_p_Pay_PayWorkShopSumReport"); 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));//获取到DataColumn列对象的列名 } 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 = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [每日工资确认] [Route("Pay_PaymentDayCheckReport/list")] [HttpGet] public object Pay_PaymentDayCheckReport(int HYear, int HPeriod, int DeptID,int HGroupID, int HEmpID, string user) { List columnNameList = new List(); try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Pay_PaymentDayCheckReport", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限查看!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("exec h_p_Pay_PaymentDayCheckReport '" + HYear + "','" + HPeriod + "','" + DeptID + "','" + HGroupID + "','" + HEmpID + "'", "h_p_Pay_PaymentDayCheckReport"); 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));//获取到DataColumn列对象的列名 } 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 = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [系统计件报表] [Route("Pay_PaymentEntryReport/list")] [HttpGet] public object Pay_PaymentEntryReport(string sWhere, string user) { List columnNameList = new List(); try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Pay_PaymentEntryReport", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限查看!"; objJsonResult.data = null; return objJsonResult; } ds = oCN.RunProcReturn("exec h_p_Pay_PaymentEntryReport" + sWhere, "h_p_Pay_PaymentEntryReport"); 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));//获取到DataColumn列对象的列名 } 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 = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion #region [工资报表--金蝶取值] [Route("Pay_PayrollReportByKD/list")] [HttpGet] public object Pay_PayrollReportByKD(string sWhere, string user) { List columnNameList = new List(); try { //判断是否有查询权限 if (!DBUtility.ClsPub.Security_Log("Pay_PayrollReportByKD", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限查看!"; objJsonResult.data = null; return objJsonResult; } if (sWhere == null || sWhere == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查询条件!"; objJsonResult.data = null; return objJsonResult; } Dictionary dic = Newtonsoft.Json.JsonConvert.DeserializeObject>(sWhere); string HBeginDate = dic["HBeginDate"].ToString(); string HEndDate = dic["HEndDate"].ToString(); int HDeptID = int.Parse(dic["HDeptID"].ToString()); string HGroupName = dic["HGroupName"].ToString(); string HMaterNumber = dic["HMaterNumber"].ToString(); string HMaterName = dic["HMaterName"].ToString(); string HMaterModel = dic["HMaterModel"].ToString(); ds = oCN.RunProcReturn("exec h_p_KD_PayrollReport '" + HBeginDate + "','" + HEndDate + "'," + HDeptID + ",'" + HGroupName + "','" + HMaterNumber + "','" + HMaterName + "','" + HMaterModel + "'", "h_p_KD_PayrollReport"); //ds = oCN.RunProcReturn("select * from h_v_KD_PayrollReport where 1 = 1 " + sWhere, "h_v_KD_PayrollReport"); 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));//获取到DataColumn列对象的列名 } 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 = e.Message.ToString(); objJsonResult.data = null; objJsonResult.list = columnNameList; } return objJsonResult; } #endregion+ } }