yl
2022-08-31 2264c47cff7ab5ce52d7c158ac0eb941e7b46506
大岛测试bug修改
已添加3个文件
已修改23个文件
434 ■■■■ 文件已修改
.vs/VueWebApi/v16/.suo 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Controllers/ProductionManagementController.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/BLL/ProductionManagementBLL.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/BasicSettingDAL.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/DeviceManagerDAL.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/KanBanManagerentDAL.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/ProductModelDAL.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/ProductionManagementDAL.cs 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/QualityManagementDAL.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Hubs/ChatHub.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Hubs/HubsMessage.html 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Hubs/HubsMessage1.html 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Hubs/HubsMessage2.html 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Logs/2022-08-31.TXT 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/VueWebApi.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/bin/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/bin/VueWebApi.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/Package/PackageTmp/Hubs/HubsMessage.html 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/Package/PackageTmp/Hubs/HubsMessage1.html 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/Package/PackageTmp/Hubs/HubsMessage2.html 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
.vs/VueWebApi/v16/.suo
Binary files differ
VueWebApi/Controllers/ProductionManagementController.cs
@@ -218,15 +218,16 @@
        /// <summary>
        /// MES工单删除
        /// </summary>
        /// <param name="souceid">源单工单</param>
        /// <param name="wocode">工单编号</param>
        /// <param name="m_po">订单编号</param>
        /// <param name="orderqty">工单数量</param>
        /// <returns></returns>
        [Route(template: "DeleteMesOrder")]
        [HttpPost]
        public HttpResponseMessage DeleteMesOrder(string wocode, string m_po, string orderqty)
        public HttpResponseMessage DeleteMesOrder(string souceid, string wocode, string m_po, string orderqty)
        {
            mes = ProductionManagementBLL.DeleteMesOrder(wocode, m_po, orderqty);
            mes = ProductionManagementBLL.DeleteMesOrder(souceid, wocode, m_po, orderqty);
            return TJson.toJson(mes);
        }
        #endregion
VueWebApi/DLL/BLL/ProductionManagementBLL.cs
@@ -69,9 +69,9 @@
        #endregion
        #region[MES工单删除]
        public static ToMessage DeleteMesOrder(string wocode,string m_po,string orderqty)
        public static ToMessage DeleteMesOrder(string souceid, string wocode,string m_po,string orderqty)
        {
            return ProductionManagementDAL.DeleteMesOrder(wocode,m_po, orderqty);
            return ProductionManagementDAL.DeleteMesOrder(souceid,wocode, m_po, orderqty);
        }
        #endregion
VueWebApi/DLL/DAL/BasicSettingDAL.cs
@@ -44,7 +44,7 @@
                }
                if (userName != "" && userName != null)
                {
                    search += "and parent.lm_user like '%'+@userName+'%' ";
                    search += "and U.username like '%'+@userName+'%' ";
                    dynamicParams.Add("@userName", userName);
                }
                if (search == "")
@@ -62,10 +62,12 @@
                            parent.parent_id,
                            child.org_code as parentorg_code, 
                            child.org_name as parentorg_name,
                            parent.lm_user,
                            U.username as lm_user,
                            parent.lm_date
                            from TOrganization as parent 
                            left join TOrganization as child on parent.parent_id=child.id where parent.is_delete<>1 " + search;
                            left join TOrganization as child on parent.parent_id=child.id
                            left join TUser U on parent.lm_user=U.usercode
                            where parent.is_delete<>1 " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -288,7 +290,7 @@
                }
                if (UserName != "" && UserName != null)
                {
                    search += "and u.username like '%'+@UserName+'%' ";
                    search += "and S.username like '%'+@UserName+'%' ";
                    dynamicParams.Add("@UserName", UserName);
                }
                if (StuOrg != "" && StuOrg != null)
@@ -313,10 +315,11 @@
                //search = search.Substring(3);//截取索引2后面的字符
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select u.id,u.usercode,u.username,g.group_code,g.group_name,u.stu_torgcode,t.org_name,u.password,u.mobile,u.email,u.wagetype,u.enable,u.lm_user,u.lm_date,u.is_role
                var sql = @"select u.id,u.usercode,u.username,g.group_code,g.group_name,u.stu_torgcode,t.org_name,u.password,u.mobile,u.email,u.wagetype,u.enable,S.username as lm_user,u.lm_date,u.is_role
                            from TUser u
                            left join TOrganization t on u.stu_torgcode=t.org_code 
                            left join TGroup g on u.usergroup_code=g.group_code
                            left join TUser S on u.lm_user=S.usercode
                            where u.is_delete<>1 " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
@@ -1317,7 +1320,9 @@
        public static ToMessage SaveRoleAssoctUser(string rolecode, List<ObjectData> json)
        {
            var sql = "";
            var sql2 = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
@@ -1329,6 +1334,7 @@
                    //标记角色表关联用户标识
                    sql = @"update TRole set is_user='N' where role_code=@rolecode";
                    list.Add(new { str = sql, parm = new { rolecode = rolecode } });
                }
                else
                {
VueWebApi/DLL/DAL/DeviceManagerDAL.cs
@@ -1546,7 +1546,7 @@
            try
            {
                //获取设备保养标准信息
                sql = @"select code,name,description
                sql = @"select code,name,description,main_cycle
                        from TEqpmai_Main
                        where code=@repairstand_code and is_delete<>'1'";
                dynamicParams.Add("@repairstand_code", repairstand_code);
@@ -1568,7 +1568,7 @@
                    return mes;
                }
                //根据设备保养标准编码获取关联的保养项目信息
                sql = @"select B.code,B.name,A.chkdesc,A.isscan,A.cycle  from TEqpmai_Deta A
                sql = @"select B.code,B.name,A.chk_desc,A.isscan,A.cycle  from TEqpmai_Deta A
                        left join TEqpmai_Item  B on A.code=B.code
                        where  A.eapmai_code=@repairstand_code order by A.seq asc";
                dynamicParams.Add("@repairstand_code", rout.code);
VueWebApi/DLL/DAL/KanBanManagerentDAL.cs
@@ -71,10 +71,11 @@
                        line.linename = json[i].name;
                        //获取产线下开工总单量
                        sql = @"select COUNT(*) cont  from(
                                select distinct B.rout_code,M.wo_code  from TFlw_Rteqp  A
                                inner join TFlw_Rtdt B on A.step_code=B.step_code
                                inner join TK_Wrk_Man M on B.rout_code=M.route_code
                                where M.status<>'CLOSED'  and M.is_delete<>'1' and A.eqp_code=@linecode) as A";
                                 select distinct B.rout_code,M.wo_code from TK_Wrk_Man M
                                 left join TFlw_Rtdt B  on M.route_code=B.rout_code
                                 left join TFlw_Rteqp R on B.step_code=R.step_code
                                 where M.status<>'CLOSED'  and M.is_delete<>'1'
                                 and R.eqp_code=@linecode) as A";
                        dynamicParams.Add("@linecode", json[i].code);
                        var data = DapperHelper.selectdata(sql, dynamicParams);
                        if (data.Rows.Count > 0 && decimal.Parse(data.Rows[0]["CONT"].ToString())>0)
