WebAPI/Controllers/WebAPIController.cs
@@ -1,6 +1,8 @@
using DAL;
using DBUtility;
using Model;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using SQLHelper;
using System;
@@ -23,6 +25,7 @@
        public DataSet ds = new DataSet();
        private json objjson = new json();
        private json objJsonResult = new json();
        //public static string sUrl = "http://183.129.128.86:9090/WEBS-WMSTest/WebService1.asmx";
        //  private POInStockBillServices oclscg_poinstockbillmain = new POInStockBillServices();
        /// <summary>
        /// 送货单表头信息
@@ -80,10 +83,11 @@
        /// </summary>
        /// <param name="UserName">用户名</param>
        /// <param name="PassWord">密码</param>
        /// <param name="PassWord">组织</param>
        /// <returns></returns>
        [Route("Web/GetUser")]
        [HttpGet]
        public object GetUser(string UserName, string PassWord)
        public object GetUser(string UserName, string PassWord, string HOrgName)
        {
            try
            {
@@ -99,14 +103,24 @@
                    objjson.data = null;
                    return objjson;
                }
                else
                string sql = string.Format(@" select a.* from Gy_UserByOrgRelation a
                                              where a.HUserID = '{0}' and a.HOrgID = '{1}'", UserName, HOrgName);
                DataSet _ds = oCnLoc.RunProcReturn(sql, "h_p_Xt_UserRelationOrg_Check");
                if (_ds == null || _ds.Tables[0].Rows.Count == 0)
                {
                    objjson.code = "0";
                    objjson.count = 1;
                    objjson.Message = "登录成功!";
                    objjson.data = ds.Tables[0];
                    objjson.count = 0;
                    objjson.Message = "用户" + UserName + "没有该组织权限";
                    objjson.data = null;
                    return objjson;
                }
                objjson.code = "0";
                objjson.count = 1;
                objjson.Message = "登录成功!";
                objjson.data = ds.Tables[0];
                return objjson;
            }
            catch (Exception)
            {
@@ -370,7 +384,7 @@
            //sWhere = " Where HStopFlag=0  and HEndFlag=1  and HUSEORGID = " + DBUtility.ClsPub.HORGANIZATIONSID.ToString();
            if (Warehouse != "")
            {
                sWhere = sWhere + " and ( HNumber like '%" + Warehouse + "%' or HName like '%" + Warehouse + "%' ) ";
                sWhere = sWhere + " and ( HNumber like '%" + Warehouse + "%' or HName like '%" + Warehouse + "%'  or HUSEORGID like '%" + Warehouse + "%' ) ";
            }
            try
            {
@@ -712,14 +726,8 @@
        /// <returns></returns>
        [Route("Web/GetMaterialList_Json")]
        [HttpGet]
        public object GetMaterialList_Json(string Material)
        public object GetMaterialList_Json(string sWhere)
        {
            sWhere = " Where HStopFlag=0  and HEndFlag=1";
            //sWhere = " Where HStopFlag=0  and HEndFlag=1  and HUSEORGID = " + DBUtility.ClsPub.HORGANIZATIONSID.ToString();
            if (Material != "")
            {
                sWhere = sWhere + " and ( HNumber like '%" + Material + "%' or HName like '%" + Material + "%' ) ";
            }
            try
            {
                ds = webserver.GetMaterialList(sWhere, ref DBUtility.ClsPub.sErrInfo);
@@ -1242,22 +1250,22 @@
                    objJsonResult.data = null;
                    return objJsonResult; ;
                }
                var HStopflag = Convert.ToBoolean(ds.Tables[0].Rows[0]["HStopflag"]);
                if (HStopflag)
                {
                    oCN.RollBack();//回滚事务
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "数据已删除无法再次删除!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //var HStopflag = Convert.ToBoolean(ds.Tables[0].Rows[0]["HStopflag"]);
                //if (HStopflag)
                //{
                //    oCN.RollBack();//回滚事务
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "数据已删除无法再次删除!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                oCN.RunProc("update Gy_BadReason set HStopflag=1 where HItemID=" + HItemID);
                oCN.RunProc("delete Gy_BadReason where HItemID=" + HItemID);
                oCN.Commit();//提交事务
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "* 数据删除成功!";
                objJsonResult.Message = "数据删除成功!";
                objJsonResult.data = null;
                return objJsonResult; ;
@@ -1284,7 +1292,7 @@
        {
            //sWhere = " Where HStopFlag=0  and HEndFlag=1";
            //sWhere = " Where HStopFlag=0  and HEndFlag=1  and HUSEORGID = " + DBUtility.ClsPub.HORGANIZATIONSID.ToString();
            if (BadReason != ""&& BadReason != null)
            if (BadReason != "" && BadReason != null)
            {
                sWhere = sWhere + " and ( HNumber like '%" + BadReason + "%' or HName like '%" + BadReason + "%' ) ";
            }
@@ -1740,9 +1748,9 @@
                sWhere = " Where HStopFlag=0  and HEndFlag=1";
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                //sWhere = " Where HStopFlag=0  and HEndFlag=1  and HUSEORGID = " + DBUtility.ClsPub.HORGANIZATIONSID.ToString();
                if (CheckItem != ""&& CheckItem!=null)
                if (CheckItem != "" && CheckItem != null)
                {
                    sWhere = sWhere + " and ( HNumber like '%" + CheckItem + "%' or HName like '%" + CheckItem + "%' ) ";
                    sWhere = sWhere + " and ( HNumber like '%" + CheckItem + "%' or HName like '%" + CheckItem + "%' ) ";
                    ds = oCN.RunProcReturn("Select HItemID,HNumber,HName  from Gy_DotCheck " + sWhere + " Order by HItemID ", "Gy_DotCheck");
                }
                else
@@ -1785,24 +1793,23 @@
        /// <returns></returns>
        [Route("Web/GetSc_ICMOBillListView")]
        [HttpGet]
        public object GetSc_ICMOBillListView(string ICMOBill,int OrganizationID)
        public object GetSc_ICMOBillListView(string ICMOBill, int OrganizationID)
        {
            if (ICMOBill != "")
            {
                sWhere = "where 1=1 and 生产订单号 like '%" + ICMOBill + "%' and HSTOCKINORGID=" + OrganizationID;
                sWhere = " where 1=1 and 单据号 like '%" + ICMOBill + "%' ";
            }
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_S_Sc_ICMOBillList where HSTOCKINORGID=" + OrganizationID, "h_v_S_Sc_ICMOBillList");
                    ds = oCN.RunProcReturn("select * from h_v_IF_ICMOBillList where 1=1 and isnull(审核人,'')<>'' and isnull(关闭人,'')='' and isnull(行关闭人,'')=''  order by 单据号 desc,hsubid ", "h_v_IF_ICMOBillList");
                }
                else
                {
                    string sql1 = "select * from h_v_S_Sc_ICMOBillList ";
                    string sql = sql1 + sWhere;
                    ds = oCN.RunProcReturn(sql, "h_v_S_Sc_ICMOBillList");
                    string sql = "select * from h_v_IF_ICMOBillList " + sWhere + " and isnull(审核人,'')<>'' and isnull(关闭人,'')='' and isnull(行关闭人,'')=''  order by 单据号 desc,hsubid ";
                    ds = oCN.RunProcReturn(sql, "h_v_IF_ICMOBillList");
                }
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
@@ -1831,6 +1838,354 @@
                return objjson;
            }
        }
        /// <summary>
        /// 获取生产任务单列表
        /// </summary>
        /// <returns></returns>
        [Route("Web/GetSc_ICMOBillListView2")]
        [HttpGet]
        public object GetSc_ICMOBillListView2(string ICMOBill, int OrganizationID)
        {
            if (ICMOBill != "")
            {
                sWhere = " where 1=1 and 单据号 like '%" + ICMOBill + "%' ";
            }
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_Sc_ICMOBillList where 1=1 and isnull(审核人,'')<>'' order by 单据号 desc,hsubid ", "h_v_Sc_ICMOBillList");
                }
                else
                {
                    string sql = "select * from h_v_Sc_ICMOBillList " + sWhere + " and isnull(审核人,'')<>'' order by 单据号 desc,hsubid ";
                    ds = oCN.RunProcReturn(sql, "h_v_Sc_ICMOBillList");
                }
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objjson.code = "0";
                    objjson.count = 0;
                    objjson.Message = "获取失败" + DBUtility.ClsPub.sErrInfo;
                    objjson.data = null;
                    return objjson;
                }
                else
                {
                    objjson.code = "0";
                    objjson.count = 1;
                    objjson.Message = "获取成功!";
                    objjson.data = ds.Tables[0];
                    return objjson;
                }
            }
            catch (Exception ex)
            {
                objjson.code = "0";
                objjson.count = 0;
                objjson.Message = "获取失败" + ex.ToString();
                objjson.data = null;
                return objjson;
            }
        }
        /// <summary>
        /// 获取工序流转卡列表
        /// </summary>
        /// <returns></returns>
        [Route("Web/GetSc_ProcessExchangeBillListView")]
        [HttpGet]
        public object GetSc_ProcessExchangeBillListView(string ICMOBill, int OrganizationID)
        {
            if (ICMOBill != "")
            {
                sWhere = " where 1=1 and 单据号 like '%" + ICMOBill + "%' ";
            }
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeBillList where 1=1 order by 单据号 desc,hsubid ", "h_v_Sc_ProcessExchangeBillList");
                }
                else
                {
                    string sql = "select * from h_v_Sc_ProcessExchangeBillList " + sWhere + " order by 单据号 desc,hsubid ";
                    ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessExchangeBillList");
                }
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objjson.code = "0";
                    objjson.count = 0;
                    objjson.Message = "获取失败" + DBUtility.ClsPub.sErrInfo;
                    objjson.data = null;
                    return objjson;
                }
                else
                {
                    objjson.code = "0";
                    objjson.count = 1;
                    objjson.Message = "获取成功!";
                    objjson.data = ds.Tables[0];
                    return objjson;
                }
            }
            catch (Exception ex)
            {
                objjson.code = "0";
                objjson.count = 0;
                objjson.Message = "获取失败" + ex.ToString();
                objjson.data = null;
                return objjson;
            }
        }
        /// <summary>
        /// 获取检验项目列表
        /// </summary>
        /// <returns></returns>
        [Route("Web/GetGy_QCCheckItem")]
        [HttpGet]
        public object GetGy_QCCheckItem(string CheckItem, int OrganizationID)
        {
            if (CheckItem != "")
            {
                sWhere = " and ( HNumber like '%" + CheckItem + "%' or HName like '%" + CheckItem + "%' ) ";
            }
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("Select HItemID,HNumber 代码,HName 名称 ,HQCCheckClassID 检验项目类别 from Gy_QCCheckItem where HStopflag=0 Order by HItemID  ", "Gy_QCCheckItem");
                }
                else
                {
                    string sql = "Select HItemID,HNumber 代码,HName 名称 ,HQCCheckClassID 检验项目类别 from Gy_QCCheckItem where HStopflag=0 " + sWhere + "Order by HItemID ";
                    ds = oCN.RunProcReturn(sql, "Gy_QCCheckItem");
                }
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objjson.code = "0";
                    objjson.count = 0;
                    objjson.Message = "获取失败" + DBUtility.ClsPub.sErrInfo;
                    objjson.data = null;
                    return objjson;
                }
                else
                {
                    objjson.code = "0";
                    objjson.count = 1;
                    objjson.Message = "获取成功!";
                    objjson.data = ds.Tables[0];
                    return objjson;
                }
            }
            catch (Exception ex)
            {
                objjson.code = "0";
                objjson.count = 0;
                objjson.Message = "获取失败" + ex.ToString();
                objjson.data = null;
                return objjson;
            }
        }
        /// <summary>
        /// 获取检验方案列表
        /// </summary>
        /// <returns></returns>
        [Route("Web/GetGy_QCCheckProject")]
        [HttpGet]
        public object GetGy_QCCheckProject(string CheckProject, int OrganizationID)
        {
            if (CheckProject != "")
            {
                sWhere = " and ( HBillNo like '%" + CheckProject + "%' or HName like '%" + CheckProject + "%' ) ";
            }
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                string sql = "Select HinterID HItemID,HBillNo 检验方案代码,HName 方案名称 from Gy_QCCheckProjectMain where 1 = 1 " + sWhere + "Order by HinterID ";
                ds = oCN.RunProcReturn(sql, "Gy_QCCheckProjectMain");
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objjson.code = "0";
                    objjson.count = 0;
                    objjson.Message = "获取失败" + DBUtility.ClsPub.sErrInfo;
                    objjson.data = null;
                    return objjson;
                }
                else
                {
                    objjson.code = "1";
                    objjson.count = 1;
                    objjson.Message = "获取成功!";
                    objjson.data = ds.Tables[0];
                    return objjson;
                }
            }
            catch (Exception ex)
            {
                objjson.code = "0";
                objjson.count = 0;
                objjson.Message = "获取失败" + ex.ToString();
                objjson.data = null;
                return objjson;
            }
        }
        /// <summary>
        /// 根据检验方案主内码获取检验项目
        /// </summary>
        /// <returns></returns>
        [Route("Web/GetCheckItemByCheckProjectID")]
        [HttpGet]
        public object GetCheckItemByCheckProjectID(int CheckProjectID)
        {
            if (CheckProjectID <= 0)
            {
                objjson.code = "0";
                objjson.count = 0;
                objjson.Message = "检验方案未选择";
                objjson.data = null;
                return objjson;
            }
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                string sql = "select c.HItemID HQCCheckItemID,c.HName 检验项目,b.HQCStd,b.HQCUnit HUnit from Gy_QCCheckProjectMain a left join Gy_QCCheckProjectSub b on a.HInterID = b.HInterID left join Gy_QCCheckItem c on b.HQCCheckItemID = c.HItemID where a.HInterID = " + CheckProjectID;
                ds = oCN.RunProcReturn(sql, "Gy_QCCheckProjectMain");
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objjson.code = "0";
                    objjson.count = 0;
                    objjson.Message = "获取失败" + DBUtility.ClsPub.sErrInfo;
                    objjson.data = null;
                    return objjson;
                }
                else
                {
                    objjson.code = "1";
                    objjson.count = 1;
                    objjson.Message = "获取成功!";
                    objjson.data = ds.Tables[0];
                    return objjson;
                }
            }
            catch (Exception ex)
            {
                objjson.code = "0";
                objjson.count = 0;
                objjson.Message = "获取失败" + ex.ToString();
                objjson.data = null;
                return objjson;
            }
        }
        /// <summary>
        /// 根据器具主内码获取器具保养检验项目
        /// </summary>
        /// <returns></returns>
        [Route("Web/GetMaintainItemtemByMouldProjectID")]
        [HttpGet]
        public object GetMaintainItemtemByMouldProjectID(int MouldProjectID)
        {
            if (MouldProjectID <= 0)
            {
                objjson.code = "0";
                objjson.count = 0;
                objjson.Message = "产品器具未选择";
                objjson.data = null;
                return objjson;
            }
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                string sql = string.Format(@"select t.HMaintainItemID HMaintainItemID,m.HNumber HMaintainItemNumber,t.HMaintainItem HMaintainItem,t.HMaintainPart HMaintainPart,t.HClaim HClaim,t.HManagerID HManagerID,e.HNumber HManagerNumber,e.HName HManagerName,a.HRemark
                                                from Sc_MouldMaintainRuleBillMain a left join Sc_MouldMaintainRuleBillSub_Item t on a.HInterID=t.HInterID
                                                left join Gy_Maintain m on m.HItemID=t.HMaintainItemID
                                                left join Gy_Employee e on e.HItemID=t.HManagerID
                                                where a.HInterID=(select HMouldMaintainRuleInterID from Gy_MouldFileMain where HInterID=" + MouldProjectID + ") ");
                ds = oCN.RunProcReturn(sql, "Sc_MouldMaintainRuleBillMain");
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objjson.code = "0";
                    objjson.count = 0;
                    objjson.Message = "获取失败" + DBUtility.ClsPub.sErrInfo;
                    objjson.data = null;
                    return objjson;
                }
                else
                {
                    objjson.code = "1";
                    objjson.count = 1;
                    objjson.Message = "获取成功!";
                    objjson.data = ds.Tables[0];
                    return objjson;
                }
            }
            catch (Exception ex)
            {
                objjson.code = "0";
                objjson.count = 0;
                objjson.Message = "获取失败" + ex.ToString();
                objjson.data = null;
                return objjson;
            }
        }
        /// <summary>
        /// 器具点检规程单列表
        /// </summary>
        /// <returns></returns>
        [Route("Sc_MouldDotCheckRuleInter/GetMouldDotCheckRuleInterList")]
        [HttpGet]
        public object GetMouldDotCheckRuleInterList(int MouldProjectID)
        {
            if (MouldProjectID <= 0)
            {
                objjson.code = "0";
                objjson.count = 0;
                objjson.Message = "产品器具未选择";
                objjson.data = null;
                return objjson;
            }
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                string sql = string.Format(@"select * from h_v_Sc_MouldDotCheckRuleBillList");
                ds = oCN.RunProcReturn(sql, "h_v_Sc_MouldDotCheckRuleBillList");
                if (ds == null || ds.Tables[0].Rows.Count <= 0)
                {
                    objjson.code = "0";
                    objjson.count = 0;
                    objjson.Message = "获取失败" + DBUtility.ClsPub.sErrInfo;
                    objjson.data = null;
                    return objjson;
                }
                else
                {
                    objjson.code = "1";
                    objjson.count = 1;
                    objjson.Message = "获取成功!";
                    objjson.data = ds.Tables[0];
                    return objjson;
                }
            }
            catch (Exception ex)
            {
                objjson.code = "0";
                objjson.count = 0;
                objjson.Message = "获取失败" + ex.ToString();
                objjson.data = null;
                return objjson;
            }
        }
        /// <summary>
        /// 获取维修项目列表
