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_ErrWorkTimesRequestBillController : ApiController { public DBUtility.ClsPub.Enum_BillStatus BillStatus; public const string ModName = "2231"; //单据类型 public const string ModCaption = "异常工时申请单"; //单据名称 public const string ModRightName = "Pay_ErrWorkTimesRequestBill"; 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_ErrWorkTimesRequestBill oBill = new DAL.ClsPay_ErrWorkTimesRequestBill(); #region 异常工时申请单列表 /// /// 获取异常工时申请单列表信息 /// /// [Route("Pay_ErrWorkTimesRequestBillController/GetPay_ErrWorkTimesRequestBillList_Json")] [HttpGet] public object GetPay_ErrWorkTimesRequestBillList_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_ErrWorkTimesRequestBillList where 1=1 " + sWhere + " order by hmainid desc", "h_v_Pay_ErrWorkTimesRequestBillList"); 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_ErrWorkTimesRequestBillController/page")] [HttpGet] public json Pay_ErrWorkTimesRequestBillPage(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_ErrWorkTimesRequestBillList " + page + "," + size + ",''", "h_p_Pay_ErrWorkTimesRequestBillList"); } else { ds = oCn.RunProcReturn("exec h_p_Pay_ErrWorkTimesRequestBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_Pay_ErrWorkTimesRequestBillList"); } //添加列名 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 异常工时申请单删除 /// /// 删除异常工时申请单 /// /// [Route("Pay_ErrWorkTimesRequestBillController/GetPay_ErrWorkTimesRequestBill_Delete_Json")] [HttpGet] public object GetPay_ErrWorkTimesRequestBill_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_ErrWorkTimesRequestBill_BeforeDelCtrl " + HInterID.ToString() + ",'" + HMaker + "'", "h_p_Pay_ErrWorkTimesRequestBill_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_ErrWorkTimesRequestBill_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_ErrWorkTimesRequestBillController/GetPay_ErrWorkTimesRequestBill_Check_Json")] [HttpGet] public object GetPay_ErrWorkTimesRequestBill_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_ErrWorkTimesRequestBill_BeforeCheckCtrl " + HInterID.ToString() + ",'" + HMaker + "'", "h_p_Pay_ErrWorkTimesRequestBill_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_ErrWorkTimesRequestBill_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_ErrWorkTimesRequestBill_BeforeUnCheckCtrl " + HInterID.ToString() + ",'" + HMaker + "'", "h_p_Pay_ErrWorkTimesRequestBill_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_ErrWorkTimesRequestBill_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_ErrWorkTimesRequestBillController/GetPay_ErrWorkTimesRequestBill_Close_Json")] [HttpGet] public object GetPay_ErrWorkTimesRequestBill_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_ErrWorkTimesRequestBillController/GetPay_ErrWorkTimesRequestBill_Cancelltion_Json")] [HttpGet] public object GetPay_ErrWorkTimesRequestBill_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 异常工时申请单 #region 表头 public class Pay_ErrWorkTimesRequestBillMain { public int HInterID; public string HBillNo; public string HDate; public string HInnerBillNo; public int HDeptID; public string HDeptName; public int HGroupID; public string HGroupName; public int HMangerID; public string HManagerName; public int HICMOInterID; public string HICMOBillNo; public string HExplanation; public double HSumRequestTimes; public int HMaterID; public string HMaterName; public int HUnitID; public string HUnitName; public double HPlanQty; public string HBatchNo; 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 子表 public class Pay_ErrWorkTimesRequestBillSub { public int HEmpID; public string HEmpNumber; public string HEmpName; public int HWorkTypeID; public string HWorkTypeNumber; public string HWorkTypeName; public double HPayMoney; public string HBTimes; public string HETimes; public double HTimes; public double HRelTimes; public double HRelPay; public string HRemark; public int HSourceInterID; public int HSourceEntryID; public string HSourceBillNo; public string HSourceBillType; public double HRelationQty; public double HRelationMoney; public string HCloseMan; public string HEntryCloseDate; } #endregion #region 异常工时申请单 新增/编辑 /// /// 新增单据-保存按钮 ///参数:string sql。 ///返回值:object。 /// [Route("Pay_ErrWorkTimesRequestBill/AddErrWorkTimesRequestBill")] [HttpPost] public object AddBill_Pay_ErrWorkTimesRequestBill([FromBody] JObject sMainSub) { //获取参数 var _value = sMainSub["sMainSub"].ToString(); string msg1 = _value.ToString(); //开始事务 oCn.BeginTran(); //保存主表 objJsonResult = AddBillMain_Pay_ErrWorkTimesRequestBill(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_ErrWorkTimesRequestBill(string msg1) { string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); int OperationType = int.Parse(sArray[2].ToString());//数据类型 1添加 3修改 2 复制 string user = sArray[3].ToString();//用户名 string HComputerName = SystemInformation.ComputerName; //设备名称 try { if (OperationType == 1) { //判断是否有编辑权限 if (!DBUtility.ClsPub.Security_Log("Pay_ErrWorkTimesRequestBill_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_ErrWorkTimesRequestBill_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 = "2231"; 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 HDeptID = mainList[0].HDeptID; int HGroupID = mainList[0].HGroupID; int HMangerID = mainList[0].HMangerID; int HICMOInterID = mainList[0].HICMOInterID; string HICMOBillNo = mainList[0].HICMOBillNo; string HExplanation = mainList[0].HExplanation; double HSumRequestTimes = mainList[0].HSumRequestTimes; int HMaterID = mainList[0].HMaterID; int HUnitID = mainList[0].HUnitID; double HPlanQty = mainList[0].HPlanQty; string HBatchNo = mainList[0].HBatchNo; string HRemark = mainList[0].HRemark; string HMaker = mainList[0].HMaker; string HMakerDate = mainList[0].HMakerDate; string HUpdater = mainList[0].HUpdater; string HUpdaterDate = mainList[0].HUpdaterDate; 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_ErrWorkTimesRequestBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Pay_ErrWorkTimesRequestBill_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_ErrWorkTimesRequestBillMain where HInterID = " + HInterID + " and HBillNo = '" + HBillNo + "'", "Pay_ErrWorkTimesRequestBillMain"); if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//新增 { string sql = "insert into Pay_ErrWorkTimesRequestBillMain" + "(HYear,HPeriod,HBillType,HBillSubType,HBillStatus,HInterID,HBillNo,HDate,HInnerBillNo,HDeptID,HGroupID,HMangerID,HICMOInterID,HICMOBillNo,HExplanation,HSumRequestTimes,HMaterID,HUnitID,HPlanQty,HBatchNo,HRemark, HMaker,HMakeDate,HIsImport) " + "values(" + "" + HYear + "," + HPeriod + ",'" + HBillType + "','" + HBillSubType + "'," + HBillStatus + "," + HInterID + ",'" + HBillNo + "','" + HDate + "','" + HInnerBillNo + "'," + HDeptID + "," + HGroupID + "," + HMangerID + "," + HICMOInterID + ",'" + HICMOBillNo + "','" + HExplanation + "'," + HSumRequestTimes + "," + HMaterID + "," + HUnitID + "," + HPlanQty + ",'" + HBatchNo + "','" + HRemark + "','" + HMaker + "','" + HMakerDate + "','" + 0 + //判断是否是导入 "')"; //主表 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_ErrWorkTimesRequestBillMain set " + "HYear = " + HYear + ", HPeriod = " + HPeriod + ", HBillNo = '" + HBillNo + "', HDate = '" + HDate + "', HInnerBillNo = '" + HInnerBillNo + "', HDeptID = " + HDeptID + ", HGroupID = " + HGroupID + ", HMangerID = " + HMangerID + ", HICMOInterID = " + HICMOInterID + ", HICMOBillNo = '" + HICMOBillNo + "', HExplanation = '" + HExplanation + "', HSumRequestTimes = " + HSumRequestTimes + ", HMaterID = " + HMaterID + ", HUnitID = " + HUnitID + ", HPlanQty = " + HPlanQty + ", HBatchNo = '" + HBatchNo + "', HRemark = '" + HRemark + "', HUpdater = '" + HUpdater + "', HUpdateDate = '" + HUpdaterDate + "' where HInterID = " + HInterID; oCn.RunProc(sql); //删除子表 oCn.RunProc("delete from Pay_ErrWorkTimesRequestBillSub 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_ErrWorkTimesRequestBill(msg3, 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_ErrWorkTimesRequestBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Pay_ErrWorkTimesRequestBill_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 添加 异常工时申请单 子表 public json AddBillSub1_Pay_ErrWorkTimesRequestBill(string msg3, long HInterID, string HBillNo, int OperationType) { List DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg3); int i = 0; //作为子表内码 foreach (Pay_ErrWorkTimesRequestBillSub oSub in DetailColl) { i++; //同一个主表下的子表的内码自增 int HEntryID = i; int HEmpID = oSub.HEmpID; int HWorkTypeID = oSub.HWorkTypeID; double HPayMoney = oSub.HPayMoney; string HBTimes = oSub.HBTimes; string HETimes = oSub.HETimes; double HTimes = oSub.HTimes; double HRelTimes = oSub.HRelTimes; double HRelPay = oSub.HRelPay; string HRemark = oSub.HRemark; 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_ErrWorkTimesRequestBillSub" + "(HInterID,HEntryID,HEmpID,HWorkTypeID,HPayMoney,HBTimes,HETimes,HTimes,HRelTimes,HRelPay,HRemark, HSourceInterID,HSourceEntryID,HSourceBillNo" + ",HSourceBillType,HRelationQty,HRelationMoney) " + "values(" + "" + HInterID + "," + HEntryID + "," + HEmpID + "," + HWorkTypeID + "," + HPayMoney + ",'" + HBTimes + "','" + HETimes + "'," + HTimes + "," + HRelTimes + "," + HRelPay + ",'" + HRemark + "'," + HSourceInterID + "," + HSourceEntryID + ",'" + HSourceBillNo + "','" + HSourceBillType + "'," + HRelationQty + "," + HRelationMoney + ")"; 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_ErrWorkTimesRequestBill/editInit")] [HttpGet] public object getErrWorkTimesRequestBilleditInit(string HInterID, string user) { try { List tableList = new List(); //查看权限 if (!DBUtility.ClsPub.Security_Log("Pay_ErrWorkTimesRequestBill_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_ErrWorkTimesRequestBill_EditInit " + HInterID, "h_p_Pay_ErrWorkTimesRequestBill_EditInit"); tableList.Add(ds.Tables[0]); tableList.Add(ds.Tables[1]); 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 } }