From d19fcd70a3b11339eb0c50b5c734eeca855a9a95 Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期三, 12 二月 2025 14:05:50 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/Controllers/Sc_MouldRepairInBillListController.cs | 3531 +++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 2,899 insertions(+), 632 deletions(-)

diff --git a/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs b/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
index b5e0283..2aa8188 100644
--- a/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
+++ b/WebAPI/Controllers/Sc_MouldRepairInBillListController.cs
@@ -4,9 +4,12 @@
 using System;
 using System.Collections.Generic;
 using System.Data;
+using System.IO;
+using System.Web;
 using System.Web.Http;
 using ViewAPI;
 using WebAPI.Models;
+using SyntacticSugar.constant;
 namespace WebAPI.Controllers
 {
     /**
@@ -22,9 +25,11 @@
         public SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
         public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
 
         public DAL.ClsSc_MouldScrapInBill BillNew0 = new DAL.ClsSc_MouldScrapInBill();   //妯″叿鎶ュ簾鍏ュ簱瀵瑰簲鍗曟嵁绫�
         public DAL.ClsSc_MouldScrapInBill BillOld0 = new DAL.ClsSc_MouldScrapInBill();   //妯″叿鎶ュ簾鍏ュ簱瀵瑰簲鍗曟嵁绫�
+        string fileip = System.Configuration.ConfigurationManager.AppSettings["FileIP"];
 
 
         /// <summary>
@@ -238,6 +243,63 @@
             }
         }
 
+        /// <summary>
+        /// 妯″叿淇濆吇璁板綍琛ㄥ垎椤靛垪琛�
+        /// </summary>
+        /// <returns></returns>
+        [Route("Sc_MouldMaintainBill/GetMouldMaintainBillListPage")]
+        [HttpGet]
+        public object GetMouldMaintainBillListPage(string sWhere, string user, int page, int size)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldMaintainBillList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+              
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sc_MouldMaintainList " + page + "," + size + ",''", "h_p_Sc_MouldMaintainList");
+                }
+                else
+                {
+                    sWhere = sWhere.Replace("'", "''");
+                    ds = oCN.RunProcReturn("exec h_p_Sc_MouldMaintainList " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_MouldMaintainList");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = CodeConstant.SUCCEED;
+                objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception ex)
+            {
+                objJsonResult.code = CodeConstant.FAIL;
+                objJsonResult.count = CountConstant.FAIL;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
         #region sql璇彞
 
 
@@ -350,6 +412,63 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+
+        /// <summary>
+        /// 妯″叿鐐规璁板綍琛ㄥ垎椤靛垪琛�
+        /// </summary>
+        /// <returns></returns>
+        [Route("Sc_MouldDotCheckBill/GetMouldDotCheckBillListPage")]
+        [HttpGet]
+        public object GetMouldDotCheckBillListPage(string sWhere, string user, int page, int size)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldDotCheckBillList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sc_MouldDotCheckBillList " + page + "," + size + ",''", "h_p_Sc_MouldDotCheckBillList");
+                }
+                else
+                {
+                    sWhere = sWhere.Replace("'", "''");
+                    ds = oCN.RunProcReturn("exec h_p_Sc_MouldDotCheckBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_MouldDotCheckBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+
+                objJsonResult.code = CodeConstant.SUCCEED;
+                objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception ex)
+            {
+                objJsonResult.code = CodeConstant.FAIL;
+                objJsonResult.count = CountConstant.FAIL;
                 objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
@@ -530,6 +649,63 @@
             }
         }
 
+        /// <summary>
+        /// 妯″叿鏁呴殰鐧昏琛ㄥ垎椤靛垪琛�
+        /// </summary>
+        /// <returns></returns>
+        [Route("Sc_MouldConkBookBill/GetMouldConkBookBillListPage")]
+        [HttpGet]
+        public object GetMouldConkBookBillListPage(string sWhere, string user, int page, int size)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldConkBookBillList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sc_MouldConkBookBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_MouldConkBookBillList");
+                }
+                else
+                {
+                    sWhere = sWhere.Replace("'", "''");
+                    ds = oCN.RunProcReturn("exec h_p_Sc_MouldConkBookBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_MouldConkBookBillList");
+                }
+             
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+
+                objJsonResult.code = CodeConstant.SUCCEED;
+                objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception ex)
+            {
+                objJsonResult.code = CodeConstant.FAIL;
+                objJsonResult.count = CountConstant.FAIL;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
         #region 鍣ㄥ叿鏁呴殰璁板綍缁熻鍒嗘瀽 
         /// <summary>
         /// 鍣ㄥ叿缁翠慨璁板綍缁熻鍒嗘瀽 鍒楄〃
@@ -602,6 +778,49 @@
         }
         #endregion
 
+        #region 鍣ㄥ叿瀵垮懡鑰楃敤鍒嗘瀽鎶ヨ〃 
+        [Route("Sc_MouldRepairInBillList/Get_Sc_MouldLifeUsePicReport")]
+        [HttpGet]
+        public object Get_Sc_MouldLifeUsePicReport(string sWhere)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_Sc_MouldLifeUsePicReport order by 鏈堜唤 desc", "h_v_Sc_MouldLifeUsePicReport");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_Sc_MouldLifeUsePicReport where 1 = 1 ";
+                    string sql = sql1 + sWhere + " order by 鏃ユ湡 ";
+                    ds = oCN.RunProcReturn(sql, "h_v_Sc_MouldLifeUsePicReport");
+                }
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
 
 
         /// <summary>
@@ -637,6 +856,62 @@
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
                 objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        /// <summary>
+        /// 妯″叿缁翠慨楠屾敹鍗曞垎椤靛垪琛�
+        /// </summary>
+        /// <returns></returns>
+        [Route("Sc_MouldRepairCheckBill/GetMouldRepairCheckBillListPage")]
+        [HttpGet]
+        public object GetMouldRepairCheckBillListPage(string sWhere, string user, int page, int size)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipRepairCheckBillList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+              
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sc_MouldRepairCheckBillList " + page + "," + size + ",''", "h_p_Sc_MouldRepairCheckBillList");
+                }
+                else
+                {
+                    sWhere = sWhere.Replace("'", "''");
+                    ds = oCN.RunProcReturn("exec h_p_Sc_MouldRepairCheckBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_MouldRepairCheckBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = CodeConstant.SUCCEED;
+                objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = CodeConstant.FAIL;
+                objJsonResult.count = CountConstant.FAIL;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -720,81 +995,7 @@
         //}
         #endregion
 
-        /// <summary>
-        /// 妯″叿缁翠慨宸ュ崟琛ㄥ垪琛�
-        /// </summary>
-        /// <returns></returns>
-        [Route("Sb_MouldRepairWorkBill/GetMouldRepairWorkBillList")]
-        [HttpGet]
-        public object GetMouldRepairWorkBillList(string sWhere,string user)
-        {
-            try
-            {
-                List<object> columnNameList = new List<object>();
-                if (!DBUtility.ClsPub.Security_Log("Sb_MouldRepairWorkBillList", 1, false, user))
-                {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
-                    objJsonResult.data = null;
-                    return objJsonResult;
-                }
-
-                ds = Sc_MouldRepairWorkBillList_s(sWhere);
-
-                //娣诲姞鍒楀悕
-                foreach (DataColumn col in ds.Tables[0].Columns)
-                {
-                    Type dataType = col.DataType;
-                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
-                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
-                }
-
-                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
-                //{
-                objJsonResult.code = "1";
-                objJsonResult.count = 1;
-                objJsonResult.Message = "Sucess锛�";
-                objJsonResult.data = ds.Tables[0];
-                objJsonResult.list = columnNameList;
-                return objJsonResult;
-                //}
-                //else
-                //{
-                //objJsonResult.code = "0";
-                //objJsonResult.count = 0;
-                //objJsonResult.Message = "鏃犳暟鎹�";
-                //objJsonResult.data = null;
-                //return objJsonResult;
-                //}
-            }
-            catch (Exception ex)
-            {
-                objJsonResult.code = "0";
-                objJsonResult.count = 0;
-                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString();
-                objJsonResult.data = null;
-                return objJsonResult;
-            }
-        }
-
-        #region sql璇彞
-
-
-        public static DataSet Sc_MouldRepairWorkBillList_s(string sWhere)
-        {
-            if (sWhere == null || sWhere.Equals(""))
-            {
-                return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_Sc_MouldRepairWorkBillList where 1=1 " + sWhere+ " order by hmainid desc", "h_v_Sc_MouldRepairWorkBillList");
-            }
-            else
-            {
-                string sql1 = "select * from h_v_Sc_MouldRepairWorkBillList where 1 = 1 ";
-                string sql = sql1 + sWhere + "order by hmainid desc";
-                return new SQLHelper.ClsCN().RunProcReturn(sql, "h_v_Sc_MouldRepairWorkBillList");
-            }
-        }
-        #endregion
+       
 
 
         /// <summary>
@@ -1244,8 +1445,6 @@
                     }
                     //================================================================================== 
 
-                    //鏇存柊鍙婃椂搴撳瓨琛�   鍑忓皯璋冨叆搴撳瓨,澧炲姞璋冨嚭搴撳瓨
-                    ds = oCN.RunProcReturn("exec h_KF_UPDateICinventory_Move  '"+ oBill.omodel.HInterID + "','"+ oBill.omodel.HBillType+ "','1'", "h_KF_UPDateICinventory_Move");
 
                     //瀹℃牳鍗曟嵁
                     if (!oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_MoveStockBill_AfterCheckCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
@@ -1297,9 +1496,6 @@
                         return objJsonResult;
                     }
                     //===========================================================          
-
-                    //鏇存柊鍙婃椂搴撳瓨琛�   澧炲姞璋冨叆搴撳瓨,鍑忓皯璋冨嚭搴撳瓨
-                    ds = oCN.RunProcReturn("exec h_KF_UPDateICinventory_Move  '" + oBill.omodel.HInterID + "','" + oBill.omodel.HBillType + "','2'", "h_KF_UPDateICinventory_Move");
 
                     //鍙嶅鏍稿崟鎹�
                     if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Kf_MoveStockBill_AfterUnCheckCtrl", user, ref DBUtility.ClsPub.sExeReturnInfo) == true)
@@ -1583,6 +1779,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();  //瀹氫箟澹版槑鍙橀噺 锛屾妸閫氳繃 new List<object>()鍒涘缓鐨� 瀹炰緥锛岃祴鍊肩粰鍙橀噺
                 //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
                 if (!DBUtility.ClsPub.Security_Log("Kf_MoveStockBillQuery", 1, false, user))
                 {
@@ -1602,11 +1799,18 @@
                     string sql = "select * from h_v_IF_MoveStockBillList where 1=1 " + sWhere+ "order by hmainid desc";
                     ds = oCN.RunProcReturn(sql, "h_v_IF_MoveStockBillList");
                 }
+                foreach (DataColumn col in ds.Tables[0].Columns)//閬嶅巻ds涓涓�涓〃锛圱ables[0]锛夌殑鎵�鏈夊垪锛圕olumns锛夋瘡娆″惊鐜腑锛宑ol鍙橀噺浼氭寔鏈夊綋鍓嶅垪鐨勫紩鐢�
+                {
+                    Type dataType = col.DataType; //鑾峰彇褰撳墠鏁版嵁绫诲瀷浼犲叆 鑷畾涔夊彉閲廳atadataType
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; //瀛楃涓叉嫾鎺�         // 灏嗗垪鍚嶅拰鏁版嵁绫诲瀷淇℃伅鎷兼帴鎴愪竴涓狫SON鏍煎紡鐨勫瓧绗︿覆
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
               
             }
@@ -1775,6 +1979,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();  //瀹氫箟澹版槑鍙橀噺 锛屾妸閫氳繃 new List<object>()鍒涘缓鐨� 瀹炰緥锛岃祴鍊肩粰鍙橀噺
                 //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
                 if (!DBUtility.ClsPub.Security_Log("Kf_SellOutBillQuery", 1, false, user))
                 {
@@ -1786,6 +1991,12 @@
                 }
 
                 ds = Sc_GetSellOutBillList(sWhere);
+                foreach (DataColumn col in ds.Tables[0].Columns)//閬嶅巻ds涓涓�涓〃锛圱ables[0]锛夌殑鎵�鏈夊垪锛圕olumns锛夋瘡娆″惊鐜腑锛宑ol鍙橀噺浼氭寔鏈夊綋鍓嶅垪鐨勫紩鐢�
+                {
+                    Type dataType = col.DataType; //鑾峰彇褰撳墠鏁版嵁绫诲瀷浼犲叆 鑷畾涔夊彉閲廳atadataType
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; //瀛楃涓叉嫾鎺�         // 灏嗗垪鍚嶅拰鏁版嵁绫诲瀷淇℃伅鎷兼帴鎴愪竴涓狫SON鏍煎紡鐨勫瓧绗︿覆
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
 
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
@@ -1793,6 +2004,7 @@
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
                 return objJsonResult;
                 //}
                 //else
@@ -1813,6 +2025,66 @@
                 return objJsonResult;
             }
         }
+
+        #region 閿�鍞嚭搴撳崟鍒楄〃-鍒嗛〉
+        /// <summary>
+        /// 閿�鍞嚭搴撳崟鍒楄〃
+        /// </summary>
+        /// <returns></returns>
+        [Route("Kf_SellOutBill/GetSellOutBillList_byPage")]
+        [HttpGet]
+        public object GetSellOutBillList_byPage(string sWhere, string user, string Organization, int page, int size)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();  //瀹氫箟澹版槑鍙橀噺 锛屾妸閫氳繃 new List<object>()鍒涘缓鐨� 瀹炰緥锛岃祴鍊肩粰鍙橀噺
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Kf_SellOutBillQuery", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鏌ヨ鏉冮檺!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                sWhere = sWhere.Replace("'", "''");
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("exec h_p_IF_SellOutBillList " + page + "," + size + ",'" + Organization + "'," + "''", "h_p_IF_SellOutBillList");
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn("exec h_p_IF_SellOutBillList " + page + "," + size + ",'" + Organization + "','" + sWhere + "'", "h_p_IF_SellOutBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception ex)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         /// <summary>
         ///閿�鍞嚭搴撳崟鍒犻櫎鍔熻兘
         /// </summary>
@@ -2200,6 +2472,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();  //瀹氫箟澹版槑鍙橀噺 锛屾妸閫氳繃 new List<object>()鍒涘缓鐨� 瀹炰緥锛岃祴鍊肩粰鍙橀噺
                 //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
                 if (!DBUtility.ClsPub.Security_Log("Kf_OtherOutBillQuery", 1, false, user))
                 {
@@ -2219,13 +2492,21 @@
                     string sql = "select * from h_v_Kf_OtherOutBillList where 1 = 1 " + sWhere+ " order by hmainid desc";
                     ds = oCN.RunProcReturn(sql, "h_v_Kf_OtherOutBillList");
                 }
-
+                foreach (DataColumn col in ds.Tables[0].Columns)//閬嶅巻ds涓涓�涓〃锛圱ables[0]锛夌殑鎵�鏈夊垪锛圕olumns锛夋瘡娆″惊鐜腑锛宑ol鍙橀噺浼氭寔鏈夊綋鍓嶅垪鐨勫紩鐢�
+                {
+                    Type dataType = col.DataType; //鑾峰彇褰撳墠鏁版嵁绫诲瀷浼犲叆 鑷畾涔夊彉閲廳atadataType
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; //瀛楃涓叉嫾鎺�         // 灏嗗垪鍚嶅拰鏁版嵁绫诲瀷淇℃伅鎷兼帴鎴愪竴涓狫SON鏍煎紡鐨勫瓧绗︿覆
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
+
+                
                 //{
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
-                objJsonResult.data = ds.Tables[0];
+                objJsonResult.data = ds.Tables[0];//浠g爜灏嗙涓�涓狣ataTable锛堢储寮曚负0锛夎祴鍊肩粰objJsonResult鐨刣ata灞炴��
+                objJsonResult.list = columnNameList;//灏哻olumnNameList璧嬪�肩粰objJsonResult鐨刲ist灞炴��
                 return objJsonResult;
                 //}
                 //else
@@ -3642,6 +3923,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();  //瀹氫箟澹版槑鍙橀噺 锛屾妸閫氳繃 new List<object>()鍒涘缓鐨� 瀹炰緥锛岃祴鍊肩粰鍙橀噺
                 //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
                 if (!DBUtility.ClsPub.Security_Log("Kf_OtherInBillQuery", 1, false, user))
                 {
@@ -3661,13 +3943,19 @@
                     string sql = "select * from h_v_Kf_OtherInBillList where 1 = 1 " + sWhere+ " order by hmainid desc";
                     ds = oCN.RunProcReturn(sql, "h_v_Kf_OtherInBillList");
                 }
-
+                foreach (DataColumn col in ds.Tables[0].Columns)//閬嶅巻ds涓涓�涓〃锛圱ables[0]锛夌殑鎵�鏈夊垪锛圕olumns锛夋瘡娆″惊鐜腑锛宑ol鍙橀噺浼氭寔鏈夊綋鍓嶅垪鐨勫紩鐢�
+                {
+                    Type dataType = col.DataType; //鑾峰彇褰撳墠鏁版嵁绫诲瀷浼犲叆 鑷畾涔夊彉閲廳atadataType
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; //瀛楃涓叉嫾鎺�         // 灏嗗垪鍚嶅拰鏁版嵁绫诲瀷淇℃伅鎷兼帴鎴愪竴涓狫SON鏍煎紡鐨勫瓧绗︿覆
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
-                objJsonResult.data = ds.Tables[0];
+                objJsonResult.data = ds.Tables[0];//浠g爜灏嗙涓�涓狣ataTable锛堢储寮曚负0锛夎祴鍊肩粰objJsonResult鐨刣ata灞炴��
+                objJsonResult.list = columnNameList;//灏哻olumnNameList璧嬪�肩粰objJsonResult鐨刲ist灞炴��
                 return objJsonResult;
                 //}
                 //else
@@ -3834,6 +4122,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();  //瀹氫箟澹版槑鍙橀噺 锛屾妸閫氳繃 new List<object>()鍒涘缓鐨� 瀹炰緥锛岃祴鍊肩粰鍙橀噺
                 //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
                 if (!DBUtility.ClsPub.Security_Log("Kf_EntrustInBillQuery", 1, false, user))
                 {
@@ -3852,13 +4141,20 @@
                     string sql = "select * from h_v_Kf_EntrustInBillList where 1 = 1 " + sWhere+ " order by hmainid desc";
                     ds = oCN.RunProcReturn(sql, "h_v_Kf_EntrustInBillList");
                 }
+                foreach (DataColumn col in ds.Tables[0].Columns)//閬嶅巻ds涓涓�涓〃锛圱ables[0]锛夌殑鎵�鏈夊垪锛圕olumns锛夋瘡娆″惊鐜腑锛宑ol鍙橀噺浼氭寔鏈夊綋鍓嶅垪鐨勫紩鐢�
+                {
+                    Type dataType = col.DataType; //鑾峰彇褰撳墠鏁版嵁绫诲瀷浼犲叆 鑷畾涔夊彉閲廳atadataType
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; //瀛楃涓叉嫾鎺�         // 灏嗗垪鍚嶅拰鏁版嵁绫诲瀷淇℃伅鎷兼帴鎴愪竴涓狫SON鏍煎紡鐨勫瓧绗︿覆
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
 
                 //if (ds.Tables[0].Rows.Count != 0 || ds != null)
                 //{
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
-                objJsonResult.data = ds.Tables[0];
+                objJsonResult.data = ds.Tables[0];//浠g爜灏嗙涓�涓狣ataTable锛堢储寮曚负0锛夎祴鍊肩粰objJsonResult鐨刣ata灞炴��
+                objJsonResult.list = columnNameList;//灏哻olumnNameList璧嬪�肩粰objJsonResult鐨刲ist灞炴��
                 return objJsonResult;
                 //}
                 //else
@@ -3910,6 +4206,7 @@
 
         #endregion
 
+        #region 妯″叿缁翠慨璁板綍鍗�
 
         #region 妯″叿缁翠慨璁板綍鍗曚繚瀛�/缂栬緫
         /// <summary>
@@ -3950,7 +4247,7 @@
                 lsmain = oListModels.getObjectByJson_Gy_MouldRepairWorkBillMain(msg2);
                 foreach (Model.ClsSb_MouldRepairWorkBillMain oItem in lsmain)
                 {
-                    //oItem.HMaker = "";
+                    oItem.HMaker = msg4;
                     UserName = msg4;  //鍒跺崟浜�
                     oItem.HBillType = "3807";
                     oItem.HBillSubType = "3807";
@@ -4369,6 +4666,309 @@
         }
         #endregion
 
+        #region 妯″叿缁翠慨璁板綍鍗曚繚瀛�/缂栬緫
+        /// <summary>
+        /// 淇濆瓨妯″叿缁翠慨鍗�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("Sb_MouldRepairWorkBill/SaveGetMouldRepairWorkBill_PDA")]
+        [HttpPost]
+        public object SaveGetMouldRepairWorkBill_PDA([FromBody] JObject msg)
+        {
+            var _value = msg["msg"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();
+            string msg4 = sArray[2].ToString();
+
+
+            string UserName = "";
+            ListModels oListModels = new ListModels();
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sb_MouldRepairWorkBill_Edit", 1, false, msg4))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                DAL.ClsSb_MouldRepairWorkBill oBill = new DAL.ClsSb_MouldRepairWorkBill();
+                List<Model.ClsSb_MouldRepairWorkBillMain> lsmain = new List<Model.ClsSb_MouldRepairWorkBillMain>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_Gy_MouldRepairWorkBillMain(msg2);
+                foreach (Model.ClsSb_MouldRepairWorkBillMain oItem in lsmain)
+                {
+                    oItem.HMaker = msg4;
+                    UserName = msg4;  //鍒跺崟浜�
+                    oItem.HBillType = "3807";
+                    oItem.HBillSubType = "3807";
+                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    oBill.omodel = oItem;
+                }
+                //琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                msg3 = msg3.Substring(1, msg3.Length - 2);
+                msg3 = msg3.Replace("\\", "");
+                msg3 = msg3.Replace("\n", "");  //\n
+                //msg2 = msg2.Replace("'", "鈥�");
+                List<Model.ClsSb_MouldRepairWorkBillSub> ls = new List<Model.ClsSb_MouldRepairWorkBillSub>();
+                ls = oListModels.getObjectByJson_Gy_MouldRepairWorkBillSub(msg3);
+                int i = 0;
+                foreach (Model.ClsSb_MouldRepairWorkBillSub oItem in ls)
+                {
+
+                    i++;
+                    oItem.HEntryID = i;
+                    oItem.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    oItem.HCloseType = false;   //鍏抽棴绫诲瀷
+                    oItem.HRelationQty = 0;     //鍏宠仈鏁伴噺
+                    oBill.DetailColl.Add(oItem);
+
+                }
+              
+
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (oBill.omodel.HInterID == 0)
+                {
+                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else
+                {
+                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 妯″叿缁翠慨璁板綍琛ㄥ垪琛�
+        [Route("Sb_MouldRepairWorkBill/GetMouldRepairWorkBillList")]
+        [HttpGet]
+        public object GetMouldRepairWorkBillList(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (!DBUtility.ClsPub.Security_Log("Sb_MouldRepairWorkBillList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = Sc_MouldRepairWorkBillList_s(sWhere);
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                //{
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+                //}
+                //else
+                //{
+                //objJsonResult.code = "0";
+                //objJsonResult.count = 0;
+                //objJsonResult.Message = "鏃犳暟鎹�";
+                //objJsonResult.data = null;
+                //return objJsonResult;
+                //}
+            }
+            catch (Exception ex)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        public static DataSet Sc_MouldRepairWorkBillList_s(string sWhere)
+        {
+            if (sWhere == null || sWhere.Equals(""))
+            {
+                return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_Sc_MouldRepairWorkBillList where 1=1 " + sWhere + " order by hmainid desc", "h_v_Sc_MouldRepairWorkBillList");
+            }
+            else
+            {
+                string sql1 = "select * from h_v_Sc_MouldRepairWorkBillList where 1 = 1 ";
+                string sql = sql1 + sWhere + "order by hmainid desc";
+                return new SQLHelper.ClsCN().RunProcReturn(sql, "h_v_Sc_MouldRepairWorkBillList");
+            }
+        }
+        #endregion
+
+        #region 妯″叿缁翠慨璁板綍琛ㄥ垎椤靛垪琛�
+        [Route("Sb_MouldRepairWorkBill/GetMouldRepairWorkBillListPage")]
+        [HttpGet]
+        public object GetMouldRepairWorkBillListPage(string sWhere, string user, int page, int size)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (!DBUtility.ClsPub.Security_Log("Sb_MouldRepairWorkBillList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sc_MouldRepairWorkBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_MouldRepairWorkBillList");
+                }
+                else
+                {
+                    sWhere = sWhere.Replace("'", "''");
+                    ds = oCN.RunProcReturn("exec h_p_Sc_MouldRepairWorkBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_MouldRepairWorkBillList");
+                }
+
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+
+                objJsonResult.code = CodeConstant.SUCCEED;
+                objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception ex)
+            {
+                objJsonResult.code = CodeConstant.FAIL;
+                objJsonResult.count = CountConstant.FAIL;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+      
+        #endregion
+
+        #region 妯″叿缁翠慨璁板綍琛ㄥ垪琛�
+        [Route("Sb_MouldRepairWorkBill/GetMouldRepairWorkBill_PDA")]
+        [HttpGet]
+        public object GetMouldRepairWorkBill_PDA(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (!DBUtility.ClsPub.Security_Log("Sb_MouldRepairWorkBillList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = Sc_MouldRepairWorkBillList_PDA(sWhere);
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+                
+            }
+            catch (Exception ex)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        public static DataSet Sc_MouldRepairWorkBillList_PDA(string sWhere)
+        {
+            if (sWhere == null || sWhere.Equals(""))
+            {
+                return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_Sc_MouldRepairWorkBillList_PDA where 1=1 " + sWhere + " order by hmainid desc", "h_v_Sc_MouldRepairWorkBillList_PDA");
+            }
+            else
+            {
+                string sql1 = "select * from h_v_Sc_MouldRepairWorkBillList_PDA where 1 = 1 ";
+                string sql = sql1 + sWhere + "order by hmainid desc";
+                return new SQLHelper.ClsCN().RunProcReturn(sql, "h_v_Sc_MouldRepairWorkBillList_PDA");
+            }
+        }
+        #endregion
+
+        #endregion
+
         #region 鍣ㄥ叿缁翠慨璁板綍缁熻鍒嗘瀽 
         /// <summary>
         /// 鍣ㄥ叿缁翠慨璁板綍缁熻鍒嗘瀽 鍒楄〃
@@ -4421,7 +5021,7 @@
         }
         #endregion
 
-
+        #region 妯″叿楠屾敹鍗�
 
         #region 妯″叿缁翠慨楠屾敹鍗曚繚瀛�/缂栬緫
         /// <summary>
@@ -4710,6 +5310,7 @@
         }
         #endregion
 
+        #endregion
 
         #region 妯″叿鏁呴殰鐧昏琛� 
 
@@ -4759,19 +5360,6 @@
                     //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
                     oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                     oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
-                    //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
-                    //oItem.HPeriod = 0;
-                    //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
-                    //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
-                    //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
-                    //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
-                    //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
-                    //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
-                    //oItem.HRemark = "";       //澶囨敞
-
-                    //oItem.HMainSourceInterID = oItem.HInterID;
-
-                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
                     if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
                     {
                         objJsonResult.code = "0";
@@ -4797,22 +5385,11 @@
                     i++;
                     oItemSub.HEntryID = i;
 
-                    //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
-                    //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
-                    //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
-                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
+                 
                     oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
-                    //oItemSub.HRemark = "";         //澶囨敞
+                   
                     oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
                     oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
-                                                   //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
-                                                   //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
-                                                   //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
-                                                   //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
-                                                   //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
-                                                   //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
-
-                    //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
                     oBill.DetailColl.Add(oItemSub);
 
                 }
@@ -4821,7 +5398,6 @@
                 bool bResult;
                 if (oBill.omodel.HInterID == 0)
                 {
-                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                     bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                 }
                 else
@@ -4833,7 +5409,6 @@
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
                     objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
-                    //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
                     objJsonResult.data = 1;
                     return objJsonResult;
                 }
@@ -4998,6 +5573,68 @@
             }
         }
         #endregion
+
+        #region 妯″叿鏁呴殰鐧昏鍗昣PDA
+        [Route("Sc_MouldConkBookBill/GetMouldConkBookBillList_PDA")]
+        [HttpGet]
+        public object GetMouldConkBookBillList_PDA(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldConkBookBillList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = Sc_MouldConkBookBillList_PDA(sWhere);
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception ex)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + ex.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        public static DataSet Sc_MouldConkBookBillList_PDA(string sWhere)
+        {
+            DataSet ds;
+            if (sWhere == null || sWhere.Equals(""))
+            {
+                ds = new SQLHelper.ClsCN().RunProcReturn("select * from h_v_Sc_MouldConkBookBillList_PDA where 1=1 " + sWhere + " order by hmainid desc", "h_v_Sc_MouldConkBookBillList_PDA");
+            }
+            else
+            {
+                string sql1 = "select * from h_v_Sc_MouldConkBookBillList_PDA where 1 = 1 ";
+                string sql = sql1 + sWhere + "order by 鏃ユ湡 desc";
+                ds = new SQLHelper.ClsCN().RunProcReturn(sql, "h_v_Sc_MouldConkBookBillList_PDA");
+            }
+            return ds;
+        }
+        #endregion
+
         #endregion
 
 
@@ -5020,7 +5657,7 @@
             string msg3 = sArray[1].ToString();
             string msg4 = sArray[2].ToString();
             string msg5 = sArray[3].ToString();
-
+            string msg6 = sArray[4].ToString();
 
             string UserName = "";
             ListModels oListModels = new ListModels();
@@ -5054,6 +5691,7 @@
                     //oItem.HBillNo = "";
                     oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
                     oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                     //oItem.HMakeDate = "";
                     //oItem.HYear = "";
                     //oItem.HPeriod = "";
@@ -5140,6 +5778,32 @@
                     oBill.DetailColl.Add(oItemSub);
 
                 }
+
+                //琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                //濡傛灉鏄紪杈戝氨鍏佽淇濆瓨,鍚﹀垯涓嶅厑璁�
+                if (oBill.omodel.HInterID != 0)
+                {
+                    msg6 = msg6.Substring(1, msg6.Length - 2);
+                    msg6 = msg6.Replace("\\", "");
+                    msg6 = msg6.Replace("\n", "");  
+                    List<Model.ClsSc_MouldMaintainPlanBillSub_Plan> lss = new List<Model.ClsSc_MouldMaintainPlanBillSub_Plan>();
+                    lss = oListModels.getObjectByJson_Sc_MouldMaintainPlanBillSub_Plan(msg6);
+                    int l = 0;
+                    foreach (Model.ClsSc_MouldMaintainPlanBillSub_Plan oItem in lss)
+                    {
+
+                        l++;
+                        oItem.HEntryID = l;
+                        oItem.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                        oItem.HCloseType = false;   //鍏抽棴绫诲瀷
+                        oItem.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+                        oItem.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+                        oItem.HRelationQty = 0;     //鍏宠仈鏁伴噺                  
+                        oBill.DetailCol2.Add(oItem);
+                    }
+                }
+                
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
@@ -5206,7 +5870,7 @@
             {
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 //鑾峰彇淇濆吇椤圭洰缂栬緫鏁版嵁
-                string sql = "select 淇濆吇椤圭洰ID HMaintainItemID, 淇濆吇椤圭洰浠g爜 HMaintainItemNumber,淇濆吇椤圭洰 HMaintainItem,淇濆吇閮ㄤ綅 HMaintainPart,鍏蜂綋瑕佹眰 HClaim,璐熻矗浜篒D,璐熻矗浜轰唬鐮� HManagerNumber,璐熻矗浜哄悕绉� HManagerName,瀛愬娉�2 HRemark,HMouldMaintainRuleID,HEquipDotCheckNo  from h_v_Sc_MouldMaintainPlanBillSub_Item where 1 = 1 " + sqlWhere + "";
+                string sql = "select 淇濆吇椤圭洰ID HMaintainItemID, 淇濆吇椤圭洰浠g爜 HMaintainItemNumber,淇濆吇椤圭洰 HMaintainItem,淇濆吇閮ㄤ綅 HMaintainPart,鍏蜂綋瑕佹眰 HClaim,璐熻矗浜篒D HManagerID,璐熻矗浜轰唬鐮� HManagerNumber,璐熻矗浜哄悕绉� HManagerName,瀛愬娉�2 HRemark,HMouldMaintainRuleID,HEquipDotCheckNo  from h_v_Sc_MouldMaintainPlanBillSub_Item where 1 = 1 " + sqlWhere + "";
 
                 ds = oCN.RunProcReturn(sql, "h_v_Sc_MouldMaintainPlanBillSub_Item");
                 //鑾峰彇閰嶄欢椤圭洰缂栬緫鏁版嵁
@@ -5455,7 +6119,7 @@
                 foreach (Model.ClsSc_MouldMaintainBillMain oItem in lsmain)
                 {
                     UserName = oItem.HMaker;  //鍒跺崟浜�
-                    DBUtility.ClsPub.CurUserName = UserName;
+                    DBUtility.ClsPub.CurUserName = msg5;
                     oItem.HBillType = "3819";
                     oItem.HBillSubType = "3819";
 
@@ -6451,8 +7115,6 @@
             string msg2 = sArray[0].ToString();
             string msg3 = sArray[1].ToString();
             string msg4 = sArray[2].ToString();
-            //string msg5 = sArray[3].ToString();
-
 
             string UserName = "";
             ListModels oListModels = new ListModels();
@@ -6473,28 +7135,14 @@
                 msg2 = msg2.Replace("\n", "");  //\n
                 lsmain = oListModels.getObjectByJson_Sc_MouldDotCheckPlanBillMain(msg2);
                 foreach (Model.ClsSc_MouldDotCheckPlanBillMain oItem in lsmain)
-                {
-                    //oItem.HMaker = "";
+                {                  
                     UserName = oItem.HMaker;  //鍒跺崟浜�
                     oItem.HBillType = "3820";
                     oItem.HBillSubType = "3820";
-
-                    //oItem.HInterID =0;
-                    //oItem.HBillNo = "";
+                 
                     oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
-                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
-                    //oItem.HMakeDate = "";
-                    //oItem.HYear = "";
-                    //oItem.HPeriod = "";
-                    //oItem.HRemark = "";
-                    //oItem.HCycleUnit = "";
-                    //oItem.HCheckCycle = "";
-                    //oItem.HBeginDate = "";
-                    //oItem.HEndDate = "";
-                    //oItem.HInnerBillNo = "";
-                    //oItem.HExplanation = "";
-
-                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
+                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);                   
+                  
                     if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
                     {
                         objJsonResult.code = "0";
@@ -6519,7 +7167,7 @@
 
                     i++;
                     oItemSub.HEntryID = i;
-                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
+
                     oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                     oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
                     //oItemSub.HRemark = "";         //澶囨敞
@@ -6527,43 +7175,10 @@
                     oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
                     //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
                     //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
-                    oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
-                                                   //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦
-                                                   //HMaterID = "";//閰嶄欢浠g爜
-                                                   //HUnitID = "";//鍗曚綅浠g爜
-                                                   //HQty = "";//瀹為檯鐢ㄩ噺
-                                                   //HQtyMust = "";//鍗曚綅鐢ㄩ噺
-                                                   //HRemark = "";//澶囨敞
+                    oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺                                                
 
                     oBill.DetailColl.Add(oItemSub);
-
-                }
-
-                ////閰嶄欢椤硅〃浣撴暟鎹�
-                ////鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
-                //msg5 = msg5.Substring(1, msg5.Length - 2);
-                //msg5 = msg5.Replace("\\", "");
-                //msg5 = msg5.Replace("\n", "");  //\n
-                //                                //msg2 = msg2.Replace("'", "鈥�");
-                //List<Model.ClsSc_MouldDotCheckPlanBillSub_Item> ls1 = new List<Model.ClsSc_MouldDotCheckPlanBillSub_Item>();
-                //ls1 = oListModels.getObjectByJson_Sc_MouldDotCheckPlanBillSub_Item(msg5);
-                //int j = 0;
-                //foreach (Model.ClsSc_MouldDotCheckPlanBillSub_Item oItemSub in ls1)
-                //{
-
-                //    j++;
-                //    oItemSub.HEntryID = j;
-                //    //oItemSub.HCloseMan = "";       //琛屽叧闂�
-                //    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
-                //    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
-
-                //    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
-                //    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
-
-                //    oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
-                //    oBill.DetailCol.Add(oItemSub);
-                //}
-
+                }                
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult;
@@ -6979,7 +7594,208 @@
         }
         #endregion
 
-        #region 妯″叿鎶ュ簾鍏ュ簱鍗曚繚瀛�/缂栬緫
+        #region 妯″叿鎶ュ簾鍏ュ簱鍗曚繚瀛�/缂栬緫    20240702浣滃簾
+        /// <summary>
+        /// 淇濆瓨妯″叿鎶ュ簾鍏ュ簱鍗�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        //[Route("Sc_MouldScrapInHouseBill/SaveGetMouldScrapInHouseBillList")]
+        //[HttpPost]
+        //public object SaveGetMouldScrapInHouseBillList([FromBody] JObject msg)
+        //{
+        //    var _value = msg["msg"].ToString();
+        //    string msg1 = _value.ToString();
+        //    string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+        //    string msg2 = sArray[0].ToString();
+        //    string msg3 = sArray[1].ToString();
+        //    string refSav = sArray[2].ToString();
+        //    string msg4 = sArray[3].ToString();
+
+        //    string UserName = "";
+        //    string s = "";
+        //    ListModels oListModels = new ListModels();
+        //    try
+        //    {
+        //        //缂栬緫鏉冮檺
+        //        if (!DBUtility.ClsPub.Security_Log("Sc_MouldScrapRequestBill_Edit", 1, false, msg4))
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+
+        //        DLL.ClsSc_MouldScrapInBill oBill = new DLL.ClsSc_MouldScrapInBill();
+        //        List<Models.ClsSc_MouldStockBillMain> lsmain = new List<Models.ClsSc_MouldStockBillMain>();
+        //        msg2 = msg2.Replace("\\", "");
+        //        msg2 = msg2.Replace("\n", "");  //\n
+        //        lsmain = oListModels.getObjectByJson_Gy_MouldScrapInHouseBillMain(msg2);
+        //        foreach (Models.ClsSc_MouldStockBillMain oItem in lsmain)
+        //        {
+        //            if (refSav == "Add")
+        //            {
+        //                //鍗曟嵁鍙锋槸鍚﹂噸澶�
+        //                if (BillNew0.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld0.omodel.HInterID))
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //            }
+        //            if (refSav == "Update")
+        //            {
+        //                if (BillOld0.ShowBill(oItem.HInterID, ref s) == false)
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //                //鍒ゆ柇鏄惁鍙紪杈�
+        //                if (BillOld0.omodel.HChecker != "" && BillOld0.omodel.HChecker != null)
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //                if (BillOld0.omodel.HBillStatus > 1)
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //                if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld0, ref s))
+        //                {
+        //                    objJsonResult.code = "0";
+        //                    objJsonResult.count = 0;
+        //                    objJsonResult.Message = s + "锛屼笉鍏佽淇敼";
+        //                    objJsonResult.data = 1;
+        //                    return objJsonResult;
+        //                }
+        //            }
+        //            //oItem.HMaker = "";
+        //            UserName = oItem.HMaker;  //鍒跺崟浜�
+        //            oItem.HBillType = "3831";
+        //            oItem.HBillSubType = "3831";
+        //            //oItem.HBillNo = "";    //鍗曟嵁鍙�
+        //            //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
+        //            //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
+        //            oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+        //            oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+        //            //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
+        //            //oItem.HPeriod = 0;
+        //            //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
+        //            //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
+        //            //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
+        //            //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
+        //            //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
+        //            //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
+        //            //oItem.HRemark = "";       //澶囨敞
+
+        //            //oItem.HMainSourceInterID = oItem.HInterID;
+
+        //            //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
+        //            if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+        //                objJsonResult.data = 1;
+        //                return objJsonResult;
+        //            }
+        //            oBill.omodel = oItem;
+        //        }
+        //        //琛ㄤ綋鏁版嵁
+        //        //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+        //        msg3 = msg3.Substring(1, msg3.Length - 2);
+        //        msg3 = msg3.Replace("\\", "");
+        //        msg3 = msg3.Replace("\n", "");  //\n
+        //        //msg2 = msg2.Replace("'", "鈥�");
+        //        List<Models.ClsSc_MouldStockBillSub> ls = new List<Models.ClsSc_MouldStockBillSub>();
+        //        ls = oListModels.getObjectByJson_Gy_MouldScrapInHouseBillSub(msg3);
+        //        int i = 0;
+        //        foreach (Models.ClsSc_MouldStockBillSub oItemSub in ls)
+        //        {
+
+        //            i++;
+        //            oItemSub.HEntryID = i;
+
+        //            //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
+        //            //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
+        //            //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
+        //            //oItemSub.HCloseMan = "";       //琛屽叧闂�
+        //            oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+        //            oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+        //            //oItemSub.HRemark = "";         //澶囨敞
+        //            oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+        //            oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+        //            //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
+        //            //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
+        //            //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+        //            //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
+        //            //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
+        //            //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
+        //            //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
+        //            oBill.DetailColl.Add(oItemSub);
+
+        //        }
+        //        //淇濆瓨
+        //        //淇濆瓨瀹屾瘯鍚庡鐞�
+        //        bool bResult;
+        //        if (oBill.omodel.HInterID == 0)
+        //        {
+        //            // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        else
+        //        {
+        //            bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+        //            //淇敼鎴愬姛
+        //            //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        if (bResult)
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 1;
+        //            objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+        //            //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //        else
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        objJsonResult.code = "0";
+        //        objJsonResult.count = 0;
+        //        objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+        //        objJsonResult.data = 1;
+        //        return objJsonResult;
+        //    }
+        //}
+        #endregion
+
+        #region 妯″叿鎶ュ簾鍏ュ簱鍗曚繚瀛�/缂栬緫    20240702
         /// <summary>
         /// 淇濆瓨妯″叿鎶ュ簾鍏ュ簱鍗�
         /// </summary>
@@ -6989,175 +7805,137 @@
         [HttpPost]
         public object SaveGetMouldScrapInHouseBillList([FromBody] JObject msg)
         {
+            DAL.ClsSc_MouldScrapInBill oBill = new DAL.ClsSc_MouldScrapInBill();
+
             var _value = msg["msg"].ToString();
             string msg1 = _value.ToString();
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-            string msg2 = sArray[0].ToString();
-            string msg3 = sArray[1].ToString();
-            string refSav = sArray[2].ToString();
-            string msg4 = sArray[3].ToString();
-
-            string UserName = "";
-            string s = "";
-            ListModels oListModels = new ListModels();
+            string sMainStr = sArray[0].ToString();         //涓昏〃鏁版嵁
+            string sSubStr = sArray[1].ToString();          //瀛愯〃鏁版嵁
+            string OperationType = sArray[2].ToString();    //鎿嶄綔绫诲瀷锛圓dd鏂板銆乁pdate缂栬緫锛�
+            string HMaker = sArray[3].ToString();           //鍒跺崟浜�
             try
             {
-                //缂栬緫鏉冮檺
-                if (!DBUtility.ClsPub.Security_Log("Sc_MouldScrapRequestBill_Edit", 1, false, msg4))
+                //鍒ゆ柇鏉冮檺
+                if (OperationType == "Add")
+                {
+                    BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+                    //鍒ゆ柇鏂板鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log("Sc_MouldScrapRequestBill", 1, false, HMaker))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鏂板鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify;
+                    //鍒ゆ柇缂栬緫鏉冮檺
+                    if (!DBUtility.ClsPub.Security_Log("Sc_MouldScrapRequestBill_Edit", 1, false, HMaker))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡缂栬緫鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                //琛ㄥご璧嬪��
+                sMainStr = sMainStr.Replace("\\", "");
+                sMainStr = sMainStr.Replace("\n", "");
+                sMainStr = "[" + sMainStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillMain>>(sMainStr);
+                foreach (Model.ClsSc_MouldStockBillMain oItem in lsmain)
+                {
+                    //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                    if (oBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, oItem.HInterID))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oItem.HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = s;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oItem.HYear = sYear;
+                    oItem.HPeriod = sPeriod;
+                    DBUtility.ClsPub.CurUserName = oItem.HMaker;
+                    oBill.omodel = oItem;
+                }
+                //琛ㄤ綋璧嬪��
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                sSubStr = sSubStr.Substring(1, sSubStr.Length - 2);
+                sSubStr = sSubStr.Replace("\\", "");
+                sSubStr = sSubStr.Replace("\n", "");
+                sSubStr = "[" + sSubStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillSub> ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(sSubStr);
+                int i = 0;
+                foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+                    oBill.DetailColl.Add(oItemSub);
+                }
+
+                string sErrMsg = "";
+                bool bResult;
+                //鑾峰彇绯荤粺鍙傛暟
+                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
+                {
+                    //淇濆瓨
+                    if (OperationType == "Add")   //鏂板淇濆瓨
+                    {
+                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                    else                        //缂栬緫淇濆瓨
+                    {
+                        bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                }
+                else
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
 
-                DLL.ClsSc_MouldScrapInBill oBill = new DLL.ClsSc_MouldScrapInBill();
-                List<Models.ClsSc_MouldStockBillMain> lsmain = new List<Models.ClsSc_MouldStockBillMain>();
-                msg2 = msg2.Replace("\\", "");
-                msg2 = msg2.Replace("\n", "");  //\n
-                lsmain = oListModels.getObjectByJson_Gy_MouldScrapInHouseBillMain(msg2);
-                foreach (Models.ClsSc_MouldStockBillMain oItem in lsmain)
-                {
-                    if (refSav == "Add")
-                    {
-                        //鍗曟嵁鍙锋槸鍚﹂噸澶�
-                        if (BillNew0.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld0.omodel.HInterID))
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                    }
-                    if (refSav == "Update")
-                    {
-                        if (BillOld0.ShowBill(oItem.HInterID, ref s) == false)
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                        //鍒ゆ柇鏄惁鍙紪杈�
-                        if (BillOld0.omodel.HChecker != "" && BillOld0.omodel.HChecker != null)
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                        if (BillOld0.omodel.HBillStatus > 1)
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                        if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld0, ref s))
-                        {
-                            objJsonResult.code = "0";
-                            objJsonResult.count = 0;
-                            objJsonResult.Message = s + "锛屼笉鍏佽淇敼";
-                            objJsonResult.data = 1;
-                            return objJsonResult;
-                        }
-                    }
-                    //oItem.HMaker = "";
-                    UserName = oItem.HMaker;  //鍒跺崟浜�
-                    oItem.HBillType = "3831";
-                    oItem.HBillSubType = "3831";
-                    //oItem.HBillNo = "";    //鍗曟嵁鍙�
-                    //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
-                    //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
-                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
-                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
-                    //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
-                    //oItem.HPeriod = 0;
-                    //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
-                    //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
-                    //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
-                    //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
-                    //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
-                    //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
-                    //oItem.HRemark = "";       //澶囨敞
-
-                    //oItem.HMainSourceInterID = oItem.HInterID;
-
-                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
-                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
-                    {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
-                        objJsonResult.data = 1;
-                        return objJsonResult;
-                    }
-                    oBill.omodel = oItem;
-                }
-                //琛ㄤ綋鏁版嵁
-                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
-                msg3 = msg3.Substring(1, msg3.Length - 2);
-                msg3 = msg3.Replace("\\", "");
-                msg3 = msg3.Replace("\n", "");  //\n
-                //msg2 = msg2.Replace("'", "鈥�");
-                List<Models.ClsSc_MouldStockBillSub> ls = new List<Models.ClsSc_MouldStockBillSub>();
-                ls = oListModels.getObjectByJson_Gy_MouldScrapInHouseBillSub(msg3);
-                int i = 0;
-                foreach (Models.ClsSc_MouldStockBillSub oItemSub in ls)
-                {
-
-                    i++;
-                    oItemSub.HEntryID = i;
-
-                    //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
-                    //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
-                    //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
-                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
-                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
-                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
-                    //oItemSub.HRemark = "";         //澶囨敞
-                    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
-                    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
-                    //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
-                    //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
-                    //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
-                    //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
-                    //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
-                    //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
-                    //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
-                    oBill.DetailColl.Add(oItemSub);
-
-                }
-                //淇濆瓨
-                //淇濆瓨瀹屾瘯鍚庡鐞�
-                bool bResult;
-                if (oBill.omodel.HInterID == 0)
-                {
-                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
-                    oCn.RunProc(sql);
-                }
-                else
-                {
-                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
-                    //淇敼鎴愬姛
-                    //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
-                    oCn.RunProc(sql);
-                }
                 if (bResult)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
-                    //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
-                    objJsonResult.data = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
                 else
@@ -7165,7 +7943,7 @@
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
-                    objJsonResult.data = 1;
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
             }
@@ -7173,8 +7951,8 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
-                objJsonResult.data = 1;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.Message;
+                objJsonResult.data = null;
                 return objJsonResult;
             }
         }
@@ -7372,6 +8150,62 @@
 
         #endregion
 
+        #region 妯″叿澶勭悊鍑哄簱鍗曞垎椤靛垪琛�
+        [Route("Sc_MouldScrapOutHouseBill/page")]
+        [HttpGet]
+        public object Sc_MouldScrapOutHouseBillPage(string sWhere, string user, int page, int size)
+        {
+            DataSet ds;
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldScrapOutBillList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                sWhere = sWhere.Replace("'", "''");
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sc_MouldScrapOutHouseBillList " + page + "," + size + ",''", "h_p_Sc_MouldScrapOutHouseBillList");
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sc_MouldScrapOutHouseBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_MouldScrapOutHouseBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = CodeConstant.SUCCEED;
+                objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = CodeConstant.FAIL;
+                objJsonResult.count = CountConstant.FAIL;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
         #region[妯″叿澶勭悊鍑哄簱鍗曠紪杈戞椂鑾峰彇琛ㄥご鏁版嵁]
         [Route("Sc_MouldScrapOutHouseBill/Sc_MouldScrapOutHouseBillListCheckDetai")]
         [HttpGet]
@@ -7443,7 +8277,158 @@
         }
         #endregion
 
-        #region 妯″叿澶勭悊鍑哄簱鍗曚繚瀛�/缂栬緫
+        #region 妯″叿澶勭悊鍑哄簱鍗曚繚瀛�/缂栬緫    20240702浣滃簾
+        /// <summary>
+        /// 淇濆瓨妯″叿澶勭悊鍑哄簱鍗�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        //[Route("Sc_MouldScrapOutHouseBill/SaveGetMouldScrapOutHouseBillList")]
+        //[HttpPost]
+        //public object SaveGetMouldScrapOutHouseBillList([FromBody] JObject msg)
+        //{
+        //    var _value = msg["msg"].ToString();
+        //    string msg1 = _value.ToString();
+        //    string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+        //    string msg2 = sArray[0].ToString();
+        //    string msg3 = sArray[1].ToString();
+        //    string msg4 = sArray[2].ToString();
+
+        //    string UserName = "";
+        //    ListModels oListModels = new ListModels();
+        //    try
+        //    {
+        //        //缂栬緫鏉冮檺
+        //        if (!DBUtility.ClsPub.Security_Log("Sc_MouldScrapOutBill_Edit", 1, false, msg4))
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+
+        //        DLL.ClsSc_MouldScrapOutBill oBill = new DLL.ClsSc_MouldScrapOutBill();
+        //        List<Model.ClsSc_MouldStockBillMain> lsmain = new List<Model.ClsSc_MouldStockBillMain>();
+        //        msg2 = msg2.Replace("\\", "");
+        //        msg2 = msg2.Replace("\n", "");  //\n
+        //        lsmain = oListModels.getObjectByJson_Gy_MouldScrapOutHouseBillMain(msg2);
+        //        foreach (Model.ClsSc_MouldStockBillMain oItem in lsmain)
+        //        {
+        //            //oItem.HMaker = "";
+        //            UserName = oItem.HMaker;  //鍒跺崟浜�
+        //            oItem.HBillType = "3832";
+        //            oItem.HBillSubType = "3832";
+        //            //oItem.HBillNo = "";    //鍗曟嵁鍙�
+        //            //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
+        //            //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
+        //            oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+        //            oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+        //            //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
+        //            //oItem.HPeriod = 0;
+        //            //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
+        //            //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
+        //            //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
+        //            //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
+        //            //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
+        //            //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
+        //            //oItem.HRemark = "";       //澶囨敞
+
+        //            //oItem.HMainSourceInterID = oItem.HInterID;
+
+        //            //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
+        //            if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+        //                objJsonResult.data = 1;
+        //                return objJsonResult;
+        //            }
+        //            oBill.omodel = oItem;
+        //        }
+        //        //琛ㄤ綋鏁版嵁
+        //        //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+        //        msg3 = msg3.Substring(1, msg3.Length - 2);
+        //        msg3 = msg3.Replace("\\", "");
+        //        msg3 = msg3.Replace("\n", "");  //\n
+        //        //msg2 = msg2.Replace("'", "鈥�");
+        //        List<Model.ClsSc_MouldStockBillSub> ls = new List<Model.ClsSc_MouldStockBillSub>();
+        //        ls = oListModels.getObjectByJson_Gy_MouldScrapOutHouseBillSub(msg3);
+        //        int i = 0;
+        //        foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
+        //        {
+
+        //            i++;
+        //            oItemSub.HEntryID = i;
+
+        //            //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
+        //            //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
+        //            //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
+        //            //oItemSub.HCloseMan = "";       //琛屽叧闂�
+        //            oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+        //            oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+        //            //oItemSub.HRemark = "";         //澶囨敞
+        //            oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+        //            oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+        //            //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
+        //            //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
+        //            //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+        //            //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
+        //            //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
+        //            //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
+        //            //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
+        //            oBill.DetailColl.Add(oItemSub);
+
+        //        }
+        //        //淇濆瓨
+        //        //淇濆瓨瀹屾瘯鍚庡鐞�
+        //        bool bResult;
+        //        if (oBill.omodel.HInterID == 0)
+        //        {
+        //            // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'out','{oBill.omodel.HInterID.ToString()}' ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        else
+        //        {
+        //            bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+        //            //淇敼鎴愬姛
+        //            //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        if (bResult)
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 1;
+        //            objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+        //            //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //        else
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        objJsonResult.code = "0";
+        //        objJsonResult.count = 0;
+        //        objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+        //        objJsonResult.data = 1;
+        //        return objJsonResult;
+        //    }
+        //}
+        #endregion
+
+        #region 妯″叿澶勭悊鍑哄簱鍗曚繚瀛�/缂栬緫    20240702
         /// <summary>
         /// 淇濆瓨妯″叿澶勭悊鍑哄簱鍗�
         /// </summary>
@@ -7453,125 +8438,126 @@
         [HttpPost]
         public object SaveGetMouldScrapOutHouseBillList([FromBody] JObject msg)
         {
+            DAL.ClsSc_MouldScrapOutBill oBill = new DAL.ClsSc_MouldScrapOutBill();
+
             var _value = msg["msg"].ToString();
             string msg1 = _value.ToString();
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-            string msg2 = sArray[0].ToString();
-            string msg3 = sArray[1].ToString();
-            string msg4 = sArray[2].ToString();
-
-            string UserName = "";
-            ListModels oListModels = new ListModels();
+            string sMainStr = sArray[0].ToString();         //涓昏〃鏁版嵁
+            string sSubStr = sArray[1].ToString();          //瀛愯〃鏁版嵁
+            string HMaker = sArray[2].ToString();           //鍒跺崟浜�
             try
             {
                 //缂栬緫鏉冮檺
-                if (!DBUtility.ClsPub.Security_Log("Sc_MouldScrapOutBill_Edit", 1, false, msg4))
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldScrapOutBill_Edit", 1, false, HMaker))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鏂板/缂栬緫鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //琛ㄥご璧嬪��
+                sMainStr = sMainStr.Replace("\\", "");
+                sMainStr = sMainStr.Replace("\n", "");
+                sMainStr = "[" + sMainStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillMain>>(sMainStr);
+                foreach (Model.ClsSc_MouldStockBillMain oItem in lsmain)
+                {
+                    if (oItem.HInterID == 0)
+                    {
+                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+                    }
+                    else
+                    {
+                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify;
+                    }
+                    //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                    if (oBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, oItem.HInterID))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oItem.HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = s;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oItem.HYear = sYear;
+                    oItem.HPeriod = sPeriod;
+                    DBUtility.ClsPub.CurUserName = oItem.HMaker;
+                    oBill.omodel = oItem;
+                }
+                //琛ㄤ綋璧嬪��
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                sSubStr = sSubStr.Substring(1, sSubStr.Length - 2);
+                sSubStr = sSubStr.Replace("\\", "");
+                sSubStr = sSubStr.Replace("\n", "");
+                sSubStr = "[" + sSubStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillSub> ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(sSubStr);
+                int i = 0;
+                foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+                    oBill.DetailColl.Add(oItemSub);
+                }
+
+                string sErrMsg = "";
+                bool bResult;
+                //鑾峰彇绯荤粺鍙傛暟
+                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
+                {
+                    //淇濆瓨
+                    if (oBill.omodel.HInterID == 0)   //鏂板淇濆瓨
+                    {
+                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'out','{oBill.omodel.HInterID.ToString()}' ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                    else                        //缂栬緫淇濆瓨
+                    {
+                        bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
 
-                DLL.ClsSc_MouldScrapOutBill oBill = new DLL.ClsSc_MouldScrapOutBill();
-                List<Model.ClsSc_MouldStockBillMain> lsmain = new List<Model.ClsSc_MouldStockBillMain>();
-                msg2 = msg2.Replace("\\", "");
-                msg2 = msg2.Replace("\n", "");  //\n
-                lsmain = oListModels.getObjectByJson_Gy_MouldScrapOutHouseBillMain(msg2);
-                foreach (Model.ClsSc_MouldStockBillMain oItem in lsmain)
-                {
-                    //oItem.HMaker = "";
-                    UserName = oItem.HMaker;  //鍒跺崟浜�
-                    oItem.HBillType = "3832";
-                    oItem.HBillSubType = "3832";
-                    //oItem.HBillNo = "";    //鍗曟嵁鍙�
-                    //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
-                    //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
-                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
-                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
-                    //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
-                    //oItem.HPeriod = 0;
-                    //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
-                    //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
-                    //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
-                    //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
-                    //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
-                    //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
-                    //oItem.HRemark = "";       //澶囨敞
-
-                    //oItem.HMainSourceInterID = oItem.HInterID;
-
-                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
-                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
-                    {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
-                        objJsonResult.data = 1;
-                        return objJsonResult;
-                    }
-                    oBill.omodel = oItem;
-                }
-                //琛ㄤ綋鏁版嵁
-                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
-                msg3 = msg3.Substring(1, msg3.Length - 2);
-                msg3 = msg3.Replace("\\", "");
-                msg3 = msg3.Replace("\n", "");  //\n
-                //msg2 = msg2.Replace("'", "鈥�");
-                List<Model.ClsSc_MouldStockBillSub> ls = new List<Model.ClsSc_MouldStockBillSub>();
-                ls = oListModels.getObjectByJson_Gy_MouldScrapOutHouseBillSub(msg3);
-                int i = 0;
-                foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
-                {
-
-                    i++;
-                    oItemSub.HEntryID = i;
-
-                    //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
-                    //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
-                    //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
-                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
-                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
-                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
-                    //oItemSub.HRemark = "";         //澶囨敞
-                    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
-                    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
-                    //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
-                    //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
-                    //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
-                    //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
-                    //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
-                    //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
-                    //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
-                    oBill.DetailColl.Add(oItemSub);
-
-                }
-                //淇濆瓨
-                //淇濆瓨瀹屾瘯鍚庡鐞�
-                bool bResult;
-                if (oBill.omodel.HInterID == 0)
-                {
-                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'out','{oBill.omodel.HInterID.ToString()}' ");
-                    oCn.RunProc(sql);
-                }
-                else
-                {
-                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
-                    //淇敼鎴愬姛
-                    //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
-                    oCn.RunProc(sql);
-                }
                 if (bResult)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
-                    //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
-                    objJsonResult.data = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
                 else
@@ -7579,7 +8565,7 @@
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
-                    objJsonResult.data = 1;
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
             }
@@ -7587,8 +8573,8 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
-                objJsonResult.data = 1;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.Message;
+                objJsonResult.data = null;
                 return objJsonResult;
             }
         }
@@ -7853,6 +8839,22 @@
             DLL.ClsSc_MouldProdOutBill oBill = new DLL.ClsSc_MouldProdOutBill();
             if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
             {
+                if (oBill.omodel.HCloseMan.Trim() != "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (oBill.omodel.HDeleteMan.Trim() != "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
                 if (flag == 1)
                 {
                     if (oBill.omodel.HBillStatus == 2)
@@ -7876,7 +8878,7 @@
                 }
                 else
                 {
-                    if (oBill.omodel.HBillStatus == 1)
+                    if (oBill.omodel.HBillStatus != 2)
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
@@ -7907,6 +8909,152 @@
             }
         }
         #endregion
+
+        #region 鍣ㄥ叿澶勭悊鍑哄簱鍗� 鍏抽棴/鍙嶅叧闂�
+        /// <summary>
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">鍏抽棴(0),鍙嶅叧闂�(1)</param>
+        /// <param name="CurUserName">鍏抽棴浜�</param>
+        /// <returns></returns>
+        [Route("Sc_MouldScrapOutHouseBill/CloseSc_MouldScrapOutHouseBill")]
+        [HttpGet]
+        public object CloseSc_MouldScrapOutHouseBill(int HInterID, int IsAudit, string CurUserName)
+        {
+            string ModRightNameCheck = "Sc_MouldScrapOutBill_Close";
+            DBUtility.ClsPub.CurUserName = CurUserName;
+            try
+            {
+                //妫�鏌ユ潈闄�
+                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍏抽棴澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //HInterID鏁版嵁鍒ゆ柇
+                if (HInterID <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID灏忎簬0锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹�
+                DAL.ClsSc_MouldProdOutBill oBill = new DAL.ClsSc_MouldProdOutBill();              //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣�
+
+                //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔
+                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //鏍规嵁HInterID鑾峰彇璇ュ崟鎹殑鏁版嵁
+                {
+                    if (oBill.omodel.HDeleteMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HChecker.Trim() == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (IsAudit == 0)  //鍏抽棴鍒ゆ柇
+                    {
+                        if (oBill.omodel.HCloseMan.Trim() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆鍏抽棴锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅叧闂垽鏂�
+                    {
+                        if (oBill.omodel.HCloseMan.Trim() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈叧闂�!涓嶉渶瑕佸弽鍏抽棴锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                //杩涜闇�瑕佽繘琛岀殑鍏抽棴/鍙嶅叧闂搷浣�
+                if (IsAudit == 0) //鍏抽棴鎻愪氦
+                {
+                    //鍏抽棴鎻愪氦
+                    if (oBill.CloseBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍏抽棴鎴愬姛";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                if (IsAudit == 1) //鍙嶅叧闂彁浜�
+                {
+                    //鍙嶅叧闂彁浜�
+                    if (oBill.CancelClose(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅叧闂垚鍔�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍏抽棴澶辫触鎴栬�呭弽鍏抽棴澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
 
         #endregion
 
@@ -7962,6 +9110,68 @@
 
         }
 
+        #endregion
+
+        #region 妯″叿閫�搴撳崟鍒楄〃 鏌ヨ-鍒嗛〉
+        /// <summary>
+        /// 杩斿洖搴旀敹鍗曞垪琛�
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Sc_MouldProdBackBill/list_byPage")]
+        [HttpGet]
+        public object getSc_MouldProdBackBill_byPage(string sWhere, string user, string Organization, int page, int size)
+        {
+            try
+            {
+                Log.LogInfo("鎴愬姛锛�"); //璁板綍鎻愪氦鏁版嵁
+
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldProdBackBillList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                Log.LogInfo("鏈夋潈闄�");
+                LogService.Write(sWhere + ";" + Organization);
+
+                string sql = "";
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    sWhere = " and 搴撳瓨缁勭粐='" + Organization + "'";
+                    sWhere = sWhere.Replace("'", "''");
+                    sql = "exec h_p_Sc_MouldProdBackBillList_Query " + page + "," + size + ",'" + Organization + "','" + sWhere + "'";
+                    Log.LogInfo(sql);
+                    ds = new SQLHelper.ClsCN().RunProcReturn(sql, "h_p_Sc_MouldProdBackBillList_Query");
+                }
+                else
+                {
+                    sWhere += " and 搴撳瓨缁勭粐='" + Organization + "'";
+                    sWhere = sWhere.Replace("'", "''");
+                    sql = "exec h_p_Sc_MouldProdBackBillList_Query " + page + "," + size + ",'" + Organization + "','" + sWhere + "'";
+                    Log.LogInfo(sql);
+                    ds = new SQLHelper.ClsCN().RunProcReturn(sql, "h_p_Sc_MouldProdBackBillList_Query");
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
         #endregion
 
         #region[妯″叿閫�搴撳崟缂栬緫鏃惰幏鍙栬〃澶存暟鎹甝
@@ -8035,7 +9245,159 @@
         }
         #endregion
 
-        #region 妯″叿閫�搴撳崟淇濆瓨/缂栬緫
+        #region 妯″叿閫�搴撳崟淇濆瓨/缂栬緫    20240702浣滃簾
+        /// <summary>
+        /// 淇濆瓨妯″叿閫�搴撳崟
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        //[Route("Sc_MouldProdBackBill/SaveGetMouldProdBackBillList")]
+        //[HttpPost]
+        //public object SaveGetMouldProdBackBillList([FromBody] JObject msg)
+        //{
+        //    var _value = msg["msg"].ToString();
+        //    string msg1 = _value.ToString();
+        //    string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+        //    string msg2 = sArray[0].ToString();
+        //    string msg3 = sArray[1].ToString();
+        //    string msg4 = sArray[2].ToString();
+
+        //    string UserName = "";
+        //    ListModels oListModels = new ListModels();
+        //    try
+        //    {
+        //        if (!DBUtility.ClsPub.Security_Log("Sc_MouldProdBackBill_Edit", 1, false, msg4))
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "娌℃湁淇濆瓨鏉冮檺";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+
+        //        DLL.ClsSc_MouldProdBackBill oBill = new DLL.ClsSc_MouldProdBackBill();
+        //        List<Model.ClsSc_MouldProdBackBillMain> lsmain = new List<Model.ClsSc_MouldProdBackBillMain>();
+        //        msg2 = msg2.Replace("\\", "");
+        //        msg2 = msg2.Replace("\n", "");  //\n
+        //        lsmain = oListModels.getObjectByJson_Gy_MouldProdBackBillMain(msg2);
+        //        foreach (Model.ClsSc_MouldProdBackBillMain oItem in lsmain)
+        //        {
+        //             //oItem.HMaker = "";
+        //            UserName = oItem.HMaker;  //鍒跺崟浜�
+        //            oItem.HBillType = "3803";
+        //            oItem.HBillSubType = "3803";
+        //            //oItem.HBillNo = "";    //鍗曟嵁鍙�
+        //            //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
+        //            //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
+        //            oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+        //            oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+        //            //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
+        //            //oItem.HPeriod = 0;
+        //            //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
+        //            //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
+        //            //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
+        //            //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
+        //            //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
+        //            //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
+        //            //oItem.HRemark = "";       //澶囨敞
+
+        //            //oItem.HMainSourceInterID = oItem.HInterID;
+
+        //            //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
+        //            if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+        //                objJsonResult.data = 1;
+        //                return objJsonResult;
+        //            }
+        //            oBill.omodel = oItem;
+        //        }
+        //        //琛ㄤ綋鏁版嵁
+        //        //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+        //        msg3 = msg3.Substring(1, msg3.Length - 2);
+        //        msg3 = msg3.Replace("\\", "");
+        //        msg3 = msg3.Replace("\n", "");  //\n
+        //        //msg2 = msg2.Replace("'", "鈥�");
+        //        List<Model.ClsSc_MouldProdBackBillSub> ls = new List<Model.ClsSc_MouldProdBackBillSub>();
+        //        ls = oListModels.getObjectByJson_Gy_MouldProdBackBillSub(msg3);
+        //        int i = 0;
+        //        foreach (Model.ClsSc_MouldProdBackBillSub oItemSub in ls)
+        //        {
+
+        //            i++;
+        //            oItemSub.HEntryID = i;
+
+        //            //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
+        //            //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
+        //            //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
+        //            //oItemSub.HCloseMan = "";       //琛屽叧闂�
+        //            oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+        //            oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+        //            //oItemSub.HRemark = "";         //澶囨敞
+        //            oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+        //            oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+        //            //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
+        //            //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
+        //            //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+        //            //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
+        //            //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
+        //            //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
+        //            //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
+        //            oBill.DetailColl.Add(oItemSub);
+
+        //        }
+        //        //淇濆瓨
+        //        //淇濆瓨瀹屾瘯鍚庡鐞�
+        //        bool bResult;
+        //        if (oBill.omodel.HInterID == 0)
+        //        {
+        //            // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            string sql1 = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
+        //            oCn.RunProc(sql1);
+        //        }
+        //        else
+        //        {
+        //            bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+        //            //淇敼鎴愬姛
+        //            //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        if (bResult)
+        //        {
+        //            string sql =string.Format($"exec h_p_Sc_MouldProdBackBillList '{oBill.omodel.HBillNo}' ") ;
+        //            oCn.RunProc(sql);
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 1;
+        //            objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+        //            //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //        else
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        objJsonResult.code = "0";
+        //        objJsonResult.count = 0;
+        //        objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+        //        objJsonResult.data = 1;
+        //        return objJsonResult;
+        //    }
+        //}
+        #endregion
+
+        #region 妯″叿閫�搴撳崟淇濆瓨/缂栬緫    20240702
         /// <summary>
         /// 淇濆瓨妯″叿閫�搴撳崟
         /// </summary>
@@ -8045,126 +9407,127 @@
         [HttpPost]
         public object SaveGetMouldProdBackBillList([FromBody] JObject msg)
         {
+            DAL.ClsSc_MouldProdBackBill oBill = new DAL.ClsSc_MouldProdBackBill();
+
             var _value = msg["msg"].ToString();
             string msg1 = _value.ToString();
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-            string msg2 = sArray[0].ToString();
-            string msg3 = sArray[1].ToString();
-            string msg4 = sArray[2].ToString();
-
-            string UserName = "";
-            ListModels oListModels = new ListModels();
+            string sMainStr = sArray[0].ToString();         //涓昏〃鏁版嵁
+            string sSubStr = sArray[1].ToString();          //瀛愯〃鏁版嵁
+            string HMaker = sArray[2].ToString();           //鍒跺崟浜�
             try
             {
-                if (!DBUtility.ClsPub.Security_Log("Sc_MouldProdBackBill_Edit", 1, false, msg4))
+                //鍒ゆ柇鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldProdBackBill_Edit", 1, false, HMaker))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "娌℃湁淇濆瓨鏉冮檺";
+                    objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鏂板/缂栬緫鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //琛ㄥご璧嬪��
+                sMainStr = sMainStr.Replace("\\", "");
+                sMainStr = sMainStr.Replace("\n", "");
+                sMainStr = "[" + sMainStr.ToString() + "]";
+                List<Model.ClsSc_MouldProdBackBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldProdBackBillMain>>(sMainStr);
+                foreach (Model.ClsSc_MouldProdBackBillMain oItem in lsmain)
+                {
+                    if (oItem.HInterID == 0)
+                    {
+                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+                    }
+                    else
+                    {
+                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify;
+                    }
+                    //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                    if (oBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, oItem.HInterID))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oItem.HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = s;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oItem.HYear = sYear;
+                    oItem.HPeriod = sPeriod;
+                    DBUtility.ClsPub.CurUserName = oItem.HMaker;
+                    oBill.omodel = oItem;
+                }
+                //琛ㄤ綋璧嬪��
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                sSubStr = sSubStr.Substring(1, sSubStr.Length - 2);
+                sSubStr = sSubStr.Replace("\\", "");
+                sSubStr = sSubStr.Replace("\n", "");
+                sSubStr = "[" + sSubStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillSub> ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(sSubStr);
+                int i = 0;
+                foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+                    oBill.DetailColl.Add(oItemSub);
+                }
+
+                string sErrMsg = "";
+                bool bResult;
+                //鑾峰彇绯荤粺鍙傛暟
+                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
+                {
+                    //淇濆瓨
+                    if (oBill.omodel.HInterID == 0)   //鏂板淇濆瓨
+                    {
+                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql1 = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
+                            oCn.RunProc(sql1);
+                        }
+                    }
+                    else                        //缂栬緫淇濆瓨
+                    {
+                        bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
 
-                DLL.ClsSc_MouldProdBackBill oBill = new DLL.ClsSc_MouldProdBackBill();
-                List<Model.ClsSc_MouldProdBackBillMain> lsmain = new List<Model.ClsSc_MouldProdBackBillMain>();
-                msg2 = msg2.Replace("\\", "");
-                msg2 = msg2.Replace("\n", "");  //\n
-                lsmain = oListModels.getObjectByJson_Gy_MouldProdBackBillMain(msg2);
-                foreach (Model.ClsSc_MouldProdBackBillMain oItem in lsmain)
-                {
-                     //oItem.HMaker = "";
-                    UserName = oItem.HMaker;  //鍒跺崟浜�
-                    oItem.HBillType = "3803";
-                    oItem.HBillSubType = "3803";
-                    //oItem.HBillNo = "";    //鍗曟嵁鍙�
-                    //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
-                    //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
-                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
-                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
-                    //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
-                    //oItem.HPeriod = 0;
-                    //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
-                    //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
-                    //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
-                    //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
-                    //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
-                    //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
-                    //oItem.HRemark = "";       //澶囨敞
-
-                    //oItem.HMainSourceInterID = oItem.HInterID;
-
-                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
-                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
-                    {
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
-                        objJsonResult.data = 1;
-                        return objJsonResult;
-                    }
-                    oBill.omodel = oItem;
-                }
-                //琛ㄤ綋鏁版嵁
-                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
-                msg3 = msg3.Substring(1, msg3.Length - 2);
-                msg3 = msg3.Replace("\\", "");
-                msg3 = msg3.Replace("\n", "");  //\n
-                //msg2 = msg2.Replace("'", "鈥�");
-                List<Model.ClsSc_MouldProdBackBillSub> ls = new List<Model.ClsSc_MouldProdBackBillSub>();
-                ls = oListModels.getObjectByJson_Gy_MouldProdBackBillSub(msg3);
-                int i = 0;
-                foreach (Model.ClsSc_MouldProdBackBillSub oItemSub in ls)
-                {
-
-                    i++;
-                    oItemSub.HEntryID = i;
-
-                    //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
-                    //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
-                    //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
-                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
-                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
-                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
-                    //oItemSub.HRemark = "";         //澶囨敞
-                    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
-                    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
-                    //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
-                    //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
-                    //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
-                    //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
-                    //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
-                    //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
-                    //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
-                    oBill.DetailColl.Add(oItemSub);
-
-                }
-                //淇濆瓨
-                //淇濆瓨瀹屾瘯鍚庡鐞�
-                bool bResult;
-                if (oBill.omodel.HInterID == 0)
-                {
-                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    string sql1 = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
-                    oCn.RunProc(sql1);
-                }
-                else
-                {
-                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
-                    //淇敼鎴愬姛
-                    //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
-                    oCn.RunProc(sql);
-                }
                 if (bResult)
                 {
-                    string sql =string.Format($"exec h_p_Sc_MouldProdBackBillList '{oBill.omodel.HBillNo}' ") ;
-                    oCn.RunProc(sql);
+                    string sql = string.Format($"exec h_p_Sc_MouldProdBackBillList '{oBill.omodel.HBillNo}' ");
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
-                    //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
-                    objJsonResult.data = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
                 else
@@ -8172,7 +9535,7 @@
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
-                    objJsonResult.data = 1;
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
             }
@@ -8180,8 +9543,8 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
-                objJsonResult.data = 1;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.Message;
+                objJsonResult.data = null;
                 return objJsonResult;
             }
         }
@@ -8307,6 +9670,22 @@
             DLL.ClsSc_MouldProdOutBill oBill = new DLL.ClsSc_MouldProdOutBill();
             if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
             {
+                if (oBill.omodel.HCloseMan.Trim() != "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (oBill.omodel.HDeleteMan.Trim() != "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
                 if (flag == 1)
                 {
                     if (oBill.omodel.HBillStatus == 2)
@@ -8330,7 +9709,7 @@
                 }
                 else
                 {
-                    if (oBill.omodel.HBillStatus == 1)
+                    if (oBill.omodel.HBillStatus != 2)
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
@@ -8361,6 +9740,153 @@
             }
         }
         #endregion
+
+        #region 鍣ㄥ叿棰嗙敤閫�搴撳崟 鍏抽棴/鍙嶅叧闂�
+        /// <summary>
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">鍏抽棴(0),鍙嶅叧闂�(1)</param>
+        /// <param name="CurUserName">鍏抽棴浜�</param>
+        /// <returns></returns>
+        [Route("Sc_MouldProdBackBill/CloseSc_MouldProdBackBill")]
+        [HttpGet]
+        public object CloseSc_MouldProdBackBill(int HInterID, int IsAudit, string CurUserName)
+        {
+            string ModRightNameCheck = "Sc_MouldProdBackBill_Close";
+            DBUtility.ClsPub.CurUserName = CurUserName;
+            try
+            {
+                //妫�鏌ユ潈闄�
+                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍏抽棴澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //HInterID鏁版嵁鍒ゆ柇
+                if (HInterID <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID灏忎簬0锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹�
+                DAL.ClsSc_MouldProdBackBill oBill = new DAL.ClsSc_MouldProdBackBill();              //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣�
+
+                //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔
+                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //鏍规嵁HInterID鑾峰彇璇ュ崟鎹殑鏁版嵁
+                {
+                    if (oBill.omodel.HDeleteMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HChecker.Trim() == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (IsAudit == 0)  //鍏抽棴鍒ゆ柇
+                    {
+                        if (oBill.omodel.HCloseMan.Trim() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆鍏抽棴锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅叧闂垽鏂�
+                    {
+                        if (oBill.omodel.HCloseMan.Trim() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈叧闂�!涓嶉渶瑕佸弽鍏抽棴锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                //杩涜闇�瑕佽繘琛岀殑鍏抽棴/鍙嶅叧闂搷浣�
+                if (IsAudit == 0) //鍏抽棴鎻愪氦
+                {
+                    //鍏抽棴鎻愪氦
+                    if (oBill.CloseBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍏抽棴鎴愬姛";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                if (IsAudit == 1) //鍙嶅叧闂彁浜�
+                {
+                    //鍙嶅叧闂彁浜�
+                    if (oBill.CancelClose(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅叧闂垚鍔�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍏抽棴澶辫触鎴栬�呭弽鍏抽棴澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
         #endregion
 
         #region 妯″叿棰嗙敤鍗�
@@ -8416,6 +9942,63 @@
 
         }
 
+        #endregion
+
+        #region 妯″叿棰嗙敤鍗曞垪琛� 鏌ヨ-鍒嗛〉
+        /// <summary>
+        /// 杩斿洖搴旀敹鍗曞垪琛�
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("Sc_MouldProdOutBill/list_byPage")]
+        [HttpGet]
+        public object getSc_MouldProdOutBill_byPage(string sWhere, string user, string Organization, int page, int size)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldProdOutBillList", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                string sql = "";
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    sWhere = " and 搴撳瓨缁勭粐='" + Organization + "'";
+                    sWhere = sWhere.Replace("'", "''");
+                    sql = "exec h_p_Sc_MouldProdOutHouseBillList_Query " + page + "," + size + ",'" + Organization + "','" + sWhere + "'";
+                    Log.LogInfo(sql);
+                    ds = oCN.RunProcReturn(sql, "h_p_Sc_MouldProdOutHouseBillList_Query");
+                }
+                else
+                {
+                    sWhere += " and 搴撳瓨缁勭粐='" + Organization + "'";
+                    sWhere = sWhere.Replace("'", "''");
+                    sql = "exec h_p_Sc_MouldProdOutHouseBillList_Query " + page + "," + size + ",'" + Organization + "','" + sWhere + "'";
+                    Log.LogInfo(sql);
+                    ds = oCN.RunProcReturn(sql, "h_p_Sc_MouldProdOutHouseBillList_Query");
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
         #endregion
 
         #region[妯″叿棰嗙敤鍗曠紪杈戞椂鑾峰彇琛ㄥご鏁版嵁]
@@ -8488,7 +10071,158 @@
         }
         #endregion
 
-        #region 妯″叿棰嗙敤鍗曚繚瀛�/缂栬緫
+        #region 妯″叿棰嗙敤鍗曚繚瀛�/缂栬緫    20240702浣滃簾
+        /// <summary>
+        /// 淇濆瓨妯″叿棰嗙敤鍗�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        //[Route("Sc_MouldProdOutBill/SaveGetMouldProdOutBillList")]
+        //[HttpPost]
+        //public object SaveGetMouldProdOutBillList([FromBody] JObject msg)
+        //{
+        //    var _value = msg["msg"].ToString();
+        //    string msg1 = _value.ToString();
+        //    string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+        //    string msg2 = sArray[0].ToString();
+        //    string msg3 = sArray[1].ToString();
+        //    string msg4 = sArray[2].ToString();
+
+
+        //    string UserName = "";
+        //    ListModels oListModels = new ListModels();
+        //    try
+        //    {
+        //        //妯″潡鍚嶏紝鍐欏叆鏃ュ織锛屾姤閿欐锛岀敤鎴峰悕
+        //        if (!DBUtility.ClsPub.Security_Log("Sc_MouldProdOutBill_Edit", 1, false, msg4))
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "娌℃湁淇濆瓨鏉冮檺";
+        //            objJsonResult.data = null;
+        //            return objJsonResult;
+        //        }
+        //        DLL.ClsSc_MouldProdOutBill oBill = new DLL.ClsSc_MouldProdOutBill();
+        //        List<Model.ClsSc_MouldProdOutBillMain> lsmain = new List<Model.ClsSc_MouldProdOutBillMain>();
+        //        msg2 = msg2.Replace("\\", "");
+        //        msg2 = msg2.Replace("\n", "");  //\n
+        //        lsmain = oListModels.getObjectByJson_Gy_MouldProdOutBillMain(msg2);
+        //        foreach (Model.ClsSc_MouldProdOutBillMain oItem in lsmain)
+        //        {
+        //            //oItem.HMaker = "";
+        //            UserName = oItem.HMaker;  //鍒跺崟浜�
+        //            oItem.HBillType = "3802";
+        //            oItem.HBillSubType = "3802";
+        //            //oItem.HBillNo = "";    //鍗曟嵁鍙�
+        //            //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
+        //            //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
+        //            oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+        //            oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+        //            //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
+        //            //oItem.HPeriod = 0;
+        //            //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
+        //            //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
+        //            //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
+        //            //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
+        //            //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
+        //            //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
+        //            //oItem.HRemark = "";       //澶囨敞
+
+        //            //oItem.HMainSourceInterID = oItem.HInterID;
+
+        //            //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
+        //            if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+        //            {
+        //                objJsonResult.code = "0";
+        //                objJsonResult.count = 0;
+        //                objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+        //                objJsonResult.data = 1;
+        //                return objJsonResult;
+        //            }
+        //            oBill.omodel = oItem;
+        //        }
+        //        //琛ㄤ綋鏁版嵁
+        //        //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+        //        msg3 = msg3.Substring(1, msg3.Length - 2);
+        //        msg3 = msg3.Replace("\\", "");
+        //        msg3 = msg3.Replace("\n", "");  //\n
+        //        //msg2 = msg2.Replace("'", "鈥�");
+        //        List<Model.ClsSc_MouldStockBillSub> ls = new List<Model.ClsSc_MouldStockBillSub>();
+        //        ls = oListModels.getObjectByJson_Gy_MouldStockBillSub(msg3);
+        //        int i = 0;
+        //        foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
+        //        {
+
+        //            i++;
+        //            oItemSub.HEntryID = i;
+
+        //            //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
+        //            //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
+        //            //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
+        //            //oItemSub.HCloseMan = "";       //琛屽叧闂�
+        //            oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+        //            oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+        //            //oItemSub.HRemark = "";         //澶囨敞
+        //            oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
+        //            oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
+        //            //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
+        //            //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
+        //            //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
+        //            //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
+        //            //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
+        //            //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
+        //            //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
+        //            oBill.DetailColl.Add(oItemSub);
+
+        //        }
+        //        //淇濆瓨
+        //        //淇濆瓨瀹屾瘯鍚庡鐞�
+        //        bool bResult;
+        //        if (oBill.omodel.HInterID == 0)
+        //        {
+        //            // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'out','{oBill.omodel.HInterID.ToString()}' ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        else
+        //        {
+        //            bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+        //            //淇敼鎴愬姛
+        //            //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
+        //            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+        //            oCn.RunProc(sql);
+        //        }
+        //        if (bResult)
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 1;
+        //            objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+        //            //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //        else
+        //        {
+        //            objJsonResult.code = "0";
+        //            objJsonResult.count = 0;
+        //            objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+        //            objJsonResult.data = 1;
+        //            return objJsonResult;
+        //        }
+        //    }
+        //    catch (Exception e)
+        //    {
+        //        objJsonResult.code = "0";
+        //        objJsonResult.count = 0;
+        //        objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+        //        objJsonResult.data = 1;
+        //        return objJsonResult;
+        //    }
+        //}
+        #endregion
+
+        #region 妯″叿棰嗙敤鍗曚繚瀛�/缂栬緫    20240702
         /// <summary>
         /// 淇濆瓨妯″叿棰嗙敤鍗�
         /// </summary>
@@ -8498,125 +10232,126 @@
         [HttpPost]
         public object SaveGetMouldProdOutBillList([FromBody] JObject msg)
         {
+            DAL.ClsSc_MouldProdOutBill oBill = new DAL.ClsSc_MouldProdOutBill();
+
             var _value = msg["msg"].ToString();
             string msg1 = _value.ToString();
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
-            string msg2 = sArray[0].ToString();
-            string msg3 = sArray[1].ToString();
-            string msg4 = sArray[2].ToString();
-
-
-            string UserName = "";
-            ListModels oListModels = new ListModels();
+            string sMainStr = sArray[0].ToString();         //涓昏〃鏁版嵁
+            string sSubStr = sArray[1].ToString();          //瀛愯〃鏁版嵁
+            string HMaker = sArray[2].ToString();           //鍒跺崟浜�
             try
             {
                 //妯″潡鍚嶏紝鍐欏叆鏃ュ織锛屾姤閿欐锛岀敤鎴峰悕
-                if (!DBUtility.ClsPub.Security_Log("Sc_MouldProdOutBill_Edit", 1, false, msg4))
+                if (!DBUtility.ClsPub.Security_Log("Sc_MouldProdOutBill_Edit", 1, false, HMaker))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "娌℃湁淇濆瓨鏉冮檺";
+                    objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鏂板/缂栬緫鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-                DLL.ClsSc_MouldProdOutBill oBill = new DLL.ClsSc_MouldProdOutBill();
-                List<Model.ClsSc_MouldProdOutBillMain> lsmain = new List<Model.ClsSc_MouldProdOutBillMain>();
-                msg2 = msg2.Replace("\\", "");
-                msg2 = msg2.Replace("\n", "");  //\n
-                lsmain = oListModels.getObjectByJson_Gy_MouldProdOutBillMain(msg2);
+                //琛ㄥご璧嬪��
+                sMainStr = sMainStr.Replace("\\", "");
+                sMainStr = sMainStr.Replace("\n", "");
+                sMainStr = "[" + sMainStr.ToString() + "]";
+                List<Model.ClsSc_MouldProdOutBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldProdOutBillMain>>(sMainStr);
                 foreach (Model.ClsSc_MouldProdOutBillMain oItem in lsmain)
                 {
-                    //oItem.HMaker = "";
-                    UserName = oItem.HMaker;  //鍒跺崟浜�
-                    oItem.HBillType = "3802";
-                    oItem.HBillSubType = "3802";
-                    //oItem.HBillNo = "";    //鍗曟嵁鍙�
-                    //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
-                    //oItem.HInnerBillNo = "";  //  --鍐呴儴鍗曟嵁鍙�
-                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
-                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
-                    //oItem.HEquipID = 0;    //璁惧ID(Gy_EquipMent)
-                    //oItem.HPeriod = 0;
-                    //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --缁翠慨鏃ユ湡
-                    //oItem.HCheckResult = "";     //楠屾敹缁撹--(姝e父锛屽紓甯�)
-                    //oItem.HEmpID = 0;           //楠屾敹浜�(Gy_Employee)
-                    //oItem.HManagerID = 0;      //璐熻矗浜�(Gy_Employee)
-                    //oItem.HDeptID = 0;        //楠屾敹閮ㄩ棬(Gy_Department)
-                    //oItem.HExplanation = "";  //鎽樿(鏁呴殰鎻忚堪)  
-                    //oItem.HRemark = "";       //澶囨敞
-
-                    //oItem.HMainSourceInterID = oItem.HInterID;
-
-                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
-                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    if (oItem.HInterID == 0)
+                    {
+                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
+                    }
+                    else
+                    {
+                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify;
+                    }
+                    //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                    if (oBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, oItem.HInterID))
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
-                        objJsonResult.data = 1;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                        objJsonResult.data = null;
                         return objJsonResult;
                     }
+                    //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oItem.HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = s;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oItem.HYear = sYear;
+                    oItem.HPeriod = sPeriod;
+                    DBUtility.ClsPub.CurUserName = oItem.HMaker;
                     oBill.omodel = oItem;
                 }
-                //琛ㄤ綋鏁版嵁
+                //琛ㄤ綋璧嬪��
                 //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
-                msg3 = msg3.Substring(1, msg3.Length - 2);
-                msg3 = msg3.Replace("\\", "");
-                msg3 = msg3.Replace("\n", "");  //\n
-                //msg2 = msg2.Replace("'", "鈥�");
-                List<Model.ClsSc_MouldStockBillSub> ls = new List<Model.ClsSc_MouldStockBillSub>();
-                ls = oListModels.getObjectByJson_Gy_MouldStockBillSub(msg3);
+                sSubStr = sSubStr.Substring(1, sSubStr.Length - 2);
+                sSubStr = sSubStr.Replace("\\", "");
+                sSubStr = sSubStr.Replace("\n", "");
+                sSubStr = "[" + sSubStr.ToString() + "]";
+                List<Model.ClsSc_MouldStockBillSub> ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(sSubStr);
                 int i = 0;
                 foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
                 {
-
                     i++;
                     oItemSub.HEntryID = i;
-
-                    //oItemSub.HRepairCheckID = 0;   //楠屾敹椤圭洰ID
-                    //oItemSub.HRepairCheckContent = ""; //楠屾敹鍐呭
-                    //oItemSub.HManagerID = 0;   //璐熻矗浜篒D
-                    //oItemSub.HCloseMan = "";       //琛屽叧闂�
-                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
-                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
-                    //oItemSub.HRemark = "";         //澶囨敞
-                    oItemSub.HSourceInterID = 0;     // 婧愬崟涓诲唴鐮�
-                    oItemSub.HSourceEntryID = 0;   //婧愬崟瀛愬唴鐮�
-                    //oItemSub.HSourceBillNo = "";  //婧愬崟鍗曞彿
-                    //oItemSub.HSourceBillType = ""; //婧愬崟绫诲瀷
-                    //oItemSub.HRelationQty = 0;     //鍏宠仈鏁伴噺
-                    //oItemSub.HRelationMoney = 0;   //鍏宠仈閲戦 
-                    //oItemSub.HRepairID = 0;       //缁翠慨椤圭洰
-                    //oItemSub.HRepairExplanation ="";   //缁翠慨瑕佹眰
-                    //oItemSub.HMoney = 0;        //缁翠慨璐圭敤
                     oBill.DetailColl.Add(oItemSub);
-
                 }
-                //淇濆瓨
-                //淇濆瓨瀹屾瘯鍚庡鐞�
+
+                string sErrMsg = "";
                 bool bResult;
-                if (oBill.omodel.HInterID == 0)
+                //鑾峰彇绯荤粺鍙傛暟
+                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
                 {
-                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'out','{oBill.omodel.HInterID.ToString()}' ");
-                    oCn.RunProc(sql);
+                    //淇濆瓨
+                    if (oBill.omodel.HInterID == 0)   //鏂板淇濆瓨
+                    {
+                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'out','{oBill.omodel.HInterID.ToString()}' ");
+                            oCn.RunProc(sql);
+                        }
+                    }
+                    else                        //缂栬緫淇濆瓨
+                    {
+                        bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                        if (oSystemParameter.omodel.WMS_CampanyName == "鍥涚淮灏�") //绯荤粺鍙傛暟  瀹㈡埛瀹氬埗鍖栧悕绉�     绌虹櫧涓洪�氱敤
+                        {
+                            //淇敼鍣ㄥ叿妗f浣嶇疆
+                            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
+                            oCn.RunProc(sql);
+                        }
+                    }
                 }
                 else
                 {
-                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
-                    //淇敼鎴愬姛
-                    //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
-                    string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
-                    oCn.RunProc(sql);
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                    objJsonResult.data = null;
+                    return objJsonResult;
                 }
+
                 if (bResult)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
-                    //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
-                    objJsonResult.data = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
                 else
@@ -8624,7 +10359,7 @@
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
                     objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
-                    objJsonResult.data = 1;
+                    objJsonResult.data = null;
                     return objJsonResult;
                 }
             }
@@ -8632,8 +10367,8 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
-                objJsonResult.data = 1;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.Message;
+                objJsonResult.data = null;
                 return objJsonResult;
             }
         }
@@ -8796,8 +10531,32 @@
             DLL.ClsSc_MouldProdOutBill oBill = new DLL.ClsSc_MouldProdOutBill();
             if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
             {
+                if (oBill.omodel.HCloseMan.Trim() != "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (oBill.omodel.HDeleteMan.Trim() != "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
                 if (flag == 1)
                 {
+                    if (oBill.omodel.HChecker.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
                     if (oBill.omodel.HBillStatus == 2)
                     {
                         objJsonResult.code = "0";
@@ -8819,7 +10578,7 @@
                 }
                 else
                 {
-                    if (oBill.omodel.HBillStatus == 1)
+                    if (oBill.omodel.HBillStatus != 2)
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
@@ -8850,6 +10609,153 @@
             }
         }
         #endregion
+
+        #region 鍣ㄥ叿棰嗙敤鍑哄簱鍗� 鍏抽棴/鍙嶅叧闂�
+        /// <summary>
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">鍏抽棴(0),鍙嶅叧闂�(1)</param>
+        /// <param name="CurUserName">鍏抽棴浜�</param>
+        /// <returns></returns>
+        [Route("Sc_MouldProdOutBill/CloseSc_MouldProdOutBill")]
+        [HttpGet]
+        public object CloseSc_MouldProdOutBill(int HInterID, int IsAudit, string CurUserName)
+        {
+            string ModRightNameCheck = "Sc_MouldProdOutBill_Close";
+            DBUtility.ClsPub.CurUserName = CurUserName;
+            try
+            {
+                //妫�鏌ユ潈闄�
+                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍏抽棴澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //HInterID鏁版嵁鍒ゆ柇
+                if (HInterID <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID灏忎簬0锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);                                         //瀵笻InterID杩涜绫诲瀷鐨勮浆鎹�
+                DAL.ClsSc_MouldProdOutBill oBill = new DAL.ClsSc_MouldProdOutBill();              //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣�
+
+                //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔
+                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //鏍规嵁HInterID鑾峰彇璇ュ崟鎹殑鏁版嵁
+                {
+                    if (oBill.omodel.HDeleteMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HChecker.Trim() == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶈兘杩涜鍏抽棴锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (IsAudit == 0)  //鍏抽棴鍒ゆ柇
+                    {
+                        if (oBill.omodel.HCloseMan.Trim() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆鍏抽棴锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅叧闂垽鏂�
+                    {
+                        if (oBill.omodel.HCloseMan.Trim() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈叧闂�!涓嶉渶瑕佸弽鍏抽棴锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                //杩涜闇�瑕佽繘琛岀殑鍏抽棴/鍙嶅叧闂搷浣�
+                if (IsAudit == 0) //鍏抽棴鎻愪氦
+                {
+                    //鍏抽棴鎻愪氦
+                    if (oBill.CloseBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍏抽棴鎴愬姛";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                if (IsAudit == 1) //鍙嶅叧闂彁浜�
+                {
+                    //鍙嶅叧闂彁浜�
+                    if (oBill.CancelClose(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅叧闂垚鍔�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鍏抽棴澶辫触鎴栬�呭弽鍏抽棴澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
         #endregion
 
         #region 妯″叿瀵垮懡璋冩暣鍗�
@@ -9572,5 +11478,366 @@
             return objJsonResult;
         }
         #endregion
+
+        #region 鍣ㄥ叿鐐规璁板綍鎷嶇収涓婁紶
+        [Route("Sc_MouldDotCheckBill/UploadFile")]
+        [HttpPost]
+        public object UploadFile()
+        {
+
+            string HBillNo = HttpContext.Current.Request.Params["HBillNo"];  //鍗曟嵁鍙�
+            string HRemark = HttpContext.Current.Request.Params["HRemark"];  //澶囨敞
+            string HUserName = HttpContext.Current.Request.Params["HUserName"];  //鍒涘缓浜�
+            HttpPostedFile files = HttpContext.Current.Request.Files["file"];
+            string path = HttpContext.Current.Server.MapPath("~/../Files/MouldFolder/" + HBillNo);
+            //string path = @"D:\\Files\\"+ HBillNo;
+            dynamic dyResult = UpLoadFile(files, path, HBillNo, HRemark, HUserName);
+            if (dyResult != null && dyResult.result == 1)
+            {
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "涓婁紶鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = dyResult.returnval;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+
+        }
+
+        public dynamic UpLoadFile(HttpPostedFile files, string path, string HBillNo, string HRemark, string HUserName)
+        {
+            dynamic Result_Ob = new { result = 1, returnval = "涓婁紶鎴愬姛锛�" };
+            string filePath = Path.GetFullPath(files.FileName);//鏂囦欢涓婁紶璺緞
+            string fileExtension = Path.GetExtension(files.FileName);// 鏂囦欢鎵╁睍鍚�
+            string filename = files.FileName;//鏂囦欢鍚�
+            string fileSavePath = path;// 涓婁紶淇濆瓨璺緞
+            int filesize = files.ContentLength;//鑾峰彇涓婁紶鏂囦欢鐨勫ぇ灏忓崟浣嶄负瀛楄妭byte
+            int Maxsize = 40000 * 1024;//瀹氫箟涓婁紶鏂囦欢鐨勬渶澶х┖闂村ぇ灏忎负40M
+            try
+            {
+                if (files == null || files.ContentLength <= 0)
+                {
+                    Result_Ob = new { result = 0, returnval = "鏂囦欢涓嶈兘涓虹┖!" };
+                    return Result_Ob;
+                }
+                if (filesize >= Maxsize)
+                {
+                    Result_Ob = new { result = 0, returnval = "涓婁紶鏂囦欢瓒呰繃40M锛屼笉鑳戒笂浼狅紒" };
+                    return Result_Ob;
+                }
+
+                string fileurl = Path.Combine(fileSavePath, filename);
+                if (Directory.Exists(fileurl) == true)  //濡傛灉瀛樺湪閲嶅悕鏂囦欢灏辨彁绀�  
+                {
+                    Result_Ob = new { result = 0, returnval = "瀛樺湪鍚屽悕鏂囦欢锛�" };
+                    return Result_Ob;
+                }
+                //鍒犻櫎鏁版嵁琛ㄦ暟鎹�
+                ds = oCN.RunProcReturn("delete from MES_AccessoriesList where HSourceBillNo ='" + HBillNo + "' and HFileName='" + filename + "'", "MES_AccessoriesList");
+                if (Directory.Exists(path))
+                {
+                    File.Delete(fileurl);      //鍒犻櫎鎸囧畾鏂囦欢
+                    files.SaveAs(fileurl);
+                    string StrPath = "/files/MouldFolder/" + HBillNo + "/" + filename;
+                    if (File.Exists(fileurl))
+                    {
+                        //杩欓噷鍙互鎵ц涓�浜涘叾瀹冪殑鎿嶄綔锛屾瘮濡傛洿鏂版暟鎹簱
+                        //鍐欏叆鏁版嵁琛�
+                        oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" +
+                                    ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" +
+                                    ",HFileClsID,HSourceBillNo" +
+                                   ") values('"
+                                    + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" +
+                                    ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize +
+                                    "','" + 0 + "','" + HBillNo +
+                                   "') ");
+                    }
+                    else
+                    {
+                        Result_Ob = new { result = 0, returnval = "涓婁紶澶辫触锛佹鏂囦欢涓烘伓鎰忔枃浠�" };
+                    }
+                }
+                else
+                {
+                    Directory.CreateDirectory(fileSavePath); //娣诲姞鏂囦欢澶�
+                    files.SaveAs(fileurl);
+                    string StrPath = "/files/MouldFolder/" + HBillNo + "/" + filename;
+                    if (File.Exists(fileurl))
+                    {
+                        //杩欓噷鍙互鎵ц涓�浜涘叾瀹冪殑鎿嶄綔锛屾瘮濡傛洿鏂版暟鎹簱
+                        //鍐欏叆鏁版嵁琛�
+                        oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" +
+                                    ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" +
+                                    ",HFileClsID,HSourceBillNo" +
+                                   ") values('"
+                                    + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" +
+                                    ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize +
+                                    "','" + 0 + "','" + HBillNo +
+                                   "') ");
+                    }
+                    else
+                    {
+                        Result_Ob = new { result = 0, returnval = "涓婁紶澶辫触锛佹鏂囦欢涓烘伓鎰忔枃浠�" };
+                    }
+                }
+
+            }
+            catch (Exception e)
+            {
+                Result_Ob = new { result = 0, returnval = e.Message };
+            }
+            return Result_Ob;
+        }
+
+        /// <summary>
+        /// 鏍规嵁鍗曟嵁鍙锋煡鎵句笂浼犳枃浠跺垪琛�
+        /// </summary>
+        /// <param name="sWhere"></param>
+        /// <returns></returns>
+        [Route("Sc_MouldDotCheckBill/Filelist")]
+        [HttpGet]
+        public object Filelist(string HBillNo)
+        {
+            var url = fileip + "/files/MouldFolder/" + HBillNo + "/";
+            //@"C:\\files\\"
+            try
+            {
+                ds = oCN.RunProcReturn("select *,'" + url + "'+CAST(HFileName as varchar(200))as url  from MES_AccessoriesList where HSourceBillNo='" + HBillNo + "'", "MES_AccessoriesList");
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        /// <summary>
+        /// 鏍规嵁ID,鍗曟嵁鍙�,鏂囦欢鍚� 鍒犻櫎鏂囦欢
+        /// </summary>
+        /// <param name="sWhere"></param>
+        /// <returns></returns>
+        [Route("Sc_MouldDotCheckBill/DeleteFilelist")]
+        [HttpGet]
+        public object DeleteFilelist(string HItemID, string HSourceBillNo, string HFileName)
+        {
+            try
+            {
+
+                oCN.RunProc("delete from MES_AccessoriesList where HItemID =" + HItemID);
+                string fileurl = Path.Combine(HttpContext.Current.Server.MapPath("~/../Files/MouldFolder/" + HSourceBillNo), HFileName);
+                File.Delete(fileurl);      //鍒犻櫎鎸囧畾鏂囦欢
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鍣ㄥ叿淇濆吇璁板綍鎷嶇収涓婁紶
+        [Route("Sc_MouldMaintainBill/UploadFile")]
+        [HttpPost]
+        public object UploadFile_Maintain()
+        {
+
+            string HBillNo = HttpContext.Current.Request.Params["HBillNo"];  //鍗曟嵁鍙�
+            string HRemark = HttpContext.Current.Request.Params["HRemark"];  //澶囨敞
+            string HUserName = HttpContext.Current.Request.Params["HUserName"];  //鍒涘缓浜�
+            HttpPostedFile files = HttpContext.Current.Request.Files["file"];
+            string path = HttpContext.Current.Server.MapPath("~/../Files/MouldFolder/" + HBillNo);
+            //string path = @"D:\\Files\\"+ HBillNo;
+            dynamic dyResult = UpLoadFile_Maintain(files, path, HBillNo, HRemark, HUserName);
+            if (dyResult != null && dyResult.result == 1)
+            {
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "涓婁紶鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = dyResult.returnval;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+
+        }
+
+        public dynamic UpLoadFile_Maintain(HttpPostedFile files, string path, string HBillNo, string HRemark, string HUserName)
+        {
+            dynamic Result_Ob = new { result = 1, returnval = "涓婁紶鎴愬姛锛�" };
+            string filePath = Path.GetFullPath(files.FileName);//鏂囦欢涓婁紶璺緞
+            string fileExtension = Path.GetExtension(files.FileName);// 鏂囦欢鎵╁睍鍚�
+            string filename = files.FileName;//鏂囦欢鍚�
+            string fileSavePath = path;// 涓婁紶淇濆瓨璺緞
+            int filesize = files.ContentLength;//鑾峰彇涓婁紶鏂囦欢鐨勫ぇ灏忓崟浣嶄负瀛楄妭byte
+            int Maxsize = 40000 * 1024;//瀹氫箟涓婁紶鏂囦欢鐨勬渶澶х┖闂村ぇ灏忎负40M
+            try
+            {
+                if (files == null || files.ContentLength <= 0)
+                {
+                    Result_Ob = new { result = 0, returnval = "鏂囦欢涓嶈兘涓虹┖!" };
+                    return Result_Ob;
+                }
+                if (filesize >= Maxsize)
+                {
+                    Result_Ob = new { result = 0, returnval = "涓婁紶鏂囦欢瓒呰繃40M锛屼笉鑳戒笂浼狅紒" };
+                    return Result_Ob;
+                }
+
+                string fileurl = Path.Combine(fileSavePath, filename);
+                if (Directory.Exists(fileurl) == true)  //濡傛灉瀛樺湪閲嶅悕鏂囦欢灏辨彁绀�  
+                {
+                    Result_Ob = new { result = 0, returnval = "瀛樺湪鍚屽悕鏂囦欢锛�" };
+                    return Result_Ob;
+                }
+                //鍒犻櫎鏁版嵁琛ㄦ暟鎹�
+                ds = oCN.RunProcReturn("delete from MES_AccessoriesList where HSourceBillNo ='" + HBillNo + "' and HFileName='" + filename + "'", "MES_AccessoriesList");
+                if (Directory.Exists(path))
+                {
+                    File.Delete(fileurl);      //鍒犻櫎鎸囧畾鏂囦欢
+                    files.SaveAs(fileurl);
+                    string StrPath = "/files/MouldFolder/" + HBillNo + "/" + filename;
+                    if (File.Exists(fileurl))
+                    {
+                        //杩欓噷鍙互鎵ц涓�浜涘叾瀹冪殑鎿嶄綔锛屾瘮濡傛洿鏂版暟鎹簱
+                        //鍐欏叆鏁版嵁琛�
+                        oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" +
+                                    ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" +
+                                    ",HFileClsID,HSourceBillNo" +
+                                   ") values('"
+                                    + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" +
+                                    ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize +
+                                    "','" + 0 + "','" + HBillNo +
+                                   "') ");
+                    }
+                    else
+                    {
+                        Result_Ob = new { result = 0, returnval = "涓婁紶澶辫触锛佹鏂囦欢涓烘伓鎰忔枃浠�" };
+                    }
+                }
+                else
+                {
+                    Directory.CreateDirectory(fileSavePath); //娣诲姞鏂囦欢澶�
+                    files.SaveAs(fileurl);
+                    string StrPath = "/files/MouldFolder/" + HBillNo + "/" + filename;
+                    if (File.Exists(fileurl))
+                    {
+                        //杩欓噷鍙互鎵ц涓�浜涘叾瀹冪殑鎿嶄綔锛屾瘮濡傛洿鏂版暟鎹簱
+                        //鍐欏叆鏁版嵁琛�
+                        oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" +
+                                    ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" +
+                                    ",HFileClsID,HSourceBillNo" +
+                                   ") values('"
+                                    + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" +
+                                    ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize +
+                                    "','" + 0 + "','" + HBillNo +
+                                   "') ");
+                    }
+                    else
+                    {
+                        Result_Ob = new { result = 0, returnval = "涓婁紶澶辫触锛佹鏂囦欢涓烘伓鎰忔枃浠�" };
+                    }
+                }
+
+            }
+            catch (Exception e)
+            {
+                Result_Ob = new { result = 0, returnval = e.Message };
+            }
+            return Result_Ob;
+        }
+
+        /// <summary>
+        /// 鏍规嵁鍗曟嵁鍙锋煡鎵句笂浼犳枃浠跺垪琛�
+        /// </summary>
+        /// <param name="sWhere"></param>
+        /// <returns></returns>
+        [Route("Sc_MouldMaintainBill/Filelist")]
+        [HttpGet]
+        public object Filelist_Maintain(string HBillNo)
+        {
+            var url = fileip + "/files/MouldFolder/" + HBillNo + "/";
+            //@"C:\\files\\"
+            try
+            {
+                ds = oCN.RunProcReturn("select *,'" + url + "'+CAST(HFileName as varchar(200))as url  from MES_AccessoriesList where HSourceBillNo='" + HBillNo + "'", "MES_AccessoriesList");
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        /// <summary>
+        /// 鏍规嵁ID,鍗曟嵁鍙�,鏂囦欢鍚� 鍒犻櫎鏂囦欢
+        /// </summary>
+        /// <param name="sWhere"></param>
+        /// <returns></returns>
+        [Route("Sc_MouldMaintainBill/DeleteFilelist")]
+        [HttpGet]
+        public object DeleteFilelist_Maintain(string HItemID, string HSourceBillNo, string HFileName)
+        {
+            try
+            {
+
+                oCN.RunProc("delete from MES_AccessoriesList where HItemID =" + HItemID);
+                string fileurl = Path.Combine(HttpContext.Current.Server.MapPath("~/../Files/MouldFolder/" + HSourceBillNo), HFileName);
+                File.Delete(fileurl);      //鍒犻櫎鎸囧畾鏂囦欢
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+        
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1