@@ -86,7 +87,7 @@
                                    inner join TK_Wrk_Man P on A.wo_code=P.wo_code
                                    left join TMateriel_Info M on P.materiel_code=M.partcode
                                    left join TUom T on M.uom_code=T.code 
                                    left join TKimp_Ewo E on P.m_po=E.wo
                                    left join TKimp_Ewo E on P.m_po=E.wo and P.sourceid=E.id
                                    where P.status<>'CLOSED' and P.status<>'NEW' and A.eqp_code=@linecode and A.style='S' and A.step_seq='1'";
                            dynamicParams.Add("@linecode", json[i].code);
                            var data0 = DapperHelper.selectdata(sql, dynamicParams);
@@ -194,7 +195,7 @@
                         A.plan_qty,B.good_qty,B.ng_qty,E.planstartdate,E.planenddate, datediff(day,getdate(),E.planenddate) warning
                         from TK_Wrk_Man A 
                         inner join TK_Wrk_Step B on A.wo_code=B.wo_code
                         inner join TKimp_Ewo E on A.m_po=E.wo
                         inner join TKimp_Ewo E on A.m_po=E.wo and A.sourceid=E.id
                         left  join TMateriel_Info M on A.materiel_code=M.partcode
                         left  join TUom U on M.uom_code=U.code
                         where A.status<>'CLOSED' and A.is_delete<>'1' and B.isend='Y'
VueWebApi/DLL/DAL/ProductModelDAL.cs
@@ -690,7 +690,7 @@
                          select distinct route_code  from TMateriel_Route where  materiel_code=@partcode and is_delete<>'1'
                        ) B
                        on A.code=B.route_code 
                        where  A.is_delete='0'";
                        where  A.is_delete='0' and A.enable='Y'";
                dynamicParams.Add("@partcode", partcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                for (int i = 0; i < data.Rows.Count; i++)
@@ -805,7 +805,7 @@
            {
                if (routecode != "" && routecode != null)
                {
                    search += "and A.code like '%'+@partcode+'%' ";
                    search += "and A.code like '%'+@routecode+'%' ";
                    dynamicParams.Add("@routecode", routecode);
                }
                if (routename != "" && routename != null)
@@ -815,12 +815,12 @@
                }
                if (description != "" && description != null)
                {
                    search += "and A.description=@description ";
                    search += "and A.description like '%'+@description+'%' ";
                    dynamicParams.Add("@description", description);
                }
                if (createuser != "" && createuser != null)
                {
                    search += "and U.username=@createuser ";
                    search += "and U.username like '%'+@createuser+'%' ";
                    dynamicParams.Add("@createuser", createuser);
                }
                if (search == "")
@@ -1046,7 +1046,7 @@
            try
            {
                //获取工序数据
                sql = @"select stepcode,stepname from TStep where is_delete<>'1' ";
                sql = @"select stepcode,stepname from TStep where is_delete<>'1' and enable='Y'";
                var data = DapperHelper.selecttable(sql);
                mes.code = "200";
                mes.Message = "查询成功!";
VueWebApi/DLL/DAL/ProductionManagementDAL.cs
@@ -138,7 +138,7 @@
                    }
                    if (i == Convert.ToInt32(ordernum))  //最后一单时
                    {
                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,materiel_code,m_po,lm_user,lm_date) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@materiel_code,@m_po,@username,@CreateDate)";
                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,materiel_code,sourceid,m_po,lm_user,lm_date) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@materiel_code,@sourceid,@m_po,@username,@CreateDate)";
                        list.Add(new
                        {
                            str = sql,
@@ -151,6 +151,7 @@
                                plan_qty = cdqty + (decimal.Parse(markqty) - sumqty),  //末单下单数量=切分数量+(下单数量-累计切分下单数量)
                                stck_code = warehousecode,
                                materiel_code = partcode,
                                sourceid=erporderid,
                                m_po = erpordercode,
                                username = username,
                                CreateDate = DateTime.Now.ToString()
@@ -161,7 +162,7 @@
                    else
                    {
                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,materiel_code,m_po,lm_user,lm_date) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@materiel_code,@m_po,@username,@CreateDate)";
                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,materiel_code,sourceid,m_po,lm_user,lm_date) values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@materiel_code,@sourceid,@m_po,@username,@CreateDate)";
                        list.Add(new
                        {
                            str = sql,
@@ -174,6 +175,7 @@
                                plan_qty = cdqty,
                                stck_code = warehousecode,
                                materiel_code = partcode,
                                sourceid = erporderid,
                                m_po = erpordercode,
                                username = username,
                                CreateDate = DateTime.Now.ToString()
@@ -356,8 +358,8 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.plan_qty,A.wkshp_code,C.org_name as wkshp_name,
                            A.route_code,E.name as route_name,A.stck_code,F.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.m_po,U.username as lm_user,A.lm_date
                var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.plan_qty,A.wkshp_code,C.org_name as wkshp_name,
                            A.route_code,E.name as route_name,A.stck_code,F.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,U.username as lm_user,A.lm_date
                            from TK_Wrk_Man A
                            left join TMateriel_Info B on A.materiel_code=B.partcode
                            left join TOrganization C on A.wkshp_code=C.org_code
@@ -621,7 +623,7 @@
        #endregion
        #region[MES工单删除]
        public static ToMessage DeleteMesOrder(string wocode, string m_po, string orderqty)
        public static ToMessage DeleteMesOrder(string souceid, string wocode, string m_po, string orderqty)
        {
            var sql = "";
            List<object> list = new List<object>();
@@ -637,21 +639,22 @@
                    if (m_po != "" && m_po != null)
                    {
                        //查询生产订单表数据
                        sql = @"select *  from TKimp_Ewo where wo=@m_po";
                        sql = @"select *  from TKimp_Ewo where wo=@m_po and id=@souceid";
                        dynamicParams.Add("@m_po", m_po);
                        dynamicParams.Add("@souceid", souceid);
                        var data0 = DapperHelper.selectdata(sql, dynamicParams);
                        decimal relse_qty = decimal.Parse(data0.Rows[0]["RELSE_QTY"].ToString());//以下单数量
                        if ((relse_qty - decimal.Parse(orderqty)) == 0)  //全部撤销 è®¢å•状态回写未开始,已下单数量为0
                        {
                            //回写订单表状态及已下单数量
                            sql = @"update TKimp_Ewo set status='NEW',relse_qty=0  where wo=@m_po";
                            list.Add(new { str = sql, parm = new { m_po = m_po } });
                            sql = @"update TKimp_Ewo set status='NEW',relse_qty=0  where wo=@m_po and id=@souceid";
                            list.Add(new { str = sql, parm = new { m_po = m_po, souceid= souceid } });
                        }
                        else
                        {
                            //回写订单表状态及已下单数量
                            sql = @"update TKimp_Ewo set status='CREATING',relse_qty=relse_qty-@orderqty  where wo=@m_po";
                            list.Add(new { str = sql, parm = new { m_po = m_po, orderqty = decimal.Parse(orderqty) } });
                            sql = @"update TKimp_Ewo set status='CREATING',relse_qty=relse_qty-@orderqty  where wo=@m_po and id=@souceid";
                            list.Add(new { str = sql, parm = new { m_po = m_po, souceid= souceid, orderqty = decimal.Parse(orderqty) } });
                        }
                    }
                    //删除工单工序表
@@ -1827,7 +1830,7 @@
                    dynamicParams.Add("@wo_code", mesordercode);
                    dynamicParams.Add("@step_code", stepcode);
                    var da1 = DapperHelper.selectdata(sql, dynamicParams);
                    var dr = da1.AsEnumerable().ToList().Select(x => x.Field<int>("NAME")).ToList();
                    var dr = da1.AsEnumerable().ToList().Select(x => x.Field<string>("NAME")).ToList();
                    string wxstring = (string.Join(",", dr.Select(x => x.ToString()).ToArray()));
                    mes.code = "300";
                    mes.count = 0;
@@ -1853,6 +1856,18 @@
                //}
                if (data.Rows.Count > 0)
                {
                    decimal sum_sqty = data.AsEnumerable().Select(d => d.Field<decimal>("SQTY")).Sum();  //获取同单号,同工序,同外协供应商收料总数量
                    decimal sum_fqty = da.AsEnumerable().Select(d => d.Field<decimal>("FQTY")).Sum();  //获取同单号,同工序,同外协供应商发料总数量
                    if ((sum_sqty + decimal.Parse(sqty) + decimal.Parse(ngqty)) > sum_fqty) //已收料总数+当前收料数量+不良数量>总发料数量
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "操作失败,当前收料数量+不良数量,不能大于待收数量:" + (sum_fqty- sum_sqty) + "!";
                        mes.data = null;
                        return mes;
                    }
                    //获取主表最大ID
                    sql = @"select ISNULL(IDENT_CURRENT('TK_Wrk_OutRecord')+1,1) as id";
                    var dt = DapperHelper.selecttable(sql);
VueWebApi/DLL/DAL/QualityManagementDAL.cs
@@ -652,7 +652,7 @@
                }
                if (partcode != "" && partcode != null)
                {
                    search += "and A.partcode like '%'+@stanedname+'%' ";
                    search += "and A.partcode like '%'+@partcode+'%' ";
                    dynamicParams.Add("@partcode", partcode);
                }
                if (partname != "" && partname != null)
VueWebApi/Hubs/ChatHub.cs
@@ -35,12 +35,16 @@
            Clients.Client(_connections[name2]).SendMessage("来自用户:" + name1 + " å†…容:" + cont + "" + DateTime.Now.ToString("yyyy/MM/ddhh:mm:ss") + "的消息推送!");
        }
        public void SendByGroups(string name1, IList<string>name2, string cont)
        {
            //Client内为用户的id,是唯一的,SendMessage函数是前端函数,意思是服务器将该消息推送至前端
            Clients.Clients(name2).SendMessage("来自用户:" + name1 + " å†…容:" + cont + "" + DateTime.Now.ToString("yyyy/MM/ddhh:mm:ss") + "的消息推送!");
        }
        /// <summary>
        /// ç”¨æˆ·ä¸Šçº¿å‡½æ•°
        /// </summary>
        /// <param name="name"></param>
        /// <param name="name">用户名</param>
        public void SendLogin(string name)
        {
            if (!userList.Contains(name))
VueWebApi/Hubs/HubsMessage.html
@@ -24,6 +24,7 @@
            //前端Hub的使用,注意的是,Hub的名字是ChatHub,这里使用时首字母小写
            var work = $.connection.chatHub;
            /*$('#displayname').val(prompt('请输入昵称:', ''));*/
            $('#displaycode').val("003");
            $('#displayname').val("张三");
            $('#thisname').text('当前用户:' + $('#displayname').val());
@@ -51,10 +52,11 @@
                //点击按钮,发送消息
                $('#send').click(function () {
                    var friend = $('#username').val();
                    /*var friend = $('#username').val();*/
                    var friend =["1","2","3"];
                    var cont = $('#cont').val();
                    //调用后端函数,发送指定消息
                    work.server.sendByGroup(username, friend, cont);
                    work.server.SendByGroups(username, friend, cont);
                });
            });
        });
