永康嘉持电器有限公司MES后端API
1.用户新增、导入增加薪资属性字段
2.存货增加字段:
priuserdefnvc1, --客户名称
priuserdefnvc6, --客户编码
priuserdefnvc2, --对内名称
priuserdefnvc3, --CTP日期
priuserdefnvc4, --钢刀编号
priuserdefnvc5 --盒型
已修改9个文件
131 ■■■■■ 文件已修改
VueWebCoreApi/Controllers/BasicSettingController.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/ProductModelDAL.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Startup.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Tools/ImportExcelData.cs 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Tools/RedisCommon.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/appsettings.json 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/wwwroot/Excel/人员管理.xls 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Controllers/BasicSettingController.cs
@@ -190,6 +190,7 @@
            string usercode = obj["usercode"].ToString(); //用户编码
            string username = obj["username"].ToString(); //用户名称
            string password = obj["password"].ToString();//用户密码
            string payrate = obj["payrate"].ToString();//薪资属性
            string mobile = obj["mobile"].ToString();//手机号
            string email = obj["email"].ToString();//邮箱
            string storg_code = obj["storg_code"].ToString();//所属组织
@@ -198,7 +199,7 @@
            string role_code = obj["role_code"].ToString();//角色
            string group_code = obj["group_code"].ToString();//班组
            string opertype = obj["OperType"].ToString();  //操作类型
            mes = BasicSettingBLL.AddUpdateUserSave(usercode, username, password, mobile, email, storg_code, status, post_code, role_code, group_code, opertype, us);
            mes = BasicSettingBLL.AddUpdateUserSave(usercode, username, password, payrate,mobile, email, storg_code, status, post_code, role_code, group_code, opertype, us);
            return Json(mes);
        }
        #endregion
VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs
@@ -100,9 +100,9 @@
        #endregion
        #region[用户信息新增编辑]
        public static ToMessage AddUpdateUserSave(string usercode, string username, string password, string mobile, string email, string storg_code, string status, string post_code, string role_code,string group_code, string opertype, User us)
        public static ToMessage AddUpdateUserSave(string usercode, string username, string password,string payrate, string mobile, string email, string storg_code, string status, string post_code, string role_code,string group_code, string opertype, User us)
        {
            return BasicSettingDAL.AddUpdateUserSave(usercode, username, password, mobile, email, storg_code, status, post_code, role_code, group_code, opertype, us);
            return BasicSettingDAL.AddUpdateUserSave(usercode, username, password, payrate, mobile, email, storg_code, status, post_code, role_code, group_code, opertype, us);
        }
        #endregion
VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
@@ -757,7 +757,7 @@
                                select torg_code, torg_name, parent_id
                                from TOrganization
                                where status='Y' " + search0 + " union all select T.torg_code, T.torg_name, T.parent_id from TOrganization T inner join CTE ON T.parent_id = CTE.torg_code)";
                var sql = @"SELECT distinct U.usercode,U.username,U.password,U.mobile,U.email,U.status,U.storg_code as storg_code,T.torg_name as storg_name,T.parent_id,
                var sql = @"SELECT distinct U.usercode,U.username,U.password,U.payrate,U.mobile,U.email,U.status,U.storg_code as storg_code,T.torg_name as storg_name,T.parent_id,
                            U.role_code, 
                            STUFF((SELECT ',' + R.rolename
                                   FROM TRole R
@@ -797,7 +797,7 @@
        #endregion
        #region[用户信息新增编辑]
        public static ToMessage AddUpdateUserSave(string usercode, string username, string password, string mobile, string email, string storg_code, string status, string post_code, string role_code, string group_code, string opertype, User us)
        public static ToMessage AddUpdateUserSave(string usercode, string username, string password,string payrate, string mobile, string email, string storg_code, string status, string post_code, string role_code, string group_code, string opertype, User us)
        {
            string sql = "";
            List<object> list = new List<object>();
@@ -866,8 +866,8 @@
                        mes.data = null;
                        return mes;
                    }
                    sql = @"insert into TUser(usercode,username,password,mobile,email,status,storg_code,role_code,role_datapermissions,post_code,group_code,is_system_admin,lm_user,lm_date)
                            values(@usercode,@username,@password,@mobile,@email,@status,@storg_code,@role_code,@role_datapermissions,@post_code,@group_code,@is_system_admin,@lm_user,@lm_date)";
                    sql = @"insert into TUser(usercode,username,password,payrate,mobile,email,status,storg_code,role_code,role_datapermissions,post_code,group_code,is_system_admin,lm_user,lm_date)
                            values(@usercode,@username,@password,@payrate,@mobile,@email,@status,@storg_code,@role_code,@role_datapermissions,@post_code,@group_code,@is_system_admin,@lm_user,@lm_date)";
                    list.Add(new
                    {
                        str = sql,
@@ -876,6 +876,7 @@
                            usercode = usercode,
                            username = username,
                            password = password,
                            payrate= payrate,
                            mobile = mobile,
                            email = email,
                            status = status,
@@ -910,7 +911,7 @@
                if (opertype == "Update")
                {
                    sql = @"update  TUser set username=@username,password=@password,mobile=@mobile,email=@email,status=@status,storg_code=@storg_code,
                    sql = @"update  TUser set username=@username,password=@password,payrate=@payrate,mobile=@mobile,email=@email,status=@status,storg_code=@storg_code,
                            role_code=@role_code,role_datapermissions=@role_datapermissions,post_code=@post_code,group_code=@group_code,lm_user=@lm_user,lm_date=@lm_date
                            where usercode=@usercode";
                    list.Add(new
@@ -921,6 +922,7 @@
                            usercode = usercode,
                            username = username,
                            password = password,
                            payrate= payrate,
                            mobile = mobile,
                            email = email,
                            status = status,
VueWebCoreApi/DLL/DAL/ProductModelDAL.cs
@@ -763,7 +763,7 @@
                            M.idUnitByPurchase as idUnitByPurchasecode,P.name as idUnitByPurchasename,M.idUnitBySale as idUnitBySalecode,S.name as idUnitBySalename,
                            M.idunitbymanufacture as idunitbymanufacturecode,F.name as idunitbymanufacturename,M.idinventoryclass as idinventoryclasscode,C.name as idinventoryclassname,
                            M.isPurchase,M.isSale,M.isMadeSelf,M.isMaterial,M.isMadeRequest,M.idwarehouse as idwarehousecode,H.name as idwarehousename,M.lowQuantity,M.topQuantity,M.safeQuantity,
                            M.status,U.username as lm_user,M.lm_date,M.data_sources,M.is_retdproc,M.default_route
                            M.status,U.username as lm_user,M.lm_date,M.data_sources,M.is_retdproc,M.default_route,M.priuserdefnvc1,M.priuserdefnvc2,M.priuserdefnvc3,M.priuserdefnvc4,M.priuserdefnvc5,M.priuserdefnvc6
                            from TMateriel_Info M
                            left join TUnit T on M.idunit=T.code
                            left join TUnit R on M.idSubUnitByReport=R.code
VueWebCoreApi/Startup.cs
@@ -73,7 +73,7 @@
                {
                    c.SwaggerDoc(version, new OpenApiInfo()
                    {
                        Title = $"桥下工贸-MesApi文档:{version}",
                        Title = $"永康嘉持电器有限公司-MesApi文档:{version}",
                        Version = version,
                        Description = $"Panda.Sewerage :  {version}  ",
                    });
VueWebCoreApi/Tools/ImportExcelData.cs
@@ -140,7 +140,7 @@
                return Message;
            }
            else if (excelTable[0].Columns.Count != 10)
            else if (excelTable[0].Columns.Count != 11)
            {
                code = "301";
                Message = "用户清单模板不符合规范,请检查列名字段数";
@@ -164,46 +164,52 @@
                Message = "用户清单模板:表头信息不符合规范,第3列应为{*密码}";
                return Message;
            }
            else if (excelTable[0].Columns[3].ColumnName != "*在职状态")
            else if (excelTable[0].Columns[3].ColumnName != "*薪资类型")
            {
                code = "301";
                Message = "用户清单模板:表头信息不符合规范,第4列应为{*在职状态}";
                Message = "用户清单模板:表头信息不符合规范,第4列应为{*薪资类型}";
                return Message;
            }
            else if (excelTable[0].Columns[4].ColumnName != "手机号")
            else if (excelTable[0].Columns[4].ColumnName != "*在职状态")
            {
                code = "301";
                Message = "用户清单模板:表头信息不符合规范,第5列应为{手机号}";
                Message = "用户清单模板:表头信息不符合规范,第5列应为{*在职状态}";
                return Message;
            }
            else if (excelTable[0].Columns[5].ColumnName != "邮箱")
            else if (excelTable[0].Columns[5].ColumnName != "手机号")
            {
                code = "301";
                Message = "用户清单模板:表头信息不符合规范,第6列应为{邮箱}";
                Message = "用户清单模板:表头信息不符合规范,第6列应为{手机号}";
                return Message;
            }
            else if (excelTable[0].Columns[6].ColumnName != "*所属组织编码")
            else if (excelTable[0].Columns[6].ColumnName != "邮箱")
            {
                code = "301";
                Message = "用户清单模板:表头信息不符合规范,第7列应为{*所属组织编码}";
                Message = "用户清单模板:表头信息不符合规范,第7列应为{邮箱}";
                return Message;
            }
            else if (excelTable[0].Columns[7].ColumnName != "所属岗位编码")
            else if (excelTable[0].Columns[7].ColumnName != "*所属组织编码")
            {
                code = "301";
                Message = "用户清单模板:表头信息不符合规范,第8列应为{所属岗位编码}";
                Message = "用户清单模板:表头信息不符合规范,第8列应为{*所属组织编码}";
                return Message;
            }
            else if (excelTable[0].Columns[8].ColumnName != "所属角色编码")
            else if (excelTable[0].Columns[8].ColumnName != "所属岗位编码")
            {
                code = "301";
                Message = "用户清单模板:表头信息不符合规范,第9列应为{所属角色编码}";
                Message = "用户清单模板:表头信息不符合规范,第9列应为{所属岗位编码}";
                return Message;
            }
            else if (excelTable[0].Columns[9].ColumnName != "所属班组编码")
            else if (excelTable[0].Columns[9].ColumnName != "所属角色编码")
            {
                code = "301";
                Message = "用户清单模板:表头信息不符合规范,第10列应为{所属班组编码}";
                Message = "用户清单模板:表头信息不符合规范,第10列应为{所属角色编码}";
                return Message;
            }
            else if (excelTable[0].Columns[10].ColumnName != "所属班组编码")
            {
                code = "301";
                Message = "用户清单模板:表头信息不符合规范,第11列应为{所属班组编码}";
                return Message;
            }
            else
@@ -2186,29 +2192,29 @@
                        list.Add(erro);
                    }
                }
                if (excelTable[0].Rows[k][6].ToString().Trim() != null && excelTable[0].Rows[k][6].ToString().Trim() != "")
                if (excelTable[0].Rows[k][7].ToString().Trim() != null && excelTable[0].Rows[k][7].ToString().Trim() != "")
                {
                    sql = @"select *  from TOrganization where torg_code=@torg_code";
                    dynamicParams.Add("@torg_code", excelTable[0].Rows[k][6].ToString().Trim());
                    dynamicParams.Add("@torg_code", excelTable[0].Rows[k][7].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt == null || dt.Rows.Count <= 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = (k + 1).ToString();
                        erro.ErrorField = "*组织编码";
                        erro.ErrorCont = "用户表:*组织编码字段" + excelTable[0].Rows[k][6].ToString().Trim() + "不存在";
                        erro.ErrorCont = "用户表:*组织编码字段" + excelTable[0].Rows[k][7].ToString().Trim() + "不存在";
                        list.Add(erro);
                    }
                }
                if (excelTable[0].Rows[k][7].ToString().Trim() != null && excelTable[0].Rows[k][7].ToString().Trim() != "")
                if (excelTable[0].Rows[k][8].ToString().Trim() != null && excelTable[0].Rows[k][8].ToString().Trim() != "")
                {
                    string[] postcode = Array.ConvertAll<string, string>(excelTable[0].Rows[k][7].ToString().Trim().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[]
                    string[] postcode = Array.ConvertAll<string, string>(excelTable[0].Rows[k][8].ToString().Trim().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[]
                    sql = @"select postcode  from TPost  where postcode in @postcode";
                    dynamicParams.Add("@postcode", postcode);
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt != null && dt.Rows.Count > 0)
                    {
                        string[] values = excelTable[0].Rows[k][7].ToString().Trim().Split(',');
                        string[] values = excelTable[0].Rows[k][8].ToString().Trim().Split(',');
                        var unmatchedValues = values.Except(dt.AsEnumerable().Select(row => row.Field<string>("postcode")));
                        foreach (var value in unmatchedValues)
                        {
@@ -2224,19 +2230,19 @@
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = (k + 1).ToString();
                        erro.ErrorField = "{所属岗位编码}";
                        erro.ErrorCont = "用户表:{所属岗位编码}字段" + excelTable[0].Rows[k][7].ToString().Trim() + " ä¸æ˜¯æœ‰æ•ˆçš„岗位编码";
                        erro.ErrorCont = "用户表:{所属岗位编码}字段" + excelTable[0].Rows[k][8].ToString().Trim() + " ä¸æ˜¯æœ‰æ•ˆçš„岗位编码";
                        list.Add(erro);
                    }
                }
                if (excelTable[0].Rows[k][8].ToString().Trim() != null && excelTable[0].Rows[k][8].ToString().Trim() != "")
                if (excelTable[0].Rows[k][9].ToString().Trim() != null && excelTable[0].Rows[k][9].ToString().Trim() != "")
                {
                    string[] rolecode = Array.ConvertAll<string, string>(excelTable[0].Rows[k][8].ToString().Trim().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[]
                    string[] rolecode = Array.ConvertAll<string, string>(excelTable[0].Rows[k][9].ToString().Trim().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[]
                    sql = @"select rolecode  from TRole  where rolecode in @rolecode";
                    dynamicParams.Add("@rolecode", rolecode);
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt != null && dt.Rows.Count > 0)
                    {
                        string[] values = excelTable[0].Rows[k][8].ToString().Trim().Split(',');
                        string[] values = excelTable[0].Rows[k][9].ToString().Trim().Split(',');
                        var unmatchedValues = values.Except(dt.AsEnumerable().Select(row => row.Field<string>("rolecode")));
                        foreach (var value in unmatchedValues)
                        {
@@ -2252,19 +2258,19 @@
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = (k + 1).ToString();
                        erro.ErrorField = "{所属角色编码}";
                        erro.ErrorCont = "用户表:{所属角色编码}字段" + excelTable[0].Rows[k][8].ToString().Trim() + " ä¸æ˜¯æœ‰æ•ˆçš„角色编码";
                        erro.ErrorCont = "用户表:{所属角色编码}字段" + excelTable[0].Rows[k][9].ToString().Trim() + " ä¸æ˜¯æœ‰æ•ˆçš„角色编码";
                        list.Add(erro);
                    }
                }
                if (excelTable[0].Rows[k][9].ToString().Trim() != null && excelTable[0].Rows[k][9].ToString().Trim() != "")
                if (excelTable[0].Rows[k][10].ToString().Trim() != null && excelTable[0].Rows[k][10].ToString().Trim() != "")
                {
                    string[] usergroupcode = Array.ConvertAll<string, string>(excelTable[0].Rows[k][9].ToString().Trim().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[]
                    string[] usergroupcode = Array.ConvertAll<string, string>(excelTable[0].Rows[k][10].ToString().Trim().Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[]
                    sql = @"select usergroupcode  from TGroup  where usergroupcode in @usergroupcode";
                    dynamicParams.Add("@usergroupcode", usergroupcode);
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt != null && dt.Rows.Count > 0)
                    {
                        string[] values = excelTable[0].Rows[k][9].ToString().Trim().Split(',');
                        string[] values = excelTable[0].Rows[k][10].ToString().Trim().Split(',');
                        var unmatchedValues = values.Except(dt.AsEnumerable().Select(row => row.Field<string>("usergroupcode")));
                        foreach (var value in unmatchedValues)
                        {
@@ -2280,7 +2286,7 @@
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = (k + 1).ToString();
                        erro.ErrorField = "{所属班组编码}";
                        erro.ErrorCont = "用户表:{所属班组编码}字段" + excelTable[0].Rows[k][9].ToString().Trim() + " ä¸æ˜¯æœ‰æ•ˆçš„班组编码";
                        erro.ErrorCont = "用户表:{所属班组编码}字段" + excelTable[0].Rows[k][10].ToString().Trim() + " ä¸æ˜¯æœ‰æ•ˆçš„班组编码";
                        list.Add(erro);
                    }
                }
@@ -4559,8 +4565,23 @@
                    //{
                    //    continue;
                    //}
                    sql = @"insert into TUser(usercode,username,password,status,mobile,email,storg_code,post_code,role_code,group_code,is_system_admin,lm_user,lm_date)
                            values(@usercode,@username,@password,@status,@mobile,@email,@storg_code,@post_code,@role_code,@group_code,@is_system_admin,@lm_user,@lm_date)";
                    string Type = "";
                    switch (excelTable[0].Rows[i][3].ToString().Trim())
                    {
                        case "计件":
                            Type = "S";
                            break;
                        case "计时":
                            Type = "T";
                            break;
                        case "固定":
                            Type = "M";
                            break;
                        default:
                            break;
                    }
                    sql = @"insert into TUser(usercode,username,password,payrate,status,mobile,email,storg_code,post_code,role_code,group_code,is_system_admin,lm_user,lm_date)
                            values(@usercode,@username,@password,@payrate,@status,@mobile,@email,@storg_code,@post_code,@role_code,@group_code,@is_system_admin,@lm_user,@lm_date)";
                    list.Add(new
                    {
                        str = sql,
@@ -4569,13 +4590,14 @@
                            usercode = excelTable[0].Rows[i][0].ToString().Trim(),
                            username = excelTable[0].Rows[i][1].ToString().Trim(),
                            password = excelTable[0].Rows[i][2].ToString().Trim(),
                            status = excelTable[0].Rows[i][3].ToString().Trim(),
                            mobile = excelTable[0].Rows[i][4].ToString().Trim(),
                            email = excelTable[0].Rows[i][5].ToString().Trim(),
                            storg_code = excelTable[0].Rows[i][6].ToString().Trim(),
                            post_code = excelTable[0].Rows[i][7].ToString().Trim(),
                            role_code = excelTable[0].Rows[i][8].ToString().Trim(),
                            group_code = excelTable[0].Rows[i][9].ToString().Trim(),
                            payrate = Type,
                            status = excelTable[0].Rows[i][4].ToString().Trim(),
                            mobile = excelTable[0].Rows[i][5].ToString().Trim(),
                            email = excelTable[0].Rows[i][6].ToString().Trim(),
                            storg_code = excelTable[0].Rows[i][7].ToString().Trim(),
                            post_code = excelTable[0].Rows[i][8].ToString().Trim(),
                            role_code = excelTable[0].Rows[i][9].ToString().Trim(),
                            group_code = excelTable[0].Rows[i][10].ToString().Trim(),
                            is_system_admin = "N",
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
VueWebCoreApi/Tools/RedisCommon.cs
@@ -17,7 +17,7 @@
        private string _conn = RedisIpConnString+":"+RedisPortConnString;
        private int _db = 0;
        private int _db = 1;
        //默认缓存过期时间单位秒  
        public int secondsTimeOut = Convert.ToInt32(RedisKeyTimeCont);
        //静态变量 ä¿è¯å„模块使用的是不同实例的相同链接
VueWebCoreApi/appsettings.json
@@ -9,13 +9,13 @@
  "AllowedHosts": "*",
  //服务器环境
  "ConnectionStrings": {
    "DBServer": "Data Source=121.196.36.24,1533;Initial Catalog=vmes_qx;User ID=sa;Password=xkd@20230101;pooling=false",
    "DBServer": "Data Source=121.196.36.24,1533;Initial Catalog=vmes_jc;User ID=sa;Password=xkd@20230101;pooling=false",
    //企业编码
    "CompanyCode": "000",
    //企业名称
    "CompanyName": "新凯迪科技股份有限公司",
    "CompanyName": "永康嘉持电器有限公司",
    //redis企业配置
    "Enterprise": "NewMES",
    "Enterprise": "NewJCMES",
    //redis数据库链接配置ip
    "RedisConnIp": "127.0.0.1",
    //redis数据库链接配置端口号
VueWebCoreApi/wwwroot/Excel/ÈËÔ±¹ÜÀí.xls
Binary files differ