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 工资结算单(集体)列表 /// /// 获取工资结算单(集体)列表信息 /// /// [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; } //返回列表信息 ds = oCn.RunProcReturn("select * from h_v_Pay_GroupBalBillList where 1=1 " + sWhere + " order by hmainid desc", "h_v_Pay_GroupBalBillList"); List columnNameList = new List(); //添加列名 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_SingleBalBillPage(string sWhere, string user, int page, int size) { DataSet ds; json res = new json(); try { List columnNameList = new List(); //判断权限 if (!DBUtility.ClsPub.Security_Log(ModRightNameList, 3, false, user)) { objJsonResult.code = CodeConstant.FAIL; objJsonResult.count = CountConstant.FAIL; objJsonResult.Message = "您没有该模块权限,请与管理员联系!"; objJsonResult.data = null; return objJsonResult; } 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 objJsonResult; } } #endregion #region 工资结算单(集体) 删除 /// /// 删除工资结算单(集体) /// /// [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 工资结算单(集体) 审核/反审核 /// /// 审核/反审核工资结算单(集体) /// /// 单据ID /// 审核(1),反审核(2) /// 审核人 /// [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 工资结算单(集体) 关闭/反关闭 /// /// 关闭/反关闭工资结算单(集体) /// /// 单据ID /// 关闭(1),反关闭(2) /// 关闭人 /// [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 工资结算单(集体) 作废/反作废 /// /// 作废/反作废工资结算单(集体) /// /// 单据ID /// 作废(1),反作废(2) /// 作废人 /// [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 工资结算单(集体)模块 从列表选中打开单据,返回单据信息时调用 /// /// 工资结算单(集体)编辑时,根据单据ID获取单据信息 /// /// [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 工资结算单(集体)保存 /// /// 工资结算单(集体)保存 /// [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 lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject>(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 ls = Newtonsoft.Json.JsonConvert.DeserializeObject>(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 ls2 = Newtonsoft.Json.JsonConvert.DeserializeObject>(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 /// /// 返回工资结算个人列表(集体) ///参数:string sql。 ///返回值:object。 /// [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 Pay_GroupBalBillListCheckDetail(string HID) { if (string.IsNullOrEmpty(HID)) return new ApiResult { 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 { code = -1, msg = "不存在结算单号" }; return new ApiResult { code = 1, msg = "查询成功", data = dataSet }; } #endregion #region[工资结算个人单编辑时获取表体数据] [Route("Pay_GroupBalBill/Pay_GroupBalBillListProjectDetai")] [HttpGet] public object Pay_GroupBalBillListProjectDetai(string sqlWhere) { DataSet ds; DataSet ds1; List list = new List(); 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 设备保养计划表 保存/编辑 /// /// 保存模具维修单 /// /// /// [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 lsmain = new List(); 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 ls = new List(); 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 ls1 = new List(); 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 工资结算单(集体) 新增/编辑 /// /// 新增单据-保存按钮 ///参数:string sql。 ///返回值:object。 /// [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 mainList = Newtonsoft.Json.JsonConvert.DeserializeObject>(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 DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject>(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 DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject>(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 工资结算单(集体) 编辑-页面赋值 /// ///参数:string HInterID。 ///返回值:object。 /// [Route("Pay_GroupBalBill/editInit")] [HttpGet] public object getGroupBalBilleditInit(string HInterID, string user) { try { List tableList = new List(); //查看权限 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 columnNameList = new List(); 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 } }