| | |
| | | using System.Data; |
| | | using System.Data.SqlClient; |
| | | using System.Dynamic; |
| | | using Gs.BaseInfo.Models; |
| | | |
| | | |
| | | namespace GS.QC.Service; |
| | | |
| | |
| | | var _sbWhere = new StringBuilder(" 1=1 " + query.keyWhere); |
| | | var _sbBy = new StringBuilder(query.sortName + " " + query.sortOrder); |
| | | var totalCount = 0; |
| | | var itemsList = Db.Queryable<MesQmCheckitem, MesItems, SysOrganization>( |
| | | (a, b, org) => new object[] |
| | | var itemsList = Db.Queryable<MesQmCheckitem, MesItems, SysOrganization, SysUser, SysUser>( |
| | | (a, b, org, u1, u2) => new object[] |
| | | { |
| | | JoinType.Left, a.ItemId == b.Id, |
| | | JoinType.Left, b.FSubsidiary == org.Fid |
| | | }).Select((a, b, org) => new MesQmCheckitem |
| | | { |
| | | FSubsidiary = "(" + org.FNumber + ")" + org.Name, |
| | | mc = b.ItemName, |
| | | gg = b.ItemModel, |
| | | ItemNo = b.ItemNo, |
| | | }, true) |
| | | JoinType.Left, b.FSubsidiary == org.Fid, |
| | | JoinType.Left, a.FoneCheckor == u1.Account, |
| | | JoinType.Left, a.CreateBy == u2.Account |
| | | }) |
| | | .Select((a, b, org, u1, u2) => new MesQmCheckitem |
| | | { |
| | | FSubsidiary = "(" + org.FNumber + ")" + org.Name, |
| | | mc = b.ItemName, |
| | | gg = b.ItemModel, |
| | | ItemNo = b.ItemNo, |
| | | // 新增:审批人姓名、制单人姓名 |
| | | FoneCheckor = u1.UserName, |
| | | CreateBy = u2.UserName |
| | | }, true) |
| | | .Where(_sbWhere.ToString()) |
| | | .OrderBy(_sbBy.ToString()) |
| | | .ToPageList(query.currentPage, query.everyPageSize, |
| | | ref totalCount); |
| | | .ToPageList(query.currentPage, query.everyPageSize, ref totalCount); |
| | | |
| | | var pageList = new PageList<MesQmCheckitem>(itemsList, totalCount, |
| | | query.everyPageSize); |
| | |
| | | public ReturnDto<MesQmCheckitem> GetModel( |
| | | [FromBody] MesQmCheckitem model) |
| | | { |
| | | // 获取主表 |
| | | var m = base.GetById(model.Guid); |
| | | |
| | | System.Text.StringBuilder sbSql = new StringBuilder(); |
| | | sbSql.Append("select top 1 FSubsidiary,org.NAME as fName,org.FNumber, [item_name],[item_model],item_no from MES_ITEMS i left join SYS_ORGANIZATION org on i.FSubsidiary=org.FID where i.id=" + m.ItemId); |
| | | try |
| | |
| | | { |
| | | LogHelper.Debug(ToString(), "GetModel error:" + ex.Message); |
| | | } |
| | | |
| | | // 新增:审批人姓名查询 |
| | | if (!string.IsNullOrEmpty(m.FoneCheckor)) |
| | | { |
| | | var user = Db.Queryable<SysUser>() |
| | | .Where(u => u.Account == m.FoneCheckor) |
| | | .Select(u => u.UserName) |
| | | .First(); |
| | | m.FoneCheckor = user ?? m.FoneCheckor; // 查不到则保留原值 |
| | | } |
| | | |
| | | m.list = Db.Queryable<MesQmCheckitemDt, MesQmAql1>((a, b) => |
| | | new object[] |
| | | { |
| | |
| | | } |
| | | return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "操作成功!"); |
| | | } |
| | | |
| | | #region 物料类别检验项目 |
| | | |
| | | /// <summary> |
| | | /// 查询列表,支持分页 |
| | | /// </summary> |
| | | /// <param name="query"></param> |
| | | /// <returns></returns> |
| | | [RequestMethod(RequestMethods.POST)] |
| | | public ReturnDto<PageList<MesQmCheckitem>> GetListPageLeiBie(PageQuery query) |
| | | { |
| | | var _sbWhere = new StringBuilder(" 1=1 " + query.keyWhere); |
| | | var _sbBy = new StringBuilder(query.sortName + " " + query.sortOrder); |
| | | var totalCount = 0; |
| | | var itemsList = Db.Queryable<MesQmCheckitem, MesItemType, SysUser, SysUser>( |
| | | (a, b, u1, u2) => new object[] |
| | | { |
| | | JoinType.Left, a.ItemId == b.Id, |
| | | JoinType.Left, a.FoneCheckor == u1.Account, |
| | | JoinType.Left, a.CreateBy == u2.Account |
| | | }) |
| | | .Select((a, b, u1, u2) => new MesQmCheckitem |
| | | { |
| | | mc = b.Tname, |
| | | ItemNo = b.Tcode, |
| | | // 新增:审批人姓名、制单人姓名 |
| | | FoneCheckor = u1.UserName, |
| | | CreateBy = u2.UserName |
| | | }, true) |
| | | .Where(_sbWhere.ToString()) |
| | | .OrderBy(_sbBy.ToString()) |
| | | .ToPageList(query.currentPage, query.everyPageSize, ref totalCount); |
| | | |
| | | var pageList = new PageList<MesQmCheckitem>(itemsList, totalCount, |
| | | query.everyPageSize); |
| | | return ReturnDto<PageList<MesQmCheckitem>>.QuickReturn(pageList, |
| | | ReturnCode.Success, "读取成功"); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 根据主表id读取主表和子表 |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | [RequestMethod(RequestMethods.POST)] |
| | | public ReturnDto<MesQmCheckitem> GetModelLeiBie( |
| | | [FromBody] MesQmCheckitem model) |
| | | { |
| | | // 获取主表 |
| | | var m = base.GetById(model.Guid); |
| | | |
| | | System.Text.StringBuilder sbSql = new StringBuilder(); |
| | | sbSql.Append("select top 1 tname as [item_name],tcode as item_no from MES_ITEM_TYPE i where i.id=" + m.ItemId); |
| | | try |
| | | { |
| | | DataSet dset = new DataSet(); |
| | | dset = Gs.Toolbox.DbHelperSQL.Query(sbSql.ToString()); |
| | | System.Data.DataRow r = dset.Tables[0].Rows[0]; |
| | | m.ItemNo = r["item_no"].ToString(); |
| | | m.mc = r["item_name"].ToString(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | LogHelper.Debug(ToString(), "GetModel error:" + ex.Message); |
| | | } |
| | | |
| | | // 新增:审批人姓名查询 |
| | | if (!string.IsNullOrEmpty(m.FoneCheckor)) |
| | | { |
| | | var user = Db.Queryable<SysUser>() |
| | | .Where(u => u.Account == m.FoneCheckor) |
| | | .Select(u => u.UserName) |
| | | .First(); |
| | | m.FoneCheckor = user ?? m.FoneCheckor; // 查不到则保留原值 |
| | | } |
| | | |
| | | m.list = Db.Queryable<MesQmCheckitemDt, MesQmAql1>((a, b) => |
| | | new object[] |
| | | { |
| | | JoinType.Left, a.SampleSizeNo == b.SampleSizeNo |
| | | }) |
| | | .OrderBy((a, b) => a.Forder) |
| | | .Select((a, b) => new MesQmCheckitemDt |
| | | { |
| | | sampleSizeName = b.SampleSizeName |
| | | }, true) |
| | | .Where(a => a.Pid == model.Guid) |
| | | .ToList(); |
| | | if (m != null) |
| | | return ReturnDto<MesQmCheckitem>.QuickReturn(m, |
| | | ReturnCode.Success, "读取成功!"); |
| | | return ReturnDto<MesQmCheckitem>.QuickReturn(m, ReturnCode.Default, |
| | | "读取失败!"); |
| | | } |
| | | #endregion |
| | | } |