From 57356ad1ecee056beedd1d98614a8dccdb6dab3d Mon Sep 17 00:00:00 2001
From: sjz <1240968267@qq.com>
Date: 星期六, 15 十一月 2025 17:11:54 +0800
Subject: [PATCH] 接口优化
---
WebApi/Gs.BaseInfo/Services/MesItemsManager.cs | 187 ++++++++++++++++++++++++++++++++--------------
1 files changed, 131 insertions(+), 56 deletions(-)
diff --git a/WebApi/Gs.BaseInfo/Services/MesItemsManager.cs b/WebApi/Gs.BaseInfo/Services/MesItemsManager.cs
index ea0a397..dd4f9b6 100644
--- a/WebApi/Gs.BaseInfo/Services/MesItemsManager.cs
+++ b/WebApi/Gs.BaseInfo/Services/MesItemsManager.cs
@@ -1,7 +1,4 @@
-锘縰sing System.Data;
-using System.Data.SqlClient;
-using System.Dynamic;
-using System.Text;
+锘縰sing Gs.BaseInfo.Models;
using Gs.Entity.BaseInfo;
using Gs.Entity.Sys;
using Gs.Toolbox;
@@ -11,6 +8,10 @@
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;
@@ -30,66 +31,70 @@
}
/// <summary>
- /// 璇诲彇鍒楄〃锛屾敮鎸佸垎椤�
+ /// 鏌ヨ鍒楄〃锛屾敮鎸佸垎椤�
/// </summary>
- /// <param name="model"></param>
+ /// <param name="query"></param>
/// <returns></returns>
[RequestMethod(RequestMethods.POST)]
- public ReturnDto<PageList<dynamic>> GetListPage([FromBody] dynamic model)
+ public ReturnDto<PageList<MesItems>> GetListPage(PageQuery query)
{
- int currentPage = model.currentPage;
- int everyPageSize = model.everyPageSize;
- string sortName = model.sortName;
- string keyWhere = model.keyWhere;
- SqlParameter[] parameters =
- {
- new("@inCurrentPage", currentPage),
- new("@inEveryPageSize", everyPageSize),
- new("@inSortName", sortName),
- new("@inSortOrder", ""),
- new("@inQueryWhere", keyWhere),
- new("@inFid", ""),
- new("@inP1", ""),
- new("@inP2", ""),
- new("@inP3", ""),
- new("@inP4", "")
- };
- var dset = new DataSet();
- var _pglist = new PageList<dynamic>
- {
- total = 0,
- everyPageSize = 0,
- pages = 0,
- list = new List<dynamic>()
- };
+ var pageList = new PageList<MesItems>();
try
{
- dset = DbHelperSQL.RunProcedure("prc_item_lst", parameters, "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 pages = intTotal % everyPageSize != 0
- ? intTotal / everyPageSize + 1
- : intTotal / everyPageSize;
- _pglist.total = intTotal;
- _pglist.everyPageSize = everyPageSize;
- _pglist.pages = pages;
- var _dy = dset.Tables[0].TableToDynamicList();
- _pglist.list = _dy;
- }
- }
+ var _sbWhere = new StringBuilder(" 1=1" + query.keyWhere);
+ 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
+ {
+ chkInt = false,
+ FSubsidiary = "(" + org.FNumber + ")" + org.Name,
+ ItemUnit = c.Fname,
+ Fpurchaseunitid = d.Fname,
+ Saleunit = e.Fname,
+ Storeunit = f.Fname,
+ SubconUnit = g.Fname,
+ ProduceUnit = h.Fname,
+ DepotCode = m.DepotName,
+ Fmaterialgroup=n.Tname,
+ Fforbidstatus = a.Fforbidstatus + ":" + (a.Fforbidstatus == "A" ? "姝e父" : "绂佺敤"),
+ 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)
+ }, true)
+ .Where(_sbWhere.ToString())
+ .OrderBy(_sbBy.ToString())
+ .ToPageList(query.currentPage, query.everyPageSize,
+ ref totalCount);
+ pageList = new PageList<MesItems>(itemsList, totalCount,
+ query.everyPageSize);
+ return ReturnDto<PageList<MesItems>>.QuickReturn(pageList,
+ ReturnCode.Success, "璇诲彇鎴愬姛");
+ }
catch (Exception ex)
{
- LogHelper.Debug(ToString(), ex.Message);
- return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist,
- ReturnCode.Exception, ex.Message);
+ return ReturnDto<PageList<MesItems>>.QuickReturn(pageList,
+ ReturnCode.Default, ex.Message);
}
-
- return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist,
- ReturnCode.Success, "璇诲彇鎴愬姛");
}
@@ -129,6 +134,42 @@
return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, "璇诲彇澶辫触锛�");
}
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ [RequestMethod(RequestMethods.POST)]
+ public ReturnDto<ExpandoObject> GetModelByOrg([FromBody] dynamic model)
+ {
+ string itemNo = model.itemNo;
+ string orgId = model.orgId;
+ dynamic m = new ExpandoObject();
+ SqlParameter[] parameters =
+ {
+ new("@inItemNo", itemNo),
+ new("@inOrgId", orgId),
+ };
+ var dset = new DataSet();
+ try
+ {
+ 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.Default, "璇诲彇澶辫触锛屾壘涓嶅埌璇ョ墿鏂欙紒");
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Debug(ToString(), ex.Message);
+ return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, "璇诲彇澶辫触锛�" + ex.Message.ToString());
+ }
+ }
+
/// <summary>
/// 璇诲彇鍒楄〃锛屾敮鎸佸垎椤�
@@ -143,6 +184,7 @@
string sortName = model.sortName;
string keyWhere = model.keyWhere;
string keyType = model.keyType;
+ string keyWord = model.keyWord; //杩欎釜pguid锛屼綔涓烘柟妗堢殑涓婚敭
var dset = new DataSet();
try
{
@@ -160,7 +202,7 @@
new("@inSortOrder", ""),
new("@inQueryWhere", keyWhere),
new("@inP1",keyType),//褰撲负锛氭楠岄」鐩紝iqc,ipqc,fqc鏃讹紝鍏嶆鏃� 鐗瑰埆鍔犱笂杩囨护鏉′欢
- new("@inP2", "")
+ new("@inP2", keyWord) //杩欎釜pguid锛屼綔涓烘柟妗堢殑涓婚敭
};
foreach (var parameter in parameters)
cmd.Parameters.Add(parameter);
@@ -222,7 +264,7 @@
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.guid)");
+ 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();
@@ -275,4 +317,37 @@
ReturnCode.Success, "璇诲彇鎴愬姛");
}
+
+ /// <summary>
+ /// 鎵归噺璁剧疆鎻愬墠鍒拌揣鏃ユ湡
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ [RequestMethod(RequestMethods.POST)]
+ public ReturnDto<int?> SetDays([FromBody] dynamic model)
+ {
+ string guidList = model.guidList;
+ string bz10 = model.bz10;
+ string percent = model.percent;
+ int rtnInt = (int)ReturnCode.Default;
+ try
+ {
+ 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(this.ToString(), "SetDays error锛�" + ex.Message);
+ rtnInt = (int)ReturnCode.Exception;
+ return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, "鎿嶄綔澶辫触锛�" + ex.Message);
+ }
+ if (rtnInt > 0)
+ return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Success, "鎿嶄綔鎴愬姛锛�");
+ else
+ return ReturnDto<int>.QuickReturn(default(int?), ReturnCode.Exception, "鎿嶄綔澶辫触锛岃閲嶈瘯锛�");
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.3