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 
 | 
{ 
 | 
    /// <summary> 
 | 
    /// 工资报表菜单各模块接口 
 | 
    /// </summary> 
 | 
    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<object> columnNameList = new List<object>(); 
 | 
            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<DataTable>(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<object> columnNameList = new List<object>(); 
 | 
            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<object> columnNameList = new List<object>(); 
 | 
            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<object> columnNameList = new List<object>(); 
 | 
            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<object> columnNameList = new List<object>(); 
 | 
            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<object> columnNameList = new List<object>(); 
 | 
            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<object> columnNameList = new List<object>(); 
 | 
            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<object> columnNameList = new List<object>(); 
 | 
            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<object> columnNameList = new List<object>(); 
 | 
            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<object> columnNameList = new List<object>(); 
 | 
            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<object> columnNameList = new List<object>(); 
 | 
            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 
 | 
    } 
 | 
} 
 |