1.组织架构增加是否末道工序报工字段:islastreport
2.报工调整增加工序编码查询字段:stepcode
3.报工调整增加批量改价接口
4.SOP上传增加文件大小校验
已添加1个文件
已修改11个文件
267 ■■■■ 文件已修改
VueWebCoreApi/Controllers/BasicSettingController.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Controllers/WorkOrderController.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/SopManageMentDAL.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Models/BatchPrice.cs 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Program.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Quartz/HttpResultfulJob.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Startup.cs 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/appsettings.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Controllers/BasicSettingController.cs
@@ -63,8 +63,9 @@
            string storgcode = obj["storgcode"].ToString(); //所属组织编码
            string torg_seq = obj["torg_seq"].ToString(); //排序序号
            string status = obj["status"].ToString(); //状态
            string islastreport= obj["islastreport"].ToString(); //是否末道工序报工(Y/N)
            string OperType = obj["OperType"].ToString();  //操作类型
            mes = BasicSettingBLL.AddUpdateOrganization(OrganCode, OrganName, leve, parent_id, storgcode, torg_seq, status, OperType, us);
            mes = BasicSettingBLL.AddUpdateOrganization(OrganCode, OrganName, leve, parent_id, storgcode, torg_seq, status, islastreport, OperType, us);
            return Json(mes);
        }
        #endregion
VueWebCoreApi/Controllers/WorkOrderController.cs
@@ -694,6 +694,7 @@
        /// <param name="partnumber">产品编码</param>
        /// <param name="partname">产品名称</param>
        /// <param name="partspec">产品规格</param>
        /// <param name="stepcode">工序编码</param>
        /// <param name="reportuser">报工人员</param>
        /// <param name="reportdate">报工时间</param>
        /// <param name="page">页码</param>
@@ -703,7 +704,7 @@
        /// <returns></returns>
        [Route(template: "MesOrderStepVerifySearch")]
        [HttpGet]
        public JsonResult MesOrderStepVerifySearch(string wkshopcode=null, string wo_code = null, string partnumber = null, string partname = null, string partspec = null, string reportuser = null, string reportdate = null, int page = 0, int rows = 0, string prop = null, string order = null)
        public JsonResult MesOrderStepVerifySearch(string wkshopcode=null, string wo_code = null, string partnumber = null, string partname = null, string partspec = null,string stepcode=null, string reportuser = null, string reportdate = null, int page = 0, int rows = 0, string prop = null, string order = null)
        {
            string reportdateopendate = "";  //报工开始时间
            string reportdateclosedate = "";    //报工结束时间
@@ -714,7 +715,7 @@
            }
            int startNum = rows * (page - 1) + 1;  //起始记录rowNum
            int endNum = rows * page;   //结束记录 rowNum
            mes = WorkOrderBLL.MesOrderStepVerifySearch(wkshopcode,wo_code, partnumber, partname, partspec, reportuser, reportdateopendate, reportdateclosedate, startNum, endNum, prop, order);
            mes = WorkOrderBLL.MesOrderStepVerifySearch(wkshopcode,wo_code, partnumber, partname, partspec,stepcode,reportuser, reportdateopendate, reportdateclosedate, startNum, endNum, prop, order);
            return Json(mes);
        }
        #endregion
@@ -757,6 +758,23 @@
        }
        #endregion
        #region[生产执行,报工调整批量改价数据提交]
        /// <summary>
        /// ç”Ÿäº§æ‰§è¡Œ,报工调整批量改价数据提交
        /// </summary>
        /// <param name="json">提交数据</param>
        /// <returns></returns>
        [Route(template: "MesOrderStepPriceBatchUpdateSeave")]
        [HttpPost]
        public JsonResult MesOrderStepPriceBatchUpdateSeave(List<BatchPrice> json)
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            User us = JwtTools.Denocode(token.ToString());
            mes = WorkOrderBLL.MesOrderStepPriceBatchUpdateSeave(us, json);
            return Json(mes);
        }
        #endregion
        #region[生产执行,报工审核列表数据查询接口]
VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs
@@ -57,9 +57,9 @@
        #endregion
        #region [组织架构新增编辑]
        public static ToMessage AddUpdateOrganization(string OrganCode, string OrganName, string leve, string parent_id,string storgcode, string torg_seq, string status, string OperType, User us)
        public static ToMessage AddUpdateOrganization(string OrganCode, string OrganName, string leve, string parent_id,string storgcode, string torg_seq, string status,string islastreport, string OperType, User us)
        {
            return BasicSettingDAL.AddUpdateOrganization(OrganCode, OrganName, leve, parent_id, storgcode, torg_seq, status, OperType, us);
            return BasicSettingDAL.AddUpdateOrganization(OrganCode, OrganName, leve, parent_id, storgcode, torg_seq, status, islastreport, OperType, us);
        }
        #endregion
VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
@@ -226,9 +226,9 @@
        #region[生产执行,报工调整数据查询接口]
        public static ToMessage MesOrderStepVerifySearch(string wkshopcode,string wo_code, string partnumber, string partname, string partspec, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order)
        public static ToMessage MesOrderStepVerifySearch(string wkshopcode,string wo_code, string partnumber, string partname, string partspec,string stepcode, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order)
        {
            return WorkOrderDAL.MesOrderStepVerifySearch(wkshopcode,wo_code, partnumber, partname, partspec, reportuser, reportdateopendate, reportdateclosedate, startNum, endNum, prop, order);
            return WorkOrderDAL.MesOrderStepVerifySearch(wkshopcode,wo_code, partnumber, partname, partspec, stepcode, reportuser, reportdateopendate, reportdateclosedate, startNum, endNum, prop, order);
        }
        #endregion
@@ -246,6 +246,13 @@
        }
        #endregion
        #region[生产执行,报工调整批量改价数据提交]
        public static ToMessage MesOrderStepPriceBatchUpdateSeave(User us, List<BatchPrice> json)
        {
            return WorkOrderDAL.MesOrderStepPriceBatchUpdateSeave(us, json);
        }
        #endregion
        #region[生产执行,报工审核列表数据查询接口]
        public static ToMessage MesOrderStepReportVerifySearch(string reviewstatus, string wkshopcode, string wo_code, string partnumber, string partname, string partspec, string stepname, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order)
VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
@@ -267,7 +267,7 @@
                    dynamicParams.Add("@storg_name", storg_name);
                }
                var sql = @"select T.id,T.parent_id,T.torg_code,T.torg_name,T.status,T.leve,T.torg_seq,
                            T.lm_user  as usercode,U.username,T.lm_date
                            T.lm_user  as usercode,U.username,T.lm_date,T.islastreport
                            from TOrganization T
                            left join  TUser U on T.lm_user=U.usercode
                            where 1=1" + search + " order by T.lm_date desc";
@@ -289,7 +289,7 @@
        #endregion
        #region[新增编辑组织架构]
        public static ToMessage AddUpdateOrganization(string OrganCode, string OrganName, string leve, string parent_id, string storgcode, string torg_seq, string status, string OperType, User us)
        public static ToMessage AddUpdateOrganization(string OrganCode, string OrganName, string leve, string parent_id, string storgcode, string torg_seq, string status,string islastreport, string OperType, User us)
        {
            string sql = "";
            List<object> list = new List<object>();
@@ -310,8 +310,8 @@
                        return mes;
                    }
                    sql = @"insert into TOrganization(parent_id,torg_code,torg_name,status,leve,torg_seq,lm_user,lm_date)
                            values(@parent_id,@torg_code,@torg_name,@status,@leve,@torg_seq,@lm_user,@lm_date)";
                    sql = @"insert into TOrganization(parent_id,torg_code,torg_name,status,leve,torg_seq,lm_user,lm_date,islastreport)
                            values(@parent_id,@torg_code,@torg_name,@status,@leve,@torg_seq,@lm_user,@lm_date,@islastreport)";
                    list.Add(new
                    {
                        str = sql,
@@ -324,7 +324,8 @@
                            leve = leve,
                            torg_seq = torg_seq,
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
                            lm_date = DateTime.Now.ToString(),
                            islastreport= islastreport
                        }
                    });
@@ -388,7 +389,7 @@
                    }
                    //修改当前组织数据
                    sql = @"update TOrganization set parent_id=@parent_id,torg_name=@torg_name,leve=@leve,torg_seq=@torg_seq,lm_user=@lm_user,lm_date=@lm_date
                    sql = @"update TOrganization set parent_id=@parent_id,torg_name=@torg_name,leve=@leve,torg_seq=@torg_seq,lm_user=@lm_user,lm_date=@lm_date,islastreport=@islastreport
                            where torg_code=@torg_code";
                    list.Add(new
                    {
@@ -401,7 +402,8 @@
                            leve = leve,
                            torg_seq = torg_seq,
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
                            lm_date = DateTime.Now.ToString(),
                            islastreport= islastreport
                        }
                    });
                    //递归更新状态,当前选中数据及子级
