using DBUtility; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Web; using System.Web.Http; using WebAPI.DLL; using WebAPI.Models; namespace WebAPI.Controllers.SBGL { public class Sb_EquipRepairSendWorkBillController : ApiController { public DBUtility.ClsPub.Enum_BillStatus BillStatus; ClsSb_EquipRepairSendWorkBillMain omodel = new ClsSb_EquipRepairSendWorkBillMain(); List DetailColl = new List(); public DAL.ClsSb_EquipRepairSendWorkBill BillOld = new DAL.ClsSb_EquipRepairSendWorkBill(); ClsSb_EquipRepairSendWorkBill oBill = new ClsSb_EquipRepairSendWorkBill(); private json objJsonResult = new json(); SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); DataSet ds; #region 设备维修派工单查询列表 [Route("Sb_EquipRepairSendWorkBill/GetEquipRepairSendWorkBillList")] [HttpGet] public object GetEquipRepairSendWorkBillList(string sWhere,string user) { try { if (!DBUtility.ClsPub.Security_Log("Sb_EquipRepairSendWorkBillList", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查看权限!"; objJsonResult.data = null; return objJsonResult; } string sql = "select * from h_v_Sb_EquipRepairSendWorkBill_Edit where 1=1 "; if (sWhere == "" || sWhere == null) { ds = oCN.RunProcReturn(sql+ " order by hmainid desc ", "h_v_Sb_EquipRepairSendWorkBill_Edit"); } else { ds = oCN.RunProcReturn(sql + sWhere+ " order by hmainid desc ", "h_v_Sb_EquipRepairSendWorkBill_Edit"); } //if (ds.Tables[0].Rows.Count != 0 || ds != null) //{ objJsonResult.code = "1"; objJsonResult.count = ds.Tables[0].Rows.Count; objJsonResult.Message = "Sucess!"; objJsonResult.data = ds.Tables[0]; 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 = "Exception" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 设备派工单分页查询 [Route("Sb_EquipRepairSendWorkBill/GetEquipRepairSendWorkBillListPage")] [HttpGet] public object GetEquipRepairSendWorkBillListPage(string sWhere, string user, int page, int size) { try { List columnNameList = new List(); //编辑权限 if (!DBUtility.ClsPub.Security_Log_second("Sb_EquipRepairSendWorkBillList", 3, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无查看权限!"; objJsonResult.data = null; return objJsonResult; } sWhere = sWhere.Replace("'", "''"); if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("exec h_p_Sb_EquipRepairSendWorkBillListPage " + page + "," + size + ",''", "h_p_Sb_EquipRepairSendWorkBillListPage"); } else { ds = oCN.RunProcReturn("exec h_p_Sb_EquipRepairSendWorkBillListPage " + page + "," + size + ",'" + sWhere + "'", "h_p_Sb_EquipRepairSendWorkBillListPage"); } //添加列名 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 = int.Parse(ds.Tables[1].Rows[0]["count"].ToString()); objJsonResult.Message = "Sucess!"; objJsonResult.list = columnNameList; 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; } } #endregion #region 设备维修派工单 添加/修改 [Route("Sb_EquipRepairSendWorkBill/AddEquipRepairSendWorkBill")] [HttpPost] public object AddBill([FromBody] JObject sMainSub) { var _value = sMainSub["sMainSub"].ToString(); string msg1 = _value.ToString(); oCN.BeginTran(); //保存主表 objJsonResult = AddBillMain(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 = null; return objJsonResult; } public json AddBillMain(string msg1) { string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries); string msg2 = sArray[0].ToString(); string msg3 = sArray[1].ToString(); int hentryid = int.Parse(sArray[2].ToString());//子表的顺序id int OperationType = int.Parse(sArray[3].ToString());//数据类型 1添加 3修改 string msg4 = sArray[4].ToString(); try { if (!DBUtility.ClsPub.Security_Log("Sb_EquipRepairSendWorkBill_Edit", 1, false, msg4)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无保存权限!"; objJsonResult.data = null; return objJsonResult; } omodel = Newtonsoft.Json.JsonConvert.DeserializeObject(msg2); string BillType = "3909"; //保存前控制========================================= DataSet ds = oCN.RunProcReturn("Exec h_p_Sb_EquipRepairSendWorkBill_BeforeSaveCtrl " + omodel.HInterID + ",'" + omodel.HBillNo + "','',1", "h_p_Sb_EquipRepairSendWorkBill_BeforeSaveCtrl"); if (ds == null) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存前判断失败!"; objJsonResult.data = null; return objJsonResult; } if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); objJsonResult.data = null; return objJsonResult; } //========================================================= if (OperationType == 1)//新增 { //主表 oCN.RunProc("Insert Into Sb_EquipRepairSendWorkBillMain" + "(HBillType,HBillSubType,HInterID,HBillNo,HDate" + ",HYear,HPeriod,HRemark,HMaker,HMakeDate" + ",HEquipID,HExplanation,HInnerBillNo,HRepairID,HEmpID" + ",HManagerID,HDeptID,HRepairContent,HRepairPlanBeginDate,HRepairPlanEndDate" + ",HPlanTimes,HCycleUnit" + ") " + " values('" + BillType + "','" + BillType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" + ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + omodel.HMaker + "',getdate()" + ", " + omodel.HEquipID.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + omodel.HRepairID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HManagerID.ToString() + "," + omodel.HDeptID.ToString() + ",'" + omodel.HRepairContent + "','" + omodel.HRepairPlanBeginDate + "','" + omodel.HRepairPlanEndDate + "'" + "," + omodel.HPlanTimes.ToString() + ",'" + omodel.HCycleUnit + "'" + ") "); } else if (OperationType == 3) { //修改 oCN.RunProc("UpDate Sb_EquipRepairSendWorkBillMain set " + "HDate='" + omodel.HDate + "'" + ",HYear='" + omodel.HYear.ToString() + "'" + ",HPeriod='" + omodel.HPeriod.ToString() + "'" + ",HRemark='" + omodel.HRemark + "'" + ",HUpDater='" + omodel.HUpDater + "'" + ",HUpDateDate=getdate()" + //========================================= ",HEquipID=" + omodel.HEquipID.ToString() + ",HRepairID=" + omodel.HRepairID.ToString() + ",HPlanTimes=" + omodel.HPlanTimes.ToString() + ",HEmpID=" + omodel.HEmpID.ToString() + ",HManagerID=" + omodel.HManagerID.ToString() + ",HDeptID=" + omodel.HDeptID.ToString() + ",HRepairPlanBeginDate='" + omodel.HRepairPlanBeginDate + "'" + ",HRepairPlanEndDate='" + omodel.HRepairPlanEndDate + "'" + ",HRepairContent='" + omodel.HRepairContent + "'" + ",HCycleUnit='" + omodel.HCycleUnit + "'" + ",HExplanation='" + omodel.HExplanation + "'" + ",HInnerBillNo='" + omodel.HInnerBillNo + "'" + " where HInterID=" + omodel.HInterID); //删除子表 oCN.RunProc("delete from Sb_EquipRepairSendWorkBillSub where HInterID='" + omodel.HInterID + "' and HEntryID='" + hentryid + "'"); } //保存子表 objJsonResult = AddBillSub(msg3, hentryid); if (objJsonResult.code == "0") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = objJsonResult.Message; objJsonResult.data = null; return objJsonResult; } 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; } } public json AddBillSub(string msg3, int hentryid) { DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject>(msg3); int i = 1; //插入子表 foreach (Models.ClsSb_EquipRepairSendWorkBillSub oSub in DetailColl) { oCN.RunProc("Insert into Sb_EquipRepairSendWorkBillSub " + " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" + ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + ",HRepairID,HManagerID,HRepairExplanation" + ") values(" + omodel.HInterID.ToString() + "," + (hentryid == -1 ? i : hentryid) + ",'" + oSub.HCloseMan + "'," + oSub.HEntryCloseDate.ToShortDateString() + "," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" + "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() + "," + oSub.HRepairID.ToString() + "," + oSub.HManagerID.ToString() + ",'" + oSub.HRepairExplanation + "'" + ") "); i++; } //保存后控制========================================= DataSet ds = oCN.RunProcReturn("Exec h_p_Sb_EquipRepairSendWorkBill_AfterSaveCtrl " + omodel.HInterID + ",'" + omodel.HBillNo + "','',1", "h_p_Sb_EquipRepairSendWorkBill_AfterSaveCtrl"); if (ds == null) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存前判断失败!"; objJsonResult.data = null; return objJsonResult; } if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]); objJsonResult.data = null; return objJsonResult; } //========================================================= objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = null; objJsonResult.data = null; return objJsonResult; } #endregion #region 设备维修派工单 删除 [Route("Sb_EquipRepairSendWorkBill/DeleteWorkBill")] [HttpGet] public object MouldDeleteBill(long HInterID, string User) { try { //判断权限 if (!DBUtility.ClsPub.Security_Log("Sb_EquipRepairSendWorkBill_Delete", 1, false, User)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "没有删除权限"; objJsonResult.data = null; return objJsonResult; } oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo); if (oBill.omodel.HChecker != "") { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "单据当前已审核"; objJsonResult.data = null; return objJsonResult; } //删除前控制========================================= string sql1 = "exec h_p_Sb_EquipRepairSendWorkBill_BeforeDelCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + User + "'"; ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipRepairSendWorkBill_BeforeDelCtrl"); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "删除失败!原因:删除前判断失败,请与网络管理人员联系"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "删除失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; objJsonResult.data = null; return objJsonResult; } //================================================================================== bool IsDete = oBill.DeleteBill(Convert.ToInt32(HInterID), oBill.omodel.HBillNo, "h_p_Sb_EquipRepairSendWorkBill_AfterDelCtrl", User, ref DBUtility.ClsPub.sExeReturnInfo); if (IsDete) { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "删除成功"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "删除失败"; objJsonResult.data = null; return objJsonResult; } } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限删除"; objJsonResult.data = null; return objJsonResult; } } #endregion //#region 设备维修派工单 审核/反审核 //[Route("Sb_EquipRepairSendWorkBill/EquipAuditBill")] //[HttpGet] //public object EquipAuditBill(int HInterID, int IsAudit, string CurUserName) //{ // string ModRightNameCheck = "Sb_EquipRepairSendWorkBill_Check"; //该模块的审核功能 // DBUtility.ClsPub.CurUserName = CurUserName;//存储用户名 // try // { // ////判断是否有审核权限 // if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName)) // { // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "审核失败!无权限!"; // objJsonResult.data = null; // return objJsonResult; // } // if (HInterID <= 0) // { // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "ID小于0"; // objJsonResult.data = null; // return objJsonResult; // } // Int64 lngBillKey = 0; // lngBillKey = DBUtility.ClsPub.isLong(HInterID);//数据转换 // //查询审核的数据 // ds = oCN.RunProcReturn("select * from Sb_EquipRepairSendWorkBillMain where HInterID='" + HInterID + "'", "Sb_EquipRepairSendWorkBillMain"); // if (ds.Tables[0].Rows.Count > 0) // { // var hcloseman = ds.Tables[0].Rows[0]["hcloseman"].ToString();//关闭人 // var hdeleteman = ds.Tables[0].Rows[0]["hdeleteman"].ToString();//作废人 // var hchecker = ds.Tables[0].Rows[0]["hchecker"].ToString();//审核人 // if (hcloseman != "") // { // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "当前单据已关闭,无法审核!"; // objJsonResult.data = null; // return objJsonResult; // } // if (hdeleteman != "") // { // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "当前单据已作废,无法审核!"; // objJsonResult.data = null; // return objJsonResult; // } // //IsAudit==0 审核 // if (IsAudit == 0) // { // if (hchecker != "") // { // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "当前单据已审核,无法再次审核!"; // objJsonResult.data = null; // return objJsonResult; // } // } // //IsAudit==1 反审核 // if (IsAudit == 1) // { // if (hchecker == "") // { // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "当前单据未审核,无法反审核!"; // objJsonResult.data = null; // return objJsonResult; // } // } // } // else // { // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "单据不存在;原因:" + DBUtility.ClsPub.sExeReturnInfo; // objJsonResult.data = null; // return objJsonResult; // } // //审核提交 // if (IsAudit == 0) // { // if (CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) // { // objJsonResult.code = "1"; // objJsonResult.count = 1; // objJsonResult.Message = "审核成功!"; // objJsonResult.data = null; // return objJsonResult; // } // else // { // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "审核失败!"; // objJsonResult.data = null; // return objJsonResult; // } // } // //反审核提交 // if (IsAudit == 1) // { // if (AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo)) // { // objJsonResult.code = "1"; // objJsonResult.count = 1; // objJsonResult.Message = "反审核成功!"; // objJsonResult.data = null; // return objJsonResult; // } // else // { // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "反审核失败!"; // objJsonResult.data = null; // return objJsonResult; // } // } // return objJsonResult; // } // catch (Exception e) // { // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "审核失败或反审核失败" + e.ToString(); // objJsonResult.data = null; // return objJsonResult; // } //} ////审核 //public bool CheckBill(Int64 lngBillKey, ref string sReturn) //{ // try // { // string Hchecker = DBUtility.ClsPub.CurUserName; // oCN.BeginTran();//打开事务 // oCN.RunProc("update Sb_EquipRepairSendWorkBillMain set HBillStatus=2,hchecker='"+Hchecker+ "',hcheckdate='"+DateTime.Now+ "' where HInterID='"+ lngBillKey + "'"); // oCN.Commit();//关闭事务 // sReturn = "审核成功!"; // return true; // } // catch (Exception e) // { // sReturn = e.Message; // throw (e); // } //} ////反审核 //public bool AbandonCheck(Int64 lngBillKey, ref string sReturn) //{ // try // { // string Hchecker = DBUtility.ClsPub.CurUserName; // oCN.BeginTran();//打开事务 // oCN.RunProc("update Sb_EquipRepairSendWorkBillMain set HBillStatus=1,hchecker='',hcheckdate=null where HInterID='" + lngBillKey + "'"); // oCN.Commit();//关闭事务 // sReturn = "反审核单据成功!"; // return true; // } // catch (Exception e) // { // sReturn = e.Message; // throw(e); // } //} //#endregion #region 审核/反审核 /// /// /// /// 单据ID /// 审核(0),反审核(1) /// 审核人 /// [Route("Sb_EquipRepairSendWorkBill/AuditSb_EquipRepairSendWorkBill")] [HttpGet] public object AuditSb_EquipRepairSendWorkBill(string HInterID, int Type, string user) { try { //判断是否有审核权限 if (!DBUtility.ClsPub.Security_Log("Sb_EquipRepairSendWorkBill_Check", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限审核!"; objJsonResult.data = null; return objJsonResult; } if (string.IsNullOrWhiteSpace(HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID为空!"; objJsonResult.data = null; return objJsonResult; } ClsPub.CurUserName = user; BillOld.MvarItemKey = "Sb_EquipRepairSendWorkBillMain"; oCN.BeginTran();//开始事务 //Type 1 审核 2 反审核 if (Type == 1) { //判断单据是否已经审核 DataSet ds; string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已审核!不能再次审核!"; objJsonResult.data = null; return objJsonResult; } //审核前控制========================================= string sql1 = "exec h_p_Sb_EquipRepairSendWorkBill_BeforeCheckCtrl " + HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'"; ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipRepairSendWorkBill_BeforeCheckCtrl"); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:审核前判断失败,请与网络管理人员联系"; objJsonResult.data = null; oCN.RollBack(); return objJsonResult; } if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; objJsonResult.data = null; oCN.RollBack(); return objJsonResult; } //================================================================================== if (!BillOld.CheckBill(int.Parse(HInterID), BillOld.omodel.HBillNo, "h_p_Sb_EquipRepairSendWorkBill_AfterCheckCtrl", user, ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } } else { //判断单据是否已经反审核 DataSet ds; string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能进行反审核!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不能进行反审核!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未审核!不需要反审核!"; objJsonResult.data = null; return objJsonResult; } //反审核前控制========================================= string sql1 = "exec h_p_Sb_EquipRepairSendWorkBill_BeforeUnCheckCtrl " + HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'"; ds = oCN.RunProcReturn(sql1, "h_p_Sb_EquipRepairSendWorkBill_BeforeUnCheckCtrl"); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反审核失败!原因:反审核前判断失败,请与网络管理人员联系"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "反审核失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; objJsonResult.data = null; return objJsonResult; } //=========================================================== if (!BillOld.AbandonCheck(int.Parse(HInterID), BillOld.omodel.HBillNo, "h_p_Sb_EquipRepairSendWorkBill_AfterUnCheckCtrl", user, ref ClsPub.sExeReturnInfo)) { objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } } oCN.Commit();//提交事务 objJsonResult.code = "0"; objJsonResult.count = 1; 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 关闭/反关闭功能 [Route("Sb_EquipRepairSendWorkBill/CloseSb_EquipRepairSendWorkBill")] [HttpGet] public object CloseSb_EquipRepairSendWorkBill(string HInterID, int Type, string user) { try { //判断是否有删除权限 if (!DBUtility.ClsPub.Security_Log("Sb_EquipRepairSendWorkBill_Close", 1, false, user)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "无权限关闭!"; objJsonResult.data = null; return objJsonResult; } if (string.IsNullOrWhiteSpace(HInterID)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "HInterID为空!"; objJsonResult.data = null; return objJsonResult; } ClsPub.CurUserName = user; BillOld.MvarItemKey = "Sb_EquipRepairSendWorkBillMain"; oCN.BeginTran();//开始事务 //Type 1 关闭 2 反关闭 if (Type == 1) { //判断单据是否已经关闭 DataSet ds; string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); if (ds == null || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据不存在!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不能进行关闭!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未审核!不能进行关闭!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已关闭!不能再次关闭!"; objJsonResult.data = null; return objJsonResult; } string sql2 = ""; //关闭前控制===============================================Begin=================================================================== sql2 = "exec h_p_Sb_EquipRepairSendWorkBill_BeforeCloseCtrl " + HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'"; ds = oCN.RunProcReturn(sql2, "h_p_Sb_EquipRepairSendWorkBill_BeforeCloseCtrl"); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "关闭失败!原因:关闭前前判断失败,无返回信息,请与网络管理人员联系"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "关闭失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; objJsonResult.data = null; return objJsonResult; } //关闭前控制===============================================End=================================================================== //关闭提交 if (BillOld.CloseBill(Convert.ToInt32(HInterID), BillOld.omodel.HBillNo, "h_p_Sb_EquipRepairSendWorkBill_AfterCloseCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true) { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "关闭成功"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "关闭失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } } else { //判断单据是否已经反关闭 DataSet ds; string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID; ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey); if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) { if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据已作废!不能进行关闭!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HChecker"] == null || ds.Tables[0].Rows[0]["HChecker"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未审核!不能进行关闭!"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "单据未关闭!不需要再反关闭!"; objJsonResult.data = null; return objJsonResult; } string sql2 = ""; //反关闭前控制===============================================Begin=================================================================== sql2 = "exec h_p_Sb_EquipRepairSendWorkBill_BeforeUnCloseCtrl " + HInterID + ",'" + BillOld.omodel.HBillNo + "','" + user + "'"; ds = oCN.RunProcReturn(sql2, "h_p_Sb_EquipRepairSendWorkBill_BeforeUnCloseCtrl"); if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "反关闭失败!原因:反关闭前前判断失败,无返回信息,请与网络管理人员联系"; objJsonResult.data = null; return objJsonResult; } if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0") { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "反关闭失败!原因:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ; objJsonResult.data = null; return objJsonResult; } //反关闭前控制===============================================End=================================================================== //反关闭提交 if (BillOld.CancelClose(Convert.ToInt32(HInterID), BillOld.omodel.HBillNo, "h_p_Sb_EquipRepairSendWorkBill_AfterUnCloseCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true) { objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "反关闭成功"; objJsonResult.data = null; return objJsonResult; } else { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "反关闭失败!原因:" + DBUtility.ClsPub.sExeReturnInfo; objJsonResult.data = null; return objJsonResult; } } } oCN.Commit();//提交事务 objJsonResult.code = "0"; objJsonResult.count = 1; 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 } }