VueWebApi/Hubs/HubsMessage1.html
@@ -35,22 +35,37 @@
            };
            //后端SendLogin调用后,产生的loginUser回调
            work.client.loginUser = function (userlist) {
                reloadUser(userlist);
            };
            //hub连接开启
            $.connection.hub.start().done(function () {
                var username = $('#displayname').val();
                //发送上线信息
                work.server.sendLogin(username);
                //点击按钮,发送消息
                $('#send').click(function () {
                    var friend = $('#username').val();
                    var cont = $('#cont').val();
                    //调用后端函数,发送指定消息
                    work.server.sendByGroup(username, friend, cont);
                });
            });
        });
        //重新加载用户列表
        //var reloadUser = function () {
        //    $("#username").empty();
        //    for (i = 0; i < 5; i++) {
        //        $("#username").append("<option value=" + i + ">" +i + "</option>");
        //    }
        //}
        var reloadUser = function () {
            $("#username").empty();
            for (i = 0; i < 5; i++) {
                $("#username").append("<option value=" + i + ">" +i + "</option>");
            }
        }
        //var reloadUser = function (userlist) {
        //    $("#username").empty();
        //    for (i = 0; i < userlist.length; i++) {
VueWebApi/Hubs/HubsMessage2.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="../Scripts/jquery-3.4.1.min.js"></script>
    <script src="../Scripts/jquery.signalR-2.2.2.min.js"></script>
    <script src="/SignalR/Hubs"></script>
</head>
<body>
    <h1>流程演示</h1>
    <input type="hidden" id="displayname" />
    <h2 id="thisname"></h2><br />
    <select id="username" style="width:153px;">
    </select>
    <input id="cont" type="text" style="width:300px;">
    <input id="send" type="button" value="发送" />
    <div>
        <h1 id="messgae"></h1>
    </div>
    <script type="text/javascript">
        $(function () {
            //前端Hub的使用,注意的是,Hub的名字是ChatHub,这里使用时首字母小写
            var work = $.connection.chatHub;
            /*$('#displayname').val(prompt('请输入昵称:', ''));*/
            $('#displayname').val("2");
            $('#thisname').text('当前用户:' + $('#displayname').val());
            //对应后端的SendMessage函数,消息接收函数
            work.client.sendMessage = function (message) {
                $('#messgae').append(message + '</br>')
            };
            //hub连接开启
            $.connection.hub.start().done(function () {
                var username = $('#displayname').val();
                //发送上线信息
                work.server.sendLogin(username);
            });
        });
        //重新加载用户列表
        //var reloadUser = function () {
        //    $("#username").empty();
        //    for (i = 0; i < 5; i++) {
        //        $("#username").append("<option value=" + i + ">" +i + "</option>");
        //    }
        //}
        //var reloadUser = function (userlist) {
        //    $("#username").empty();
        //    for (i = 0; i < userlist.length; i++) {
        //        $("#username").append("<option value=" + userlist[i] + ">" + userlist[i] + "</option>");
        //    }
        //}
    </script>
</body>
</html>
VueWebApi/Logs/2022-08-31.TXT
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,116 @@
 ã€æ—¶é—´ã€‘:2022-08-31 17:07:40,472
 ã€çº§åˆ«ã€‘:ERROR
 ã€ç±»åã€‘:日志记录
 ã€çº¿ç¨‹ID】: 11
 ã€æ–‡ä»¶åœ°å€ã€‘:D:\新凯迪MES\VueWebApi\VueWebApi\Tools\LogHelper.cs ç¬¬25行
 ã€æ—¥å¿—内容】:
