| | |
| | | using Microsoft.AspNetCore.Http; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using Newtonsoft.Json.Linq; |
| | | using NPOI.SS.Formula.Functions; |
| | | using SqlSugar; |
| | | |
| | | namespace Gs.Warehouse.Services; |
| | |
| | | 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[] |
| | | var itemsList = Db.Queryable<MesDepots, SysOrganization, MesStaff, MesCustomer, MesSupplier, SysDepartment>( |
| | | (a, Org, c, d, f, g) => new object[] |
| | | { |
| | | JoinType.Left, a.FSubsidiary == Org.Fid, |
| | | JoinType.Left, a.CreateBy == c.Id.ToString(), |
| | | JoinType.Left, d.Id.ToString() == a.ClientId.ToString(), |
| | | JoinType.Left, |
| | | f.Id.ToString() == a.SuppLierId.ToString(), |
| | | JoinType.Left, |
| | | g.Id.ToString() == a.department.ToString() |
| | | JoinType.Left,d.Id.ToString()==a.ClientId.ToString(), |
| | | JoinType.Left,f.Id.ToString()==a.SuppLierId.ToString(), |
| | | JoinType.Left,g.Id.ToString()==a.department.ToString(), |
| | | }).Select((a, Org, c, d, f, g) => new MesDepots |
| | | { |
| | | FSubsidiary = "(" + Org.FNumber + ")" + Org.Name, |
| | | OrgName = Org.Name, |
| | | OrgId = Org.FNumber, |
| | | CreateBy = c.StaffName.ToString(), |
| | | ClientId = d.CustName, |
| | | SuppLierId = f.SuppName, |
| | | department = g.Departmentname, |
| | | IsNg = a.IsNg + ":" + (a.IsNg == "A" ? "正常" : "禁用"), |
| | | DocumentStatus = a.DocumentStatus + ":" |
| | | { |
| | | FSubsidiary = "(" + Org.FNumber + ")" + Org.Name, |
| | | OrgName = Org.Name, |
| | | OrgId = Org.FNumber, |
| | | CreateBy = c.StaffName.ToString(), |
| | | ClientId = d.CustName, |
| | | SuppLierId = f.SuppName, |
| | | department = g.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) |
| | | }, true) |
| | | .ElseIF(a.DocumentStatus == "A").Return("创建") |
| | | .ElseIF(a.DocumentStatus == "B").Return("审核中") |
| | | .ElseIF(a.DocumentStatus == "C").Return("已审核") |
| | | .ElseIF(a.DocumentStatus == "D").Return("重新审核") |
| | | .End(a.DocumentStatus) |
| | | }, true) |
| | | .Where(_sbWhere.ToString()) |
| | | .OrderBy(_sbBy.ToString()) |
| | | .ToPageList(query.currentPage, query.everyPageSize, |
| | |
| | | { |
| | | var currentPage = model.currentPage; |
| | | var everyPageSize = model.everyPageSize; |
| | | var sortName = string.IsNullOrEmpty(model.sortName) |
| | | ? "a.PAGE_GROUP" |
| | | : model.sortName; |
| | | var sortName = string.IsNullOrEmpty(model.sortName) ? "a.PAGE_GROUP" : model.sortName; |
| | | var keyWhere = model.keyWhere; |
| | | var keyType = model.keyType; |
| | | string keyType = model.keyType; |
| | | string keyWord = model.keyWord; |
| | | var sbSql = new StringBuilder(); |
| | | sbSql.Append(" SELECT * FROM "); |
| | | sbSql.Append( |
| | | " (SELECT N'(' +[Org].[FNumber] + N')' +[Org].[NAME] AS [FSubsidiary2] ,"); |
| | | sbSql.Append( |
| | | " [Org].[NAME] AS [OrgName] , [Org].[FNumber] AS [OrgId] , CAST([c].[staff_name]"); |
| | | sbSql.Append( |
| | | " AS NVARCHAR(MAX)) AS [CreateBy] , [d].[cust_name] AS [ClientId] ,"); |
| | | sbSql.Append( |
| | | " [f].[supp_name] AS [SuppLierId] , [g].[departmentname] AS [department2] ,"); |
| | | sbSql.Append( |
| | | " ( CASE WHEN ( [a].[is_ng] = N'A' ) THEN N'正常' ELSE N'禁用' END ) AS [IsNg] "); |
| | | sbSql.Append( |
| | | ", [a].*,ROW_NUMBER() OVER(ORDER BY org.FNumber asc ,a.depot_code asc) AS RowIndex "); |
| | | if (string.IsNullOrEmpty(keyType)) |
| | | sbSql.Append(",cast(0 as bit) as chkInt"); |
| | | sbSql.Append(" (SELECT N'(' +[Org].[FNumber] + N')' +[Org].[NAME] AS [FSubsidiary2] ,"); |
| | | sbSql.Append(" [Org].[NAME] AS [OrgName] , [Org].[FNumber] AS [OrgId] , CAST([c].[staff_name]"); |
| | | sbSql.Append(" AS NVARCHAR(MAX)) AS [CreateBy] , [d].[cust_name] AS [ClientId] ,"); |
| | | sbSql.Append(" [f].[supp_name] AS [SuppLierId] , [g].[departmentname] AS [department2] ,"); |
| | | sbSql.Append(" ( CASE WHEN ( [a].[is_ng] = N'A' ) THEN N'正常' ELSE N'禁用' END ) AS [IsNg] "); |
| | | sbSql.Append(", [a].*,ROW_NUMBER() OVER(ORDER BY org.FNumber asc ,a.depot_code asc) AS RowIndex "); |
| | | if (string.IsNullOrEmpty(keyWord)) |
| | | { |
| | | sbSql.Append(",'' as kcQty"); |
| | | } |
| | | else |
| | | 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))) "); |
| | | sbSql.Append( |
| | | " Left JOIN [MES_SUPPLIER] [f] ON (CAST([f].[id] AS NVARCHAR(50)) = CAST([a].[SUPPLIER_ID] AS NVARCHAR(50))) "); |
| | | sbSql.Append( |
| | | " Left JOIN [SYS_DEPARTMENT] [g] ON (CAST([g].[id] AS NVARCHAR(50)) = CAST([a].[department] AS NVARCHAR(50))) "); |
| | | { |
| | | sbSql.Append(", isnull((select top 1 库存对比 from [dbo].[即时库存差异表] where 物料ID=" + keyWord + " and 仓库ID=[a].[depot_id]),'('+a.depot_name+')0/0') AS [kcQty] "); |
| | | } |
| | | if (string.IsNullOrEmpty(keyType)) |
| | | { |
| | | 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 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))) "); |
| | | sbSql.Append(" Left JOIN [MES_SUPPLIER] [f] ON (CAST([f].[id] AS NVARCHAR(50)) = CAST([a].[SUPPLIER_ID] AS NVARCHAR(50))) "); |
| | | sbSql.Append(" Left JOIN [SYS_DEPARTMENT] [g] ON (CAST([g].[id] AS NVARCHAR(50)) = CAST([a].[department] AS NVARCHAR(50))) "); |
| | | sbSql.Append(" WHERE 1=1"); |
| | | sbSql.Append(keyWhere); |
| | | sbSql.Append(") T"); |
| | | sbSql.Append(" where T.rowindex>(" + currentPage + "-1)*" + |
| | | everyPageSize + " and T.rowindex<=" + currentPage + "*" + |
| | | everyPageSize); |
| | | sbSql.Append( |
| | | " select count(1) as intTotal 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))) "); |
| | | sbSql.Append( |
| | | " Left JOIN [MES_SUPPLIER] [f] ON (CAST([f].[id] AS NVARCHAR(50)) = CAST([a].[SUPPLIER_ID] AS NVARCHAR(50))) "); |
| | | sbSql.Append( |
| | | " Left JOIN [SYS_DEPARTMENT] [g] ON (CAST([g].[id] AS NVARCHAR(50)) = CAST([a].[department] AS NVARCHAR(50))) "); |
| | | sbSql.Append(" where T.rowindex>(" + currentPage + "-1)*" + everyPageSize + " and T.rowindex<=" + currentPage + "*" + everyPageSize); |
| | | sbSql.Append(" select count(1) as intTotal 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))) "); |
| | | sbSql.Append(" Left JOIN [MES_SUPPLIER] [f] ON (CAST([f].[id] AS NVARCHAR(50)) = CAST([a].[SUPPLIER_ID] AS NVARCHAR(50))) "); |
| | | sbSql.Append(" Left JOIN [SYS_DEPARTMENT] [g] ON (CAST([g].[id] AS NVARCHAR(50)) = CAST([a].[department] AS NVARCHAR(50))) "); |
| | | sbSql.Append(" WHERE 1=1"); |
| | | sbSql.Append(keyWhere); |
| | | var dset = new DataSet(); |
| | |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Debug(ToString(), "GetListPage error:" + ex.Message); |
| | | return ReturnDto<PageList<dynamic>>.QuickReturn( |
| | | default(PageList<dynamic>), ReturnCode.Exception, "读取失败"); |
| | | return ReturnDto<PageList<dynamic>>.QuickReturn(default(PageList<dynamic>), ReturnCode.Exception, "读取失败"); |
| | | } |
| | | |
| | | var _pglist = new PageList<dynamic> |
| | | { |
| | | total = 0, |
| | |
| | | if (dset != null && dset.Tables.Count > 0 && |
| | | dset.Tables[0].Rows.Count > 0) //有数据 |
| | | { |
| | | var intTotal = |
| | | int.Parse(dset.Tables[1].Rows[0]["intTotal"].ToString()); |
| | | var intTotal = int.Parse(dset.Tables[1].Rows[0]["intTotal"].ToString()); |
| | | var pages = intTotal % everyPageSize != 0 |
| | | ? intTotal / everyPageSize + 1 |
| | | : intTotal / everyPageSize; |
| | |
| | | var _dy = dset.Tables[0].TableToDynamicList(); |
| | | _pglist.list = _dy; |
| | | } |
| | | |
| | | return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist, |
| | | ReturnCode.Success, "读取成功"); |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | |
| | | //} |
| | | m.IsNg = m.IsNg + ":" + (m.IsNg == "A" ? "正常" : "禁用"); |
| | | var lst = new MesDepotSectionsManager(); |
| | | m.list = lst.GetList(it => it.DepotGuid == m.Guid) |
| | | .OrderBy(it => it.DepotSectionCode).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.Success, "读取成功!"); |
| | | return ReturnDto<MesDepots>.QuickReturn(m, ReturnCode.Default, "读取失败!"); |
| | | } |
| | | |
| | |
| | | [RequestMethod(RequestMethods.POST)] |
| | | public ReturnDto<string?> EditModel([FromBody] MesDepots model) |
| | | { |
| | | var sbMsg = new StringBuilder(); |
| | | System.Text.StringBuilder sbMsg = new System.Text.StringBuilder(); |
| | | try |
| | | { |
| | | var Remark55 = model.Remark5; |
| | | var Guid55 = model.Guid; |
| | | string Remark55 = model.Remark5; |
| | | string Guid55 = model.Guid; |
| | | //if (!string.IsNullOrEmpty(Remark55)) |
| | | //{ |
| | | DbHelperSQL.ExecuteSql(" update MES_DEPOTS set Remark5='" + |
| | | Remark55 + "' where guid='" + Guid55 + "'"); |
| | | 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>(); |
| | | var _addLst = new List<MesDepotSections>(); |
| | | foreach (var m in model.list) |
| | | { |
| | | if (UtilityHelper.CheckGuid(m.Guid)) |
| | | { |
| | | m.LastupdateBy = _userCode; |
| | | m.LastupdateDate = DateTime.Now; |
| | | var iCount = checkIsExist(m.Guid.ToString()); |
| | | int iCount = checkIsExist(m.Guid.ToString()); |
| | | if (iCount <= 0) |
| | | { |
| | | _upLst.Add(m); |
| | |
| | | { |
| | | if (sbMsg.Length > 0) |
| | | sbMsg.Append(", "); |
| | | sbMsg.Append("【" + m.DepotSectionName + "】"); |
| | | sbMsg.Append("【" + m.DepotSectionName.ToString() + "】"); |
| | | } |
| | | } |
| | | else |
| | |
| | | m.LastupdateDate = DateTime.Now; |
| | | _addLst.Add(m); |
| | | } |
| | | |
| | | } |
| | | Db.Updateable(_upLst).IgnoreColumns(true).ExecuteCommand(); |
| | | _manager.InsertRange(_addLst); |
| | | Db.Ado.CommitTran(); |
| | |
| | | { |
| | | LogHelper.Debug(ToString(), "EditModel error:" + ex.Message); |
| | | Db.Ado.RollbackTran(); |
| | | return ReturnDto<string>.QuickReturn("", ReturnCode.Exception, |
| | | ex.Message); |
| | | return ReturnDto<string>.QuickReturn("", ReturnCode.Exception, ex.Message); |
| | | } |
| | | |
| | | var strmsg = "操作成功!"; |
| | | string strmsg = "操作成功!"; |
| | | if (sbMsg.Length > 0) |
| | | strmsg = "操作成功,其中" + sbMsg + "已产生交易信息,没有被编辑!"; |
| | | return ReturnDto<string>.QuickReturn(model.Guid, |
| | | strmsg = "操作成功,其中" + sbMsg.ToString() + "已产生交易信息,没有被编辑!"; |
| | | return ReturnDto<string>.QuickReturn(model.Guid.ToString(), |
| | | ReturnCode.Success, strmsg); |
| | | } |
| | | |
| | |
| | | var cont = 0; |
| | | // cont = IsChkOrUnChkByMx(intArray[0], true); |
| | | if (cont > 0) |
| | | return ReturnDto<int>.QuickReturn(default(int?), |
| | | ReturnCode.Exception, "删除失败,该信息已被审核!"); |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, "删除失败,该信息已被审核!"); |
| | | cont = checkIsExist(intArray[0]); |
| | | if (cont > 0) |
| | | return ReturnDto<int>.QuickReturn(default(int?), |
| | | ReturnCode.Exception, "删除失败,该库位已产生交易信息!"); |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, "删除失败,该库位已产生交易信息!"); |
| | | int? rtnInt = (int)ReturnCode.Default; |
| | | var _manager = new MesDepotSectionsManager(); |
| | | rtnInt = _manager.DeleteById(intArray) ? intArray.Length : 0; |
| | | if (rtnInt > 0) |
| | | return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Success, |
| | | "操作成功,共删除" + rtnInt + "条数据!"); |
| | | return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Exception, |
| | | "删除失败,请重试!"); |
| | | return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Success, "操作成功,共删除" + rtnInt + "条数据!"); |
| | | return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Exception, "删除失败,请重试!"); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 判断是否被用过 |
| | | /// 判断是否被用过 |
| | | /// </summary> |
| | | /// <param name="strGuid"></param> |
| | | /// <returns></returns> |
| | | private int checkIsExist(string strGuid) |
| | | { |
| | | var j = 0; |
| | | var sb = new StringBuilder(); |
| | | sb.Append( |
| | | "select count(1) from [dbo].MES_INV_ITEM_IN_C_DETAILS c left join [dbo].[MES_DEPOT_SECTIONS] t on c.DEPOT_SECTION_CODE=t.depot_section_code where t.guid ='" + |
| | | strGuid + "'"); |
| | | int j = 0; |
| | | System.Text.StringBuilder sb = new System.Text.StringBuilder(); |
| | | sb.Append("select count(1) from [dbo].MES_INV_ITEM_IN_C_DETAILS c left join [dbo].[MES_DEPOT_SECTIONS] t on c.DEPOT_SECTION_CODE=t.depot_section_code where t.guid ='" + strGuid + "'"); |
| | | try |
| | | { |
| | | j = int.Parse(DbHelperSQL.GetSingle(sb.ToString()).ToString()); |
| | | j = int.Parse(Gs.Toolbox.DbHelperSQL.GetSingle(sb.ToString()).ToString()); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Debug(ToString(), "checkIsExist error:" + ex.Message); |
| | | } |
| | | |
| | | return j; |
| | | } |
| | | } |