| | |
| | | using System.Data; |
| | | using System.Data.SqlClient; |
| | | using System.Dynamic; |
| | | using System.Text; |
| | | using Gs.BaseInfo.Models; |
| | | using Gs.BaseInfo.Models; |
| | | using Gs.Entity.BaseInfo; |
| | | using Gs.Entity.Sys; |
| | | using Gs.Toolbox; |
| | |
| | | using Microsoft.AspNetCore.Http; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using SqlSugar; |
| | | using System.Data; |
| | | using System.Data.SqlClient; |
| | | using System.Dynamic; |
| | | using System.Text; |
| | | using SqlDataAdapter = System.Data.SqlClient.SqlDataAdapter; |
| | | |
| | | namespace Gs.BaseInfo.Services; |
| | |
| | | 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<MesItems, SysOrganization, MesUnit, MesUnit, MesUnit, |
| | | MesUnit, MesUnit, MesUnit, MesDepots, MesItemType>((a, org, |
| | | c, d, e, f, g, h, m, n) => new object[] |
| | | { |
| | | JoinType.Left, a.FSubsidiary == org.Fid, |
| | | JoinType.Left, a.ItemUnit == c.Id.ToString(), |
| | | JoinType.Left, a.Fpurchaseunitid == d.Id.ToString(), |
| | | JoinType.Left, a.Saleunit == e.Id.ToString(), |
| | | JoinType.Left, a.Storeunit == f.Id.ToString(), |
| | | JoinType.Left, a.SubconUnit == g.Id.ToString(), |
| | | JoinType.Left, a.ProduceUnit == h.Id.ToString(), |
| | | JoinType.Left, a.DepotCode == m.DepotId.ToString(), |
| | | JoinType.Left, a.Fmaterialgroup == n.Id.ToString() |
| | | }) |
| | | .Select((a, org, c, d, e, f, g, h, m, n) => new MesItems |
| | | MesUnit, MesUnit, MesUnit, MesDepots, MesItemType>( |
| | | (a, org, c, d, e, f, g, h, m,n) => new object[] |
| | | { |
| | | JoinType.Left, a.FSubsidiary == org.Fid, |
| | | JoinType.Left, a.ItemUnit == c.Id.ToString(), |
| | | JoinType.Left, a.Fpurchaseunitid == d.Id.ToString(), |
| | | JoinType.Left, a.Saleunit == e.Id.ToString(), |
| | | JoinType.Left, a.Storeunit == f.Id.ToString(), |
| | | JoinType.Left, a.SubconUnit == g.Id.ToString(), |
| | | JoinType.Left, a.ProduceUnit == h.Id.ToString(), |
| | | JoinType.Left, a.DepotCode == m.DepotId.ToString(), |
| | | JoinType.Left, a.Fmaterialgroup == n.Id.ToString() |
| | | }) |
| | | .Select((a, org, c, d, e, f, g, h, m,n) => new MesItems |
| | | { |
| | | chkInt = false, |
| | | FSubsidiary = "(" + org.FNumber + ")" + org.Name, |
| | |
| | | SubconUnit = g.Fname, |
| | | ProduceUnit = h.Fname, |
| | | DepotCode = m.DepotName, |
| | | Fmaterialgroup = n.Tname, |
| | | Fforbidstatus = a.Fforbidstatus + ":" + |
| | | (a.Fforbidstatus == "A" ? "正常" : "禁用"), |
| | | Fmaterialgroup=n.Tname, |
| | | Fforbidstatus = a.Fforbidstatus + ":" + (a.Fforbidstatus == "A" ? "正常" : "禁用"), |
| | | DataType = a.DataType + ":" |
| | | + SqlFunc.IF(a.DataType == "Z") |
| | | .Return("暂存") |
| | | .ElseIF(a.DataType == "A") |
| | | .Return("创建") |
| | | .ElseIF(a.DataType == "B") |
| | | .Return("审核中") |
| | | .ElseIF(a.DataType == "C") |
| | | .Return("已审核") |
| | | .ElseIF(a.DataType == "D") |
| | | .Return("重新审核") |
| | | .End(a.DataType) |
| | | + SqlFunc.IF(a.DataType == "Z").Return("暂存") |
| | | .ElseIF(a.DataType == "A").Return("创建") |
| | | .ElseIF(a.DataType == "B").Return("审核中") |
| | | .ElseIF(a.DataType == "C").Return("已审核") |
| | | .ElseIF(a.DataType == "D").Return("重新审核") |
| | | .End(a.DataType) |
| | | }, true) |
| | | .Where(_sbWhere.ToString()) |
| | | .OrderBy(_sbBy.ToString()) |
| | |
| | | dynamic m = new ExpandoObject(); |
| | | SqlParameter[] parameters = |
| | | { |
| | | new("@inMainGuid", guid) |
| | | new("@inMainGuid", guid), |
| | | }; |
| | | var dset = new DataSet(); |
| | | try |
| | | { |
| | | dset = DbHelperSQL.RunProcedure("[prc_item_detail]", parameters, |
| | | "0"); |
| | | dset = DbHelperSQL.RunProcedure("[prc_item_detail]", parameters, "0"); |
| | | if (dset != null && dset.Tables.Count > 0 && |
| | | dset.Tables[0].Rows.Count > 0) |
| | | { |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | |
| | | SqlParameter[] parameters = |
| | | { |
| | | new("@inItemNo", itemNo), |
| | | new("@inOrgId", orgId) |
| | | new("@inOrgId", orgId), |
| | | }; |
| | | var dset = new DataSet(); |
| | | try |
| | | { |
| | | dset = DbHelperSQL.RunProcedure("[prc_item_detailByOrg]", |
| | | parameters, "0"); |
| | | dset = DbHelperSQL.RunProcedure("[prc_item_detailByOrg]", parameters, "0"); |
| | | if (dset != null && dset.Tables.Count > 0 && |
| | | dset.Tables[0].Rows.Count > 0) |
| | | { |
| | | var dr = dset.Tables[0].Rows[0]; |
| | | m = dr.RowToDynamic(); |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, |
| | | "读取成功!"); |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "读取成功!"); |
| | | } |
| | | |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, |
| | | "读取失败,找不到该物料!"); |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, "读取失败,找不到该物料!"); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Debug(ToString(), ex.Message); |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, |
| | | "读取失败," + ex.Message); |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, "读取失败," + ex.Message.ToString()); |
| | | } |
| | | } |
| | | |
| | |
| | | string sortName = model.sortName; |
| | | string keyWhere = model.keyWhere; |
| | | string keyType = model.keyType; |
| | | string keyWord = model.keyWord; //这个pguid,作为方案的主键 |
| | | string keyWord = model.keyWord; //这个pguid,作为方案的主键 |
| | | var dset = new DataSet(); |
| | | try |
| | | { |
| | |
| | | new("@inSortName", sortName), |
| | | new("@inSortOrder", ""), |
| | | new("@inQueryWhere", keyWhere), |
| | | new("@inP1", |
| | | keyType), //当为:检验项目,iqc,ipqc,fqc时,免检时 特别加上过滤条件 |
| | | new("@inP1",keyType),//当为:检验项目,iqc,ipqc,fqc时,免检时 特别加上过滤条件 |
| | | new("@inP2", keyWord) //这个pguid,作为方案的主键 |
| | | }; |
| | | foreach (var parameter in parameters) |
| | |
| | | dt.Fill(dset, "0"); |
| | | } |
| | | } |
| | | |
| | | conn.Close(); |
| | | } |
| | | } |
| | | 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> |
| | |
| | | return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist, |
| | | ReturnCode.Success, "读取成功"); |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | |
| | | { |
| | | var currentPage = model.currentPage; |
| | | var everyPageSize = model.everyPageSize; |
| | | var sortName = string.IsNullOrEmpty(model.sortName) |
| | | ? "a.staff_no" |
| | | : model.sortName; |
| | | var sortName = string.IsNullOrEmpty(model.sortName) ? "a.staff_no" : model.sortName; |
| | | var keyWhere = model.keyWhere; |
| | | var keyType = model.keyType; |
| | | var sbJoin = new StringBuilder(); |
| | | string keyType = model.keyType; |
| | | System.Text.StringBuilder sbJoin = new StringBuilder(); |
| | | sbJoin.Append(" FROM MES_ITEMS [a]"); |
| | | sbJoin.Append( |
| | | " Left JOIN [SYS_ORGANIZATION] [Org] ON ( [a].[FSubsidiary] = [Org].[FID] )"); |
| | | sbJoin.Append(" left join SYS_USER_BIND b on (b.userGuid='" + keyType + |
| | | "' and b.aboutGuid=a.item_id and b.fType='物料分区')"); |
| | | sbJoin.Append(" Left JOIN [SYS_ORGANIZATION] [Org] ON ( [a].[FSubsidiary] = [Org].[FID] )"); |
| | | sbJoin.Append(" left join SYS_USER_BIND b on (b.userGuid='" + keyType + "' and b.aboutGuid=a.item_id and b.fType='物料分区')"); |
| | | sbJoin.Append(" where 1=1 "); |
| | | sbJoin.Append(keyWhere); |
| | | var sbSql = new StringBuilder(); |
| | | sbSql.Append(" SELECT * FROM "); |
| | | sbSql.Append( |
| | | " (SELECT N'(' +[Org].[FNumber] + N')' +[Org].[NAME] AS [FSubsidiary2]"); |
| | | sbSql.Append( |
| | | " ,a.item_id,a.item_no,a.item_name,a.item_model,a.guid,ROW_NUMBER() OVER(ORDER BY org.FNumber asc ,a.item_no asc) AS RowIndex "); |
| | | sbSql.Append(" (SELECT N'(' +[Org].[FNumber] + N')' +[Org].[NAME] AS [FSubsidiary2]"); |
| | | sbSql.Append(" ,a.item_id,a.item_no,a.item_name,a.item_model,a.guid,ROW_NUMBER() OVER(ORDER BY org.FNumber asc ,a.item_no asc) AS RowIndex "); |
| | | //如果无关键字,无需找查绑定 |
| | | if (string.IsNullOrEmpty(keyType)) |
| | | { |
| | | sbSql.Append(",cast(0 as bit) as chkInt"); |
| | | } |
| | | else |
| | | sbSql.Append( |
| | | ",cast( (case when b.guid is null then 0 else 1 end) as bit) as chkInt "); |
| | | sbSql.Append(",cast( (case when b.guid is null then 0 else 1 end) as bit) as chkInt "); |
| | | sbSql.Append(sbJoin); |
| | | sbSql.Append(") T"); |
| | | sbSql.Append(" where T.rowindex>(" + currentPage + "-1)*" + |
| | | everyPageSize + " and T.rowindex<=" + currentPage + "*" + |
| | | everyPageSize); |
| | | sbSql.Append(" where T.rowindex>(" + currentPage + "-1)*" + everyPageSize + " and T.rowindex<=" + currentPage + "*" + everyPageSize); |
| | | sbSql.Append(" select count(1) as intTotal "); |
| | | sbSql.Append(sbJoin); |
| | | var dset = new DataSet(); |
| | |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Debug(ToString(), "GetListPage2 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> |
| | | /// 批量设置提前到货日期 |
| | | /// 批量设置提前到货日期 |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | |
| | | string guidList = model.guidList; |
| | | string bz10 = model.bz10; |
| | | string percent = model.percent; |
| | | var rtnInt = (int)ReturnCode.Default; |
| | | int rtnInt = (int)ReturnCode.Default; |
| | | try |
| | | { |
| | | var strSql = new StringBuilder(); |
| | | strSql.Append(" update MES_ITEMS set bz10=" + bz10.Trim() + " ," + |
| | | "loss_percent = " + percent.Trim() + " "); |
| | | strSql.Append(" where guid in (select line from dbo.fn_split('" + |
| | | guidList + "',','))"); |
| | | var rows = DbHelperSQL.ExecuteSql(strSql.ToString()); |
| | | StringBuilder strSql = new StringBuilder(); |
| | | strSql.Append(" update MES_ITEMS set bz10=" + bz10.Trim() + " ," + "loss_percent = " + percent.Trim() + " "); |
| | | strSql.Append(" where guid in (select line from dbo.fn_split('" + guidList + "',','))"); |
| | | int rows = DbHelperSQL.ExecuteSql(strSql.ToString()); |
| | | rtnInt = rows; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Debug(ToString(), "SetDays error:" + ex.Message); |
| | | LogHelper.Debug(this.ToString(), "SetDays error:" + ex.Message); |
| | | rtnInt = (int)ReturnCode.Exception; |
| | | return ReturnDto<int>.QuickReturn(default(int?), |
| | | ReturnCode.Exception, "操作失败," + ex.Message); |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, "操作失败," + ex.Message); |
| | | } |
| | | |
| | | if (rtnInt > 0) |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Success, |
| | | "操作成功!"); |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, |
| | | "操作失败,请重试!"); |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Success, "操作成功!"); |
| | | else |
| | | return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, "操作失败,请重试!"); |
| | | } |
| | | |
| | | } |