消息类型:SqlException
消息内容:列名 'usercode' æ— æ•ˆã€‚
引发异常路径:/api/BasicSetting/SaveRoleAssoctUser
引发异常的方法:OnError
引发异常源:.Net SqlClient Data Provider   åœ¨ System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   åœ¨ System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   åœ¨ System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   åœ¨ System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   åœ¨ System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
   åœ¨ System.Data.SqlClient.SqlDataReader.get_MetaData()
   åœ¨ System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   åœ¨ System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   åœ¨ System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   åœ¨ System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   åœ¨ System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   åœ¨ System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
   åœ¨ System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   åœ¨ Dapper.SqlMapper.ExecuteReaderWithFlagsFallback(IDbCommand cmd, Boolean wasClosed, CommandBehavior behavior)
   åœ¨ Dapper.SqlMapper.ExecuteReaderImpl(IDbConnection cnn, CommandDefinition& command, CommandBehavior commandBehavior, IDbCommand& cmd)
   åœ¨ Dapper.SqlMapper.ExecuteReader(IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Nullable`1 commandTimeout, Nullable`1 commandType)
   åœ¨ VueWebApi.Tools.DapperHelper.selectdata(String sql, Object parm) ä½ç½® D:\新凯迪MES\VueWebApi\VueWebApi\Tools\DapperHelper.cs:行号 195
 ã€æ—¥è®°è¯¦ç»†ã€‘:
---------------------------------------------------------------------------------------------------------------
 ã€æ—¶é—´ã€‘:2022-08-31 17:48:53,157
 ã€çº§åˆ«ã€‘:ERROR
 ã€ç±»åã€‘:日志记录
 ã€çº¿ç¨‹ID】: 10
 ã€æ–‡ä»¶åœ°å€ã€‘:D:\新凯迪MES\VueWebApi\VueWebApi\Tools\LogHelper.cs ç¬¬25行
 ã€æ—¥å¿—内容】:
消息类型:SqlException
消息内容:列名 'usercode' æ— æ•ˆã€‚
引发异常路径:/api/BasicSetting/SaveRoleAssoctUser
引发异常的方法:OnError
引发异常源:.Net SqlClient Data Provider   åœ¨ System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   åœ¨ System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   åœ¨ System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   åœ¨ System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   åœ¨ System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
   åœ¨ System.Data.SqlClient.SqlDataReader.get_MetaData()
   åœ¨ System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   åœ¨ System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   åœ¨ System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   åœ¨ System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   åœ¨ System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   åœ¨ System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
   åœ¨ System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   åœ¨ Dapper.SqlMapper.ExecuteReaderWithFlagsFallback(IDbCommand cmd, Boolean wasClosed, CommandBehavior behavior)
   åœ¨ Dapper.SqlMapper.ExecuteReaderImpl(IDbConnection cnn, CommandDefinition& command, CommandBehavior commandBehavior, IDbCommand& cmd)
   åœ¨ Dapper.SqlMapper.ExecuteReader(IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Nullable`1 commandTimeout, Nullable`1 commandType)
   åœ¨ VueWebApi.Tools.DapperHelper.selectdata(String sql, Object parm) ä½ç½® D:\新凯迪MES\VueWebApi\VueWebApi\Tools\DapperHelper.cs:行号 195
 ã€æ—¥è®°è¯¦ç»†ã€‘:
---------------------------------------------------------------------------------------------------------------
 ã€æ—¶é—´ã€‘:2022-08-31 17:56:10,826
 ã€çº§åˆ«ã€‘:ERROR
 ã€ç±»åã€‘:日志记录
 ã€çº¿ç¨‹ID】: 10
 ã€æ–‡ä»¶åœ°å€ã€‘:D:\新凯迪MES\VueWebApi\VueWebApi\Tools\LogHelper.cs ç¬¬25行
 ã€æ—¥å¿—内容】:
消息类型:SqlException
消息内容:列名 'usercode' æ— æ•ˆã€‚
引发异常路径:/api/BasicSetting/SaveRoleAssoctUser
引发异常的方法:OnError
引发异常源:.Net SqlClient Data Provider   åœ¨ System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   åœ¨ System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   åœ¨ System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   åœ¨ System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   åœ¨ System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
   åœ¨ System.Data.SqlClient.SqlDataReader.get_MetaData()
   åœ¨ System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   åœ¨ System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   åœ¨ System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   åœ¨ System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   åœ¨ System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   åœ¨ System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
   åœ¨ System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   åœ¨ Dapper.SqlMapper.ExecuteReaderWithFlagsFallback(IDbCommand cmd, Boolean wasClosed, CommandBehavior behavior)
   åœ¨ Dapper.SqlMapper.ExecuteReaderImpl(IDbConnection cnn, CommandDefinition& command, CommandBehavior commandBehavior, IDbCommand& cmd)
   åœ¨ Dapper.SqlMapper.ExecuteReader(IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Nullable`1 commandTimeout, Nullable`1 commandType)
   åœ¨ VueWebApi.Tools.DapperHelper.selectdata(String sql, Object parm) ä½ç½® D:\新凯迪MES\VueWebApi\VueWebApi\Tools\DapperHelper.cs:行号 195
 ã€æ—¥è®°è¯¦ç»†ã€‘:
---------------------------------------------------------------------------------------------------------------
 ã€æ—¶é—´ã€‘:2022-08-31 17:57:57,376
 ã€çº§åˆ«ã€‘:ERROR
 ã€ç±»åã€‘:日志记录
 ã€çº¿ç¨‹ID】: 11
 ã€æ–‡ä»¶åœ°å€ã€‘:D:\新凯迪MES\VueWebApi\VueWebApi\Tools\LogHelper.cs ç¬¬25行
 ã€æ—¥å¿—内容】:
消息类型:SqlException
消息内容:列名 'usercode' æ— æ•ˆã€‚
引发异常路径:/api/BasicSetting/SaveRoleAssoctUser
引发异常的方法:OnError
引发异常源:.Net SqlClient Data Provider   åœ¨ System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   åœ¨ System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   åœ¨ System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   åœ¨ System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   åœ¨ System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
   åœ¨ System.Data.SqlClient.SqlDataReader.get_MetaData()
   åœ¨ System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   åœ¨ System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   åœ¨ System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   åœ¨ System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   åœ¨ System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   åœ¨ System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
   åœ¨ System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   åœ¨ Dapper.SqlMapper.ExecuteReaderWithFlagsFallback(IDbCommand cmd, Boolean wasClosed, CommandBehavior behavior)
   åœ¨ Dapper.SqlMapper.ExecuteReaderImpl(IDbConnection cnn, CommandDefinition& command, CommandBehavior commandBehavior, IDbCommand& cmd)
   åœ¨ Dapper.SqlMapper.ExecuteReader(IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Nullable`1 commandTimeout, Nullable`1 commandType)
   åœ¨ VueWebApi.Tools.DapperHelper.selectdata(String sql, Object parm) ä½ç½® D:\新凯迪MES\VueWebApi\VueWebApi\Tools\DapperHelper.cs:行号 195
 ã€æ—¥è®°è¯¦ç»†ã€‘:
