using Newtonsoft.Json; 
 | 
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; 
 | 
using System.Windows.Forms; 
 | 
using SyntacticSugar.constant; 
 | 
  
 | 
namespace WebAPI.Controllers 
 | 
{ 
 | 
  
 | 
    public class Pay_GroupBalBillController : ApiController 
 | 
    { 
 | 
        public DBUtility.ClsPub.Enum_BillStatus BillStatus; 
 | 
        public const string ModName = "2201";                   //单据类型 
 | 
        public const string ModCaption = "工资结算单(集体)";          //单据名称 
 | 
        public const string ModRightName = "Pay_GroupBalBill"; 
 | 
        public const string ModRightNameList = ModRightName + "List";       //列表 
 | 
        public const string ModRightNameEdit = ModRightName + "_Edit";      //编辑 
 | 
        public const string ModRightNameCheck = ModRightName + "_Check";    //审核 
 | 
        public const string ModRightNameClose = ModRightName + "_Close";    //关闭 
 | 
        public const string ModRightNameDelete = ModRightName + "_Delete";  //作废 
 | 
        public const string ModRightNameDrop = ModRightName + "_Drop";      //删除 
 | 
        public const string ModRightNameMoney = ModRightName + "_Money";    //金额 
 | 
        public const string ModRightNameQty = ModRightName + "_Qty";        //数量 
 | 
        public DataSet ds = new DataSet(); 
 | 
        private json objJsonResult = new json(); 
 | 
        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN(); 
 | 
        public DAL.ClsPay_GroupBalBill oBill = new DAL.ClsPay_GroupBalBill(); 
 | 
  
 | 
  
 | 
        #region 工资结算单(集体)列表 
 | 
        /// <summary> 
 | 
        /// 获取工资结算单(集体)列表信息 
 | 
        /// </summary> 
 | 
        /// <returns></returns> 
 | 
        [Route("Pay_GroupBalBillController/GetPay_GroupBalBillList_Json")] 
 | 
        [HttpGet] 
 | 
        public object GetPay_GroupBalBillList_Json(string sWhere, string HMaker) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                //判断权限 
 | 
                if (!DBUtility.ClsPub.Security_Log(ModRightNameList, 3, false, HMaker)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "您没有该模块权限,请与管理员联系!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                //判断是否有查看全部班组的权限 
 | 
                if (!DBUtility.ClsPub.Security_Log("Gy_Group_AllQuery", 3, false, HMaker)) 
 | 
                { 
 | 
                    //如果没有这个权限 
 | 
                    //根据用户对应班组的关系,过滤条件中增加只显示对应的班组 
 | 
                    DataSet dsHitemID = oCn.RunProcReturn("exec h_p_Gy_GetSQLGroupByUser '" + HMaker + "'", "h_p_Gy_GetSQLGroupByUser"); 
 | 
                    string sqlGroupID = DBUtility.ClsPub.isStrNull(dsHitemID.Tables[0].Rows[0]["HBack"]); 
 | 
                    if (sqlGroupID == "" || sqlGroupID == null)//如果没有绑定班组则让他看不到所有 
 | 
                    { 
 | 
                        sqlGroupID = "and 1 = 2"; 
 | 
                    } 
 | 
                    sqlGroupID = sqlGroupID.Replace("HitemID", "HGroupID");//替换sql语句中的HitemID 
 | 
                    sWhere = sWhere + sqlGroupID; 
 | 
                } 
 | 
                //返回列表信息 
 | 
                ds = oCn.RunProcReturn("select * from h_v_Pay_GroupBalBillList where 1=1 " + sWhere + " order by hmainid desc", "h_v_Pay_GroupBalBillList"); 
 | 
                List<object> columnNameList = new List<object>(); 
 | 
                //添加列名 
 | 
                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 = "0"; 
 | 
                objJsonResult.count = 1; 
 | 
                objJsonResult.Message = "成功!"; 
 | 
                objJsonResult.data = ds.Tables[0]; 
 | 
                objJsonResult.list = columnNameList; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "查询列表信息失败!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region 工资结算单(集体)分页列表 
 | 
        [Route("Pay_GroupBalBillController/page")] 
 | 
        [HttpGet] 
 | 
        public json Pay_GroupBalBillPage(string sWhere, string user, int page, int size) 
 | 
        { 
 | 
            DataSet ds; 
 | 
            json res = new json(); 
 | 
            try 
 | 
            { 
 | 
                List<object> columnNameList = new List<object>(); 
 | 
                //判断权限 
 | 
                if (!DBUtility.ClsPub.Security_Log(ModRightNameList, 3, false, user)) 
 | 
                { 
 | 
                    objJsonResult.code = CodeConstant.FAIL; 
 | 
                    objJsonResult.count = CountConstant.FAIL; 
 | 
                    objJsonResult.Message = "您没有该模块权限,请与管理员联系!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                //判断是否有查看全部班组的权限 
 | 
                if (!DBUtility.ClsPub.Security_Log("Gy_Group_AllQuery", 3, false, user)) 
 | 
                { 
 | 
                    //如果没有这个权限 
 | 
                    //根据用户对应班组的关系,过滤条件中增加只显示对应的班组 
 | 
                    DataSet dsHitemID = oCn.RunProcReturn("exec h_p_Gy_GetSQLGroupByUser '" + user + "'", "h_p_Gy_GetSQLGroupByUser"); 
 | 
                    string sqlGroupID = DBUtility.ClsPub.isStrNull(dsHitemID.Tables[0].Rows[0]["HBack"]); 
 | 
                    if (sqlGroupID == "" || sqlGroupID == null)//如果没有绑定班组则让他看不到所有 
 | 
                    { 
 | 
                        sqlGroupID = "and 1 = 2"; 
 | 
                    } 
 | 
                    sqlGroupID = sqlGroupID.Replace("HitemID", "HGroupID");//替换sql语句中的HitemID 
 | 
                    sWhere = sWhere + sqlGroupID; 
 | 
                } 
 | 
                sWhere = sWhere.Replace("'", "''"); 
 | 
                if (sWhere == null || sWhere.Equals("")) 
 | 
                { 
 | 
                    ds = oCn.RunProcReturn("exec h_p_Pay_GroupBalBillList " + page + "," + size + ",''", "h_p_Pay_GroupBalBillList"); 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    ds = oCn.RunProcReturn("exec h_p_Pay_GroupBalBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_Pay_GroupBalBillList"); 
 | 
                } 
 | 
  
 | 
                //添加列名 
 | 
                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列对象的列名 
 | 
                } 
 | 
  
 | 
                res.code = CodeConstant.SUCCEED; 
 | 
                res.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString()); 
 | 
                res.Message = "Sucess!"; 
 | 
                res.list = columnNameList; 
 | 
                res.data = ds.Tables[0]; 
 | 
                return res; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                res.code = CodeConstant.FAIL; 
 | 
                res.count = CountConstant.FAIL; 
 | 
                res.Message = "Exception!" + e.ToString(); 
 | 
                res.data = null; 
 | 
                return res; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region 工资结算单(集体) 删除 
 | 
        /// <summary> 
 | 
        /// 删除工资结算单(集体) 
 | 
        /// </summary> 
 | 
        /// <returns></returns> 
 | 
        [Route("Pay_GroupBalBillController/GetPay_GroupBalBill_Delete_Json")] 
 | 
        [HttpGet] 
 | 
        public object GetPay_GroupBalBill_Delete_Json(Int64 HInterID, string HMaker) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                //判断权限 
 | 
                if (!DBUtility.ClsPub.Security_Log(ModRightNameDrop, 3, false, HMaker)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "您没有该模块删除功能权限,请与管理员联系!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
                //判断存在性 
 | 
                if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) 
 | 
                { 
 | 
                    //判断会计期是否合理 
 | 
                    string s = ""; 
 | 
                    int sYear = 0; 
 | 
                    int sPeriod = 0; 
 | 
                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod_Pay(oBill.omodel.HDate, ref sYear, ref sPeriod, ref s) == false) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = s; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                    //删除前控制 
 | 
                    DataSet BeforeDs = oCn.RunProcReturn("Exec h_p_Pay_GroupBalBill_BeforeDelCtrl " + HInterID.ToString() + ",'" + HMaker + "'", "h_p_Pay_GroupBalBill_BeforeDelCtrl"); 
 | 
                    if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "删除前判断失败!"; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                    else 
 | 
                    { 
 | 
                        if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1) 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 0; 
 | 
                            objJsonResult.Message = "删除失败!" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]); 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; 
 | 
                        } 
 | 
                    } 
 | 
                    //删除单据(包含删除后控制、写入日志) 
 | 
                    if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Pay_GroupBalBill_AfterDelCtrl", HMaker, ref ClsPub.sExeReturnInfo)) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "删除失败!原因:" + ClsPub.sExeReturnInfo; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                    else 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 1; 
 | 
                        objJsonResult.Message = "删除工资结算单(集体)成功!"; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "未查询到该工资结算单(集体),请刷新数据后重新选择!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "删除工资结算单(集体)失败!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region 工资结算单(集体) 审核/反审核 
 | 
        /// <summary> 
 | 
        /// 审核/反审核工资结算单(集体) 
 | 
        /// </summary> 
 | 
        /// <param name="HInterID">单据ID</param> 
 | 
        /// <param name="Type">审核(1),反审核(2)</param> 
 | 
        /// <param name="HMaker">审核人</param> 
 | 
        /// <returns></returns> 
 | 
        [Route("Pay_GroupBalBillController/GetPay_GroupBalBill_Check_Json")] 
 | 
        [HttpGet] 
 | 
        public object GetPay_GroupBalBill_Check_Json(Int64 HInterID, int Type, string HMaker) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                //判断权限 
 | 
                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 3, false, HMaker)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "您没有该模块审核/反审核功能权限,请与管理员联系!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
                //判断存在性 
 | 
                if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) 
 | 
                { 
 | 
                    //判断会计期是否合理 
 | 
                    string s = ""; 
 | 
                    int sYear = 0; 
 | 
                    int sPeriod = 0; 
 | 
                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod_Pay(oBill.omodel.HDate, ref sYear, ref sPeriod, ref s) == false) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = s; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
  
 | 
                    //Type 1 审核  2  反审核 
 | 
                    if (Type == 1) 
 | 
                    { 
 | 
                        if (oBill.omodel.HChecker.Trim() != "") 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 0; 
 | 
                            objJsonResult.Message = "单据已审核,不能再次审核!"; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; 
 | 
                        } 
 | 
                        if (oBill.omodel.HCloseMan.Trim() != "") 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 0; 
 | 
                            objJsonResult.Message = "单据已关闭,不能再次审核!"; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; 
 | 
                        } 
 | 
                        if (oBill.omodel.HDeleteMan.Trim() != "") 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 0; 
 | 
                            objJsonResult.Message = "单据已作废,不能再次审核!"; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; 
 | 
                        } 
 | 
                        //审核前控制 
 | 
                        DataSet BeforeDs = oCn.RunProcReturn("Exec h_p_Pay_GroupBalBill_BeforeCheckCtrl " + HInterID.ToString() + ",'" + HMaker + "'", "h_p_Pay_GroupBalBill_BeforeCheckCtrl"); 
 | 
                        if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0) 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 0; 
 | 
                            objJsonResult.Message = "审核前判断失败!"; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; 
 | 
                        } 
 | 
                        else 
 | 
                        { 
 | 
                            if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1) 
 | 
                            { 
 | 
                                objJsonResult.code = "0"; 
 | 
                                objJsonResult.count = 0; 
 | 
                                objJsonResult.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]); 
 | 
                                objJsonResult.data = null; 
 | 
                                return objJsonResult; 
 | 
                            } 
 | 
                        } 
 | 
                        //审核单据 
 | 
                        if (!oBill.CheckBill(HInterID, oBill.omodel.HBillNo, "h_p_Pay_GroupBalBill_AfterCheckCtrl", HMaker, ref ClsPub.sExeReturnInfo)) 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 0; 
 | 
                            objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; 
 | 
                        } 
 | 
                        else 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 1; 
 | 
                            objJsonResult.Message = "单据号:" + oBill.omodel.HBillNo + " 审核成功!"; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; ; 
 | 
                        } 
 | 
                    } 
 | 
                    else 
 | 
                    { 
 | 
                        if (oBill.omodel.HChecker.Trim() == "") 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 0; 
 | 
                            objJsonResult.Message = "单据未审核,不需要反审核!"; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; 
 | 
                        } 
 | 
                        //反审核前控制 
 | 
                        DataSet BeforeDs = oCn.RunProcReturn("Exec h_p_Pay_GroupBalBill_BeforeUnCheckCtrl " + HInterID.ToString() + ",'" + HMaker + "'", "h_p_Pay_GroupBalBill_BeforeUnCheckCtrl"); 
 | 
                        if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0) 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 0; 
 | 
                            objJsonResult.Message = "反审核前判断失败!"; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; 
 | 
                        } 
 | 
                        else 
 | 
                        { 
 | 
                            if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1) 
 | 
                            { 
 | 
                                objJsonResult.code = "0"; 
 | 
                                objJsonResult.count = 0; 
 | 
                                objJsonResult.Message = "反审核失败!" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]); 
 | 
                                objJsonResult.data = null; 
 | 
                                return objJsonResult; 
 | 
                            } 
 | 
                        } 
 | 
  
 | 
                        //反审核单据 
 | 
                        if (!oBill.AbandonCheck(HInterID, oBill.omodel.HBillNo, "h_p_Pay_GroupBalBill_AfterUnCheckCtrl", HMaker, ref ClsPub.sExeReturnInfo)) 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 0; 
 | 
                            objJsonResult.Message = "反审核失败!原因:" + ClsPub.sExeReturnInfo; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; 
 | 
                        } 
 | 
                        else 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 1; 
 | 
                            objJsonResult.Message = "单据号:" + oBill.omodel.HBillNo + " 反审核成功!"; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; ; 
 | 
                        } 
 | 
                    } 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "未查询到该工资结算单(集体),请刷新数据后重新选择!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "审核或反审核工资结算单(集体)失败!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region 工资结算单(集体) 批量审核 
 | 
        /// <summary> 
 | 
        /// 审核/反审核工资结算单(集体) 
 | 
        /// </summary> 
 | 
        /// <param name="HInterID">单据ID</param> 
 | 
        /// <param name="Type">审核(1),反审核(2)</param> 
 | 
        /// <param name="HMaker">审核人</param> 
 | 
        /// <returns></returns> 
 | 
        [Route("Pay_GroupBalBillController/CheckAll")] 
 | 
        [HttpGet] 
 | 
        public object CheckAll(string ids, int Type, string HMaker) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                //处理字符串 
 | 
                if (!string.IsNullOrEmpty(ids)) 
 | 
                { 
 | 
                    long[] idArray = Array.ConvertAll(ids.Split(','), long.Parse); 
 | 
                    // 处理idArray... 
 | 
                    oCn.BeginTran(); 
 | 
                    for (int i = 0; i < idArray.Length; i++) 
 | 
                    { 
 | 
                        objJsonResult = (json)GetPay_GroupBalBill_Check_Json(idArray[i], Type, HMaker);//审核执行 
 | 
                        if (objJsonResult.count == 0) 
 | 
                        { 
 | 
                            oCn.RollBack(); 
 | 
                            objJsonResult.Message += "第" + (i + 1) + "行出现问题无法继续完成"; 
 | 
                            return objJsonResult; 
 | 
                        } 
 | 
                    } 
 | 
                    oCn.Commit(); 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "请选择正确行"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
                objJsonResult.code = CodeConstant.SUCCEED; 
 | 
                objJsonResult.count = CountConstant.SUCCEED; 
 | 
                objJsonResult.Message = "执行成功!"; 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                oCn.RollBack(); 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "审核或反审核工资结算单(个人)失败!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region 工资结算单集体批量审核二版 
 | 
        /// <summary> 
 | 
        /// 工资结算单批量审核二版 
 | 
        /// </summary> 
 | 
        /// <returns></returns> 
 | 
        [Route("Pay_GroupBalBillController/CheckAllByTimeAndGroup")] 
 | 
        [HttpGet] 
 | 
        public object CheckAllByTimeAndGroup(string sWhere, string HMaker) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                //判断权限 
 | 
                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 3, false, HMaker)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "您没有该模块权限,请与管理员联系!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
                ds = oCn.RunProcReturn($"exec h_p_Pay_GroupBalBill_CheckAllByTimeAndGroup " + sWhere + "", "h_p_Pay_GroupBalBill_CheckAllByTimeAndGroup"); 
 | 
                if (ds == null || ds.Tables[0].Rows.Count == 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "存储过程判断失败!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HBack"]) == 1) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "审核失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HRemark"]); 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                } 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 1; 
 | 
                objJsonResult.Message = "成功!"; 
 | 
                objJsonResult.data = ds.Tables[0].Rows[0]["HRemark"]; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "查询列表信息失败!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region 工资结算单(集体) 关闭/反关闭 
 | 
        /// <summary> 
 | 
        /// 关闭/反关闭工资结算单(集体) 
 | 
        /// </summary> 
 | 
        /// <param name="HInterID">单据ID</param> 
 | 
        /// <param name="Type">关闭(1),反关闭(2)</param> 
 | 
        /// <param name="HMaker">关闭人</param> 
 | 
        /// <returns></returns> 
 | 
        [Route("Pay_GroupBalBillController/GetPay_GroupBalBill_Close_Json")] 
 | 
        [HttpGet] 
 | 
        public object GetPay_GroupBalBill_Close_Json(Int64 HInterID, int Type, string HMaker) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                //判断权限 
 | 
                if (!DBUtility.ClsPub.Security_Log(ModRightNameClose, 3, false, HMaker)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "您没有该模块关闭/反关闭功能权限,请与管理员联系!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
                //判断存在性 
 | 
                if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) 
 | 
                { 
 | 
                    //判断会计期是否合理 
 | 
                    string s = ""; 
 | 
                    int sYear = 0; 
 | 
                    int sPeriod = 0; 
 | 
                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod_Pay(oBill.omodel.HDate, ref sYear, ref sPeriod, ref s) == false) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = s; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
  
 | 
                    //Type 1 关闭  2  反关闭 
 | 
                    if (Type == 1) 
 | 
                    { 
 | 
                        if (oBill.omodel.HCloseMan.Trim() != "") 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 0; 
 | 
                            objJsonResult.Message = "单据已关闭,不能再次关闭!"; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; 
 | 
                        } 
 | 
                        //关闭单据 
 | 
                        if (!oBill.CloseBill(HInterID, oBill.omodel.HBillNo, HMaker, ref ClsPub.sExeReturnInfo)) 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 0; 
 | 
                            objJsonResult.Message = "关闭失败!原因:" + ClsPub.sExeReturnInfo; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; 
 | 
                        } 
 | 
                        else 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 1; 
 | 
                            objJsonResult.Message = "单据号:" + oBill.omodel.HBillNo + " 关闭成功!"; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; ; 
 | 
                        } 
 | 
                    } 
 | 
                    else 
 | 
                    { 
 | 
                        if (oBill.omodel.HCloseMan.Trim() == "") 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 0; 
 | 
                            objJsonResult.Message = "单据未关闭,不需要反关闭!"; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; 
 | 
                        } 
 | 
                        //反关闭单据 
 | 
                        if (!oBill.CancelClose(HInterID, oBill.omodel.HBillNo, HMaker, ref ClsPub.sExeReturnInfo)) 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 0; 
 | 
                            objJsonResult.Message = "反关闭失败!原因:" + ClsPub.sExeReturnInfo; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; 
 | 
                        } 
 | 
                        else 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 1; 
 | 
                            objJsonResult.Message = "单据号:" + oBill.omodel.HBillNo + " 反关闭成功!"; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; ; 
 | 
                        } 
 | 
                    } 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "未查询到该工资结算单(集体),请刷新数据后重新选择!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "关闭或反关闭工资结算单(集体)失败!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region 工资结算单(集体) 作废/反作废 
 | 
        /// <summary> 
 | 
        /// 作废/反作废工资结算单(集体) 
 | 
        /// </summary> 
 | 
        /// <param name="HInterID">单据ID</param> 
 | 
        /// <param name="Type">作废(1),反作废(2)</param> 
 | 
        /// <param name="HMaker">作废人</param> 
 | 
        /// <returns></returns> 
 | 
        [Route("Pay_GroupBalBillController/GetPay_GroupBalBill_Cancelltion_Json")] 
 | 
        [HttpGet] 
 | 
        public object GetPay_GroupBalBill_Cancelltion_Json(Int64 HInterID, int Type, string HMaker) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                //判断权限 
 | 
                if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 3, false, HMaker)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "您没有该模块作废/反作废功能权限,请与管理员联系!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
                //判断存在性 
 | 
                if (oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) 
 | 
                { 
 | 
                    //判断会计期是否合理 
 | 
                    string s = ""; 
 | 
                    int sYear = 0; 
 | 
                    int sPeriod = 0; 
 | 
                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod_Pay(oBill.omodel.HDate, ref sYear, ref sPeriod, ref s) == false) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = s; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
  
 | 
                    //Type 1 作废  2  反作废 
 | 
                    if (Type == 1) 
 | 
                    { 
 | 
                        if (oBill.omodel.HDeleteMan.Trim() != "") 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 0; 
 | 
                            objJsonResult.Message = "单据已作废,不能再次作废!"; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; 
 | 
                        } 
 | 
                        //作废单据 
 | 
                        if (!oBill.Cancelltion(HInterID, oBill.omodel.HBillNo, HMaker, ref ClsPub.sExeReturnInfo)) 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 0; 
 | 
                            objJsonResult.Message = "作废失败!原因:" + ClsPub.sExeReturnInfo; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; 
 | 
                        } 
 | 
                        else 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 1; 
 | 
                            objJsonResult.Message = "单据号:" + oBill.omodel.HBillNo + " 作废成功!"; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; ; 
 | 
                        } 
 | 
                    } 
 | 
                    else 
 | 
                    { 
 | 
                        if (oBill.omodel.HDeleteMan.Trim() == "") 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 0; 
 | 
                            objJsonResult.Message = "单据未作废,不需要反作废!"; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; 
 | 
                        } 
 | 
                        //反作废单据 
 | 
                        if (!oBill.AbandonCancelltion(HInterID, oBill.omodel.HBillNo, HMaker, ref ClsPub.sExeReturnInfo)) 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 0; 
 | 
                            objJsonResult.Message = "反作废失败!原因:" + ClsPub.sExeReturnInfo; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; 
 | 
                        } 
 | 
                        else 
 | 
                        { 
 | 
                            objJsonResult.code = "0"; 
 | 
                            objJsonResult.count = 1; 
 | 
                            objJsonResult.Message = "单据号:" + oBill.omodel.HBillNo + " 反作废成功!"; 
 | 
                            objJsonResult.data = null; 
 | 
                            return objJsonResult; ; 
 | 
                        } 
 | 
                    } 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "未查询到该工资结算单(集体),请刷新数据后重新选择!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "作废或反作废工资结算单(集体)失败!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region 工资结算单(集体)模块   从列表选中打开单据,返回单据信息时调用 
 | 
        /// <summary> 
 | 
        /// 工资结算单(集体)编辑时,根据单据ID获取单据信息 
 | 
        /// </summary> 
 | 
        /// <returns></returns> 
 | 
        [Route("Pay_GroupBalBillController/GetPay_GroupBalBill_Json")] 
 | 
        [HttpGet] 
 | 
        public object GetPay_GroupBalBill_Json(Int64 HInterID, string HMaker) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                //判断权限 
 | 
                if (!DBUtility.ClsPub.Security_Log(ModRightNameEdit, 3, false, HMaker)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "您没有该模块编辑权限,请与管理员联系!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
                //返回列表信息 
 | 
                ds = oCn.RunProcReturn("exec h_p_Pay_GroupBalBill_EditInit " + HInterID, "h_p_Pay_GroupBalBill_EditInit"); 
 | 
                if (ds == null || ds.Tables[0].Rows.Count == 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "未查询到该工资结算单(集体),请刷新数据后重新选择!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 1; 
 | 
                    objJsonResult.Message = "成功!"; 
 | 
                    objJsonResult.data = new 
 | 
                    { 
 | 
                        Mainlist = ds.Tables[0],    //返回主表信息(0) 
 | 
                        Sublist = ds.Tables[1],     //返回子表1信息(1) 
 | 
                        Emplist = ds.Tables[2],     //返回子表2信息(2) 
 | 
                    }; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "返回工资结算单(集体)信息失败!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region 工资结算单(集体)保存 
 | 
        /// <summary> 
 | 
        /// 工资结算单(集体)保存 
 | 
        /// </summary> 
 | 
        [Route("Pay_GroupBalBillController/GetPay_GroupBalBill_Save_Json")] 
 | 
        [HttpPost] 
 | 
        public object GetPay_GroupBalBill_Save_Json([FromBody] JObject sMainSub) 
 | 
        { 
 | 
            var _value = sMainSub["sMainSub"].ToString(); 
 | 
            string msg1 = _value.ToString(); 
 | 
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); 
 | 
            string sMainStr = sArray[0].ToString();         //主表数据 
 | 
            string sSubStr = sArray[1].ToString();          //子表数据 
 | 
            string sSubStr2 = sArray[2].ToString();         //子表数据2 
 | 
            string OperationType = sArray[3].ToString();    //操作类型(1新增、2编辑) 
 | 
            string HMaker = sArray[4].ToString();           //制单人 
 | 
            try 
 | 
            { 
 | 
                //判断权限 
 | 
                if (OperationType == "1") 
 | 
                { 
 | 
                    BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew; 
 | 
                    //判断新增权限 
 | 
                    if (!DBUtility.ClsPub.Security_Log(ModRightName, 1, false, HMaker)) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "您没有该模块新增权限,请与管理员联系!"; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify; 
 | 
                    //判断编辑权限 
 | 
                    if (!DBUtility.ClsPub.Security_Log(ModRightNameEdit, 1, false, HMaker)) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "您没有该模块编辑权限,请与管理员联系!"; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                } 
 | 
                //表头赋值 
 | 
                sMainStr = sMainStr.Replace("\\", ""); 
 | 
                sMainStr = sMainStr.Replace("\n", ""); 
 | 
                sMainStr = "[" + sMainStr.ToString() + "]"; 
 | 
                List<Model.ClsPay_GroupBalBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsPay_GroupBalBillMain>>(sMainStr); 
 | 
                foreach (Model.ClsPay_GroupBalBillMain oItem in lsmain) 
 | 
                { 
 | 
                    //单据号是否重复 
 | 
                    if (oBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, oItem.HInterID)) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "单据号重复!不允许保存!"; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                    //判断会计期是否合理 
 | 
                    string s = ""; 
 | 
                    int sYear = 0; 
 | 
                    int sPeriod = 0; 
 | 
                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod_Pay(oItem.HDate, ref sYear, ref sPeriod, ref s) == false) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = s; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
  
 | 
                    oItem.HYear = sYear; 
 | 
                    oItem.HPeriod = sPeriod; 
 | 
                    DBUtility.ClsPub.CurUserName = oItem.HMaker; 
 | 
                    oBill.omodel = oItem; 
 | 
                } 
 | 
                //表体赋值 
 | 
                //按 },{来拆分数组 //去掉【和】 
 | 
                sSubStr = sSubStr.Substring(1, sSubStr.Length - 2); 
 | 
                sSubStr = sSubStr.Replace("\\", ""); 
 | 
                sSubStr = sSubStr.Replace("\n", ""); 
 | 
                sSubStr = "[" + sSubStr.ToString() + "]"; 
 | 
                List<Model.ClsPay_GroupBalBillSub> ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsPay_GroupBalBillSub>>(sSubStr); 
 | 
                int i = 0; 
 | 
                foreach (Model.ClsPay_GroupBalBillSub oItemSub in ls) 
 | 
                { 
 | 
                    i++; 
 | 
                    oItemSub.HEntryID = i; 
 | 
                    oBill.DetailColl.Add(oItemSub); 
 | 
                } 
 | 
                //表体赋值2 
 | 
                //按 },{来拆分数组 //去掉【和】 
 | 
                sSubStr2 = sSubStr2.Substring(1, sSubStr2.Length - 2); 
 | 
                sSubStr2 = sSubStr2.Replace("\\", ""); 
 | 
                sSubStr2 = sSubStr2.Replace("\n", ""); 
 | 
                sSubStr2 = "[" + sSubStr2.ToString() + "]"; 
 | 
                List<Model.ClsPay_GroupBalBillEmp> ls2 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsPay_GroupBalBillEmp>>(sSubStr2); 
 | 
                int j = 0; 
 | 
                foreach (Model.ClsPay_GroupBalBillEmp oItemSub2 in ls2) 
 | 
                { 
 | 
                    j++; 
 | 
                    oItemSub2.HEntryID = j; 
 | 
                    oBill.DetailEmpColl.Add(oItemSub2); 
 | 
                } 
 | 
  
 | 
                //保存 
 | 
                bool bResult; 
 | 
                if (OperationType == "1")   //新增保存 
 | 
                { 
 | 
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
                } 
 | 
                else                        //编辑保存 
 | 
                { 
 | 
                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
                } 
 | 
  
 | 
                if (bResult) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 1; 
 | 
                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //成功! 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "保存失败!" + e.Message; 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        #endregion 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
        /// <summary> 
 | 
        /// 返回工资结算个人列表(集体) 
 | 
        ///参数:string sql。 
 | 
        ///返回值:object。 
 | 
        /// </summary> 
 | 
        [Route("Pay_GroupBalBill/GetGroupBalBill")] 
 | 
        [HttpGet] 
 | 
        public object GetGroupBalBill(string sWhere,string user) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                if (!DBUtility.ClsPub.Security_Log("Pay_SingleBalBillList", 1, false, user)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "无查看权限!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
                ds = Sc_GetGroupBalBill(sWhere); 
 | 
  
 | 
                objJsonResult.code = "1"; 
 | 
                objJsonResult.count = 1; 
 | 
                objJsonResult.Message = "返回记录成功!"; 
 | 
                objJsonResult.data = ds.Tables[0]; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
            catch (Exception ex) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "没有返回任何记录!" + ex.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
  
 | 
        public static DataSet Sc_GetGroupBalBill(string sWhere) 
 | 
        { 
 | 
            if (sWhere == null || sWhere.Equals("")) 
 | 
            { 
 | 
                return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_Pay_GroupBalBillList order by hmainid desc", "h_v_Pay_GroupBalBillList"); 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                string sql1 = "select * from h_v_Pay_GroupBalBillList where 1 = 1 "; 
 | 
                string sql = sql1 + sWhere + " order by hmainid desc"; 
 | 
                return new SQLHelper.ClsCN().RunProcReturn(sql, "h_v_Pay_GroupBalBillList"); 
 | 
            } 
 | 
  
 | 
        } 
 | 
  
 | 
        #region[工资结算集体单编辑时获取表头数据] 
 | 
        [Route("Pay_GroupBalBill/Pay_GroupBalBillListCheckDetail")] 
 | 
        [HttpGet] 
 | 
        public ApiResult<DataSet> Pay_GroupBalBillListCheckDetail(string HID) 
 | 
        { 
 | 
            if (string.IsNullOrEmpty(HID)) 
 | 
                return new ApiResult<DataSet> { code = -1, msg = "ID不能为空" }; 
 | 
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); 
 | 
  
 | 
            var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Pay_GroupBalBillList  where hmainid= " + HID + " ", "h_v_Pay_GroupBalBillList"); 
 | 
            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0) 
 | 
                return new ApiResult<DataSet> { code = -1, msg = "不存在结算单号" }; 
 | 
  
 | 
            return new ApiResult<DataSet> { code = 1, msg = "查询成功", data = dataSet }; 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region[工资结算个人单编辑时获取表体数据] 
 | 
        [Route("Pay_GroupBalBill/Pay_GroupBalBillListProjectDetai")] 
 | 
        [HttpGet] 
 | 
        public object Pay_GroupBalBillListProjectDetai(string sqlWhere) 
 | 
        { 
 | 
            DataSet ds; 
 | 
            DataSet ds1; 
 | 
            List<object> list = new List<object>(); 
 | 
            try 
 | 
            { 
 | 
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); 
 | 
                string sql = @"SELECT HMaterID,HMaterCode,HMaterName,规格型号 HMaterSpec,HUnitID,HUnitNumber,HUnitName, 
 | 
                    HProcID,HProcNumber,HProcName,HSourceID,HSourceNumber,HSourceName,工时 HTimes,数量 HQty,工价 HPrice,金额 HMoney, HSumMoney,HOtherSubsidy,HOtherDeduct,HPayMoney FROM h_v_Pay_GroupBalBillList where 1 = 1 " + sqlWhere; 
 | 
                ds = oCN.RunProcReturn(sql, "h_v_Pay_GroupBalBillList"); 
 | 
                string sql1 = @"select  
 | 
 HEmpID ,b.HNumber HEmpNumber, b.HName HEmpName, b.HEmpRate HEmpRate, HBaseTimes, HMoney, HOtherSubsidy, HOtherSubsidy, HYF,'' HISZF ,'' HISFT , a.HRemark 
 | 
from Pay_GroupBalBillEmp a 
 | 
 left join Gy_Employee b on a.HEmpID = b.HItemID  where 1 = 1  " + sqlWhere.Replace("hmainid", "HInterID"); 
 | 
                ds1 = oCN.RunProcReturn(sql1, "Pay_GroupBalBillEmp"); 
 | 
                list.Add(ds.Tables[0]); 
 | 
                list.Add(ds1.Tables[0]); 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 1; 
 | 
                objJsonResult.Message = "获取信息成功!"; 
 | 
                objJsonResult.list = list; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "没有返回任何记录!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
            } 
 | 
            return objJsonResult; 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
  
 | 
  
 | 
        #region 设备保养计划表 保存/编辑 
 | 
        /// <summary> 
 | 
        /// 保存模具维修单 
 | 
        /// </summary> 
 | 
        /// <param name="msg"></param> 
 | 
        /// <returns></returns> 
 | 
        [Route("Pay_GroupBalBill/AddBill")] 
 | 
        [HttpPost] 
 | 
        public object AddBill([FromBody] JObject sMainSub) 
 | 
        { 
 | 
            var _value = sMainSub["sMainSub"].ToString(); 
 | 
            string msg1 = _value.ToString(); 
 | 
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); 
 | 
            string msg2 = sArray[0].ToString(); 
 | 
            string msg3 = sArray[1].ToString(); 
 | 
            string msg4 = sArray[2].ToString(); 
 | 
            string msg5 = sArray[3].ToString(); 
 | 
            string UserName = ""; 
 | 
            ListModels oListModels = new ListModels(); 
 | 
            try 
 | 
            { 
 | 
                if (!DBUtility.ClsPub.Security_Log("Pay_SingleBalBill_Edit", 1, false, msg5)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "无保存权限!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                DLL.ClsPay_GroupBalBill oBill = new DLL.ClsPay_GroupBalBill(); 
 | 
                List<Models.ClsPay_GroupBalBillMain> lsmain = new List<Models.ClsPay_GroupBalBillMain>(); 
 | 
                msg2 = msg2.Replace("\\", ""); 
 | 
                msg2 = msg2.Replace("\n", "");  //\n 
 | 
                lsmain = oListModels.getObjectByJson_Pay_GroupBalBillMain(msg2); 
 | 
                foreach (Models.ClsPay_GroupBalBillMain oItem in lsmain) 
 | 
                { 
 | 
                    UserName = oItem.HMaker;  //制单人 
 | 
                    oItem.HBillType = "2202"; 
 | 
                    oItem.HBillSubType = "2202"; 
 | 
                    //oItem.HInterID =0; 
 | 
                    //oItem.HBillNo = ""; 
 | 
                    oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --日期 
 | 
                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year); 
 | 
                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "") 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "保存失败!没有单据日期,无法保存!"; 
 | 
                        objJsonResult.data = 1; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                    oBill.omodel = oItem; 
 | 
                } 
 | 
                //保养项表体数据 
 | 
                //按 },{来拆分数组 //去掉【和】 
 | 
                msg3 = msg3.Substring(1, msg3.Length - 2); 
 | 
                msg3 = msg3.Replace("\\", ""); 
 | 
                msg3 = msg3.Replace("\n", "");  //\n 
 | 
                //msg2 = msg2.Replace("'", "’"); 
 | 
                List<Models.ClsPay_GroupBalBillSub> ls = new List<Models.ClsPay_GroupBalBillSub>(); 
 | 
                ls = oListModels.getObjectByJson_Pay_GroupBalBillSub(msg3); 
 | 
                int i = 0; 
 | 
                foreach (Models.ClsPay_GroupBalBillSub item in ls) 
 | 
                { 
 | 
                    i++; 
 | 
                    item.HEntryID = i; 
 | 
                    //oItemSub.HCloseMan = "";       //行关闭 
 | 
                    item.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); 
 | 
                    item.HCloseType = false;   //关闭类型 
 | 
                    //oItemSub.HRemark = "";         //备注 
 | 
                    item.HSourceInterID = 0;     // 源单主内码 
 | 
                    item.HSourceEntryID = 0;   //源单子内码 
 | 
                    //oItemSub.HSourceBillNo = "";  //源单单号 
 | 
                    //oItemSub.HSourceBillType = ""; //源单类型 
 | 
                    item.HRelationQty = 0;     //关联数量 
 | 
                    oBill.DetailColl.Add(item); 
 | 
  
 | 
                } 
 | 
                //配件项表体数据 
 | 
                //按 },{来拆分数组 //去掉【和】 
 | 
                msg4 = msg4.Substring(1, msg4.Length - 2); 
 | 
                msg4 = msg4.Replace("\\", ""); 
 | 
                msg4 = msg4.Replace("\n", "");  //\n 
 | 
                                                //msg2 = msg2.Replace("'", "’"); 
 | 
                List<Models.ClsPay_GroupBalBillEmp> ls1 = new List<Models.ClsPay_GroupBalBillEmp>(); 
 | 
                ls1 = oListModels.getObjectByJson_Pay_GroupBalBillEmp(msg4); 
 | 
                int j = 0; 
 | 
                foreach (Models.ClsPay_GroupBalBillEmp oItemSub in ls1) 
 | 
                { 
 | 
  
 | 
                    j++; 
 | 
                    oItemSub.HEntryID = j; 
 | 
                    //oItemSub.HCloseMan = "";       //行关闭 
 | 
                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now); 
 | 
                    oItemSub.HCloseType = false;   //关闭类型 
 | 
                                                   //oItemSub.HRemark = "";         //备注 
 | 
                    oItemSub.HSourceInterID = 0;     // 源单主内码 
 | 
                    oItemSub.HSourceEntryID = 0;   //源单子内码 
 | 
                                                   //oItemSub.HSourceBillNo = "";  //源单单号 
 | 
                                                   //oItemSub.HSourceBillType = ""; //源单类型 
 | 
                    oItemSub.HRelationQty = 0;     //关联数量 
 | 
                    oBill.DetailEmpColl.Add(oItemSub); 
 | 
  
 | 
                } 
 | 
                //保存 
 | 
                //保存完毕后处理 
 | 
                bool bResult; 
 | 
                if (oBill.omodel.HInterID == 0) 
 | 
                { 
 | 
                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
                } 
 | 
                if (bResult) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 1; 
 | 
                    objJsonResult.Message = "保存成功!"; 
 | 
                    //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单"); 
 | 
                    objJsonResult.data = 1; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo; 
 | 
                    objJsonResult.data = 1; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "保存失败!" + e.ToString(); 
 | 
                objJsonResult.data = 1; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
  
 | 
  
 | 
        [Route("Pay_GroupBalBill/getGroupBalBillPrice")] 
 | 
        [HttpGet] 
 | 
        public object getGroupBalBillPrice(string HMaterID, string HProcID) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                DataSet ds = oCn.RunProcReturn("select 单价 from h_v_Gy_ProcPriceList where HMaterID='" + HMaterID + "' and HProcID='" + HProcID + "'", "h_v_Gy_ProcPriceList"); 
 | 
                objJsonResult.code = "1"; 
 | 
                objJsonResult.count = 1; 
 | 
                objJsonResult.Message = "查询成功!"; 
 | 
                objJsonResult.data = ds.Tables[0]; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "Exception!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        // 
 | 
  
 | 
  
 | 
  
 | 
  
 | 
  
 | 
        #region 工资结算单(集体) 新增/编辑-保存 
 | 
        #region 表头数据 
 | 
        public class Pay_GroupBalBillMain 
 | 
        { 
 | 
            public int HInterID; 
 | 
            public string HBillNo; 
 | 
            public string HDate; 
 | 
            public string HInnerBillNo; 
 | 
            public int HGroupID; 
 | 
            public string HGroupName; 
 | 
            public double HSumMoney; 
 | 
            public double HOtherSubsidy; 
 | 
            public int HDeptID; 
 | 
            public string HDeptName; 
 | 
            public double HPayMoney; 
 | 
            public double HOtherDeduct; 
 | 
            public string HSourceBillType; 
 | 
            public int HSourceBillID; 
 | 
            public string HSourceBillNo; 
 | 
            public string HExplanation; 
 | 
            public string HRemark; 
 | 
            public string HMaker; 
 | 
            public string HMakerDate; 
 | 
            public string HUpdater; 
 | 
            public string HUpdaterDate; 
 | 
            public string HChecker; 
 | 
            public string HCheckerDate; 
 | 
            public string HCloseMan; 
 | 
            public string HCloseManDate; 
 | 
            public string HDeleteMan; 
 | 
            public string HDeleteManDate; 
 | 
            public string HBacker; 
 | 
            public string HBackerDate; 
 | 
            public string HBackRemark; 
 | 
        } 
 | 
        #endregion 
 | 
        #region 子表1数据 
 | 
        public class Pay_GroupBalBillSub 
 | 
        { 
 | 
            public int RowID; 
 | 
            public int HMaterID; 
 | 
            public string HMaterNumber; 
 | 
            public string HMaterName; 
 | 
            public string HMaterModel; 
 | 
            public int HUnitID; 
 | 
            public string HUnitNumber; 
 | 
            public string HUnitName; 
 | 
            public int HProcID; 
 | 
            public string HProcNumber; 
 | 
            public string HProcName; 
 | 
            public int HSourceID; 
 | 
            public string HSourceNumber; 
 | 
            public string HSourceName; 
 | 
            public double HTimes; 
 | 
            public double HQty; 
 | 
            public double HPrice; 
 | 
            public double HMoney; 
 | 
            public string HRemark; 
 | 
            public int HICMOInterID; 
 | 
            public string HICMOBillNo; 
 | 
            public int HProcReportInterID; 
 | 
            public int HProcReportEntryID; 
 | 
            public string HProcReportBillNo; 
 | 
            public int HProcPlanInterID; 
 | 
            public int HProcPlanEntryID; 
 | 
            public string HProcPlanBillNo; 
 | 
            public int HSourceInterID; 
 | 
            public int HSourceEntryID; 
 | 
            public string HSourceBillNo; 
 | 
            public string HSourceBillType; 
 | 
            public double HRelationQty; 
 | 
            public double HRelationMoney; 
 | 
        } 
 | 
        #endregion 
 | 
        #region 子表2数据 
 | 
        public class Pay_GroupBalBillEmp 
 | 
        { 
 | 
            public int RowID; 
 | 
            public int HEmpID; 
 | 
            public string HEmpNumber; 
 | 
            public string HEmpName; 
 | 
            public double HEmpRate; 
 | 
            public double HBaseTimes; 
 | 
            public double HMoney; 
 | 
            public double HOtherSubsidy; 
 | 
            public double HOtherDeduct; 
 | 
            public double HYF; 
 | 
            public bool HIsPay; 
 | 
            public bool HAvgFlag; 
 | 
            public string HRemark; 
 | 
        } 
 | 
        #endregion 
 | 
        #region 工资结算单(集体) 新增/编辑 
 | 
        /// <summary> 
 | 
        /// 新增单据-保存按钮 
 | 
        ///参数:string sql。 
 | 
        ///返回值:object。 
 | 
        /// </summary> 
 | 
        [Route("Pay_GroupBalBill/AddGroupBalBill")] 
 | 
        [HttpPost] 
 | 
        public object AddBill_Pay_GroupBalBill([FromBody] JObject sMainSub) 
 | 
        { 
 | 
            //获取参数 
 | 
            var _value = sMainSub["sMainSub"].ToString(); 
 | 
            string msg1 = _value.ToString(); 
 | 
            //开始事务 
 | 
            oCn.BeginTran(); 
 | 
            //保存主表 
 | 
            objJsonResult = AddBillMain_Pay_GroupBalBill(msg1); 
 | 
            if (objJsonResult.code == "0") 
 | 
            { 
 | 
                oCn.RollBack(); 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = objJsonResult.Message; 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
            oCn.Commit(); 
 | 
            objJsonResult.code = "1"; 
 | 
            objJsonResult.count = 1; 
 | 
            objJsonResult.Message = "新增单据成功!"; 
 | 
            objJsonResult.data = ds.Tables[0]; 
 | 
            return objJsonResult; 
 | 
        } 
 | 
        #endregion 
 | 
        #region 添加 工资结算单(集体) 主表 
 | 
        public json AddBillMain_Pay_GroupBalBill(string msg1) 
 | 
        { 
 | 
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); 
 | 
            string msg2 = sArray[0].ToString(); 
 | 
            string msg3 = sArray[1].ToString(); 
 | 
            string msg4 = sArray[2].ToString(); 
 | 
            int OperationType = int.Parse(sArray[3].ToString());//数据类型 1添加 3修改 2 复制 
 | 
            string user = sArray[4].ToString();//用户名 
 | 
            string HComputerName = SystemInformation.ComputerName; //设备名称 
 | 
  
 | 
            try 
 | 
            { 
 | 
                if (OperationType == 1) 
 | 
                { 
 | 
                    //判断是否有编辑权限 
 | 
                    if (!DBUtility.ClsPub.Security_Log("Pay_GroupBalBill_Edit", 1, false, user)) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "无新增权限!"; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                } 
 | 
                else if (OperationType == 3) 
 | 
                { 
 | 
                    //判断是否有编辑权限 
 | 
                    if (!DBUtility.ClsPub.Security_Log("Pay_GroupBalBill_Edit", 1, false, user)) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "无编辑权限!"; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                } 
 | 
  
 | 
                msg2 = "[" + msg2.ToString() + "]"; 
 | 
                List<Pay_GroupBalBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Pay_GroupBalBillMain>>(msg2); 
 | 
  
 | 
  
 | 
                int HYear = int.Parse(mainList[0].HDate.Split('-')[0]); 
 | 
                int HPeriod = int.Parse(mainList[0].HDate.Split('-')[1]); 
 | 
                string HBillType = "2201"; 
 | 
                string HBillSubType = ""; 
 | 
                int HBillStatus = 1; 
 | 
  
 | 
                int HInterID = mainList[0].HInterID; 
 | 
                string HBillNo = mainList[0].HBillNo; 
 | 
                string HDate = mainList[0].HDate; 
 | 
                string HInnerBillNo = mainList[0].HInnerBillNo; 
 | 
                int HGroupID = mainList[0].HGroupID; 
 | 
                string HGroupName = mainList[0].HGroupName; 
 | 
                double HSumMoney = mainList[0].HSumMoney; 
 | 
                double HOtherSubsidy = mainList[0].HOtherSubsidy; 
 | 
                int HDeptID = mainList[0].HDeptID; 
 | 
                string HDeptName = mainList[0].HDeptName; 
 | 
                double HPayMoney = mainList[0].HPayMoney; 
 | 
                double HOtherDeduct = mainList[0].HOtherDeduct; 
 | 
                string HSourceBillType = mainList[0].HSourceBillType; 
 | 
                int HSourceBillID = mainList[0].HSourceBillID; 
 | 
                string HSourceBillNo = mainList[0].HSourceBillNo; 
 | 
                string HExplanation = mainList[0].HExplanation; 
 | 
                string HRemark = mainList[0].HRemark; 
 | 
                string HMaker = mainList[0].HMaker; 
 | 
                DateTime HMakerDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString()); 
 | 
                string HUpdater = mainList[0].HUpdater; 
 | 
                DateTime HUpdaterDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString()); 
 | 
                string HChecker = mainList[0].HChecker; 
 | 
                string HCheckerDate = mainList[0].HCheckerDate; 
 | 
                string HCloseMan = mainList[0].HCloseMan; 
 | 
                string HCloseManDate = mainList[0].HCloseManDate; 
 | 
                string HDeleteMan = mainList[0].HDeleteMan; 
 | 
                string HDeleteManDate = mainList[0].HDeleteManDate; 
 | 
                string HBacker = mainList[0].HBacker; 
 | 
                string HBackerDate = mainList[0].HBackerDate; 
 | 
                string HBackRemark = mainList[0].HBackRemark; 
 | 
  
 | 
                //保存前控制 
 | 
                DataSet BeforeDs = oCn.RunProcReturn("Exec h_p_Pay_GroupBalBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Pay_GroupBalBill_BeforeSaveCtrl"); 
 | 
                if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "保存前判断失败!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]); 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                } 
 | 
  
 | 
                ds = oCn.RunProcReturn("select * from Pay_GroupBalBillMain where HInterID = " + HInterID + " and HBillNo = '" + HBillNo + "'", "Pay_GroupBalBillMain"); 
 | 
  
 | 
                if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//新增 
 | 
                { 
 | 
                    string sql = "insert into Pay_GroupBalBillMain" + 
 | 
                        "(HYear,HPeriod,HBillType,HBillSubType,HBillStatus,HInterID,HBillNo,HDate,HInnerBillNo,HGroupID,HSumMoney,HOtherSubsidy,HDeptID" + 
 | 
                        ",HPayMoney,HOtherDeduct,HMainSourceBillType,HMainSourceInterID,HMainSourceBillNo,HExplanation,HRemark,HMaker,HMakeDate) " + 
 | 
                        "values(" + 
 | 
                        "" + HYear + 
 | 
                        "," + HPeriod + 
 | 
                        ",'" + HBillType + 
 | 
                        "','" + HBillSubType + 
 | 
                        "','" + HBillStatus + 
 | 
                        "'," + HInterID + 
 | 
                        ",'" + HBillNo + 
 | 
                        "','" + HDate + 
 | 
                        "','" + HInnerBillNo + 
 | 
                        "'," + HGroupID + 
 | 
                        ",'" + HSumMoney + 
 | 
                        "','" + HOtherSubsidy + 
 | 
                        "'," + HDeptID + 
 | 
                        "," + HPayMoney + 
 | 
                        "," + HOtherDeduct + 
 | 
                        ",'" + HSourceBillType + 
 | 
                        "'," + HSourceBillID + 
 | 
                        ",'" + HSourceBillNo + 
 | 
                        "','" + HExplanation + 
 | 
                        "','" + HRemark + 
 | 
                        "','" + HMaker + 
 | 
                        "','" + HMakerDate + 
 | 
                        "')"; 
 | 
  
 | 
                    //主表 
 | 
                    oCn.RunProc(sql); 
 | 
                    LogService.Write("用户:" + user + ",日期:" + DateTime.Now + ",新增工资结算单(集体):" + HBillNo); 
 | 
                    oCn.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "新增工资结算单(集体):" + HBillNo + "','LMES-工资结算单(集体)模块','" + DBUtility.ClsPub.IPAddress + "','新增单据'", ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
                } 
 | 
                else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)                    //编辑 
 | 
                { 
 | 
                    string sql = "update Pay_GroupBalBillMain set " + 
 | 
                        "HYear = " + HYear + 
 | 
                        ", HPeriod = " + HPeriod + 
 | 
                        ", HBillNo = '" + HBillNo + 
 | 
                        "', HDate = '" + HDate + 
 | 
                        "', HInnerBillNo = '" + HInnerBillNo + 
 | 
                        "', HGroupID = " + HGroupID + 
 | 
                        ", HSumMoney = " + HSumMoney + 
 | 
                        ", HOtherSubsidy = " + HOtherSubsidy + 
 | 
                        ", HDeptID = " + HDeptID + 
 | 
                        ", HPayMoney = " + HPayMoney + 
 | 
                        ", HOtherDeduct = " + HOtherDeduct + 
 | 
                        ", HMainSourceBillType = '" + HSourceBillType + 
 | 
                        "', HMainSourceInterID = " + HSourceBillID + 
 | 
                        ", HMainSourceBillNo = '" + HSourceBillNo + 
 | 
                        "', HExplanation = '" + HExplanation + 
 | 
                        "', HRemark = '" + HRemark + 
 | 
                        "', HUpdater = '" + HUpdater + 
 | 
                        "', HUpdateDate = '" + HUpdaterDate + 
 | 
                        "' where HInterID = " + HInterID; 
 | 
  
 | 
                    oCn.RunProc(sql); 
 | 
  
 | 
                    //删除子表 
 | 
                    oCn.RunProc("delete from Pay_GroupBalBillEmp where HInterID='" + HInterID + "'"); 
 | 
                    oCn.RunProc("delete from Pay_GroupBalBillSub where HInterID='" + HInterID + "'"); 
 | 
                    //记录日志 
 | 
                    LogService.Write("用户:" + user + ",日期:" + DateTime.Now + ",修改工资结算单(集体):" + HBillNo); 
 | 
                    oCn.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "修改工资结算单(集体):" + HBillNo + "','LMES-工资结算单(集体)模块','" + DBUtility.ClsPub.IPAddress + "','修改单据'", ref DBUtility.ClsPub.sExeReturnInfo); 
 | 
                } 
 | 
                //保存子表 
 | 
                objJsonResult = AddBillSub1_Pay_GroupBalBill(msg3, HInterID, HBillNo, OperationType); 
 | 
                objJsonResult = AddBillSub2_Pay_GroupBalBill(msg4, HInterID, HBillNo, OperationType); 
 | 
  
 | 
  
 | 
                if (objJsonResult.code == "0") 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = objJsonResult.Message; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
                //保存后控制 
 | 
                DataSet AfterDs = oCn.RunProcReturn("Exec h_p_Pay_GroupBalBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Pay_GroupBalBill_AfterSaveCtrl"); 
 | 
                if (AfterDs == null || AfterDs.Tables[0].Rows.Count == 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "保存后判断失败!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    if (DBUtility.ClsPub.isLong(AfterDs.Tables[0].Rows[0]["HBack"]) == 1) 
 | 
                    { 
 | 
                        objJsonResult.code = "0"; 
 | 
                        objJsonResult.count = 0; 
 | 
                        objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.isStrNull(AfterDs.Tables[0].Rows[0]["HRemark"]); 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                    else 
 | 
                    { 
 | 
                        objJsonResult.code = "1"; 
 | 
                        objJsonResult.count = 1; 
 | 
                        objJsonResult.Message = null; 
 | 
                        objJsonResult.data = null; 
 | 
                        return objJsonResult; 
 | 
                    } 
 | 
                } 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "Exception!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
        #region 添加 工资结算单(集体) 子表1 
 | 
        public json AddBillSub1_Pay_GroupBalBill(string msg3, long HInterID, string HBillNo, int OperationType) 
 | 
        { 
 | 
            List<Pay_GroupBalBillSub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Pay_GroupBalBillSub>>(msg3); 
 | 
            int i = 0;                                          //作为子表内码 
 | 
            foreach (Pay_GroupBalBillSub oSub in DetailColl) 
 | 
            { 
 | 
                i++;                                            //同一个主表下的子表的内码自增 
 | 
  
 | 
                int HEntryID = i; 
 | 
  
 | 
                int HMaterID = oSub.HMaterID; 
 | 
                int HUnitID = oSub.HUnitID; 
 | 
                int HProcID = oSub.HProcID; 
 | 
                int HSourceID = oSub.HSourceID; 
 | 
                double HTimes = oSub.HTimes; 
 | 
                double HQty = oSub.HQty; 
 | 
                double HPrice = oSub.HPrice; 
 | 
                double HMoney = oSub.HMoney; 
 | 
                string HRemark = oSub.HRemark; 
 | 
                int HICMOInterID = oSub.HICMOInterID; 
 | 
                string HICMOBillNo = oSub.HICMOBillNo; 
 | 
                int HProcReportInterID = oSub.HProcReportInterID; 
 | 
                int HProcReportEntryID = oSub.HProcReportEntryID; 
 | 
                string HProcReportBillNo = oSub.HProcReportBillNo; 
 | 
                int HProcPlanInterID = oSub.HProcPlanInterID; 
 | 
                int HProcPlanEntryID = oSub.HProcPlanEntryID; 
 | 
                string HProcPlanBillNo = oSub.HProcPlanBillNo; 
 | 
                int HSourceInterID = oSub.HSourceInterID; 
 | 
                int HSourceEntryID = oSub.HSourceEntryID; 
 | 
                string HSourceBillNo = oSub.HSourceBillNo; 
 | 
                string HSourceBillType = oSub.HSourceBillType; 
 | 
                double HRelationQty = oSub.HRelationQty; 
 | 
                double HRelationMoney = oSub.HRelationMoney; 
 | 
  
 | 
  
 | 
  
 | 
                string sql = "insert into Pay_GroupBalBillSub" + 
 | 
                    "(HInterID,HEntryID,HMaterID,HUnitID,HProcID,HSourceID,HTimes,HQty,HPrice,HMoney,HRemark,HICMOInterID,HICMOBillNo,HProcReportInterID" + 
 | 
                    ",HProcReportEntryID,HProcReportBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HSourceInterID,HSourceEntryID,HSourceBillNo" + 
 | 
                    ",HSourceBillType,HRelationQty,HRelationMoney) " + 
 | 
                    "values(" + 
 | 
                    "" + HInterID + 
 | 
                    "," + HEntryID + 
 | 
                    "," + HMaterID + 
 | 
                    "," + HUnitID + 
 | 
                    "," + HProcID + 
 | 
                    "," + HSourceID + 
 | 
                    "," + HTimes + 
 | 
                    "," + HQty + 
 | 
                    "," + HPrice + 
 | 
                    "," + HMoney + 
 | 
                    ",'" + HRemark + 
 | 
                    "'," + HICMOInterID + 
 | 
                    ",'" + HICMOBillNo + 
 | 
                    "'," + HProcReportInterID + 
 | 
                    "," + HProcReportEntryID + 
 | 
                    ",'" + HProcReportBillNo + 
 | 
                    "'," + HProcPlanInterID + 
 | 
                    "," + HProcPlanEntryID + 
 | 
                    ",'" + HProcPlanBillNo + 
 | 
                    "'," + HSourceInterID + 
 | 
                    "," + HSourceEntryID + 
 | 
                    ",'" + HSourceBillNo + 
 | 
                    "','" + HSourceBillType + 
 | 
                    "'," + HRelationQty + 
 | 
                    "," + HRelationMoney + 
 | 
                    ")"; 
 | 
  
 | 
                oCn.RunProc(sql); 
 | 
            } 
 | 
  
 | 
            objJsonResult.code = "1"; 
 | 
            objJsonResult.count = 1; 
 | 
            objJsonResult.Message = null; 
 | 
            objJsonResult.data = null; 
 | 
            return objJsonResult; 
 | 
        } 
 | 
        #endregion 
 | 
        #region 添加 工资结算单(集体) 子表2 
 | 
        public json AddBillSub2_Pay_GroupBalBill(string msg3, long HInterID, string HBillNo, int OperationType) 
 | 
        { 
 | 
            List<Pay_GroupBalBillEmp> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Pay_GroupBalBillEmp>>(msg3); 
 | 
            int i = 0;                                          //作为子表内码 
 | 
            foreach (Pay_GroupBalBillEmp oSub in DetailColl) 
 | 
            { 
 | 
                i++;                                            //同一个主表下的子表的内码自增 
 | 
  
 | 
                int HEntryID = i; 
 | 
  
 | 
                int HEmpID = oSub.HEmpID; 
 | 
                string HEmpNumber = oSub.HEmpNumber; 
 | 
                string HEmpName = oSub.HEmpName; 
 | 
                double HEmpRate = oSub.HEmpRate; 
 | 
                double HBaseTimes = oSub.HBaseTimes; 
 | 
                double HMoney = oSub.HMoney; 
 | 
                double HOtherSubsidy = oSub.HOtherSubsidy; 
 | 
                double HOtherDeduct = oSub.HOtherDeduct; 
 | 
                double HYF = oSub.HYF; 
 | 
                int HIsPay = oSub.HIsPay?1:0; 
 | 
                int HAvgFlag = oSub.HAvgFlag?1:0; 
 | 
                string HRemark = oSub.HRemark; 
 | 
  
 | 
  
 | 
  
 | 
                string sql = "insert into Pay_GroupBalBillEmp" + 
 | 
                    "(HInterID,HEntryID,HEmpID,HEmpRate,HBaseTimes,HMoney,HOtherSubsidy,HOtherDeduct,HYF,HIsPay,HAvgFlag,HRemark) " + 
 | 
                    "values(" + 
 | 
                    "" + HInterID + 
 | 
                    "," + HEntryID + 
 | 
                    "," + HEmpID + 
 | 
                    "," + HEmpRate + 
 | 
                    "," + HBaseTimes + 
 | 
                    "," + HMoney + 
 | 
                    "," + HOtherSubsidy + 
 | 
                    "," + HOtherDeduct + 
 | 
                    "," + HYF + 
 | 
                    "," + HIsPay + 
 | 
                    "," + HAvgFlag + 
 | 
                    ",'" + HRemark + 
 | 
                    "')"; 
 | 
  
 | 
                oCn.RunProc(sql); 
 | 
            } 
 | 
  
 | 
            objJsonResult.code = "1"; 
 | 
            objJsonResult.count = 1; 
 | 
            objJsonResult.Message = null; 
 | 
            objJsonResult.data = null; 
 | 
            return objJsonResult; 
 | 
        } 
 | 
        #endregion 
 | 
        #endregion 
 | 
  
 | 
        #region 工资结算单(集体) 编辑-页面赋值 
 | 
        /// <summary> 
 | 
        ///参数:string HInterID。 
 | 
        ///返回值:object。 
 | 
        /// </summary> 
 | 
        [Route("Pay_GroupBalBill/editInit")] 
 | 
        [HttpGet] 
 | 
        public object getGroupBalBilleditInit(string HInterID, string user) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                List<DataTable> tableList = new List<DataTable>(); 
 | 
  
 | 
                //查看权限 
 | 
                if (!DBUtility.ClsPub.Security_Log("Pay_GroupBalBill_Edit", 1, false, user)) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "无查看权限!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
                if (HInterID == null || HInterID.Equals("")) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "HInterID不能为空!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
                ds = oCn.RunProcReturn("exec h_p_Pay_GroupBalBill_EditInit " + HInterID, "h_p_Pay_GroupBalBill_EditInit"); 
 | 
                tableList.Add(ds.Tables[0]); 
 | 
                tableList.Add(ds.Tables[1]); 
 | 
                tableList.Add(ds.Tables[2]); 
 | 
  
 | 
                objJsonResult.code = "1"; 
 | 
                objJsonResult.count = 1; 
 | 
                objJsonResult.Message = "Sucess!"; 
 | 
                objJsonResult.data = tableList; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
            catch (Exception e) 
 | 
            { 
 | 
                objJsonResult.code = "0"; 
 | 
                objJsonResult.count = 0; 
 | 
                objJsonResult.Message = "Exception!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
  
 | 
        #region 根据班组获得职员列表 
 | 
        [Route("Pay_GroupBalBill/getEmpListBasedGroupID")] 
 | 
        [HttpGet] 
 | 
        public object getEmpListBasedGroupID(int HGroupID) 
 | 
        { 
 | 
            try 
 | 
            { 
 | 
                List<object> columnNameList = new List<object>(); 
 | 
  
 | 
                string sql = "select * from Gy_Employee where HGroupID = " + HGroupID; 
 | 
                ds = oCn.RunProcReturn(sql, "EmpList"); 
 | 
  
 | 
                if (ds.Tables[0].Rows.Count == 0) 
 | 
                { 
 | 
                    objJsonResult.code = "0"; 
 | 
                    objJsonResult.count = 0; 
 | 
                    objJsonResult.Message = "未找到该班组对应的职员列表!!"; 
 | 
                    objJsonResult.data = null; 
 | 
                    return objJsonResult; 
 | 
                } 
 | 
  
 | 
                //添加列名 
 | 
                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 = "Exception!" + e.ToString(); 
 | 
                objJsonResult.data = null; 
 | 
                return objJsonResult; 
 | 
            } 
 | 
        } 
 | 
        #endregion 
 | 
    } 
 | 
} 
 |