@@ -414,7 +416,7 @@
                            from TOrganization AS t
                            inner join CTE AS c ON t.parent_id = c.torg_code
                            )
                            update TOrganization set status=@status
                            update TOrganization set status=@status,islastreport=@islastreport
                            where torg_code in (select torg_code from CTE)";
                    list.Add(new
                    {
@@ -422,7 +424,8 @@
                        parm = new
                        {
                            OrganCode = OrganCode,
                            status = status
                            status = status,
                            islastreport= islastreport
                        }
                    });
VueWebCoreApi/DLL/DAL/SopManageMentDAL.cs
@@ -347,6 +347,13 @@
                }
                else
                {
                    //判断上传文件大小是否超过10M
                    if (file.Length > 1024 * 1024 * 10)
                    {
                        mes.code = "300";
                        mes.message = "文件大小不能超过10MB!";
                        return mes;
                    }
                    //获取上传文件,组合存储路径
                    string FileName = "SOP" + DateTime.Now.ToString("yyyyMMddhhmmss");
                    string filePath = "wwwroot/ProcessSopFile/" + FileName + file.FileName;     //通过此对象获取文件名(存文件地址)
VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
@@ -818,7 +818,7 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.route_code,B.default_route,R.name as route_name,A.plan_qty,A.wkshp_code,C.torg_name as wkshp_name,
                var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.route_code,B.default_route,R.name as route_name,A.plan_qty,A.wkshp_code,C.torg_name as wkshp_name,C.islastreport,
                            A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,A.data_sources,A.isstep,A.clerkuser,
                            B.priuserdefnvc1,B.priuserdefnvc2,B.priuserdefnvc3,B.priuserdefnvc4,B.priuserdefnvc5,B.priuserdefnvc6,A.printcount
                            from TK_Wrk_Man A
@@ -906,7 +906,7 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                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.torg_name as wkshp_name,
                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.torg_name as wkshp_name,C.islastreport,
                            A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,S.laborbad_qty,S.materielbad_qty,
                            B.priuserdefnvc1,B.priuserdefnvc2,B.priuserdefnvc3,B.priuserdefnvc4,B.priuserdefnvc5,B.priuserdefnvc6
                            from TK_Wrk_Man A
@@ -1963,7 +1963,7 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                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.torg_name as wkshp_name,
                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.torg_name as wkshp_name,C.islastreport,
                            A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,A.data_sources,
                            B.priuserdefnvc1,B.priuserdefnvc2,B.priuserdefnvc3,B.priuserdefnvc4,B.priuserdefnvc5,B.priuserdefnvc6
                            from TK_Wrk_Man A
@@ -3241,7 +3241,7 @@
        #region[生产执行,报工调整数据查询接口]
        public static ToMessage MesOrderStepVerifySearch(string wkshopcode, string wo_code, string partnumber, string partname, string partspec, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order)
        public static ToMessage MesOrderStepVerifySearch(string wkshopcode, string wo_code, string partnumber, string partname, string partspec,string stepcode, string reportuser, string reportdateopendate, string reportdateclosedate, int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
@@ -3272,6 +3272,11 @@
                    search += "and AA.partspec like '%'+@partspec+'%' ";
                    dynamicParams.Add("@partspec", partspec);
                }
                if (stepcode != "" && stepcode != null)
                {
                    search += "and AA.step_code=@stepcode ";
                    dynamicParams.Add("@stepcode", stepcode);
                }
                if (reportuser != "" && reportuser != null)
                {
                    search += "and AA.usercode like '%'+@reportuser+'%' ";
@@ -3294,7 +3299,7 @@
                var total = 0; //总条数
                var sql = @"select *  from(
                            select A.id,B.id as sbid,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,K.plan_quantity,K.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.eqp_code,E.name as eqp_name,
                            A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,B.reckway,B.usergroup_code,G.usergroupname as usergroup_name,
                            A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,A.style,k.isbott as first_choke,k.isend as last_choke,A.step_price,B.reckway,B.usergroup_code,G.usergroupname as usergroup_name,
                            B.report_person as usercode,
                             STUFF((SELECT ',' + U.username
                                    FROM TUser U
@@ -3313,7 +3318,7 @@
                            where A.style='B' and B.style='B' and M.status<>'CLOSED' and A.verify='N'
                            union all
                            select A.id,B.id as sbid,A.wo_code,A.materiel_code as partnumber,P.partname,P.partspec,K.plan_quantity,K.plan_qty as task_qty,M.wkshp_code,T.torg_name as wkshp_name,A.wx_code as eqp_code,E.name as eqp_name,
                            A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,k.isbott as first_choke,k.isend as last_choke,A.step_price,'person' as reckway,'' as usergroup_code,'' as usergroup_name,
                            A.step_seq,A.step_code,S.stepname,S.flwtype as steptype,A.style,k.isbott as first_choke,k.isend as last_choke,A.step_price,'person' as reckway,'' as usergroup_code,'' as usergroup_name,
                            B.in_person as usercode,
                            STUFF((SELECT ',' + U.username
                                    FROM TUser U
@@ -4243,6 +4248,118 @@
        }
        #endregion
        #region[生产执行,报工调整批量改价数据提交]
        public static ToMessage MesOrderStepPriceBatchUpdateSeave(User us, List<BatchPrice> json)
        {
            string sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                if (json.Count > 0)
                {
                    // ä½¿ç”¨Lambda表达式判断类型分布:全部报工或者全部收料
                    bool allB = json.All(p => p.type == "B");
                    bool allS = json.All(p => p.type == "S");
                    if (allB)//全部报工
                    {
                        //将List<BatchPrice>中的id字段转换为字符串数组
                        string[] idArray = json.Select(bp => bp.id).ToArray();
                        //回写对应的报工记录主表工价
                        sql = @"update TK_Wrk_Record set step_price=@step_price where id in @idArray and style='B'";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                step_price = decimal.Parse(json[0].price),
                                idArray = idArray
                            }
                        });
                    }
                    else if (allS)//全部收料
                    {
                        //将List<BatchPrice>中的id字段转换为字符串数组
                        string[] idArray = json.Select(bp => bp.id).ToArray();
                        //回写对应的报工记录主表工价
                        sql = @"update TK_Wrk_OutRecord set step_price=@step_price where id in @idArray and style='S'";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                step_price = decimal.Parse(json[0].price),
                                idArray = idArray
                            }
                        });
                    }
                    else // æ··åˆæƒ…况
                    {
                        //将List<BatchPrice>中为报工的id字段转换为字符串数组
                        var bList = json.Where(p => p.type == "B").ToList();
                        string[] idBArray = bList.Select(bp => bp.id).ToArray();
                        //回写对应的报工记录主表工价
                        sql = @"update TK_Wrk_Record set step_price=@step_price where id in @idBArray and style='B'";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                step_price = decimal.Parse(json[0].price),
                                idBArray = idBArray
                            }
                        });
                        //将List<BatchPrice>中为收料的id字段转换为字符串数组
                        var sList = json.Where(p => p.type == "S").ToList();
                        string[] idSArray = sList.Select(bp => bp.id).ToArray();
                        //回写对应的报工记录主表工价
                        sql = @"update TK_Wrk_OutRecord set step_price=@step_price where id in @idSArray and style='S'";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                step_price = decimal.Parse(json[0].price),
                                idSArray = idSArray
                            }
                        });
                    }
                    bool aa = DapperHelper.DoTransaction(list);
                    if (aa)
                    {
                        //写入操作记录表
                        LogHelper.DbOperateLog(us.usercode, "批量修改工价", "报工ID:" + string.Join(",", json.Select(bp => bp.id).ToArray()) + ",操作类型:" + string.Join(",", json.Select(bp => bp.type).ToArray()), us.usertype);
                        mes.code = "200";
                        mes.count = 0;
                        mes.message = "操作成功!";
                        mes.data = null;
                    }
                    else
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.message = "操作失败!";
                        mes.data = null;
                    }
                }
                else
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.message = "请选择需要批量调整工价的报工记录!";
                    mes.data = null;
                    return mes;
                }
                return mes;
            }
            catch (Exception)
            {
                throw;
            }
        }
        #endregion
        #region[生产执行,报工审核列表数据查询接口]