---------------------------------------------------------------------------------------------------------------
VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -5,7 +5,7 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <_PublishTargetUrl>D:\网站发布\XKDMesApi</_PublishTargetUrl>
    <History>True|2022-08-30T09:36:34.5932064Z;True|2022-08-30T17:18:12.4582841+08:00;True|2022-08-30T12:55:16.4084322+08:00;True|2022-08-30T10:12:08.0975252+08:00;True|2022-08-30T09:12:46.2845546+08:00;True|2022-08-30T08:58:47.8389468+08:00;True|2022-08-29T17:21:17.7779579+08:00;True|2022-08-29T17:17:49.5334583+08:00;True|2022-08-29T16:53:46.6019453+08:00;True|2022-08-29T16:46:50.8158231+08:00;True|2022-08-29T12:25:19.0140888+08:00;True|2022-08-26T17:02:52.4614637+08:00;True|2022-08-26T16:52:47.8585471+08:00;True|2022-08-26T16:47:02.5766798+08:00;True|2022-08-26T16:36:15.5793109+08:00;True|2022-08-26T16:15:55.1795297+08:00;True|2022-08-26T16:00:22.2697361+08:00;False|2022-08-26T15:58:16.7347649+08:00;True|2022-08-26T15:22:29.6367466+08:00;True|2022-08-25T20:02:24.4685508+08:00;True|2022-08-25T19:50:42.8601696+08:00;True|2022-08-25T15:56:20.3615518+08:00;True|2022-08-25T15:48:16.9923580+08:00;True|2022-08-25T15:27:07.9474640+08:00;True|2022-08-25T13:11:36.9626131+08:00;True|2022-08-24T14:10:58.2790665+08:00;True|2022-08-24T11:43:10.4463552+08:00;True|2022-08-24T08:02:17.9871411+08:00;True|2022-08-23T22:50:41.0238571+08:00;True|2022-08-23T22:16:20.9249814+08:00;True|2022-08-23T21:59:21.1909300+08:00;True|2022-08-23T21:50:40.8106496+08:00;True|2022-08-23T21:06:55.6611505+08:00;True|2022-08-23T19:49:07.0507418+08:00;True|2022-08-23T19:03:15.9808046+08:00;True|2022-08-23T18:58:57.1700899+08:00;True|2022-08-23T18:54:26.8058591+08:00;True|2022-08-23T18:45:39.1928602+08:00;True|2022-08-23T17:32:10.6125039+08:00;True|2022-08-23T15:58:34.9205174+08:00;True|2022-08-23T15:49:21.3383764+08:00;True|2022-08-23T15:14:21.0775398+08:00;True|2022-08-23T15:04:07.8829410+08:00;True|2022-08-23T14:59:17.5143895+08:00;True|2022-08-23T14:55:17.0069050+08:00;True|2022-08-23T14:41:41.0884731+08:00;True|2022-08-23T14:41:06.5045325+08:00;True|2022-08-23T14:28:54.7390570+08:00;True|2022-08-23T13:56:59.3670549+08:00;True|2022-08-23T13:56:38.8588174+08:00;True|2022-08-22T20:48:56.2180227+08:00;True|2022-08-22T19:07:12.1093584+08:00;True|2022-08-22T19:04:07.7837887+08:00;True|2022-08-22T14:38:00.9342884+08:00;True|2022-08-22T10:59:23.2073567+08:00;True|2022-08-22T10:53:58.0920733+08:00;True|2022-08-22T10:53:10.2446944+08:00;True|2022-08-22T10:43:35.3791396+08:00;True|2022-08-18T09:45:46.4643950+08:00;True|2022-08-18T09:40:55.2601145+08:00;True|2022-08-16T16:17:14.3399134+08:00;True|2022-08-15T17:58:16.1460123+08:00;True|2022-08-15T17:55:55.7137518+08:00;True|2022-08-15T17:44:37.6024482+08:00;True|2022-08-15T17:44:21.9583041+08:00;True|2022-08-15T17:43:23.1305690+08:00;True|2022-08-15T17:29:31.1670490+08:00;True|2022-08-15T17:26:42.9269470+08:00;True|2022-08-15T17:23:27.0940168+08:00;True|2022-08-15T17:07:32.9192045+08:00;True|2022-08-15T16:47:03.8611076+08:00;True|2022-08-15T16:41:50.6843705+08:00;True|2022-08-15T16:38:26.7407413+08:00;True|2022-08-15T16:31:49.0805578+08:00;True|2022-08-15T16:27:33.6712012+08:00;True|2022-08-15T16:24:35.1042794+08:00;True|2022-08-15T16:21:57.2757683+08:00;True|2022-08-15T16:18:17.3545368+08:00;True|2022-08-15T16:15:04.2645412+08:00;True|2022-08-15T14:44:09.3078026+08:00;True|2022-08-15T11:20:09.2930712+08:00;True|2022-08-15T10:42:12.2991587+08:00;True|2022-08-15T10:41:38.3711025+08:00;True|2022-08-15T10:19:06.9974383+08:00;True|2022-08-12T17:15:09.2133281+08:00;True|2022-08-12T10:48:05.8776009+08:00;True|2022-08-12T10:26:16.4183447+08:00;True|2022-08-12T08:33:01.9502005+08:00;True|2022-08-11T09:06:08.8394009+08:00;True|2022-08-11T08:39:06.2534634+08:00;True|2022-08-11T08:05:13.6919725+08:00;True|2022-08-08T14:48:16.3637965+08:00;True|2022-08-05T15:44:02.3797448+08:00;True|2022-08-05T09:57:55.7744103+08:00;True|2022-08-04T15:24:38.8785046+08:00;True|2022-08-04T15:11:16.7054147+08:00;True|2022-08-04T14:53:52.7239932+08:00;True|2022-08-04T14:48:35.6115863+08:00;True|2022-08-04T14:39:16.1113507+08:00;True|2022-08-04T12:26:39.4998322+08:00;True|2022-08-04T10:34:23.9626503+08:00;True|2022-08-04T08:12:51.4305728+08:00;True|2022-08-03T15:43:09.2317512+08:00;True|2022-08-02T19:17:55.0460145+08:00;True|2022-08-02T19:08:13.5872184+08:00;True|2022-08-02T18:50:12.1280167+08:00;True|2022-08-02T18:05:53.6540810+08:00;True|2022-08-02T16:13:26.3567210+08:00;True|2022-08-02T15:27:59.9264333+08:00;True|2022-07-25T15:35:49.6958399+08:00;True|2022-07-25T15:30:40.4444876+08:00;True|2022-07-25T13:33:38.4068153+08:00;True|2022-07-22T15:00:56.7326322+08:00;True|2022-07-22T14:51:18.0169121+08:00;True|2022-07-22T14:26:08.4246205+08:00;True|2022-07-22T14:23:05.0897016+08:00;True|2022-07-22T14:18:18.7806854+08:00;True|2022-07-22T14:09:29.7924367+08:00;True|2022-07-22T14:02:26.6403133+08:00;True|2022-07-22T13:56:40.0887615+08:00;True|2022-07-22T13:50:10.7852190+08:00;True|2022-07-22T11:38:25.6671780+08:00;True|2022-07-22T10:55:36.7947659+08:00;True|2022-07-21T17:53:41.1464086+08:00;True|2022-07-21T17:43:33.5311479+08:00;True|2022-07-21T16:09:07.7687640+08:00;True|2022-07-21T16:04:47.9317019+08:00;True|2022-07-21T15:58:21.2359033+08:00;True|2022-07-21T15:56:07.7425829+08:00;True|2022-07-21T15:51:34.7108381+08:00;True|2022-07-21T15:48:57.5735708+08:00;True|2022-07-21T15:44:25.8205030+08:00;True|2022-07-21T15:25:51.4222269+08:00;True|2022-07-21T15:22:36.8818295+08:00;True|2022-07-21T15:19:28.8532774+08:00;True|2022-07-21T14:57:45.7532568+08:00;True|2022-07-21T11:16:12.0900762+08:00;True|2022-07-21T10:10:40.4714948+08:00;True|2022-07-21T10:00:19.5258058+08:00;True|2022-07-14T14:34:28.5093226+08:00;True|2022-07-14T13:59:59.7754985+08:00;True|2022-07-14T12:46:29.6685284+08:00;True|2022-07-14T09:22:25.9079652+08:00;True|2022-07-14T09:22:04.6797478+08:00;True|2022-07-14T09:10:45.0177607+08:00;True|2022-07-14T08:41:43.3026713+08:00;True|2022-07-14T08:27:32.7454972+08:00;True|2022-07-14T08:21:58.6572366+08:00;True|2022-07-14T08:17:59.2904747+08:00;True|2022-07-14T08:12:39.8483472+08:00;True|2022-06-30T15:04:41.6941982+08:00;True|2022-06-24T16:39:01.1080301+08:00;True|2022-06-17T13:23:15.1455451+08:00;True|2022-06-17T13:22:18.5517557+08:00;True|2022-06-17T13:19:27.7323818+08:00;True|2022-06-17T13:12:24.1252779+08:00;True|2022-06-17T13:09:20.4234258+08:00;True|2022-06-17T13:06:49.9869509+08:00;True|2022-06-17T12:58:54.6964621+08:00;False|2022-06-17T12:58:10.6767711+08:00;False|2022-06-17T12:57:08.9747950+08:00;False|2022-06-17T12:56:18.4650121+08:00;False|2022-06-17T12:55:57.9981927+08:00;True|2022-06-13T14:21:36.5610928+08:00;True|2022-06-13T11:41:39.4210151+08:00;True|2022-06-11T02:35:03.4727934+08:00;True|2022-06-11T02:31:13.7362660+08:00;True|2022-06-11T02:30:58.3616790+08:00;True|2022-06-11T01:57:04.4951468+08:00;True|2022-06-10T13:27:13.2097124+08:00;</History>
    <History>True|2022-08-31T15:40:49.5468281Z;True|2022-08-31T22:15:50.0388123+08:00;True|2022-08-31T19:20:24.7693742+08:00;True|2022-08-31T19:00:06.8271626+08:00;True|2022-08-31T18:45:08.6483670+08:00;True|2022-08-31T16:59:34.8244511+08:00;True|2022-08-31T15:39:51.0653019+08:00;True|2022-08-31T15:25:32.5277796+08:00;True|2022-08-31T13:31:48.5734692+08:00;True|2022-08-31T12:59:02.1022191+08:00;True|2022-08-31T10:06:03.2043884+08:00;True|2022-08-30T17:36:34.5932064+08:00;True|2022-08-30T17:18:12.4582841+08:00;True|2022-08-30T12:55:16.4084322+08:00;True|2022-08-30T10:12:08.0975252+08:00;True|2022-08-30T09:12:46.2845546+08:00;True|2022-08-30T08:58:47.8389468+08:00;True|2022-08-29T17:21:17.7779579+08:00;True|2022-08-29T17:17:49.5334583+08:00;True|2022-08-29T16:53:46.6019453+08:00;True|2022-08-29T16:46:50.8158231+08:00;True|2022-08-29T12:25:19.0140888+08:00;True|2022-08-26T17:02:52.4614637+08:00;True|2022-08-26T16:52:47.8585471+08:00;True|2022-08-26T16:47:02.5766798+08:00;True|2022-08-26T16:36:15.5793109+08:00;True|2022-08-26T16:15:55.1795297+08:00;True|2022-08-26T16:00:22.2697361+08:00;False|2022-08-26T15:58:16.7347649+08:00;True|2022-08-26T15:22:29.6367466+08:00;True|2022-08-25T20:02:24.4685508+08:00;True|2022-08-25T19:50:42.8601696+08:00;True|2022-08-25T15:56:20.3615518+08:00;True|2022-08-25T15:48:16.9923580+08:00;True|2022-08-25T15:27:07.9474640+08:00;True|2022-08-25T13:11:36.9626131+08:00;True|2022-08-24T14:10:58.2790665+08:00;True|2022-08-24T11:43:10.4463552+08:00;True|2022-08-24T08:02:17.9871411+08:00;True|2022-08-23T22:50:41.0238571+08:00;True|2022-08-23T22:16:20.9249814+08:00;True|2022-08-23T21:59:21.1909300+08:00;True|2022-08-23T21:50:40.8106496+08:00;True|2022-08-23T21:06:55.6611505+08:00;True|2022-08-23T19:49:07.0507418+08:00;True|2022-08-23T19:03:15.9808046+08:00;True|2022-08-23T18:58:57.1700899+08:00;True|2022-08-23T18:54:26.8058591+08:00;True|2022-08-23T18:45:39.1928602+08:00;True|2022-08-23T17:32:10.6125039+08:00;True|2022-08-23T15:58:34.9205174+08:00;True|2022-08-23T15:49:21.3383764+08:00;True|2022-08-23T15:14:21.0775398+08:00;True|2022-08-23T15:04:07.8829410+08:00;True|2022-08-23T14:59:17.5143895+08:00;True|2022-08-23T14:55:17.0069050+08:00;True|2022-08-23T14:41:41.0884731+08:00;True|2022-08-23T14:41:06.5045325+08:00;True|2022-08-23T14:28:54.7390570+08:00;True|2022-08-23T13:56:59.3670549+08:00;True|2022-08-23T13:56:38.8588174+08:00;True|2022-08-22T20:48:56.2180227+08:00;True|2022-08-22T19:07:12.1093584+08:00;True|2022-08-22T19:04:07.7837887+08:00;True|2022-08-22T14:38:00.9342884+08:00;True|2022-08-22T10:59:23.2073567+08:00;True|2022-08-22T10:53:58.0920733+08:00;True|2022-08-22T10:53:10.2446944+08:00;True|2022-08-22T10:43:35.3791396+08:00;True|2022-08-18T09:45:46.4643950+08:00;True|2022-08-18T09:40:55.2601145+08:00;True|2022-08-16T16:17:14.3399134+08:00;True|2022-08-15T17:58:16.1460123+08:00;True|2022-08-15T17:55:55.7137518+08:00;True|2022-08-15T17:44:37.6024482+08:00;True|2022-08-15T17:44:21.9583041+08:00;True|2022-08-15T17:43:23.1305690+08:00;True|2022-08-15T17:29:31.1670490+08:00;True|2022-08-15T17:26:42.9269470+08:00;True|2022-08-15T17:23:27.0940168+08:00;True|2022-08-15T17:07:32.9192045+08:00;True|2022-08-15T16:47:03.8611076+08:00;True|2022-08-15T16:41:50.6843705+08:00;True|2022-08-15T16:38:26.7407413+08:00;True|2022-08-15T16:31:49.0805578+08:00;True|2022-08-15T16:27:33.6712012+08:00;True|2022-08-15T16:24:35.1042794+08:00;True|2022-08-15T16:21:57.2757683+08:00;True|2022-08-15T16:18:17.3545368+08:00;True|2022-08-15T16:15:04.2645412+08:00;True|2022-08-15T14:44:09.3078026+08:00;True|2022-08-15T11:20:09.2930712+08:00;True|2022-08-15T10:42:12.2991587+08:00;True|2022-08-15T10:41:38.3711025+08:00;True|2022-08-15T10:19:06.9974383+08:00;True|2022-08-12T17:15:09.2133281+08:00;True|2022-08-12T10:48:05.8776009+08:00;True|2022-08-12T10:26:16.4183447+08:00;True|2022-08-12T08:33:01.9502005+08:00;True|2022-08-11T09:06:08.8394009+08:00;True|2022-08-11T08:39:06.2534634+08:00;True|2022-08-11T08:05:13.6919725+08:00;True|2022-08-08T14:48:16.3637965+08:00;True|2022-08-05T15:44:02.3797448+08:00;True|2022-08-05T09:57:55.7744103+08:00;True|2022-08-04T15:24:38.8785046+08:00;True|2022-08-04T15:11:16.7054147+08:00;True|2022-08-04T14:53:52.7239932+08:00;True|2022-08-04T14:48:35.6115863+08:00;True|2022-08-04T14:39:16.1113507+08:00;True|2022-08-04T12:26:39.4998322+08:00;True|2022-08-04T10:34:23.9626503+08:00;True|2022-08-04T08:12:51.4305728+08:00;True|2022-08-03T15:43:09.2317512+08:00;True|2022-08-02T19:17:55.0460145+08:00;True|2022-08-02T19:08:13.5872184+08:00;True|2022-08-02T18:50:12.1280167+08:00;True|2022-08-02T18:05:53.6540810+08:00;True|2022-08-02T16:13:26.3567210+08:00;True|2022-08-02T15:27:59.9264333+08:00;True|2022-07-25T15:35:49.6958399+08:00;True|2022-07-25T15:30:40.4444876+08:00;True|2022-07-25T13:33:38.4068153+08:00;True|2022-07-22T15:00:56.7326322+08:00;True|2022-07-22T14:51:18.0169121+08:00;True|2022-07-22T14:26:08.4246205+08:00;True|2022-07-22T14:23:05.0897016+08:00;True|2022-07-22T14:18:18.7806854+08:00;True|2022-07-22T14:09:29.7924367+08:00;True|2022-07-22T14:02:26.6403133+08:00;True|2022-07-22T13:56:40.0887615+08:00;True|2022-07-22T13:50:10.7852190+08:00;True|2022-07-22T11:38:25.6671780+08:00;True|2022-07-22T10:55:36.7947659+08:00;True|2022-07-21T17:53:41.1464086+08:00;True|2022-07-21T17:43:33.5311479+08:00;True|2022-07-21T16:09:07.7687640+08:00;True|2022-07-21T16:04:47.9317019+08:00;True|2022-07-21T15:58:21.2359033+08:00;True|2022-07-21T15:56:07.7425829+08:00;True|2022-07-21T15:51:34.7108381+08:00;True|2022-07-21T15:48:57.5735708+08:00;True|2022-07-21T15:44:25.8205030+08:00;True|2022-07-21T15:25:51.4222269+08:00;True|2022-07-21T15:22:36.8818295+08:00;True|2022-07-21T15:19:28.8532774+08:00;True|2022-07-21T14:57:45.7532568+08:00;True|2022-07-21T11:16:12.0900762+08:00;True|2022-07-21T10:10:40.4714948+08:00;True|2022-07-21T10:00:19.5258058+08:00;True|2022-07-14T14:34:28.5093226+08:00;True|2022-07-14T13:59:59.7754985+08:00;True|2022-07-14T12:46:29.6685284+08:00;True|2022-07-14T09:22:25.9079652+08:00;True|2022-07-14T09:22:04.6797478+08:00;True|2022-07-14T09:10:45.0177607+08:00;True|2022-07-14T08:41:43.3026713+08:00;True|2022-07-14T08:27:32.7454972+08:00;True|2022-07-14T08:21:58.6572366+08:00;True|2022-07-14T08:17:59.2904747+08:00;True|2022-07-14T08:12:39.8483472+08:00;True|2022-06-30T15:04:41.6941982+08:00;True|2022-06-24T16:39:01.1080301+08:00;True|2022-06-17T13:23:15.1455451+08:00;True|2022-06-17T13:22:18.5517557+08:00;True|2022-06-17T13:19:27.7323818+08:00;True|2022-06-17T13:12:24.1252779+08:00;True|2022-06-17T13:09:20.4234258+08:00;True|2022-06-17T13:06:49.9869509+08:00;True|2022-06-17T12:58:54.6964621+08:00;False|2022-06-17T12:58:10.6767711+08:00;False|2022-06-17T12:57:08.9747950+08:00;False|2022-06-17T12:56:18.4650121+08:00;False|2022-06-17T12:55:57.9981927+08:00;True|2022-06-13T14:21:36.5610928+08:00;True|2022-06-13T11:41:39.4210151+08:00;True|2022-06-11T02:35:03.4727934+08:00;True|2022-06-11T02:31:13.7362660+08:00;True|2022-06-11T02:30:58.3616790+08:00;True|2022-06-11T01:57:04.4951468+08:00;True|2022-06-10T13:27:13.2097124+08:00;</History>
  </PropertyGroup>
  <ItemGroup>
    <File Include="Areas/HelpPage/HelpPage.css">
