yl
2023-02-16 883bc24b2af63f2b5cadf7576e7892720c7ed9b7
VueWebApi/DLL/DAL/AppDeviceManageDAL.cs
@@ -61,8 +61,46 @@
        }
        #endregion
        #region[日常点检,扫描工位/设备二维码查找点检标准]
        public static ToMessage CheckScanDeviceTemp(string eqpcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //获取对应设备点检标准
                sql = @"select M.code,M.name   from TEqpchk_Eqp E
                        inner join TEqpchk_Main M on E.eqpchkmain_code=M.code
                        where E.eqp_code=@eqpcode order by M.lm_date desc";
                dynamicParams.Add("@eqpcode", eqpcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
                    mes.code = "200";
                    mes.Message = "查询成功!";
                    mes.data = data;
                }
                else
                {
                    mes.code = "300";
                    mes.Message = "当前设备/工位未指定点检标准!";
                    mes.data = data;
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[日常点检,选择扫码设备列表带出点检项]
        public static ToMessage SelectScanDeviceQrCodeItem(string eqpcode)
        public static ToMessage SelectScanDeviceQrCodeItem(string eqpcode,string checktempcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
@@ -73,9 +111,10 @@
                        from TEqpchk_Eqp A
                        inner join TEqpchk_Main B on A.eqpchkmain_code=B.code
                        inner join TEqpchk_Deta S on B.code=S.eqpchk_main_code
                        where A.eqp_code=@eqpcode
                        where A.eqp_code=@eqpcode and B.code=@checktempcode
                        order by S.seq asc";
                dynamicParams.Add("@eqpcode", eqpcode);
                dynamicParams.Add("@checktempcode", checktempcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
@@ -110,7 +149,7 @@
            try
            {
                list.Clear();
                mes = SeachEncode.EncodingSeach("2040");  //生成单号
                mes = SeachEncode.EncodingSeach("1027");  //PC端设备点检记录生成单号
                if (mes.code == "300")
                {
                    return mes;
@@ -165,9 +204,6 @@
                        }
                    }); ;
                }
                //回写字典表,更新当前流水号
                sql = @"update T_CodeRules set value=@cunm2  where rightcode=@RightCode";
                list.Add(new { str = sql, parm = new { cunm2 = numvalue, RightCode = "1027" } });
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
@@ -239,20 +275,18 @@
        }
        #endregion
        #region[日常保养,选择扫码设备列表带出保养项]
        public static ToMessage RepairSelectScanDeviceQrCodeItem(string eqpcode)
        #region[定期保养,扫描工位/设备二维码查找保养标准]
        public static ToMessage RepairScanDeviceTemp(string eqpcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //获取对应设备关联的保养项目
                sql = @"select S.seq,S.code,S.name,S.chk_desc,S.isscan,B.main_cycle
                        from TEqpmai_Eqp A
                        inner join TEqpmai_Main B on A.eapmai_code=B.code
                        inner join TEqpmai_Deta S on B.code=S.eapmai_code
                        where A.eqp_code=@eqpcode
                        order by S.seq asc";
                //获取对应设备保养标准
                sql = @"select M.code,M.name,main_cycle   from TEqpmai_Eqp E
                        inner join TEqpmai_Main M on E.eapmai_code=M.code
                        where E.eqp_code=@eqpcode
                        order by M.lm_date desc";
                dynamicParams.Add("@eqpcode", eqpcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
@@ -264,7 +298,48 @@
                else
                {
                    mes.code = "300";
                    mes.Message = "当前设备未设置点检标准绑定点检项目!";
                    mes.Message = "当前设备/工位未指定保养标准!";
                    mes.data = data;
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[日常保养,选择扫码设备列表带出保养项]
        public static ToMessage RepairSelectScanDeviceQrCodeItem(string eqpcode,string repartempcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //获取对应设备关联的保养项目
                sql = @"select S.seq,S.code,S.name,S.chk_desc,S.isscan,B.main_cycle
                        from TEqpmai_Eqp A
                        inner join TEqpmai_Main B on A.eapmai_code=B.code
                        inner join TEqpmai_Deta S on B.code=S.eapmai_code
                        where A.eqp_code='SB003' and B.code=@repartempcode
                        order by S.seq asc";
                dynamicParams.Add("@eqpcode", eqpcode);
                dynamicParams.Add("@repartempcode", repartempcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
                    mes.code = "200";
                    mes.Message = "查询成功!";
                    mes.data = data;
                }
                else
                {
                    mes.code = "300";
                    mes.Message = "当前设备未设置保养标准绑定点检项目!";
                    mes.data = data;
                }
            }
@@ -288,7 +363,7 @@
            try
            {
                list.Clear();
                mes = SeachEncode.EncodingSeach("2041");  //生成单号
                mes = SeachEncode.EncodingSeach("1028");  //PC端保养记录生成单号
                if (mes.code == "300")
                {
                    return mes;
@@ -344,9 +419,7 @@
                        }
                    }); ;
                }
                //回写字典表,更新当前流水号
                sql = @"update T_CodeRules set value=@cunm2  where rightcode=@RightCode";
                list.Add(new { str = sql, parm = new { cunm2 = numvalue, RightCode = "1028" } });
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
@@ -383,8 +456,8 @@
            var dynamicParams = new DynamicParameters();
            try
            {
                //获取当前扫码设备是否申请维修记录
                sql = @"select *  from TEqp_RepairRequest where eqp_code=@eqpcode and status='REPA' or status='COMP'";
                //获取当前扫码设备是否存在已申请或已维修状态数据
                sql = @"select *  from TEqp_RepairRequest where eqp_code=@eqpcode and status<>'CONFIR'";
                dynamicParams.Add("@eqpcode", eqpcode);
                var data0 = DapperHelper.selectdata(sql, dynamicParams);
                if (data0.Rows.Count > 0)
@@ -448,10 +521,9 @@
            try
            {
                list.Clear();
                mes = SeachEncode.EncodingSeach("2042");  //生成单号
                mes = SeachEncode.EncodingSeach("1019");  //PC端维修申请记录生成单号
                if (mes.code == "300")
                {
                    mes.Message = "生成单号失败,请设置编码为【2042】的编码规则";
                    return mes;
                }
                else
@@ -505,9 +577,6 @@
                        source = faultsourcecode
                    }
                });
                //回写字典表,更新当前流水号
                sql = @"update T_CodeRules set value=@cunm2  where rightcode=@RightCode";
                list.Add(new { str = sql, parm = new { cunm2 = numvalue, RightCode = "2042" } });
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
@@ -587,10 +656,9 @@
            try
            {
                list.Clear();
                mes = SeachEncode.EncodingSeach("2043");  //生成单号
                mes = SeachEncode.EncodingSeach("1029");  //PC设备维修记录生成单号
                if (mes.code == "300")
                {
                    mes.Message = "生成单号失败,请设置编码为【2043】的编码规则";
                    return mes;
                }
                else
@@ -607,7 +675,7 @@
                        string imgPath1 = "", imgPath2 = "", AbsolutePath = "";
                        HttpPostedFile file = files[i];
                        string imgName = DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString();
                        string keyname = files.AllKeys[i].ToString();
                        string keyname = files.AllKeys[i].ToString().Substring(0, files.AllKeys[i].ToString().IndexOf(";"));
                        if (keyname == "files1")
                        {
                            imgPath1 = "/DeviceImage/image1/" + imgName + file.FileName;     //通过此对象获取文件名
@@ -618,7 +686,6 @@
                            imgPath2 = "/DeviceImage/image2/" + imgName + file.FileName;     //通过此对象获取文件名
                            AbsolutePath = System.Web.HttpContext.Current.Server.MapPath(imgPath2);
                        }
                        file.SaveAs(AbsolutePath); //将上传的东西保存
                                                   //循环写维修记录对应图片表
                        sql = @"insert into  TEqp_RepairImage(source_wo,wo_type,img1url,img2url) 
@@ -655,16 +722,12 @@
                        repair_part = replaceparts,
                        failure_descript = faultdescr,
                        is_shutdown = is_stoprepair,
                        source_wo= docu_code
                        source_wo = docu_code
                    }
                });
                //更新维修申请单状态
                sql = @"update TEqp_RepairRequest set status=@status  where docu_code=@docu_code and wksp_code=@wkshpcode  and eqp_code=@eqpcode";
                list.Add(new { str = sql, parm = new { docu_code = docu_code, wkshpcode = wkshpcode, eqpcode= eqpcode, status= "COMP" } });
                //回写字典表,更新当前流水号
                sql = @"update T_CodeRules set value=@cunm2  where rightcode=@RightCode";
                list.Add(new { str = sql, parm = new { cunm2 = numvalue, RightCode = "2043" } });
                list.Add(new { str = sql, parm = new { docu_code = docu_code, wkshpcode = wkshpcode, eqpcode = eqpcode, status = "COMP" } });
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
@@ -735,7 +798,7 @@
        #endregion
        #region[维修验证详情信息]
        public static ToMessage RepairVerificationScanDeviceDataSub(string repair_code,string eqpcode, string wkshpcode)
        public static ToMessage RepairVerificationScanDeviceDataSub(string repair_code, string eqpcode, string wkshpcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
@@ -914,7 +977,9 @@
                        from TAnDon_Roul_ConFig A
                        inner join TAnDonType B on A.andotype_code=B.code
                        inner  join TEqpInfo E on A.wkshp_code=e.wksp_code
                        left join(select type,wkshp_code,eqp_code  from TAnDon_Task_Info where eqp_code=@eqpcode and wkshp_code=@wkshpcode and status='START') F on A.wkshp_code=F.wkshp_code and E.code=F.eqp_code
                        left join(
                        select type,wkshp_code,eqp_code  from TAnDon_Task_Info where eqp_code=@eqpcode and wkshp_code=@wkshpcode and status='START'
                        ) F on A.wkshp_code=F.wkshp_code and E.code=F.eqp_code and B.code=F.type
                        where A.wkshp_code=@wkshpcode and E.code=@eqpcode and A.enable='N'";
                dynamicParams.Add("@wkshpcode", wkshpcode);
                dynamicParams.Add("@eqpcode", eqpcode);
@@ -929,7 +994,7 @@
                        mn.flag = data.Rows[i]["FLAG"].ToString();
                        mn.children = new List<AnDnDateSub>();
                        //根据呼叫类型id查找绑定人员
                        sql = @"select U.usercode,U.username
                        sql = @"select U.usercode,U.username,U.rid
                                from TAnDon_Roul_ConFigUser A
                                inner join TUser U on A.usercode=U.usercode
                                where A.ando_cogfigid=@id";
@@ -940,6 +1005,8 @@
                            for (int j = 0; j < data0.Rows.Count; j++)
                            {
                                AnDnDateSub sn = new AnDnDateSub();
                                sn.rid= data0.Rows[j]["RID"].ToString();//rid
                                sn.alias = data0.Rows[j]["RID"].ToString() + data0.Rows[j]["USERCODE"].ToString();  //别名
                                sn.usercode = data0.Rows[j]["USERCODE"].ToString();
                                sn.username = data0.Rows[j]["USERNAME"].ToString();
                                mn.children.Add(sn);
@@ -973,16 +1040,19 @@
        public static ToMessage AppDeviceAnDengCallSave(string username, string eqpcode, string wkshpcode, List<AnDnDate> json)
        {
            string sql = "";
            int AnDnID = 0; //最大id
            var dynamicParams = new DynamicParameters();
            List<object> list = new List<object>();
            List<string> list1 = new List<string>();
            ChatHub chthub = new ChatHub();
            try
            {
                list.Clear();
                //执行消息推送
                chthub.SendByGroupList(username, wkshpcode, eqpcode, json);
                for (int i = 1; i <= json.Count; i++)
                //获取主表最大ID
                AnDnID = DapperHelper.insertReturnId("TAnDon_Task_Info");
                for (int i = 0; i < json.Count; i++)
                {
                    AnDnID = AnDnID + 1;//自增1
                    string code = json[i].code.ToString();
                    string name = json[i].name.ToString();
                    sql = @"select *   from TAnDon_Task_Info where wkshp_code=@wkshpcode and eqp_code=@eqpcode and type=@typecode and status='START'";
@@ -999,10 +1069,6 @@
                    }
                    else
                    {
                        //获取主表最大ID
                        sql = @"select ISNULL(IDENT_CURRENT('TK_Wrk_Record')+@num,1) as id";
                        dynamicParams.Add("@num", i);
                        var dt = DapperHelper.selectdata(sql, dynamicParams);
                        //写入安灯呼叫表
                        sql = @"insert into TAnDon_Task_Info(wkshp_code,eqp_code,type,start_date,start_user,status) 
                        values(@wkshp_code,@eqp_code,@type,@start_date,@start_user,@status)";
@@ -1019,6 +1085,7 @@
                                status = "START"
                            }
                        });
                        for (int j = 0; j < json[i].children.Count; j++)
                        {
                            //写入安灯记录推送人员表
@@ -1029,17 +1096,21 @@
                                str = sql,
                                parm = new
                                {
                                    m_id = int.Parse(dt.Rows[0]["ID"].ToString()),
                                    m_id = AnDnID,
                                    //m_id = int.Parse(dt.Rows[0]["ID"].ToString()),
                                    wkshp_code = wkshpcode,
                                    eqp_code = eqpcode,
                                    type = code,
                                    resp_user = json[i].children[i].usercode,
                                    resp_user = json[i].children[j].usercode,
                                    alias= json[i].children[j].alias,
                                    status = "N"
                                }
                            });
                        }
                    }
                }
                //极光推送
                mes = JPushManage.ExecutePushByUserId(username, wkshpcode, eqpcode, json);
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
@@ -1078,7 +1149,7 @@
            try
            {
                //获取对应设备及所属车间的安灯呼叫记录
                sql = @"select A.eqp_code,B.name as eqp_name,T.org_name,A.type as typecode,D.name as typename
                sql = @"select A.eqp_code,B.name as eqp_name,T.org_code as wksp_code,T.org_name as wksp_name,A.type as typecode,D.name as typename
                        from TAnDon_Task_Info A
                        left join  TEqpInfo B on A.eqp_code=B.code
                        left join  TOrganization T on B.wksp_code=T.org_code
@@ -1120,7 +1191,7 @@
            try
            {
                list.Clear();
                for (int i = 1; i <= json.Count; i++)
                for (int i = 0; i <json.Count; i++)
                {
                    string code = json[i].code.ToString();
                    string name = json[i].name.ToString();