南骏 池
2025-08-30 9344dcd4f7febe85870a023090271d9e90ad46be
1.多组织权限分配
2.登录优化
已修改4个文件
已添加1个文件
92 ■■■■ 文件已修改
Controllers/BaseController.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Controllers/Wom/WomdaaController.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
appsettings.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/Wom/WomdaaManager.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/base/LoginService.cs 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Controllers/BaseController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,34 @@
using Microsoft.AspNetCore.Mvc;
using System;
public class BaseController : ControllerBase
{
    protected string OrgId
    {
        get
        {
            var orgId = GetOrgIdFromHeader();
            if (string.IsNullOrEmpty(orgId))
            {
                throw new ArgumentException("请求组织ID不存在!请检查请求头中是否包含有效的OrgId。");
            }
            return orgId;
        }
    }
    private string GetOrgIdFromHeader()
    {
        if (HttpContext.Request.Headers.TryGetValue("OrgId", out var orgIdValue))
        {
            return orgIdValue.ToString();
        }
        return null;
    }
    // å¯é€‰ï¼šæä¾›ä¸€ä¸ªå®‰å…¨èŽ·å–OrgId的方法,不抛出异常而是返回默认值或null
    protected bool TryGetOrgId(out string orgId)
    {
        orgId = GetOrgIdFromHeader();
        return !string.IsNullOrEmpty(orgId);
    }
}
Controllers/Wom/WomdaaController.cs
@@ -1,5 +1,6 @@
using System.Dynamic;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
using NewPdaSqlServer.service.@base;
@@ -10,8 +11,9 @@
[ApiController]
[Route("api/[controller]")]
public class WomdaaController : ControllerBase
public class WomdaaController : BaseController
{
    private readonly WomdaaManager m = new();
    private readonly MesPrintMangeer _mCf = new();
@@ -28,7 +30,7 @@
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.GetProductionPickDaa001(query);
            resultInfos.tbBillList = m.GetProductionPickDaa001(query, OrgId);
            return new ResponseResult
            {
                status = 0,
@@ -50,10 +52,13 @@
    [HttpPost("GetItemsByDaa001")]
    public ResponseResult GetItemsByDaa001(WarehouseQuery query)
    {
        // ä»Ž HttpContext.Items èŽ·å– orgId
        var orgId = HttpContext.Request.Headers["OrgId"].ToString();
        try
        {
            dynamic resultInfos = new ExpandoObject();
            resultInfos.tbBillList = m.GetItemsByDaa001(query);
            resultInfos.tbBillList = m.GetItemsByDaa001(query, OrgId);
            return new ResponseResult
            {
                status = 0,
appsettings.json
@@ -10,7 +10,7 @@
    "TestErpUrl": "http://192.168.1.149:8066/WebService1.asmx/MesToErpinfoTest",
    "ProductionErpUrl": "http://192.168.1.149:8066/WebService1.asmx/MesToErpinfoTest",
    //"DataBaseConn": "Data Source=192.168.1.146;Initial Catalog=TEST_MES;User ID=sa;Password =qixi123;Encrypt=True;TrustServerCertificate=True;"
    "DataBaseConn": "Data Source=192.168.1.146;Initial Catalog=GS_MES;User ID=mesUser;Password =qixi1qaz@WSXmes;Encrypt=True;TrustServerCertificate=True;"
    "DataBaseConn": "Data Source=192.168.1.146,12468;Initial Catalog=GS_MES;User ID=mesUser;Password =qixi1qaz@WSXmes;Encrypt=True;TrustServerCertificate=True;"
  },
  "Version": "1.0.0",
  "X-KDApi-AcctID": "6244701c616bff",
service/Wom/WomdaaManager.cs
@@ -17,7 +17,7 @@
    //这里面写的代码不会给覆盖,如果要重新生成请删除 WomdaaManager.cs
    //获取工单号
    public List<string> GetProductionPickDaa001(WarehouseQuery query)
    public List<string> GetProductionPickDaa001(WarehouseQuery query,string orgId)
    {
        var sql =
            "SELECT DAA001 FROM WOMDAA A LEFT JOIN (SELECT COUNT(1) UN_NUM, PID FROM WOMDAB  WHERE DAB006 > DAB007 GROUP BY DAB002) B ON A.GUID = B.daaGuid WHERE DAA001 = " +
@@ -28,7 +28,7 @@
    }
    //根据工单号返回产品型号和待领物料
    public ProductionPickDto GetItemsByDaa001(WarehouseQuery query)
    public ProductionPickDto GetItemsByDaa001(WarehouseQuery query,string OrgId)
    {
        return getDaa001(query);
    }
service/base/LoginService.cs
@@ -2,24 +2,49 @@
using NewPdaSqlServer.DB;
using NewPdaSqlServer.entity;
using NewPdaSqlServer.util;
using SqlSugar;
using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
namespace NewPdaSqlServer.service.@base;
public class LoginService : RepositoryNoEntity
{
    public SysUser login(string name, string pwd)
    public dynamic login(string name, string pwd)
    {
        var strPass = UtilityHelper.MD5Encrypt32(pwd);
        var sysUser = Db.Queryable<SysUser>()
            .Where(s => s.Account == name
                        && s.Password == strPass).First();
        //var sysUser = Db.Queryable<SysUser>()
        //    .Where(s => s.Account == name
        //                && s.Password == strPass).First();
        if (sysUser == null) throw new Exception("用户不存在");
        var db_password = sysUser.Password;
        if (!strPass.Equals(db_password)) throw new Exception("用户名或者密码错误");
        return sysUser;
        var parameters = new[]
        {
        new SugarParameter("@pi_account", name),
        new SugarParameter("@pi_password", strPass),
        new SugarParameter("@inP1", null),
        new SugarParameter("@inP2", null),
        new SugarParameter("@inP3", null)
    };
        try
        {
            var sysUser = Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_login_selUserOrgInfo @pi_account,@pi_password,@inP1,@inP2,@inP3", parameters).First();
            if (sysUser == null) throw new Exception("用户不存在");
            var db_password = sysUser.Password;
            if (!strPass.Equals(db_password)) throw new Exception("用户名或者密码错误");
            return sysUser;
        }
        catch (Exception ex)
        {
            // ä¿ç•™åŽŸæœ‰å¼‚å¸¸å¤„ç†é€»è¾‘
            throw new Exception($"{ex.Message}");
        }
    }
    public List<dynamic> getUserMenu(string name)