@@ -714,16 +714,16 @@
      <publishTime>12/24/2021 15:38:29</publishTime>
    </File>
    <File Include="bin/VueWebApi.dll">
      <publishTime>08/30/2022 17:36:29</publishTime>
      <publishTime>08/31/2022 22:15:43</publishTime>
    </File>
    <File Include="bin/VueWebApi.dll.config">
      <publishTime>06/15/2022 15:31:43</publishTime>
    </File>
    <File Include="bin/VueWebApi.pdb">
      <publishTime>08/30/2022 17:36:29</publishTime>
      <publishTime>08/31/2022 22:15:43</publishTime>
    </File>
    <File Include="bin/VueWebApi.xml">
      <publishTime>08/30/2022 17:36:29</publishTime>
      <publishTime>08/31/2022 22:15:43</publishTime>
    </File>
    <File Include="bin/WebActivatorEx.dll">
      <publishTime>02/08/2013 16:42:28</publishTime>
@@ -1272,10 +1272,13 @@
      <publishTime>07/08/2022 15:15:11</publishTime>
    </File>
    <File Include="Hubs/HubsMessage.html">
      <publishTime>08/30/2022 14:32:38</publishTime>
      <publishTime>08/31/2022 09:31:57</publishTime>
    </File>
    <File Include="Hubs/HubsMessage1.html">
      <publishTime>08/30/2022 14:51:37</publishTime>
      <publishTime>08/31/2022 09:19:16</publishTime>
    </File>
    <File Include="Hubs/HubsMessage2.html">
      <publishTime>08/31/2022 08:55:18</publishTime>
    </File>
    <File Include="Image/1.png">
      <publishTime>08/11/2022 08:20:52</publishTime>