@@ -1890,7 +2245,7 @@
        /// <returns></returns>
        [Route("Web/GetWMSBarCodeDetailsList")]
        [HttpGet]
        public object GetWMSBarCodeDetailsList(int HInterID,string HBillType)
        public object GetWMSBarCodeDetailsList(int HInterID, string HBillType)
        {
            try
            {
@@ -1955,6 +2310,55 @@
            }
        }
        #region [查询菜单列表]
        [Route("Web/MenuList")]
        [HttpGet]
        public object MenuList()
        {
            try
            {
                List<Menu> mu = new List<Menu>();
                SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                ds = oCn.RunProcReturn("Select * from Gy_Menu Order by HItemID ", "Gy_Menu");
                //List<Menu> mu1 = ds.Tables[0].AsEnumerable().Select(t => new Menu()).ToList();
                //List<Menu> users = ModelConvertHelper<Menu>.ConvertToModel(ds.Tables[0]);
                //var dd = ToHierarchy.ToHierarchyList(users);
                //string json = JsonConvert.SerializeObject(dd);
                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)   //这里是循环所有
                {
                    if (ds.Tables[0].Rows[i]["HPartentID"].ToString() == "0" || ds.Tables[0].Rows[i]["HitemID"].ToString() == ds.Tables[0].Rows[i]["HPartentID"].ToString())  //判断是否最外层根节点
                    {
                        Menu tbj = new Menu();
                        tbj.HitemID = ds.Tables[0].Rows[i]["HitemID"].ToString();
                        tbj.HNumber = ds.Tables[0].Rows[i]["HNumber"].ToString();
                        tbj.HName = ds.Tables[0].Rows[i]["HName"].ToString();
                        tbj.HPartentID = ds.Tables[0].Rows[i]["HPartentID"].ToString();
                        tbj.HLevel = int.Parse(ds.Tables[0].Rows[i]["HLevel"].ToString());
                        tbj.Hurl = ds.Tables[0].Rows[i]["Hurl"].ToString();
                        mu.Add(tbj);
                    }
                }
                ToHierarchy.digui(ds.Tables[0], mu);
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "查询成功!";
                objJsonResult.data = Newtonsoft.Json.JsonConvert.SerializeObject(mu);
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "查询失败!";
                objJsonResult.data = e.ToString();
                return objJsonResult;
            }
        }
        #endregion
    }
}