From c98968a17029fb98e72596c1a868e7d543816102 Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期四, 18 四月 2024 16:31:11 +0800
Subject: [PATCH] 对色记录单查询优化 当前工单模块 出站汇报

---
 WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs |  314 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 292 insertions(+), 22 deletions(-)

diff --git a/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs b/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
index 88da647..e765a51 100644
--- a/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
+++ b/WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing DBUtility;
+using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
 using System.Data;
@@ -16,14 +17,15 @@
         private json objJsonResult = new json();
         public DataSet ds = new DataSet();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
-        public DLL.ClsGy_EquipFileMain BillNew0 = new DLL.ClsGy_EquipFileMain();   
-        public DLL.ClsGy_EquipFileMain BillOld0 = new DLL.ClsGy_EquipFileMain();   
+        public DLL.ClsGy_EquipFileMain BillNew0 = new DLL.ClsGy_EquipFileMain();
+        public DLL.ClsGy_EquipFileMain BillOld0 = new DLL.ClsGy_EquipFileMain();
+        public DAL.ClsGy_EquipFileMain BillOld = new DAL.ClsGy_EquipFileMain();
 
         #region 璁惧妗f鍒楄〃
 
         [Route("Gy_EquipFileMain/GetList")]
         [HttpGet]
-        public object GetList(string sWhere,string user)
+        public object GetList(string sWhere, string user)
         {
             try
             {
@@ -78,7 +80,7 @@
         #region [璁惧妗f鍒犻櫎鍔熻兘]
         [Route("Gy_EquipFileMain/Delete_EquipFile")]
         [HttpGet]
-        public object Delete_EquipFile(string HItemID,string user)
+        public object Delete_EquipFile(string HItemID, string user)
         {
             if (!DBUtility.ClsPub.Security_Log("Gy_EquipFile_Delete", 1, false, user))
             {
@@ -181,11 +183,11 @@
 
                 List<Models.ClsGy_EquipFileMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.ClsGy_EquipFileMain>>(msg2);
 
-                string hbillno= list[0].HBillNo;
+                string hbillno = list[0].HBillNo;
                 string HYear = DateTime.Now.Year.ToString();
                 DateTime HDate = list[0].HDate;
                 long HInterID = list[0].HInterID;
-                string HEquipFileNumber = list[0].HEquipFileNumber; 
+                string HEquipFileNumber = list[0].HEquipFileNumber;
                 string HEquipFileNo = list[0].HEquipFileNo;         //	varchar(50)	//璁惧缂栫爜(鍞竴)
                 string HName = list[0].HName;                //    鈭�	varchar(100)     	//璁惧鍚嶇О
                 string HModel = list[0].HModel;               //   鈭� 	varchar(100)     	//璁惧瑙勬牸
@@ -212,6 +214,7 @@
                 string HMakeDate = DateTime.Now.Date.ToString();
                 int HEquipDotCheckRuleInterID = list[0].HEquipDotCheckRuleInterID;
                 int HEquipMaintainRuleInterID = list[0].HEquipMaintainRuleInterID;
+                int HSourceID = list[0].HSourceID;
 
                 if (!DBUtility.ClsPub.AllowNumber(HEquipFileNumber))
                 {
@@ -227,12 +230,11 @@
                 oCN.RunProc("Insert into Gy_EquipFileBillMain " +
                    " (hbillno,HEquipFileNumber,HEquipFileNo,HName,HModel,HModel2,HMaterID,HUnitID,HOutComDate" +
                    ",HOutComNo,HDeptID,HUseEmpID,HRepairEmpID,HAddress,HSetupDate,HStartupDate,HStatus," +
-                   "HEquipFileTypeID,HProNum,HBarCode,HWorkArea,HLogo,HSellSupID,HMakeSupID,hbilltype,HDate,HYear,HMaker,HMakeDate,HEquipMaintainRuleInterID,HEquipDotCheckRuleInterID) " +
+"HEquipFileTypeID,HProNum,HBarCode,HWorkArea,HLogo,HSellSupID,HMakeSupID,hbilltype,HDate,HYear,HMaker,HMakeDate,HEquipMaintainRuleInterID,HEquipDotCheckRuleInterID,HSourceID) " +
                    " Values('" + hbillno + "','" + HEquipFileNumber + "','" + HEquipFileNo + "','" + HName + "','" + HModel + "','" + HModel2 + "'," + HMaterID + "," + HUnitID +
                    ",'" + HOutComDate + "','" + HOutComNo + "'," + HDeptID + "," + HUseEmpID + "," + HRepairEmpID + ",'" + HAddress +
                    "','" + HSetupDate + "','" + HStartupDate + "','" + HStatus + "'," + HEquipFileTypeID + ",'" + HProNum +
-                   "','" + HBarCode + "','" + HWorkArea + "','" + HLogo + "'," + HSellSupID + "," + HMakeSupID +",'3308','" + HDate +"','"+ HYear+ "','" + HMaker + "','" + HMakeDate +"','"+ HEquipMaintainRuleInterID+"','"+ HEquipDotCheckRuleInterID+
-                   "')", ref DBUtility.ClsPub.sExeReturnInfo);
+                   "','" + HBarCode + "','" + HWorkArea + "','" + HLogo + "'," + HSellSupID + "," + HMakeSupID + ",'3308','" + HDate + "','" + HYear + "','" + HMaker + "','" + HMakeDate + "','" + HEquipMaintainRuleInterID + "','" + HEquipDotCheckRuleInterID +"'," + HSourceID + ")", ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼涓婄骇涓洪潪鏈骇浠g爜
                 oCN.Commit();
                 objJsonResult.code = "1";
@@ -254,7 +256,7 @@
         #endregion
 
         #region 璁惧妗f淇敼淇濆瓨
-        
+
         [Route("Gy_EquipFileMain/EditBill")]
         [HttpPost]
         public object EditBill([FromBody] JObject oMain)
@@ -310,6 +312,8 @@
                 string HUpDateDate = DateTime.Now.Date.ToString();
                 int HEquipDotCheckRuleInterID = list[0].HEquipDotCheckRuleInterID;
                 int HEquipMaintainRuleInterID = list[0].HEquipMaintainRuleInterID;
+                int HSourceID = list[0].HSourceID;
+
 
                 if (!DBUtility.ClsPub.AllowNumber(HEquipFileNumber))
                 {
@@ -341,28 +345,29 @@
                     ",HName='" + HName + "'" +
                     ",HModel='" + HModel + "'" +
                     ",HModel2='" + HModel2 + "'" +
-                    ",HMaterID=" + HMaterID + 
-                    ",HUnitID=" + HUnitID + 
+                    ",HMaterID=" + HMaterID +
+                    ",HUnitID=" + HUnitID +
                     ",HOutComDate='" + HOutComDate + "'" +
                     ",HOutComNo='" + HOutComNo + "'" +
-                    ",HDeptID=" + HDeptID + 
+                    ",HDeptID=" + HDeptID +
                     ",HUseEmpID=" + HUseEmpID +
                     ",HRepairEmpID=" + HRepairEmpID +
                     ",HAddress='" + HAddress + "'" +
                     ",HSetupDate='" + HSetupDate + "'" +
                     ",HStartupDate='" + HStartupDate + "'" +
                     ",HStatus='" + HStatus + "'" +
-                    ",HEquipFileTypeID=" + HEquipFileTypeID + 
+                    ",HEquipFileTypeID=" + HEquipFileTypeID +
                     ",HProNum='" + HProNum + "'" +
                     ",HBarCode='" + HBarCode + "'" +
                     ",HWorkArea='" + HWorkArea + "'" +
                     ",HLogo='" + HLogo + "'" +
-                    ",HSellSupID=" + HSellSupID + 
+                    ",HSellSupID=" + HSellSupID +
                     ",HMakeSupID= " + HMakeSupID +
                     ",HUpDater= '" + HUpDater + "'" +
                     ",HUpDateDate= '" + HUpDateDate + "'" +
-                    ",HEquipDotCheckRuleInterID='"+ HEquipDotCheckRuleInterID+"'"+
-                    ",HEquipMaintainRuleInterID='"+ HEquipMaintainRuleInterID+"'"+
+                    ",HEquipDotCheckRuleInterID='" + HEquipDotCheckRuleInterID + "'" +
+                    ",HEquipMaintainRuleInterID='" + HEquipMaintainRuleInterID + "'" +
+                    ",HSourceID='" + HSourceID + "'" +
                     " Where HInterID=" + HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                 //淇敼瀛愰」鐩唬鐮�
                 //oCN.RunProc("exec h_p_Gy_UpdateNumber Gy_RepairCheck,'" + HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
@@ -392,19 +397,21 @@
         public object Sb_EquipFileBillResumeDate(string HInterID)
         {
 
-            DataTable ds,ds1;
+            DataTable ds, ds1,ds2;
             long HInterID1 = long.Parse(HInterID);
             List<object> list = new List<object>();
             try
             {
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
-               //鑾峰彇閰嶄欢椤圭洰缂栬緫鏁版嵁
+                //鑾峰彇閰嶄欢椤圭洰缂栬緫鏁版嵁
                 string sql1 = string.Format($"exec h_p_Gy_EquipRecord {HInterID1}");
                 ds = oCN.RunProcReturn(sql1, "h_p_Gy_EquipRecord").Tables[0];
                 ds1 = oCN.RunProcReturn(sql1, "h_p_Gy_EquipRecord").Tables[1];
+                ds2 = oCN.RunProcReturn(sql1, "h_p_Gy_EquipRecord").Tables[2];
 
                 list.Add(ds);//鏃ュ父璁板綍
                 list.Add(ds1);//缁翠慨璁板綍
+                list.Add(ds2);//閰嶄欢鏇存崲娓呭崟
                 objJsonResult.code = "0";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
@@ -427,8 +434,8 @@
         public object Gy_MouldFileBillResumeDate(string HInterID)
         {
 
-            DataTable ds,ds1,ds2,ds3;
-            
+            DataTable ds, ds1, ds2, ds3;
+
             long HInterID1 = long.Parse(HInterID);
             List<object> list = new List<object>();
             try
@@ -461,5 +468,268 @@
             return objJsonResult;
         }
         #endregion
+
+        #region[鏍规嵁鏉$爜杩斿洖璁惧淇℃伅]
+        [Route("Gy_EquipFileMain/Gy_MouldFileBillBarCodeInfo")]
+        [HttpGet]
+        public object Gy_MouldFileBillBarCodeInfo(string HBarCode)
+        { 
+            DataTable ds; 
+            List<object> list = new List<object>();
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                //鑾峰彇閰嶄欢椤圭洰缂栬緫鏁版嵁
+                string sql1 = string.Format($"exec h_p_Gy_EquipFileGetInfoByBarCode {HBarCode}");
+                ds = oCN.RunProcReturn(sql1, "h_p_Gy_EquipFileGetInfoByBarCode").Tables[0]; 
+
+                list.Add(ds);//璁惧妗f 
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鑾峰彇璁惧淇℃伅鎴愬姛锛�";
+                objJsonResult.list = list;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛佽妫�鏌ユ潯褰㈢爜锛�" + e.ToString();
+                objJsonResult.data = null;
+            }
+            return objJsonResult;
+        }
+        #endregion
+
+        #region 璁惧妗f瀹℃牳/鍙嶅鏍稿姛鑳�
+        [Route("Gy_EquipFileBill/CheckGy_EquipFileBill")]
+        [HttpGet]
+        public object CheckGy_EquipFileBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFileBill_Check", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬鏍�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 瀹℃牳  2  鍙嶅鏍�
+                if (Type == 1)
+                {
+                    if (!BillOld.CheckBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    if (BillOld.AbandonCheck(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 璁惧妗f鍏抽棴/鍙嶅叧闂姛鑳�
+        [Route("Gy_EquipFileBill/CloseGy_EquipFileBill")]
+        [HttpGet]
+        public object CloseGy_EquipFileBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_EquipFileBill_Close", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    if (!BillOld.CloseBill(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    if (!BillOld.CancelClose(int.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 璁惧妗f鍒楄〃 鏍戠姸鍥� 璁惧鍒嗙被鏌ヨ
+        public class TreeModel
+        {
+            public string id { get; set; }
+            public string title { get; set; }
+            public List<TreeModel> children = new List<TreeModel>();
+        }
+        [Route("Gy_EquipFileMain/TreeGetList")]
+        [HttpGet]
+        public object TreeGetList(string sWhere, string user)
+        {
+            try
+            {
+
+                ds = oCN.RunProcReturn("select HItemID,HNumber,HName  from Gy_EquipFileType", "Gy_EquipFileType");
+
+                List<TreeModel> treeModels = new List<TreeModel>();
+                TreeModel first = new TreeModel();
+                first.id = "0";
+                first.title = "璁惧鍒嗙被璁剧疆";
+                treeModels.Add(first);
+
+                foreach (DataRow row in ds.Tables[0].Rows)
+                {
+                    var strLen = row["hitemid"].ToString().Split('.');
+                    if (strLen.Length == 1)
+                    {
+                        TreeModel tree = new TreeModel();
+                        tree.id = row["HItemID"].ToString();
+                        tree.title = row["HName"].ToString();
+                        treeModels[0].children.Add(tree);
+                    }
+                }
+                digui(ds.Tables[0], treeModels[0].children, 2);
+
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = Newtonsoft.Json.JsonConvert.SerializeObject(treeModels);
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        /// <summary>
+        /// 閫掑綊鍑芥暟
+        /// </summary>
+        public void digui(DataTable dt, List<TreeModel> tree, int num)
+        {
+            for (int m = 0; m < tree.Count; m++)
+            {
+                tree[m].children = new List<TreeModel>();
+                for (int i = 0; i < dt.Rows.Count; i++)//绗竴娆″惊鐜紝寰楀埌鎵�鏈夋牴鑺傜偣鐨勫瓙闆�
+                {
+                    var strLen = dt.Rows[i]["HNumber"].ToString().Split('.');
+                    if (strLen.Length == num && dt.Rows[i]["HNumber"].ToString().Contains(tree[m].id + "."))
+                    {
+                        TreeModel tbjson = new TreeModel();
+                        tbjson.id = dt.Rows[i]["HItemID"].ToString();
+                        tbjson.title = dt.Rows[i]["HName"].ToString();
+                        tree[m].children.Add(tbjson);
+                    }
+                }
+                var strLens = tree[m].id.Split('.');
+                for (int i = 0; i < tree[m].children.Count; i++)
+                {
+                    digui(dt, tree[m].children, strLens.Length + 2);//鍐嶆鐢ㄥ瓙闆嗗幓寰幆锛屾嬁鍑哄瓙闆嗙殑瀛愰泦
+                }
+            }
+
+        }
+        #endregion
     }
 }

--
Gitblit v1.9.1