@@ -1506,7 +1509,7 @@
      <publishTime>06/10/2022 08:20:24</publishTime>
    </File>
    <File Include="Web.config">
      <publishTime>08/30/2022 17:36:34</publishTime>
      <publishTime>08/31/2022 22:15:49</publishTime>
    </File>
  </ItemGroup>
</Project>
VueWebApi/VueWebApi.csproj
@@ -406,6 +406,7 @@
    <Content Include="Global.asax" />
    <Content Include="Grid\grwebapp.js" />
    <Content Include="Grid\webapp-ws-tutorial.htm" />
    <Content Include="Hubs\HubsMessage2.html" />
    <Content Include="Hubs\HubsMessage1.html" />
    <Content Include="Hubs\HubsMessage.html" />
    <Content Include="Image\1.png" />
VueWebApi/bin/VueWebApi.pdb
Binary files differ
VueWebApi/bin/VueWebApi.xml
@@ -529,7 +529,7 @@
            <summary>
            ç”¨æˆ·ä¸Šçº¿å‡½æ•°
            </summary>
            <param name="name"></param>
            <param name="name">用户名</param>
        </member>
        <member name="M:VueWebApi.Controllers.AppDeviceManageController.CheckScanDeviceQrCodeData(System.String)">
            <summary>
@@ -1493,10 +1493,11 @@
            <param name="obj">提交数据</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductionManagementController.DeleteMesOrder(System.String,System.String,System.String)">
        <member name="M:VueWebApi.Controllers.ProductionManagementController.DeleteMesOrder(System.String,System.String,System.String,System.String)">
            <summary>
            MES工单删除
            </summary>
            <param name="souceid">源单工单</param>
            <param name="wocode">工单编号</param>
            <param name="m_po">订单编号</param>
            <param name="orderqty">工单数量</param>
