YL
2021-11-11 82694a18fbd90ca4b1bfefdd4945d388909c46a0
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)
                {
@@ -1824,6 +1831,252 @@
            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_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();
@@ -1884,6 +2137,125 @@
            }
        }
        /// <summary>
        /// 获取扫码详情列表
        /// </summary>
        /// <returns></returns>
        [Route("Web/GetWMSBarCodeDetailsList")]
        [HttpGet]
        public object GetWMSBarCodeDetailsList(int HInterID, string HBillType)
        {
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                ds = oCN.RunProcReturn("Select * from h_v_KF_PonderationBillMain_Temp_Sum where HInterID=" + HInterID + " and HBillType='" + HBillType + "' Order by HItemID ", "h_v_KF_PonderationBillMain_Temp_Sum");
                //ds = oCN.RunProcReturn("Select top 10 * from h_v_KF_PonderationBillMain_Temp_Sum Order by HInterID ", "h_v_KF_PonderationBillMain_Temp_Sum");
                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>
        /// 根据ID删除缓存表中扫码记录
        /// </summary>
        /// <param name="sHitemID">缓存表ID</param>
        /// <returns>object</returns>
        [Route("Web/DelCacheList")]
        [HttpGet]
        public object DelCacheList(long sHitemID)
        {
            try
            {
                SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                oCn.RunProc("Delete from KF_PonderationBillMain_Temp where HitemID = " + sHitemID);
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "删除成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "删除失败!";
                objJsonResult.data = e.ToString();
                return objJsonResult;
            }
        }
        #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
    }