VueWebCoreApi/Models/BatchPrice.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace VueWebCoreApi.Models
{
    public class BatchPrice
    {
        /// <summary>
        /// æŠ¥å·¥è®°å½•主表id
        /// </summary>
        public string id { get; set; }
        /// <summary>
        /// å·¥ä»·
        /// </summary>
        public string price { get; set; }
        /// <summary>
        /// æŠ¥å·¥ç±»åž‹:B(报工)/S(收料)
        /// </summary>
        public string type { get; set; }
    }
}
VueWebCoreApi/Program.cs
@@ -26,7 +26,7 @@
                        // èŽ·å–æˆ–è®¾ç½®ä»»ä½•è¯·æ±‚æ­£æ–‡çš„æœ€å¤§å…è®¸å¤§å°ï¼ˆä»¥å­—èŠ‚ä¸ºå•ä½ï¼‰ã€‚ è®¾ç½®ä¸º null æ—¶ï¼Œæœ€å¤§è¯·æ±‚正文大小不受限制
                        // é»˜è®¤ä¸º 30000000 å­—节 å¤§çº¦ä¸º 28.6MB
                        options.Limits.MaxRequestBodySize = 1073741824; //限制1G
                        options.Limits.MaxRequestBodySize = 10485760; //限制10M
                        //options.Limits.MaxRequestBodySize = null; //表示不限制 
                    });
                    webBuilder.UseStartup<Startup>();
