永康嘉持电器有限公司MES后端API
yl
2025-03-11 87208d0417f12a0fd3263ee29b767563dde1345f
VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
@@ -10,6 +10,7 @@
using VueWebCoreApi.DLL.BLL;
using VueWebCoreApi.Models;
using VueWebCoreApi.Models.RolePermission;
using VueWebCoreApi.Models.WorkData;
using VueWebCoreApi.Tools;
using static VueWebCoreApi.Models.RolePermission.RolePermission;
using static VueWebCoreApi.Models.RolePermission.RolePermissionSava;
@@ -3512,6 +3513,130 @@
        }
        #endregion
        #region[产品编码批量查找关联的工艺信息]
        public static ToMessage PartSelectRputeList(List<PartRouteList> list, User us)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            List<Dictionary<object, object>> dir = new List<Dictionary<object, object>>();
            try
            {
                dynamic dynObj = JObject.Parse(us.mesSetting);
                bool route = dynObj.route;
                if (route) //工艺路线版
                {
                    for (int i = 0; i < list.Count; i++)
                    {
                        // 创建一个新的字典
                        Dictionary<object, object> dict = new Dictionary<object, object>();
                        //通过产品编码查找关联的工艺路线信息
                        sql = @"select A.route_code,B.name as route_name
                        from TMateriel_Route A
                        inner join TFlw_Rout B on A.route_code=B.code
                        where A.materiel_code=@partcode and B.is_delete<>'1' and A.is_delete<>'1'";
                        dynamicParams.Add("@partcode", list[i].partcode);
                        var data = DapperHelper.selectdata(sql, dynamicParams);
                        // 向字典中添加数据
                        dict.Add("routedata", data);
                        // 将字典添加到列表中
                        dir.Add(dict);
                    }
                }
                else //工序版
                {
                    for (int i = 0; i < list.Count; i++)
                    {
                        // 创建一个新的字典
                        Dictionary<object, object> dict = new Dictionary<object, object>();
                        //通过产品编码查找关联的工序信息
                        sql = @"select A.step_seq,A.step_code as stepcode,S.stepname as stepname,A.unprice as stepprice,A.isbott,A.isend
                            from (
                            select S.materiel_code,R.step_seq,S.step_code,S.unprice,R.isbott,R.isend   from TPrteEqp_Stad S
                            inner join TMateriel_Step R on S.materiel_code=R.materiel_code and S.step_code=R.step_code
                            where S.materiel_code=@partcode
                            union all
                            select  materiel_code,step_seq,step_code,'0' as unprice,isbott,isend from TMateriel_Step
                            where materiel_code=@partcode and materiel_code+step_code
                            not in(select materiel_code+step_code  from TPrteEqp_Stad
                            where materiel_code=@partcode)
                            ) as A
                            left join TStep S on A.step_code=S.stepcode";
                        dynamicParams.Add("@partcode", list[i].partcode);
                        var data = DapperHelper.selectdata(sql, dynamicParams);
                        // 向字典中添加数据
                        dict.Add("stepdata", data);
                        // 将字典添加到列表中
                        dir.Add(dict);
                    }
                }
                mes.code = "200";
                mes.message = "查询成功!";
                mes.count = dir.Count;
                mes.data = dir;
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[根据工艺信息(工艺路线编码)批量查找关联工序集合]
        public static ToMessage RouteSelectStepList(List<PartRouteStepList> list)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            List<Dictionary<object, object>> dir = new List<Dictionary<object, object>>();
            try
            {
                for (int i = 0; i < list.Count; i++)
                {
                    // 创建一个新的字典
                    Dictionary<object, object> dict = new Dictionary<object, object>();
                    //通过工艺路线编码查找关联的工序信息
                    sql = @"select A.step_seq,A.step_code as stepcode,S.stepname as stepname,A.unprice as stepprice,A.isbott,A.isend
                        from (
                        select S.materiel_code,R.seq as step_seq,S.step_code,S.unprice,R.first_choke as isbott,R.last_choke as isend   from TPrteEqp_Stad S
                        inner join TFlw_Rtdt R on  S.route_code=R.rout_code and S.step_code=R.step_code
                        where S.materiel_code=@partcode and S.route_code=@route_code
                        union all
                        select  @partcode as materiel_code,B.seq as step_seq,B.step_code,'0' as unprice,B.first_choke as isbott,B.last_choke as isend from TFlw_Rout A
                        inner join TFlw_Rtdt B on A.code=B.rout_code
                        where A.code=@route_code and  @partcode+A.code+B.step_code
                        not in(select materiel_code+rout_code+step_code  from TPrteEqp_Stad
                        where materiel_code=@partcode and route_code=@route_code)
                        ) as A
                        left join TStep S on A.step_code=S.stepcode";
                    dynamicParams.Add("@partcode", list[i].partcode);
                    dynamicParams.Add("@route_code", list[i].routecode);
                    var data = DapperHelper.selectdata(sql, dynamicParams);
                    // 向字典中添加数据
                    dict.Add("stepdata", data);
                    // 将字典添加到列表中
                    dir.Add(dict);
                }
                mes.code = "200";
                mes.message = "查询成功!";
                mes.data = dir;
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[节拍工价查询]
        public static ToMessage BeatRateSearch(string partcode, string routecode, string stepcode, User us, int startNum, int endNum, string prop, string order)
        {