From a1c3a3d1b0b0b8c28a19e99177e4cee5a64949b7 Mon Sep 17 00:00:00 2001
From: zrg <z18737863051@163.com>
Date: 星期二, 25 二月 2025 11:20:17 +0800
Subject: [PATCH] 增加斯莫尔  性能检测散点图报表

---
 WebAPI/Controllers/JHGL/Gy_MaterialTechParamBillController.cs |  638 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 615 insertions(+), 23 deletions(-)

diff --git a/WebAPI/Controllers/JHGL/Gy_MaterialTechParamBillController.cs b/WebAPI/Controllers/JHGL/Gy_MaterialTechParamBillController.cs
index ba7850a..fc223e5 100644
--- a/WebAPI/Controllers/JHGL/Gy_MaterialTechParamBillController.cs
+++ b/WebAPI/Controllers/JHGL/Gy_MaterialTechParamBillController.cs
@@ -10,7 +10,9 @@
 using System.Web.Http;
 using System.Windows.Forms;
 using WebAPI.Models;
-
+using WebAPI.Controllers.SCGL.鏃ヨ鍒掔鐞�;
+using System.IO;
+using SyntacticSugar.constant;
 namespace WebAPI.Controllers.MJGL
 {
     public class Gy_MaterialTechParamBillController : ApiController
@@ -358,12 +360,13 @@
         #region 浜у搧宸ヨ壓鍙傛暟娓呭崟鍒楄〃 瀹℃牳/鍙嶅鏍稿姛鑳�
         [Route("Gy_MaterialTechParamBill/CheckGy_MaterialTechParamBillMain")]
         [HttpGet]
-        public object CheckGy_MaterialTechParamBillMain(string HInterID, int IsAudit, string user)
+        public object CheckGy_MaterialTechParamBillMain(int HInterID, int IsAudit, string CurUserName)
         {
+            DBUtility.ClsPub.CurUserName = CurUserName;
             try
             {
                 //瀹℃牳鏉冮檺
-                if (!DBUtility.ClsPub.Security_Log_second("Gy_MaterialTechParamBillMain_Check", 1, false, user))
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_MaterialTechParamBillMain_Check", 1, false, CurUserName))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -372,12 +375,43 @@
                     return objJsonResult;
                 }
 
-                var ds = oCN.RunProcReturn("select * from Gy_MaterialTechParamBillMain  where HInterID=" + HInterID, "Gy_MaterialTechParamBillMain ");
-                if (ds.Tables[0].Rows.Count > 0)
+                //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.ClsGy_MaterialTechParamBillMain oBill = new DAL.ClsGy_MaterialTechParamBillMain();                              //瀹炰緥鍖栧崟鎹搷浣滅被锛岀敤浜庤繘琛岀浉鍏虫搷浣�
+
+                //閽堝闇�瑕佽繘琛岀殑鎿嶄綔锛屾楠屽綋鍓嶅崟鎹殑鐘舵�佹槸鍚︽敮鎸侀渶瑕佽繘琛岀殑鎿嶄綔
+                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))                    //鏍规嵁HInterID鑾峰彇璇ュ崟鎹殑鏁版嵁
+                {
+                    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 (IsAudit == 0)  //瀹℃牳鍒ゆ柇
                     {
-                        if (ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        if (oBill.omodel.HChecker.Trim() != "")
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
@@ -388,7 +422,7 @@
                     }
                     if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
                     {
-                        if (ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        if (oBill.omodel.HChecker.Trim() == "")
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
@@ -402,38 +436,117 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
 
-                oCN.BeginTran();
 
-                if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                //杩涜闇�瑕佽繘琛岀殑瀹℃牳/鍙嶅鏍告搷浣�
+                if (IsAudit == 0) //瀹℃牳鎻愪氦
                 {
-                    oCN.RunProc("update Gy_MaterialTechParamBillMain  set HChecker='" + user + "',HCheckDate=getdate() where HInterID=" + HInterID);
+                    oCN.BeginTran();
 
-                    objJsonResult.code = "1";
-                    objJsonResult.count = 1;
-                    objJsonResult.Message = "瀹℃牳鎴愬姛";
-                    objJsonResult.data = null;
+                    //璁板綍杩斿洖淇℃伅
+                    string msg = "";
+
+
+
+                    //瀹℃牳鍓嶆帶鍒�=========================================      
+                    string sql1 = "exec h_p_Gy_MaterialTechParamBill_BeforeCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Gy_MaterialTechParamBill_BeforeCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.data = null;
+                        oCN.RollBack();
+                        return objJsonResult;
+                    }
+
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        oCN.RollBack();
+                        return objJsonResult;
+                    }
+                    //==================================================================================      
+
+                    //瀹℃牳鎻愪氦
+                    if (oBill.CheckBill(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Gy_MaterialTechParamBill_AfterCheckCtrl", CurUserName, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        oCN.Commit();
+
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳鎴愬姛锛�" + msg;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        oCN.RollBack();
+
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
                 }
-                if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                if (IsAudit == 1) //鍙嶅鏍告彁浜�
                 {
-                    oCN.RunProc("update Gy_MaterialTechParamBillMain  set HChecker='',HCheckDate=null where HInterID=" + HInterID);
 
-                    objJsonResult.code = "1";
-                    objJsonResult.count = 1;
-                    objJsonResult.Message = "鍙嶅鏍告垚鍔�";
-                    objJsonResult.data = null;
+                    //鍙嶅鏍稿墠鎺у埗=========================================        
+                    string sql1 = "exec h_p_Gy_MaterialTechParamBill_BeforeUnCheckCtrl " + oBill.omodel.HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Gy_MaterialTechParamBill_BeforeUnCheckCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:鍙嶅鏍稿墠鍒ゆ柇澶辫触锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //===========================================================          
+
+                    //鍙嶅鏍告彁浜bandonCheck
+                    if (oBill.AbandonCheck(oBill.omodel.HInterID, oBill.omodel.HBillNo, "h_p_Gy_MaterialTechParamBill_AfterUnCheckCtrl", CurUserName, 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;
+                    }
                 }
-                oCN.Commit();
-
                 return objJsonResult;
             }
             catch (Exception e)
             {
                 oCN.RollBack();
+
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
                 objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
@@ -532,5 +645,484 @@
             }
         }
         #endregion
+
+
+        #region 浜у搧宸ヨ壓鍙傛暟 鏂囦欢瀵煎叆淇濆瓨
+        #region 浜у搧宸ヨ壓鍙傛暟 鏂囦欢涓婁紶
+        [Route("Gy_MaterialTechParamBill/Gy_MaterialTechParamBill_Excel")]
+        [HttpPost]
+        public object Gy_MaterialTechParamBill_Excel()
+        {
+            try
+            {
+                //鑾峰彇鏂囦欢鍚嶇О
+                var file = HttpContext.Current.Request.Files[0];
+                //鑾峰彇鏂囦欢鐗╃悊璺緞
+                string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName);
+                //淇濆瓨鏂囦欢
+                file.SaveAs(ExcelPath);
+
+                NpoiHelper np = new NpoiHelper();
+                DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0");
+
+                //鍒犻櫎鏂囦欢
+                File.Delete(ExcelPath);
+
+                //鍒涘缓涓存椂琛�
+                DataTable tb2 = new DataTable("dt2");
+
+                //娣诲姞鍒楀悕
+                for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
+                {
+                    tb2.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
+                }
+
+                //妯℃澘缂哄皯鍒� 浣嗛渶瑕佷粠鏁版嵁搴撲腑鏌ヨ鍑烘潵鏄剧ず鍦ㄩ〉闈㈢殑瀛楁
+                tb2.Columns.Add("HOrgID", typeof(Int32));//缁勭粐ID
+                tb2.Columns.Add("HDeptID", typeof(Int32));//閮ㄩ棬ID
+                tb2.Columns.Add("HEmpID", typeof(Int32));//璐熻矗浜篒D
+                tb2.Columns.Add("HMaterID", typeof(Int32));//鐗╂枡ID
+                tb2.Columns.Add("HTechParamID", typeof(Int32));//宸ヨ壓鍙傛暟ID
+                tb2.Columns.Add("HTechParamUnitID", typeof(Int32));//宸ヨ壓鍙傛暟鍗曚綅ID
+                //娣诲姞鏁版嵁
+                for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
+                {
+                    DataRow row = tb2.NewRow();
+                    for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
+                    {
+                        row[j] = ExcelDs.Tables[0].Rows[i][j].ToString();
+                    }
+                    tb2.Rows.Add(row);
+                }
+
+
+                var error = "";
+
+                //鏌ヨ娌℃湁鐨勫垪
+                if (!tb2.Columns.Contains("缁勭粐浠g爜"))
+                    error += "娌℃湁鎵惧埌銆愮粍缁囦唬鐮併�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("缁勭粐鍚嶇О"))
+                    error += "娌℃湁鎵惧埌銆愮粍缁囧悕绉般�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("閮ㄩ棬浠g爜"))
+                    error += "娌℃湁鎵惧埌銆愰儴闂ㄤ唬鐮併�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("閮ㄩ棬鍚嶇О"))
+                    error += "娌℃湁鎵惧埌銆愰儴闂ㄥ悕绉般�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("璐熻矗浜轰唬鐮�"))
+                    error += "娌℃湁鎵惧埌銆愯礋璐d汉浠g爜銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("璐熻矗浜哄悕绉�"))
+                    error += "娌℃湁鎵惧埌銆愯礋璐d汉鍚嶇О銆戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("鐗╂枡浠g爜"))
+                    error += "娌℃湁鎵惧埌銆愮墿鏂欎唬鐮併�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("鐗╂枡鍚嶇О"))
+                    error += "娌℃湁鎵惧埌銆愮墿鏂欏悕绉般�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("澶囨敞"))
+                    error += "娌℃湁鎵惧埌銆愬娉ㄣ�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸ヨ壓鍙傛暟浠g爜"))
+                    error += "娌℃湁鎵惧埌銆愬伐鑹哄弬鏁颁唬鐮併�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸ヨ壓鍙傛暟鍚嶇О"))
+                    error += "娌℃湁鎵惧埌銆愬伐鑹哄弬鏁板悕绉般�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸ヨ壓鍙傛暟鍗曚綅浠g爜"))
+                    error += "娌℃湁鎵惧埌銆愬伐鑹哄弬鏁板崟浣嶄唬鐮併�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("宸ヨ壓鍙傛暟鍗曚綅鍚嶇О"))
+                    error += "娌℃湁鎵惧埌銆愬伐鑹哄弬鏁板崟浣嶅悕绉般�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("鏍囧噯鍊�"))
+                    error += "娌℃湁鎵惧埌銆愭爣鍑嗗�笺�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("涓婇檺"))
+                    error += "娌℃湁鎵惧埌銆愪笂闄愩�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("涓嬮檺"))
+                    error += "娌℃湁鎵惧埌銆愪笅闄愩�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("閲囬泦鏉ユ簮"))
+                    error += "娌℃湁鎵惧埌銆愰噰闆嗘潵婧愩�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("閲囬泦鍛ㄦ湡棰戠巼"))
+                    error += "娌℃湁鎵惧埌銆愰噰闆嗗懆鏈熼鐜囥�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("閲囬泦鍛ㄦ湡鍗曚綅"))
+                    error += "娌℃湁鎵惧埌銆愰噰闆嗗懆鏈熷崟浣嶃�戠殑鏍囬,";
+
+                if (!tb2.Columns.Contains("鍗曟嵁鍙�"))
+                    error += "娌℃湁鎵惧埌銆愬崟鎹彿銆戠殑鏍囬,";
+
+                if (error.Length > 0)
+                {
+                    objJsonResult.code = CodeConstant.FAIL;
+                    objJsonResult.count = CountConstant.FAIL;
+                    objJsonResult.Message = $"Excel妯℃澘瀛樺湪閿欒,{error}\r\n";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                for (int i = 0; i <= tb2.Rows.Count - 1; i++)
+                {
+                    string HORGNumber = "";
+                    string HORGName = "";
+                    string HDeptName = "";
+                    string HDeptNumber = "";
+                    string HEmpName = "";
+                    string HEmpNumber = "";
+                    string HMaterNumber = "";
+                    string HMaterName = "";
+                    string HTechParamNumber = "";
+                    string HTechParamName = "";
+                    string HTechParamUnitNumber = "";
+                    string HTechParamUnitName = "";
+                    string HBillNo = "";
+
+                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["缁勭粐浠g爜"].ToString());
+                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["缁勭粐鍚嶇О"].ToString());
+                    HDeptNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["閮ㄩ棬浠g爜"].ToString());
+                    HDeptName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["閮ㄩ棬鍚嶇О"].ToString());
+                    HEmpNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["璐熻矗浜轰唬鐮�"].ToString());
+                    HEmpName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["璐熻矗浜哄悕绉�"].ToString());
+                    HMaterNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["鐗╂枡浠g爜"].ToString());
+                    HMaterName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["鐗╂枡鍚嶇О"].ToString());
+                    HTechParamNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸ヨ壓鍙傛暟浠g爜"].ToString());
+                    HTechParamName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸ヨ壓鍙傛暟鍚嶇О"].ToString());
+                    HTechParamUnitNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸ヨ壓鍙傛暟鍗曚綅浠g爜"].ToString());
+                    HTechParamUnitName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["宸ヨ壓鍙傛暟鍗曚綅鍚嶇О"].ToString());
+                    HBillNo = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["鍗曟嵁鍙�"].ToString());
+
+                    //妫�鏌�
+                    int index = i + 1;
+                    //缁勭粐
+                    if (HORGNumber != "")
+                    {
+                        //鏌ヨ缁勭粐
+                        ds = oCN.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HORGNumber + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = CodeConstant.FAIL;
+                            objJsonResult.count = CountConstant.FAIL;
+                            objJsonResult.Message = "绗�" + index + "琛�,缁勭粐涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HOrgID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+                    }
+                    else
+                    {
+                        objJsonResult.code = CodeConstant.FAIL;
+                        objJsonResult.count = CountConstant.FAIL;
+                        objJsonResult.Message = "绗�" + index + "琛�,缁勭粐浠g爜涓虹┖";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //閮ㄩ棬浠g爜
+                    if (HDeptNumber != "")
+                    {
+                        ds = oCN.RunProcReturn("select * from Gy_Department where  HNumber='" + HDeptNumber + "' and Hname='" + HDeptName + "'", "Gy_Department");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = CodeConstant.FAIL;
+                            objJsonResult.count = CountConstant.FAIL;
+                            objJsonResult.Message = "绗�" + index + "琛�,閮ㄩ棬涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HDeptID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+                    }
+                    else
+                    {
+                        tb2.Rows[i]["HDeptID"] = "0";
+                    }
+                    //璐熻矗浜轰唬鐮�
+                    if (HEmpNumber != "")
+                    {
+                        ds = oCN.RunProcReturn("select * from Gy_Employee where  HNumber='" + HEmpNumber + "' and Hname='" + HEmpName + "'", "Gy_Employee");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = CodeConstant.FAIL;
+                            objJsonResult.count = CountConstant.FAIL;
+                            objJsonResult.Message = "绗�" + index + "琛�,璐熻矗浜轰笉瀛樺湪锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HEmpID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+                    }
+                    //鐗╂枡浠g爜
+                    if (HMaterNumber != "")
+                    {
+                        ds = oCN.RunProcReturn("select * from Gy_Material where  HNumber='" + HMaterNumber + "' and Hname='" + HMaterName + "'", "Gy_Material");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = CodeConstant.FAIL;
+                            objJsonResult.count = CountConstant.FAIL;
+                            objJsonResult.Message = "绗�" + index + "琛�,鐗╂枡涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HMaterID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+                    }
+                    //宸ヨ壓鍙傛暟浠g爜
+                    if (HTechParamNumber != "")
+                    {
+                        ds = oCN.RunProcReturn("select * from Gy_TechnologyParameter where  HNumber='" + HTechParamNumber + "' and Hname='" + HTechParamName + "'", "Gy_TechnologyParameter");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = CodeConstant.FAIL;
+                            objJsonResult.count = CountConstant.FAIL;
+                            objJsonResult.Message = "绗�" + index + "琛�,宸ヨ壓鍙傛暟涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HTechParamID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+                    }
+                    //宸ヨ壓鍙傛暟鍗曚綅浠g爜
+                    if (HTechParamUnitNumber != "")
+                    {
+                        ds = oCN.RunProcReturn("select * from Gy_TechnologyParameterUnit where  HNumber='" + HTechParamUnitNumber + "' and Hname='" + HTechParamUnitName + "'", "Gy_TechnologyParameterUnit");
+
+                        if (ds.Tables[0].Rows.Count == 0)
+                        {
+                            objJsonResult.code = CodeConstant.FAIL;
+                            objJsonResult.count = CountConstant.FAIL;
+                            objJsonResult.Message = "绗�" + index + "琛�,宸ヨ壓鍙傛暟鍗曚綅涓嶅瓨鍦紒";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            tb2.Rows[i]["HTechParamUnitID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
+                        }
+                    }
+                    //鍗曟嵁鍙�
+                    if (HBillNo == "")
+                    {
+                        objJsonResult.code = CodeConstant.FAIL;
+                        objJsonResult.count = CountConstant.FAIL;
+                        objJsonResult.Message = "绗�" + index + "琛�,鍗曟嵁鍙蜂笉鑳戒负绌猴紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+
+                }
+
+                objJsonResult.code = CodeConstant.SUCCEED;
+                objJsonResult.count = CountConstant.SUCCEED;
+                objJsonResult.Message = error;
+                objJsonResult.data = tb2;
+                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("Gy_MaterialTechParamBill/Gy_MaterialTechParamBill_btnSave")]
+        [HttpPost]
+        public object Gy_MaterialTechParamBill_btnSave([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { "&鍜�" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string user = sArray[1].ToString();
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Gy_MaterialTechParamBillMain_Edit", 1, false, user))
+                {
+                    objJsonResult.code = CodeConstant.FAIL;
+                    objJsonResult.count = CountConstant.FAIL;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2);
+                List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
+
+                foreach (JObject item in Excel)
+                {
+                    Dictionary<string, string> dic = new Dictionary<string, string>();
+                    foreach (var itm in item.Properties())
+                    {
+                        dic.Add(itm.Name, itm.Value.ToString());
+                    }
+                    list.Add(dic);
+                }
+
+                oCN.BeginTran();
+                int i = 1;
+                foreach (Dictionary<string, string> item in list)
+                {
+                    string HBillType = "3334";
+                    string HMaker = user;//鍒跺崟浜�
+                    DateTime HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --鏃ユ湡
+                    long HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    long HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+                    string HBillNo = item["鍗曟嵁鍙�"].ToString();//鍗曟嵁鍙�
+                    string HOrgID = item["HOrgID"].ToString();//缁勭粐ID
+                    string HDeptID = item["HDeptID"].ToString() == "" ? "0" : item["HDeptID"].ToString();
+                    string HEmpID = item["HEmpID"].ToString() == "" ? "0" : item["HEmpID"].ToString();
+                    string HMaterID = item["HMaterID"].ToString()== "" ? "0" : item["HMaterID"].ToString();
+                    string HRemark = item["澶囨敞"].ToString();
+                    //瀛愯〃
+                    string HTechParamID = item["HTechParamID"].ToString() == "" ? "0" : item["HTechParamID"].ToString();//宸ヨ壓鍙傛暟
+                    string HTechParamUnitID = item["HTechParamUnitID"].ToString() == "" ? "0" : item["HTechParamUnitID"].ToString();//宸ヨ壓鍙傛暟浠g爜
+                    string HStd = item["鏍囧噯鍊�"].ToString() == "" ? "0" : item["鏍囧噯鍊�"].ToString();
+                    string HMax = item["涓婇檺"].ToString() == "" ? "0" : item["涓婇檺"].ToString();
+                    string HMin = item["涓嬮檺"].ToString() == "" ? "0" : item["涓嬮檺"].ToString();
+                    string HDataForm = item["閲囬泦鏉ユ簮"].ToString();
+                    string HDataTimes = item["閲囬泦鍛ㄦ湡棰戠巼"].ToString() == "" ? "0" : item["閲囬泦鍛ㄦ湡棰戠巼"].ToString();
+                    string HDataUnit = item["閲囬泦鍛ㄦ湡鍗曚綅"].ToString();
+                    ds = oCN.RunProcReturn("select * from Gy_MaterialTechParamBillMain where HBillNo='" + HBillNo + "'", "Gy_MaterialTechParamBillMain");
+
+                    if (ds.Tables[0].Rows.Count == 0)
+                    {
+                        long HInterID = DBUtility.ClsPub.CreateBillID(HBillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                        //鎻掑叆涓昏〃
+                        oCN.RunProc("insert into Gy_MaterialTechParamBillMain" +
+                            "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HRemark,HMaker,HMakeDate" +
+                            ",HDeptID,HEmpID,HMaterID,HWorkCenterID,HEquipID,HOrgID,HProcID,HMouldID ) " +
+                            "values(" +
+                            "" + HYear.ToString() +
+                            "," + HPeriod.ToString() +
+                            ",'" + HBillType +
+                            "','" + HBillType +
+                            "'," + HInterID +
+                            ",'" + HDate +
+                            "','" + HBillNo +
+                            "','" + HRemark +
+                            "','" + HMaker +
+                            "'," + "getdate()" +
+                            "," + HDeptID +
+                            "," + HEmpID +
+                            ",'" + HMaterID +
+                            "','" + 0 +
+                            "','" + 0 +
+                            "','" + HOrgID +
+                            "','" + 0 +
+                             "','" + 0 +
+                            "')");
+                        //鎻掑叆瀛愯〃
+                        oCN.RunProc("insert into Gy_MaterialTechParamBillSub" +
+                           "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                           ",HTechParamID,HTechParamUnitID,HStd,HMax,HMin,HDataForm,HDataUnit,HDataTimes,HTechParamClassID,HSNO,HStdNextTimes,HTechParamIDStd) " +
+                           " values(" +
+                           "" + HInterID.ToString() +
+                           "," + 1 +
+                           "," + 0 +
+                           "," + 0 +
+                           ",'" + "" +
+                           "','" + "" +
+                           "','" + HTechParamID +
+                           "','" + HTechParamUnitID +
+                           "','" + HStd +
+                           "','" + HMax +
+                           "','" + HMin +
+                           "','" + HDataForm +
+                           "','" + HDataUnit +
+                           "','" + HDataTimes +
+                           "','" + 0 +
+                           "','" + 0 +
+                           "','" + 0 +
+                           "','" + "" +
+                           "')");
+                    }
+                    else
+                    {
+                        long HInterID = long.Parse(ds.Tables[0].Rows[0]["HInterID"].ToString());
+                        //鑾峰彇鏈�澶у瓙id
+                        DataSet ds2 = oCN.RunProcReturn("select max(HEntryID) HEntryID from Gy_MaterialTechParamBillSub where HInterID='" + HInterID + "'", "Gy_MaterialTechParamBillSub");
+                        long HEntryID = 1;
+                        if (ds2.Tables[0].Rows.Count > 0)
+                        {
+                            HEntryID = long.Parse(ds2.Tables[0].Rows[0]["HEntryID"].ToString()) + 1;
+                        }
+                        //鎻掑叆瀛愯〃
+                        oCN.RunProc("insert into Gy_MaterialTechParamBillSub" +
+                           "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
+                           ",HTechParamID,HTechParamUnitID,HStd,HMax,HMin,HDataForm,HDataUnit,HDataTimes,HTechParamClassID,HSNO,HStdNextTimes,HTechParamIDStd) " +
+                           " values(" +
+                           "" + HInterID.ToString() +
+                           "," + HEntryID +
+                           "," + 0 +
+                           "," + 0 +
+                           ",'" + "" +
+                           "','" + "" +
+                           "','" + HTechParamID +
+                           "','" + HTechParamUnitID +
+                           "','" + HStd +
+                           "','" + HMax +
+                           "','" + HMin +
+                           "','" + HDataForm +
+                           "','" + HDataUnit +
+                           "','" + HDataTimes +
+                           "','" + 0 +
+                           "','" + 0 +
+                           "','" + 0 +
+                           "','" + "" +
+                           "')");
+                    }
+
+                    i++;
+                }
+
+                oCN.Commit();
+
+                objJsonResult.code = CodeConstant.SUCCEED;
+                objJsonResult.count = CountConstant.SUCCEED;
+                objJsonResult.Message = "瀵煎叆鎴愬姛!";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                LogService.Write(e);
+                oCN.RollBack();
+                objJsonResult.code = CodeConstant.FAIL;
+                objJsonResult.count = CountConstant.FAIL;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+        #endregion
+
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1