1
yusijie
2023-05-25 6592e8f84bf7958dd256a33b66e1fa3203296312
WebAPI/Controllers/LMESController.cs
@@ -16,6 +16,7 @@
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        /// <summary>
        /// 返回进站扫描列表|工序进站接收单列表 
        ///参数:string sql。
@@ -71,6 +72,20 @@
                //    return objJsonResult;
                //}
                //获取系统参数
                string Ret = "";
                if (oSystemParameter.ShowBill(ref Ret))
                {
                    //判断客户为龙山汽配
                    if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配")
                    {
                        //获取需要拼接的字符串
                        string sql_splice = DBUtility.ClsPub.SpliceSQL(user, "工序派工单列表");
                        sWhere += sql_splice;
                    }
                }
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeBillQuery where 1 = 1 " + sWhere + " order by hmainid desc ", "h_v_Sc_ProcessExchangeBillQuery");
@@ -81,23 +96,13 @@
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                //{
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.list = columnNameList;
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
                //}
                //else
                //{
                //objJsonResult.code = "0";
                //objJsonResult.count = 0;
                //objJsonResult.Message = "无数据";
                //objJsonResult.data = null;
                //return objJsonResult;
                //}
            }
            catch (Exception e)
            {
@@ -125,6 +130,7 @@
                string sql = "select * from h_v_Sc_ProcessExchangeBillQuerySub where hmainid = ";
                string sql1 = sql + sWhere;
                ds = oCN.RunProcReturn(sql1 + " order by cast(工序号 as int)", "h_v_Sc_ProcessExchangeBillQuerySub");
                return GetObjectJson(ds);
            }
            catch (Exception e)
            {
@@ -134,7 +140,6 @@
                objJsonResult.data = null;
                return objJsonResult;
            }
            return GetObjectJson(ds);
        }
        #region 工序流转卡(下达)
@@ -161,6 +166,21 @@
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                //获取系统参数
                string Ret = "";
                if (oSystemParameter.ShowBill(ref Ret))
                {
                    //判断客户为龙山汽配
                    if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配")
                    {
                        //获取需要拼接的字符串
                        string sql_splice = DBUtility.ClsPub.SpliceSQL(user, "工序派工单明细列表");
                        sWhere += sql_splice;
                    }
                }
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                ds = oCN.RunProcReturn("select * from h_v_Sc_ProcessExchangeIssueBillQuery where 1 = 1 " + sWhere + " order by hmainid desc ", "h_v_Sc_ProcessExchangeIssueBillQuery");
                objJsonResult.code = "1";
@@ -373,23 +393,37 @@
            try
            {
                //判断是否有查询权限
                //if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Query", 1, false, user))
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "无权限查询!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Query", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无权限查询!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //获取系统参数
                string Ret = "";
                if (oSystemParameter.ShowBill(ref Ret))
                {
                    //判断客户为龙山汽配
                    if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配")
                    {
                        //获取需要拼接的字符串
                        string sql_splice = DBUtility.ClsPub.SpliceSQL(user,"工艺路线列表");
                        sWhere += sql_splice;
                    }
                }
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select top 1000 * from h_v_Gy_RoutingBillList order by hmainid desc", "h_v_Gy_RoutingBillList");
                    ds = oCN.RunProcReturn("select * from h_v_Gy_RoutingBillList where 1 = 1" + sWhere + " order by hmainid desc", "h_v_Gy_RoutingBillList");
                }
                else
                {
                    string sql1 = "select  top 1000 * from h_v_Gy_RoutingBillList where 1 = 1 ";
                    string sql1 = "select * from h_v_Gy_RoutingBillList where 1 = 1 ";
                    string sql = sql1 + sWhere + " order by hmainid desc,cast(工序号 as int)";
                    ds = oCN.RunProcReturn(sql, "h_v_Gy_RoutingBillList");
                }
