WebAPI/Controllers/SBGL/Sb_EquipMaintainPlanBillController.cs
@@ -1,4 +1,5 @@
using Newtonsoft.Json.Linq;
using DBUtility;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
@@ -11,6 +12,7 @@
        private json objJsonResult = new json();
        public DataSet ds = new DataSet();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        public DAL.ClsSb_EquipMaintainPlanBill BillOld = new DAL.ClsSb_EquipMaintainPlanBill();
        #region 设备保养计划表
@@ -20,10 +22,19 @@
        /// <returns></returns>
        [Route("Sb_EquipMaintainPlanBill/GetEquipMaintainPlanBillList")]
        [HttpGet]
        public object GetEquipMaintainPlanBillList(string sWhere)
        public object GetEquipMaintainPlanBillList(string sWhere,string user)
        {
            try
            {
                if (!DBUtility.ClsPub.Security_Log("Sb_EquipMaintainPlanBillList", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_Sc_EquipMaintainPlan " + sWhere + " order by hmainid desc", "h_v_Sc_EquipMaintainPlan");
@@ -34,22 +45,13 @@
                    string sql = sql1 + sWhere + " order by hmainid desc";
                    ds = oCN.RunProcReturn(sql, "h_v_Sc_EquipMaintainPlan");
                }
                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 = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "返回记录成功!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception ex)
            {
@@ -86,11 +88,20 @@
            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("Sc_MouldDotCheckBill_Edit", 1, false, msg5))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                DAL.ClsSb_EquipMaintainPlanBill oBill = new DAL.ClsSb_EquipMaintainPlanBill();
                List<Model.ClsSb_EquipMaintainPlanBillMain> lsmain = new List<Model.ClsSb_EquipMaintainPlanBillMain>();
                msg2 = msg2.Replace("\\", "");
@@ -157,39 +168,36 @@
                }
                //配件项表体数据
                //按 },{来拆分数组 //去掉【和】
                if (msg4 != "undefined" && msg4 != "" && msg4 != "[]")
                msg4 = msg4.Substring(1, msg4.Length - 2);
                msg4 = msg4.Replace("\\", "");
                msg4 = msg4.Replace("\n", "");  //\n
                                                //msg2 = msg2.Replace("'", "’");
                List<Model.ClsSb_EquipMaintainPlanBillSub> ls1 = new List<Model.ClsSb_EquipMaintainPlanBillSub>();
                ls1 = oListModels.getObjectByJson_Sb_EquipMaintainPlanBillSub(msg4);
                int j = 0;
                foreach (Model.ClsSb_EquipMaintainPlanBillSub oItemSub in ls1)
                {
                    msg4 = msg4.Substring(1, msg4.Length - 2);
                    msg4 = msg4.Replace("\\", "");
                    msg4 = msg4.Replace("\n", "");  //\n
                                                    //msg2 = msg2.Replace("'", "’");
                    List<Model.ClsSb_EquipMaintainPlanBillSub> ls1 = new List<Model.ClsSb_EquipMaintainPlanBillSub>();
                    ls1 = oListModels.getObjectByJson_Sb_EquipMaintainPlanBillSub(msg4);
                    int j = 0;
                    foreach (Model.ClsSb_EquipMaintainPlanBillSub 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;     //关联数量
                                                       //oItemSub.HRelationMoney = 0;   //关联金额
                                                       //HMaterID = "";//配件代码
                                                       //HUnitID = "";//单位代码
                                                       //HQty = "";//实际用量
                                                       //HQtyMust = "";//单位用量
                                                       //HRemark = "";//备注
                    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;     //关联数量
                                                   //oItemSub.HRelationMoney = 0;   //关联金额
                                                   //HMaterID = "";//配件代码
                                                   //HUnitID = "";//单位代码
                                                   //HQty = "";//实际用量
                                                   //HQtyMust = "";//单位用量
                                                   //HRemark = "";//备注
                        oBill.DetailColl.Add(oItemSub);
                    oBill.DetailColl.Add(oItemSub);
                    }
                }
                //保存
                //保存完毕后处理
@@ -238,8 +246,16 @@
        /// <returns></returns>
        [Route("Sb_EquipMaintainPlanBill/DeltetEquipMaintainPlanBillList")]
        [HttpGet]
        public object DeltetEquipMaintainPlanBillList(string HInterID)
        public object DeltetEquipMaintainPlanBillList(string HInterID,string user)
        {
            if (!DBUtility.ClsPub.Security_Log("Sb_EquipMaintainPlanBill_Delete", 1, false, user))
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "无删除权限!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            Int64 lngBillKey = 0;
            lngBillKey = DBUtility.ClsPub.isLong(HInterID);
            if (lngBillKey == 0)
@@ -313,7 +329,7 @@
            return new ApiResult<DataSet> { code = 1, msg = "查询成功", data = dataSet };
        }
        #endregion
        #region[设备保养计划表编辑时获取表题数据]
        #region[设备保养计划表编辑时获取表头数据]
        [Route("Sb_EquipMaintainPlanBill/Sb_EquipMaintainPlanBillListProjectDetai")]
        [HttpGet]
        public object Sb_EquipMaintainPlanBillListProjectDetai(string sqlWhere)
@@ -378,7 +394,7 @@
                //获取配件项目编辑数据
                string sql1 = "select HMaterID, 配件代码 HMaterNumber,配件名称 HMaterName,单位ID HUnitID,单位代码 HUnitNumber,单位名称 HUnitName,用量 HQty,标准用量 HQtyMust,表体备注 HRemark,负责人ID HManagerID,负责人代码 HManagerNumber,负责人 HManagerName  from h_v_Sb_EquipMaintainPlanBillList where 1 = 1 " + Swhere + "";
                ds1 = oCN.RunProcReturn(sql1, "h_v_Sb_EquipMaintainPlanBillList");
                list.Add(ds.Tables[0]);
                list.Add(ds1.Tables[0]);
                objJsonResult.code = "0";
@@ -397,7 +413,245 @@
        }
        #endregion
        #region[设备保养记录表,选保养计划获取保养计划清单信息]
        [Route("Sb_EquipMaintainPlanBill/Sb_EquipMaintainPlanBill_PlanList")]
        [HttpGet]
        public object Sb_EquipMaintainPlanBill_PlanList(string HInterID, string HDate)
        {
            DataSet ds,ds1;
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                List<DataTable> tableList = new List<DataTable>();
                //获取保养项目
                ds = oCN.RunProcReturn("exec h_p_Sb_EquipMaintain_GetPlanList " + HInterID + ",'" + HDate + "'", "h_p_Sb_EquipMaintain_GetPlanList");
                //获取配件项目编辑数据
                string sql1 = "select HMaterID, 配件代码 HMaterNumber,配件名称 HMaterName,单位ID HUnitID,单位代码 HUnitNumber,单位名称 HUnitName,用量 HQty,标准用量 HQtyMust,表体备注 HRemark,负责人ID HManagerID,负责人代码 HManagerNumber,负责人 HManagerName  from h_v_Sb_EquipMaintainPlanBillList where 1 = 1 and hmainid = " + HInterID;
                ds1 = oCN.RunProcReturn(sql1, "h_v_Sb_EquipMaintainPlanBillList");
                tableList.Add(ds.Tables[0]);
                tableList.Add(ds1.Tables[0]);
                if (ds.Tables[0].Rows.Count != 0 || ds != null)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "获取信息成功!";
                    objJsonResult.data = tableList;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "没有查询到数据信息!";
                    objJsonResult.data = tableList;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "发生异常,没有返回任何计划!" + e.ToString();
                objJsonResult.data = null;
            }
            return objJsonResult;
        }
        #endregion
        #region[设备保养计划表编辑时获取表体数据--保养计划]
        [Route("Sb_EquipMaintainPlanBill/GetPlanList")]
        [HttpGet]
        public object GetPlanList(string sqlWhere)
        {
            DataSet ds;
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                if (sqlWhere == null || sqlWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_Sb_EquipMaintainPlanList", "h_v_Sb_EquipMaintainPlanList");
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "获取信息成功!";
                    objJsonResult.data = ds.Tables[0];
                }
                else
                {
                    string sql1 = "select * from h_v_Sb_EquipMaintainPlanList where 1 = 1 ";
                    string sql = sql1 + sqlWhere;
                    ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipMaintainPlanList");
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "获取信息成功!";
                    objJsonResult.data = ds.Tables[0];
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何计划!" + e.ToString();
                objJsonResult.data = null;
            }
            return objJsonResult;
        }
        #endregion
        #region 设备保养计划单审核/反审核功能
        [Route("Sb_EquipMaintainPlanBill/CheckSb_EquipMaintainPlanBill")]
        [HttpGet]
        public object CheckSb_EquipMaintainPlanBill(string HInterID, int Type, string user)
        {
            try
            {
                //判断是否有删除权限
                if (!DBUtility.ClsPub.Security_Log("Sb_EquipMaintainPlanBill_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;
                oCN.BeginTran();//开始事务
                //Type 1 审核  2  反审核
                if (Type == 1)
                {
                    if (!BillOld.CheckBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //自动生成点检计划单
                    oCN.RunProc("exec h_p_Sb_EquipMaintainPlan_Auto " + HInterID);
                }
                else
                {
                    if (BillOld.AbandonCheck(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                    {
                        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                    }
                    else
                    {
                        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_EquipMaintainPlanBill/CloseSb_EquipMaintainPlanBill")]
        [HttpGet]
        public object CloseSb_EquipMaintainPlanBill(string HInterID, int Type, string user)
        {
            try
            {
                //判断是否有删除权限
                if (!DBUtility.ClsPub.Security_Log("Sb_EquipMaintainPlanBill_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;
                oCN.BeginTran();//开始事务
                //Type 1 关闭  2  反关闭
                if (Type == 1)
                {
                    if (!BillOld.CloseBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "关闭失败!原因:" + ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    if (!BillOld.CancelClose(int.Parse(HInterID), 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
        #endregion