VueWebCoreApi/Quartz/HttpResultfulJob.cs
@@ -67,14 +67,14 @@
            try
            {
                string logContent = $"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}_{dateTime.ToString("yyyy-MM-dd HH:mm:ss")}_{(string.IsNullOrEmpty(httpMessage) ? "OK" : httpMessage)}\r\n";
                string logContent = $"打印:{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}_{dateTime.ToString("yyyy-MM-dd HH:mm:ss")}_{(string.IsNullOrEmpty(httpMessage) ? "OK" : httpMessage)}\r\n";
                FileHelper.WriteFile(FileQuartz.LogPath + taskOptions.GroupName + "\\", $"{taskOptions.TaskName}.txt", logContent, true);
                //await _hubContext.Clients.All.SendAsync("SendMessage系统通知:"+$"最新消息{DateTime.Now}");
                //await _hubContext.Clients.All.SendAll(logContent);
                //查找系统用户
                var sql = @"select usercode as code,username as name
                            from TUser 
                            where  is_delete='0' and enable='Y' and password='123'";
                            where status='Y' and password='123'";
                var data = DapperHelper.selecttable(sql);
                var departmentIDs = data.AsEnumerable().Select(x => x.Field<string>("code")).ToList();//获取推送人员编码
                var FindPublicBaseDic = UserIdsStore.Ids.Where(d => departmentIDs.Contains(d.Value)).Select(x => x.Key).ToList(); //匹配已经登录的推送人员connectionIds
VueWebCoreApi/Startup.cs
@@ -128,13 +128,21 @@
            //允许上传大文件
            services.Configure<IISServerOptions>(options =>
            {
                options.MaxRequestBodySize = 1073741824;//此处限制最大1G
                options.MaxRequestBodySize = 10485760;//此处限制最大10M
            });
            services.Configure<KestrelServerOptions>(options =>
            {
                options.Limits.MaxRequestBodySize = 10485760; // 10M
            });
            //解决文件上传Multipart body length limit 134217728 exceeded.
            services.Configure<FormOptions>(x =>
            {
                //// è®¾ç½®å•个表单值的最大长度
                x.ValueLengthLimit = int.MaxValue;
                x.MultipartBodyLengthLimit = 1073741824; //此处限制最大1G
                // è®¾ç½®å¤šéƒ¨åˆ†æ ‡å¤´çš„长度限制
                x.MultipartHeadersLengthLimit = int.MaxValue;
                //设置整个 multipart è¡¨å•的最大长度(关键设置)
                x.MultipartBodyLengthLimit = 10485760; //此处限制最大10M
            });
            #endregion å…è®¸å¤§æ–‡ä»¶ä¸Šä¼ 
        }
@@ -183,6 +191,34 @@
                }
            });
            app.UseStaticFiles();
            app.Use(async (context, next) =>
            {
                context.Request.EnableBuffering(); // ç¡®ä¿è¯·æ±‚可以被多次读取
                await next();
            });
            // è®¾ç½®è¯·æ±‚体大小限制
            app.Use(async (context, next) =>
            {
                if (context.Request.ContentLength > 10 * 1024 * 1024) // 10MB
                {
                    var message = new ToMessage
                    {
                        code = "300",
                        message = "请求体过大,请检查文件大小。"
                    };
                    // è®¾ç½®æ­£ç¡®çš„状态码并返回序列化后的JSON
                    context.Response.StatusCode = 300; // ä½¿ç”¨ 413 Request Entity Too Large
                    context.Response.ContentType = "application/json; charset=utf-8"; // æ˜Žç¡®å†…容类型
                    // å°†å¯¹è±¡åºåˆ—化为JSON字符串
                    string jsonResponse = System.Text.Json.JsonSerializer.Serialize(message);
                    await context.Response.WriteAsync(jsonResponse);
                    return; // é‡è¦ï¼šç›´æŽ¥è¿”回,不再调用后续中间件
                }
                await next(); // å¦‚果未超限,则继续执行管道中的下一个中间件
            });
            //跨域
            app.UseCors("cors");
            //用户session服务
VueWebCoreApi/appsettings.json
@@ -1,4 +1,5 @@
{
  "DetailedErrors": true,
  "Logging": {
    "LogLevel": {
      "Default": "Information",