| | |
| | | using Gs.Toolbox.ApiCore.Group; |
| | | using Microsoft.AspNetCore.Http; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using Microsoft.Extensions.Logging; |
| | | using Newtonsoft.Json.Linq; |
| | | using NPOI.SS.Formula.Functions; |
| | | using SqlSugar; |
| | |
| | | try |
| | | { |
| | | var _sbWhere = new StringBuilder(" 1=1" + query.keyWhere); |
| | | var _sbBy = new StringBuilder(query.sortName + " " + query.sortOrder); |
| | | var _sbBy = |
| | | new StringBuilder(query.sortName + " " + query.sortOrder); |
| | | var totalCount = 0; |
| | | var itemsList = Db.Queryable<MesDepots, SysOrganization, MesStaff, MesCustomer, MesSupplier, SysDepartment>( |
| | | (a, Org, c, d, f, g) => new object[] |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 查询列表,支持分页 |
| | | /// </summary> |
| | | /// <param name="query"></param> |
| | | /// <returns></returns> |
| | | [RequestMethod(RequestMethods.POST)] |
| | | public ReturnDto<PageList<MesDepots>> GetListPage3(PageQuery query) |
| | | { |
| | | var pageList = new PageList<MesDepots>(); |
| | | try |
| | | { |
| | | // 构建查询条件 |
| | | var whereClause = "1=1" + (string.IsNullOrEmpty(query.keyWhere) ? "" : query.keyWhere); |
| | | var orderBy = $"{query.sortName ?? "DepotCode"} {query.sortOrder ?? "ASC"}"; |
| | | var totalCount = 0; |
| | | |
| | | // 使用更清晰的查询语法 |
| | | var queryable = Db.Queryable<MesDepots>() |
| | | .LeftJoin<SysOrganization>((a, Org) => a.FSubsidiary == Org.Fid) |
| | | .LeftJoin<MesStaff>((a, c) => a.CreateBy == c.Id.ToString()) |
| | | .LeftJoin<MesCustomer>((a, d) => d.Id.ToString() == a.ClientId.ToString()) |
| | | .LeftJoin<MesSupplier>((a, f) => f.Id.ToString() == a.SuppLierId.ToString()) |
| | | .LeftJoin<SysDepartment>((a, g) => g.Id.ToString() == a.department.ToString()) |
| | | .LeftJoin<MesItems>((a, h) => h.DepotCode.ToString() == a.DepotId.ToString()) |
| | | .Where(whereClause) |
| | | .GroupBy(a => new { |
| | | a.Guid, |
| | | a.DepotCode, |
| | | a.DepotName, |
| | | a.DepotId, |
| | | a.FSubsidiary, |
| | | a.CreateBy, |
| | | a.ClientId, |
| | | a.SuppLierId, |
| | | a.department, |
| | | a.IsNg, |
| | | a.DocumentStatus |
| | | }) |
| | | .OrderBy(orderBy); |
| | | |
| | | // 使用更安全的映射方式 |
| | | var itemsList = queryable.Select<MesDepots>(a => new MesDepots |
| | | { |
| | | Guid = a.Guid, |
| | | DepotCode = a.DepotCode, |
| | | DepotName = a.DepotName, |
| | | DepotId = a.DepotId, |
| | | FSubsidiary = SqlFunc.Subqueryable<SysOrganization>() |
| | | .Where(org => org.Fid == a.FSubsidiary) |
| | | .Select(org => "(" + org.FNumber + ")" + org.Name), |
| | | OrgName = SqlFunc.Subqueryable<SysOrganization>() |
| | | .Where(org => org.Fid == a.FSubsidiary) |
| | | .Select(org => org.Name), |
| | | OrgId = SqlFunc.Subqueryable<SysOrganization>() |
| | | .Where(org => org.Fid == a.FSubsidiary) |
| | | .Select(org => org.FNumber), |
| | | CreateBy = SqlFunc.Subqueryable<MesStaff>() |
| | | .Where(staff => staff.Id.ToString() == a.CreateBy) |
| | | .Select(staff => staff.StaffName), |
| | | ClientId = SqlFunc.Subqueryable<MesCustomer>() |
| | | .Where(cust => cust.Id.ToString() == a.ClientId) |
| | | .Select(cust => cust.CustName), |
| | | SuppLierId = SqlFunc.Subqueryable<MesSupplier>() |
| | | .Where(supp => supp.Id.ToString() == a.SuppLierId) |
| | | .Select(supp => supp.SuppName), |
| | | department = SqlFunc.Subqueryable<SysDepartment>() |
| | | .Where(dept => dept.Id.ToString() == a.department) |
| | | .Select(dept => dept.Departmentname), |
| | | IsNg = a.IsNg + ":" + (a.IsNg == "A" ? "正常" : "禁用"), |
| | | DocumentStatus = a.DocumentStatus + ":" + |
| | | SqlFunc.IF(a.DocumentStatus == "Z").Return("暂存") |
| | | .ElseIF(a.DocumentStatus == "A").Return("创建") |
| | | .ElseIF(a.DocumentStatus == "B").Return("审核中") |
| | | .ElseIF(a.DocumentStatus == "C").Return("已审核") |
| | | .ElseIF(a.DocumentStatus == "D").Return("重新审核") |
| | | .End(a.DocumentStatus) |
| | | }) |
| | | .ToPageList(query.currentPage, query.everyPageSize, ref totalCount); |
| | | |
| | | pageList = new PageList<MesDepots>(itemsList, totalCount, query.everyPageSize); |
| | | return ReturnDto<PageList<MesDepots>>.QuickReturn(pageList, ReturnCode.Success, "读取成功"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | return ReturnDto<PageList<MesDepots>>.QuickReturn(pageList, |
| | | ReturnCode.Default, $"系统错误: {ex.Message}"); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 查询列表,支持分页,用于各种绑定 |
| | | /// </summary> |
| | | /// <param name="query"></param> |
| | |
| | | sbSql.Append(",cast(0 as bit) as chkInt"); |
| | | } |
| | | else |
| | | sbSql.Append(",cast( (select count(1) from SYS_USER_BIND b where b.userGuid='" + keyType + "' and b.aboutGuid=a.guid) as bit) as chkInt "); |
| | | sbSql.Append(",cast( (select count(1) from SYS_USER_BIND b where b.userGuid='" + keyType + "' and b.aboutGuid=a.guid and b.fType='仓库') as bit) as chkInt "); |
| | | sbSql.Append(" FROM [MES_DEPOTS] [a] Left JOIN [SYS_ORGANIZATION] [Org] ON ( [a].[FSubsidiary] = [Org].[FID] )"); |
| | | sbSql.Append(" Left JOIN [MES_STAFF] [c] ON ( [a].[create_by] = CAST([c].[id] AS NVARCHAR(50))) "); |
| | | sbSql.Append(" Left JOIN [MES_CUSTOMER] [d] ON (CAST([d].[id] AS NVARCHAR(50)) = CAST([a].[Client_Id] AS NVARCHAR(50))) "); |
| | |
| | | public ReturnDto<MesDepots> GetModel([FromBody] MesDepots model) |
| | | { |
| | | var m = base.GetById(model.Guid); |
| | | string _CreateBy = m.CreateBy; |
| | | try |
| | | { |
| | | m.CreateBy = Gs.Toolbox.DbHelperSQL.GetSingle("select top 1 staff_name from [dbo].[MES_STAFF] where id='" + _CreateBy + "'").ToString(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Gs.Toolbox.LogHelper.Debug(this.ToString(), "读取负责人error," + ex.Message); |
| | | } |
| | | //string _CreateBy = m.CreateBy; |
| | | //try |
| | | //{ |
| | | // m.CreateBy = Gs.Toolbox.DbHelperSQL.GetSingle("select top 1 staff_name from [dbo].[MES_STAFF] where id='" + _CreateBy + "'").ToString(); |
| | | //} |
| | | //catch (Exception ex) |
| | | //{ |
| | | // Gs.Toolbox.LogHelper.Debug(this.ToString(), "读取负责人error," + ex.Message); |
| | | //} |
| | | m.IsNg = m.IsNg + ":" + (m.IsNg == "A" ? "正常" : "禁用"); |
| | | var lst = new MesDepotSectionsManager(); |
| | | m.list = lst.GetList(it => it.DepotGuid == m.Guid).OrderBy(it => it.Xh).ToList(); |
| | | m.list = lst.GetList(it => it.DepotGuid == m.Guid).OrderBy(it => it.DepotSectionCode).ToList(); |
| | | if (m != null) |
| | | return ReturnDto<MesDepots>.QuickReturn(m, ReturnCode.Success, "读取成功!"); |
| | | return ReturnDto<MesDepots>.QuickReturn(m, ReturnCode.Default, "读取失败!"); |
| | |
| | | System.Text.StringBuilder sbMsg = new System.Text.StringBuilder(); |
| | | try |
| | | { |
| | | string Remark55 = model.Remark5; |
| | | string Guid55 = model.Guid; |
| | | //if (!string.IsNullOrEmpty(Remark55)) |
| | | //{ |
| | | Gs.Toolbox.DbHelperSQL.ExecuteSql(" update MES_DEPOTS set Remark5='" + Remark55 + "' where guid='" + Guid55 + "'"); |
| | | //} |
| | | Db.Ado.BeginTran(); |
| | | var _manager = new MesDepotSectionsManager(); |
| | | var _upLst = new List<MesDepotSections>(); |