From 6b57612f6e9f7575d206e82955ffd989faaaf8b3 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期五, 12 九月 2025 13:24:15 +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