VueWebApi/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
Binary files differ
VueWebApi/obj/Release/Package/PackageTmp/Hubs/HubsMessage.html
@@ -24,6 +24,7 @@
            //前端Hub的使用,注意的是,Hub的名字是ChatHub,这里使用时首字母小写
            var work = $.connection.chatHub;
            /*$('#displayname').val(prompt('请输入昵称:', ''));*/
            $('#displaycode').val("003");
            $('#displayname').val("张三");
            $('#thisname').text('当前用户:' + $('#displayname').val());
@@ -51,10 +52,11 @@
                //点击按钮,发送消息
                $('#send').click(function () {
                    var friend = $('#username').val();
                    /*var friend = $('#username').val();*/
                    var friend =["1","2","3"];
                    var cont = $('#cont').val();
                    //调用后端函数,发送指定消息
                    work.server.sendByGroup(username, friend, cont);
                    work.server.SendByGroups(username, friend, cont);
                });
            });
        });
VueWebApi/obj/Release/Package/PackageTmp/Hubs/HubsMessage1.html
@@ -35,22 +35,37 @@
            };
            //后端SendLogin调用后,产生的loginUser回调
            work.client.loginUser = function (userlist) {
                reloadUser(userlist);
            };
            //hub连接开启
            $.connection.hub.start().done(function () {
                var username = $('#displayname').val();
                //发送上线信息
                work.server.sendLogin(username);
                //点击按钮,发送消息
                $('#send').click(function () {
                    var friend = $('#username').val();
                    var cont = $('#cont').val();
                    //调用后端函数,发送指定消息
                    work.server.sendByGroup(username, friend, cont);
                });
            });
        });
        //重新加载用户列表
        //var reloadUser = function () {
        //    $("#username").empty();
        //    for (i = 0; i < 5; i++) {
        //        $("#username").append("<option value=" + i + ">" +i + "</option>");
        //    }
        //}
        var reloadUser = function () {
            $("#username").empty();
            for (i = 0; i < 5; i++) {
                $("#username").append("<option value=" + i + ">" +i + "</option>");
            }
        }
        //var reloadUser = function (userlist) {
        //    $("#username").empty();
        //    for (i = 0; i < userlist.length; i++) {
VueWebApi/obj/Release/Package/PackageTmp/Hubs/HubsMessage2.html
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,62 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="../Scripts/jquery-3.4.1.min.js"></script>
    <script src="../Scripts/jquery.signalR-2.2.2.min.js"></script>
    <script src="/SignalR/Hubs"></script>
</head>
<body>
    <h1>流程演示</h1>
    <input type="hidden" id="displayname" />
    <h2 id="thisname"></h2><br />
    <select id="username" style="width:153px;">
    </select>
    <input id="cont" type="text" style="width:300px;">
    <input id="send" type="button" value="发送" />
    <div>
        <h1 id="messgae"></h1>
    </div>
    <script type="text/javascript">
        $(function () {
            //前端Hub的使用,注意的是,Hub的名字是ChatHub,这里使用时首字母小写
            var work = $.connection.chatHub;
            /*$('#displayname').val(prompt('请输入昵称:', ''));*/
            $('#displayname').val("2");
            $('#thisname').text('当前用户:' + $('#displayname').val());
            //对应后端的SendMessage函数,消息接收函数
            work.client.sendMessage = function (message) {
                $('#messgae').append(message + '</br>')
            };
            //hub连接开启
            $.connection.hub.start().done(function () {
                var username = $('#displayname').val();
                //发送上线信息
                work.server.sendLogin(username);
            });
        });
        //重新加载用户列表
        //var reloadUser = function () {
        //    $("#username").empty();
        //    for (i = 0; i < 5; i++) {
        //        $("#username").append("<option value=" + i + ">" +i + "</option>");
        //    }
        //}
        //var reloadUser = function (userlist) {
        //    $("#username").empty();
        //    for (i = 0; i < userlist.length; i++) {
        //        $("#username").append("<option value=" + userlist[i] + ">" + userlist[i] + "</option>");
        //    }
        //}
    </script>
</body>
</html>
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
Binary files differ
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml
@@ -529,7 +529,7 @@
            <summary>
            ç”¨æˆ·ä¸Šçº¿å‡½æ•°
            </summary>
            <param name="name"></param>
            <param name="name">用户名</param>
        </member>
        <member name="M:VueWebApi.Controllers.AppDeviceManageController.CheckScanDeviceQrCodeData(System.String)">
            <summary>
@@ -1493,10 +1493,11 @@
            <param name="obj">提交数据</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductionManagementController.DeleteMesOrder(System.String,System.String,System.String)">
        <member name="M:VueWebApi.Controllers.ProductionManagementController.DeleteMesOrder(System.String,System.String,System.String,System.String)">
            <summary>
            MES工单删除
            </summary>
            <param name="souceid">源单工单</param>
            <param name="wocode">工单编号</param>
            <param name="m_po">订单编号</param>
            <param name="orderqty">工单数量</param>
VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt
@@ -278,6 +278,7 @@
D:\新凯迪MES\VueWebApi\VueWebApi\bin\zh-Hans\System.Web.WebPages.resources.dll
D:\新凯迪MES\VueWebApi\VueWebApi\bin\zh-Hans\System.Web.WebPages.Deployment.resources.dll
D:\新凯迪MES\VueWebApi\VueWebApi\bin\zh-Hans\System.Web.WebPages.Razor.resources.dll
D:\新凯迪MES\VueWebApi\VueWebApi\obj\Release\VueWebApi.csproj.AssemblyReference.cache
D:\新凯迪MES\VueWebApi\VueWebApi\obj\Release\VueWebApi.csproj.CoreCompileInputs.cache
D:\新凯迪MES\VueWebApi\VueWebApi\obj\Release\VueWebApi.csproj.CopyComplete
D:\新凯迪MES\VueWebApi\VueWebApi\obj\Release\VueWebApi.dll
VueWebApi/obj/Release/VueWebApi.pdb
Binary files differ