@@ -405,6 +439,100 @@
            return GetObjectJson(ds);
        }
        #endregion
        #region 查看工艺路线列表工价权限
        /// <summary>
        /// 判断有无查看工价权限
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Web/CheckProcPrice")]
        [HttpGet]
        public object CheckProcPrice(string UserName)
        {
            try
            {
                //获取系统参数
                string Ret = "";
                if (oSystemParameter.ShowBill(ref Ret))
                {
                    //判断客户为龙山汽配
                    if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配")
                    {
                        //判断是否有查询工价权限
                        if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_CheckProcPrice", 1, false, UserName))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "无查看工价权限!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "查看成功!";
                objJsonResult.data = 1;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "异常!" + e.Message;
                objJsonResult.data = null;
                return objJsonResult; ;
            }
        }
        #endregion
        #region 修改工艺路线工价权限
        /// <summary>
        /// 判断有无修改工价权限
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Web/EditProcPrice")]
        [HttpGet]
        public object EditProcPrice(string UserName)
        {
            try
            {
                //获取系统参数
                string Ret = "";
                if (oSystemParameter.ShowBill(ref Ret))
                {
                    //判断客户为龙山汽配
                    if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配")
                    {
                        //判断是否有查询工价权限
                        if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_EditProcPrice", 1, false, UserName))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "无修改工价权限!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "修改成功!";
                objJsonResult.data = 1;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "异常!" + e.Message;
                objJsonResult.data = null;
                return objJsonResult; ;
            }
        }
        #endregion
        #region 工艺路线  删除
@@ -531,6 +659,84 @@
        #endregion
        #region 工艺路线(维护工价)
        /// <summary>
        /// 返回工艺路线列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("LEMS/MES_Gy_RoutingBillMainRates_Json")]
        [HttpGet]
        public object MES_Gy_RoutingBillMainRates_Json(string sWhere, string user)
        {
            DataSet ds;
            try
            {
                //判断是否有查询权限
                if (!DBUtility.ClsPub.Security_Log("Gy_RoutingBill_Query", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无权限查询!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_Gy_RoutingBillList_MainRate order by hmainid desc", "h_v_Gy_RoutingBillList_MainRate");
                }
                else
                {
                    string sql1 = "select * from h_v_Gy_RoutingBillList_MainRate where 1 = 1 ";
                    string sql = sql1 + sWhere + " order by hmainid desc,cast(工序号 as int)";
                    ds = oCN.RunProcReturn(sql, "h_v_Gy_RoutingBillList_MainRate");
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
            return GetObjectJson(ds);
        }
        #endregion
        #region 判断物料是否已经存在工艺路线
        /// <summary>
        /// 返回工艺路线列表
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("LEMS/IsExistRoutingByMaterial")]
        [HttpGet]
        public object IsExistRoutingByMaterial(int HMaterID, string user)
        {
            DataSet ds;
            try
            {
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                ds = oCN.RunProcReturn("select * from Gy_RoutingBillMain where HMaterID = '" + HMaterID + "'", "Gy_RoutingBillMain");
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
            return GetObjectJson(ds);
        }
        #endregion
        #endregion
        /// <summary>
@@ -555,7 +761,21 @@
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn("select * from h_v_IF_ICMOBillList where 1 = 1 " + sWhere + " order by 单据号 desc", "h_v_IF_ICMOBillList");
                //获取系统参数
                string Ret = "";
                if (oSystemParameter.ShowBill(ref Ret))
                {
                    //判断客户为龙山汽配
                    if (oSystemParameter.omodel.WMS_CampanyName == "龙山汽配")
                    {
                        //获取需要拼接的字符串
                        string sql_splice = DBUtility.ClsPub.SpliceSQL(user, "生产订单列表");
                        sWhere += sql_splice;
                    }
                }
                ds = oCN.RunProcReturn("select * from h_v_IF_ICMOBillList where 1 = 1 " + sWhere + " order by 制单日期 desc,单据号 desc", "h_v_IF_ICMOBillList");
            }
            catch (Exception e)
            {
@@ -567,6 +787,83 @@
            }
            return GetObjectJson(ds);
        }
        #region 判断下推的生产订单是否审核
        [Route("LEMS/ICMOBillCheck")]
        [HttpGet]
        public object ICMOBillCheck(string hmainid,string HEntryID,int OrganizationID)
        {
            DataSet ds;
            try
            {
                ds = oCN.RunProcReturn("select * from h_v_IF_ICMOBillList where 1 = 1  and hmainid=" + hmainid + " and  HEntryID=" + HEntryID + " order by 单据号 desc", "h_v_IF_ICMOBillList");
                string HNumber = ds.Tables[0].Rows[0]["产品代码"].ToString();
                if (ds.Tables[0].Rows[0]["审核人"].ToString() == "")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "所选生产订单为未审核状态,不允许下推生成工序流转卡!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (ds.Tables[0].Rows[0]["关闭人"].ToString() != "")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "所选生产订单为已关闭状态,不允许下推生成工序流转卡!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (ds.Tables[0].Rows[0]["作废人"].ToString() != "")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "所选生产订单为已作废状态,不允许下推生成工序流转卡!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn("select * from h_v_S_Sc_ICMOBillList where hmainid=" + hmainid + " and HEntryID=" + HEntryID + " and HSTOCKINORGID='" + OrganizationID + "'", "h_v_S_Sc_ICMOBillList");
                if (double.Parse(ds.Tables[0].Rows[0]["流转卡数量"].ToString()) == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "所选生产订单已全部下推生成工序流转卡,剩余可下推数量为0,不允许下推生成工序流转卡!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn("select top 1000 * from h_v_Gy_RoutingBillList where 物料代码='" + HNumber + "'", "h_v_Gy_RoutingBillList");
                if (ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "所选生产订单对应物料未设置对应的工艺路线,不允许下推生成工序流转卡!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                objJsonResult.code = "1";
                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
        /// <summary>
        /// 返回工序委外接收单列表
@@ -610,8 +907,7 @@
            try
            {
                List<object> columnNameList = new List<object>();
                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                //{
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
@@ -626,15 +922,6 @@
                objJsonResult.list = columnNameList;
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
                //}
                //else
                //{
                //objJsonResult.code = "0";
                //objJsonResult.count = 0;
                //objJsonResult.Message = "无数据";
                //objJsonResult.data = null;
                //return objJsonResult;
                //}
            }
            catch (Exception e)
            {