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<ClsSb_EquipRepairSendWorkBillSub> DetailColl = new List<ClsSb_EquipRepairSendWorkBillSub>(); 
 | 
        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_EquipRepairSendWorkBillList where 1=1 "; 
 | 
                if (sWhere == "" || sWhere == null) 
 | 
                { 
 | 
                    ds = oCN.RunProcReturn(sql+ " order by hmainid desc ", "h_v_Sb_EquipRepairSendWorkBillList"); 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    ds = oCN.RunProcReturn(sql + sWhere+ " order by hmainid desc ", "h_v_Sb_EquipRepairSendWorkBillList"); 
 | 
                } 
 | 
  
 | 
                //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/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<ClsSb_EquipRepairSendWorkBillMain>(msg2); 
 | 
                string BillType = "3909"; 
 | 
  
 | 
  
 | 
                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<List<ClsSb_EquipRepairSendWorkBillSub>>(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++; 
 | 
            } 
 | 
  
 | 
            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; 
 | 
                } 
 | 
                if (oBill.DeleteBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo)) 
 | 
                { 
 | 
                    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 
 | 
    } 
 | 
} 
 |