From 797e02f68d79c931233f25af1d39bc136ce6185d Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期一, 21 四月 2025 15:47:05 +0800
Subject: [PATCH] 1

---
 WebAPI/Controllers/CJGL/Cj_StationInBillController.cs |  736 +++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 649 insertions(+), 87 deletions(-)

diff --git a/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
index 89276bf..3f10ece 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationInBillController.cs
@@ -6,6 +6,8 @@
 using System.Collections.Generic;
 using System.Data;
 using System.Data.SqlClient;
+using System.IO;
+using System.Web;
 using System.Web.Http;
 using System.Windows.Forms;
 using WebAPI.Models;
@@ -23,6 +25,7 @@
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         public DAL.ClsSc_ICMOBill BillOld = new DAL.ClsSc_ICMOBill();
+        string fileip = System.Configuration.ConfigurationManager.AppSettings["FileIP"];
         DataSet ds;
         DataSet ds1;
 
@@ -49,7 +52,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "寮�宸ュ崟鏃犵紪杈戞潈闄�!";
+                        objJsonResult.Message = "[3790-2-003]寮�宸ュ崟鏃犵紪杈戞潈闄�!";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -60,7 +63,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "杩涚珯鍗曟棤缂栬緫鏉冮檺!";
+                        objJsonResult.Message = "[3790-2-003]杩涚珯鍗曟棤缂栬緫鏉冮檺!";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -78,7 +81,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "閿欒鐨勬祦杞崱鍐呯爜锛�";
+                    objJsonResult.Message = "[3790-2-004]閿欒鐨勬祦杞崱鍐呯爜锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -87,7 +90,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "娴佹按鍙锋病鏈夐�夋嫨锛佽杈撳叆娴佹按鍙峰悗鍥炶溅锛�";
+                    objJsonResult.Message = "[3790-2-002]娴佹按鍙锋病鏈夐�夋嫨锛佽杈撳叆娴佹按鍙峰悗鍥炶溅锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -96,7 +99,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "娴佹按鍙锋病鏈夐�夋嫨锛�";
+                    objJsonResult.Message = "[3790-2-005]娴佹按鍙锋病鏈夐�夋嫨锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -105,7 +108,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "娴佽浆鍗″彿娌℃湁閫夋嫨锛�";
+                    objJsonResult.Message = "[3790-2-006]娴佽浆鍗″彿娌℃湁閫夋嫨锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -115,10 +118,11 @@
                 string HBillNo = list[0].HBillNo;//閫掑叆type寰楀埌鐨勫崟鎹彿
                 int HBillStatus = 0;
                 string HMaker = user;//鍒跺崟浜�
-                int HYear = 2021;
-                double HPeriod = 1;
+                int HYear = DateTime.Now.Year;
+                double HPeriod = DateTime.Now.Month;
                 string HRemark = list[0].HRemark;//澶囨敞
                 long HICMOInterID = list[0].HICMOInterID;//浠诲姟鍗旾D
+                long HICMOEntryID = list[0].HICMOEntryID;//浠诲姟鍗曞瓙ID
                 string HICMOBillNo = list[0].HICMOBillNo;//浠诲姟鍗�
                 long HProcPlanInterID = 0;
                 long HProcPlanEntryID = 0;
@@ -144,26 +148,28 @@
                 string HOrderProcNO = list[0].HOrderProcNO;//璁㈠崟璺熻釜鍙�
                 long HPRDOrgID = list[0].HPRDOrgID;//缁勭粐ID
                 double HmaterOutqty = list[0].HmaterOutqty;//鐧藉澂鍙戝竷
+                long HMaterToSourceInterID = list[0].HMaterToSourceInterID;//涓婃枡闃查敊鍗旾D
+                string HMaterToSourceBillNo = list[0].HMaterToSourceBillNo;//涓婃枡闃查敊鍗曞崟鎹彿
                 //鍗曟嵁瀹屾暣鎬у垽鏂�
                 if (HMaterID <= 0)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "浜у搧娌℃湁閫夋嫨锛�";
+                    objJsonResult.Message = "[0000-2-007]浜у搧娌℃湁閫夋嫨锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
                 string sReturn = "";
                 if (oSystemParameter.ShowBill(ref sReturn) == true)
                 {
-                    if (oSystemParameter.omodel.WMS_CampanyName == "涔斾竴") //绯荤粺鍙傛暟  鍒ゆ柇瀹㈡埛
+                    if (oSystemParameter.omodel.WMS_CampanyName == "涔斾竴" || oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏂帿灏�") //绯荤粺鍙傛暟  鍒ゆ柇瀹㈡埛
                     {
                         //鍒ゆ柇鐢熶骇璧勬簮
                         if (HSourceID <= 0)
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "鐢熶骇璧勬簮娌℃湁閫夋嫨锛�";
+                            objJsonResult.Message = "[0000-2-006]鐢熶骇璧勬簮娌℃湁閫夋嫨锛�";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
@@ -174,7 +180,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "宸ヤ綔涓績娌℃湁閫夋嫨锛�";
+                    objJsonResult.Message = "[0000-2-010]宸ヤ綔涓績娌℃湁閫夋嫨锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -182,7 +188,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "褰撳墠宸ュ簭娌℃湁閫夋嫨锛�";
+                    objJsonResult.Message = "[0000-2-011]褰撳墠宸ュ簭娌℃湁閫夋嫨锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -190,7 +196,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鎺ユ敹涓暟涓嶈兘涓�0锛�";
+                    objJsonResult.Message = "[3790-2-007]鎺ユ敹涓暟涓嶈兘涓�0锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -200,7 +206,7 @@
 
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鍒ゆ柇棣栭亾宸ュ簭澶辫触锛屼笉鍏佽淇濆瓨锛�";
+                    objJsonResult.Message = "[3790-2-008]鍒ゆ柇棣栭亾宸ュ簭澶辫触锛屼笉鍏佽淇濆瓨锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -212,7 +218,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    objJsonResult.Message = "[0000-2-012]淇濆瓨鍓嶅垽鏂け璐ワ紒";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -220,7 +226,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    objJsonResult.Message = "[0000-1-051]淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -236,7 +242,7 @@
                         oCN.RollBack();
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒";
+                        objJsonResult.Message = "[0000-2-013]鍗曟嵁鍙烽噸澶嶏紒";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -260,6 +266,29 @@
                     ",'" + HProcNo + "','" + HOrderProcNO + "','" + HMainInterID + "'," + HPRDOrgID +
                     ","+ HmaterOutqty + ") ");
 
+                    if(HMaterToSourceInterID!=0)
+                    {
+                        //鐢熸垚涓婃枡闃查敊鍗�
+                        //鎻掑叆瀛愯〃
+                        oCN.RunProc("EXEC h_p_Sc_MaterToSourceBillSub_Insert " + HMaterToSourceInterID.ToString() + ",'" + HMaterToSourceBillNo + "'");
+                        //鎻掑叆涓昏〃
+                        oCN.RunProc("Insert Into Sc_MaterToSourceBillMain   " +
+                        "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
+                        ",HYear,HPeriod,HRemark,HMaker,HMakeDate,HChecker,HCheckDate" +
+                        ",HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType" +
+                        ",HProcExchInterID,HProcExchEntryID,HProcExchBillNo,HICMOInterID,HICMOEntryID,HICMOBillNo" +
+                        ",HSourceID,HProcID,HMaterID,HSourceBarCode,HEquipID,HWorkerID,HWorkerBarCode" +
+                        ",HGroupID,HProcNo,HStockOrgID" +
+                        ") " +
+                        " values('3786','3790'," + HMaterToSourceInterID.ToString() + ",'" + HMaterToSourceBillNo + "',convert(varchar(10),getdate(),120)" +
+                        ",year(getdate()),month(getdate()),'宸ュ簭杩涚珯缁戝畾鐢熸垚','" + HMaker + "',getdate(),'" + HMaker + "',getdate()" +
+                        "," + HInterID.ToString() + ",0,'" + HBillNo + "','3790'" +
+                        "," + HProcExchInterID.ToString() + "," + HProcExchEntryID.ToString() + ",'" + HProcExchBillNo + "'," + HICMOInterID.ToString() + "," + HICMOEntryID.ToString() + ",'" + HICMOBillNo + "'" +
+                        "," + HSourceID.ToString() + "," + HProcID.ToString() + "," + HMaterID.ToString() + ",'',0,0,''" +
+                        "," + HGroupID.ToString() + "," + HProcNo.ToString() + "," + HPRDOrgID.ToString() +
+                        ") ");
+                    }
+                    //鍐欏叆鏃ュ織
                     LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板宸ュ簭杩涚珯鍗曟嵁:" + HBillNo);
                     oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板宸ュ簭杩涚珯鍗曟嵁锛�" + HBillNo + "','LMES-宸ュ簭杩涚珯妯″潡','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
                 }
@@ -313,18 +342,18 @@
                     oCN.RollBack();
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鎿嶄綔绫诲瀷鏃犳晥锛�";
+                    objJsonResult.Message = "[鎿嶄綔绫诲瀷鏃犳晥]鎿嶄綔绫诲瀷鏃犳晥锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-                
+
                 ds = oCN.RunProcReturn("exec h_p_MES_StationInBill_QtyCtrl " + HInterID + "", "h_p_MES_StationInBill_QtyCtrl");
                 if (ds == null)
                 {
                     oCN.RollBack();
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鍒ゆ柇鏁伴噺澶辫触锛�";
+                    objJsonResult.Message = "[0000-2-015]鍒ゆ柇鏁伴噺澶辫触锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -333,7 +362,7 @@
                     oCN.RollBack();
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鍒ゆ柇鏁伴噺澶辫触锛�";
+                    objJsonResult.Message = "[0000-2-015]鍒ゆ柇鏁伴噺澶辫触锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -342,7 +371,7 @@
                     oCN.RollBack();
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                    objJsonResult.Message = "[0000-2-015]" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -360,14 +389,14 @@
 
                 }
 
-                //=========================淇濆瓨鍚庢帶鍒�  
+                //=========================淇濆瓨鍚庢帶鍒�  ============================
                 DataSet ds2 = oCN.RunProcReturn("Exec h_p_Sc_StationInBill_AfterSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + "',1 ", "h_p_Sc_StationInBill_AfterSaveCtrl");
                 if (ds2 == null)
                 {
                     oCN.RollBack();
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "淇濆瓨鍚庢帶鍒跺垽鏂け璐ワ紒";
+                    objJsonResult.Message = "[0000-2-016]淇濆瓨鍚庢帶鍒跺垽鏂け璐ワ紒";
                     objJsonResult.data = null;
                     return objJsonResult;
                    
@@ -377,11 +406,11 @@
                     oCN.RollBack();
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "淇濆瓨澶辫触2锛�" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
+                    objJsonResult.Message = "[0000-1-051]淇濆瓨澶辫触2锛�" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
-                //============================
+                //=======================================================
 
                 oCN.Commit();
                
@@ -396,9 +425,29 @@
                         objJsonResult.Verify = "N";
                     }
                 }
+
+                //娴嬭瘯璇彞===========================================================================================================
+                string msg_str = "";
+                string sql_str = "select a.HQty HQty_Main,b.HQty HQty_Sub " +
+                            "from Sc_ProcessExchangeBillMain as a " +
+                            "inner join Sc_ProcessExchangeBillSub as b on a.HInterID = b.HInterID " +
+                            "where a.HInterID = " + HProcExchInterID;
+                DataSet ds_str = oCN.RunProcReturn(sql_str, "Sc_ProcessExchangeBillMain");
+                if (ds_str.Tables[0].Rows.Count > 0)
+                {
+                    msg_str = "HQty_Main:" + ds_str.Tables[0].Rows[0]["HQty_Main"].ToString() + ";HQty_Sub:";
+                    for (int j = 0; j < ds_str.Tables[0].Rows.Count; j++)
+                    {
+                        msg_str += ds_str.Tables[0].Rows[j]["HQty_Sub"].ToString() + ",";
+                    }
+                }
+
+                oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼宸ュ簭杩涚珯鍗曟嵁锛�" + HBillNo + "[宸ュ簭娴佽浆鍗″彿锛�" + HProcExchBillNo + "]" + msg_str + "','LMES-宸ュ簭鍑虹珯妯″潡','" + DBUtility.ClsPub.IPAddress + "','鏂板鎴栦慨鏀瑰崟鎹�'", ref DBUtility.ClsPub.sExeReturnInfo);
+                //==============================================================================================================
+
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
-                objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�";
+                objJsonResult.Message = "[0000-1-050]鏂板鍗曟嵁鎴愬姛锛�";
                 objJsonResult.data = ds.Tables[0];
                 return objJsonResult;
             }
@@ -407,7 +456,7 @@
                 oCN.RollBack();
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.Message = "[0000-1-051]Exception锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -423,6 +472,67 @@
         }
         #endregion
 
+        #region 宸ュ簭杩涚珯鎺ユ敹鍗曟祦姘村彿鍥炶溅鑾峰彇宸ュ簭淇℃伅锛屽苟鏍规嵁绯荤粺鍙傛暟鍒ゆ柇杩涚珯鍗曟槸鍚︾粦瀹氶厤浠舵竻鍗� 20240621
+        [Route("Cj_StationInBill/HProcNo_KeyDown")]
+        [HttpGet]
+        public object HProcNo_KeyDown(string HBillNo, string HProcExchBillNo, Int64 HProcNo, string HMaker)
+        {
+            try
+            {
+                if (HProcExchBillNo.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娴佽浆鍗℃病鏈夋壂鎻忥紝鎴栬�呮病鏈夋寜鍥炶溅閿紝璇锋壂鎻忔祦杞崱鎴栧湪娴佽浆鍗℃枃鏈涓寜鍥炶溅閿紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //鑾峰彇绯荤粺鍙傛暟
+                string sErrMsg = "";
+                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
+                {
+                    string MES_StationInBill_LineBindCtl = "N"; //杩涚珯鎺ユ敹鏃舵槸鍚︾粦瀹氳宸ュ簭鐨勯厤浠舵竻鍗曪紙Y鏄渶瑕佺粦瀹氾紝N涓嶉渶瑕佺粦瀹氾級
+                    string MES_StationInBill_DefQty = "4";      //宸ュ簭杩涚珯鏃堕粯璁ゅ甫鍏ユ暟閲忥紙1.娴佽浆鍗℃暟锛�2.涓婇亾鍚堟牸鏁伴噺锛�3.鐗╂枡鏈�灏忓寘瑁呮暟閲忥紝4.涓嶅甫鍏ワ級
+                    MES_StationInBill_LineBindCtl = oSystemParameter.omodel.MES_StationInBill_LineBindCtl;
+                    MES_StationInBill_DefQty = oSystemParameter.omodel.MES_StationInBill_DefQty;
+
+                    ds = oCN.RunProcReturn("exec h_p_MES_StationInBill_HProcNo_KeyDown '" + HBillNo + "','" + HProcExchBillNo + "'," + HProcNo.ToString() + ",'" + MES_StationInBill_LineBindCtl + "','" + MES_StationInBill_DefQty + "','" + HMaker + "'", "h_p_MES_StationInBill_HProcNo_KeyDown");
+
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "宸ュ簭鍙烽敊璇垨鑰呭綋鍓嶅伐搴忓彿涓嶅厑璁歌繘绔欙紝璇烽噸鏂拌緭鍏ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鎴愬姛锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鑾峰彇绯荤粺鍙傛暟澶辫触锛� " + sErrMsg;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "宸ュ簭杩涚珯鎺ユ敹鍗曟祦姘村彿鑾峰彇淇℃伅澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         #region 宸ュ簭杩涚珯鎺ユ敹鍗曟祦姘村彿鍥炶溅鑾峰彇宸ュ簭淇℃伅
         [Route("Cj_StationInBill/txtHProcNo_KeyDown")]
         [HttpGet]
@@ -434,7 +544,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鏉″舰鐮佷笉鑳戒负绌猴紒";
+                    objJsonResult.Message = "[0000-2-019]鏉″舰鐮佷笉鑳戒负绌猴紒";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -447,13 +557,13 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "宸ュ簭鍙烽敊璇垨鑰呭綋鍓嶅伐搴忓彿涓嶅厑璁歌繘绔欙紝璇烽噸鏂拌緭鍏ワ紒";
+                    objJsonResult.Message = "[3790-2-013]宸ュ簭鍙烽敊璇垨鑰呭綋鍓嶅伐搴忓彿涓嶅厑璁歌繘绔欙紝璇烽噸鏂拌緭鍏ワ紒";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
-                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.Message = "[0000-1-037]Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
                 return objJsonResult;
             }
@@ -461,13 +571,69 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
         }
         #endregion
 
+        #region 宸ュ簭杩涚珯鎺ユ敹鍗曟祦姘村彿鍥炶溅 绯荤粺鍙傛暟鍒ゆ柇鏄惁缁戝畾閰嶄欢娓呭崟
+        [Route("Cj_StationInBill/MES_StationInBillSubBindSource")]
+        [HttpGet]
+        public object MES_StationInBillSubBindSource(string HInterID, string HProcExchInterID,string HProcExchEntryID)
+        {
+            try
+            {
+                //濡傛灉绯荤粺鍙傛暟鍚敤浜� 杩涚珯鍗曠粦瀹氶厤浠舵竻鍗曞垯 浠庣敓浜х敤鏂欐竻鍗曚腑鑾峰彇宸ュ簭BOM鍐欏叆 涓存椂琛紝骞跺姞杞借〃鏍�
+                Pub_Class.ClsXt_SystemParameter oParam = new ClsXt_SystemParameter();
+                string sIsBingLine = oParam.GetSingleSystemParameter("MES_StationInBill_LineBindCtl", ref DBUtility.ClsPub.sExeReturnInfo);
+                if (sIsBingLine.Trim() == "Y")
+                {
+                    oCN.RunProc("exec h_p_MES_StationInBillSubBindSource_Insert " + HProcExchInterID.ToString() + " , " + HProcExchEntryID.ToString() + "," + HInterID.ToString() + " ");
+
+                    ds = oCN.RunProcReturn($@"select * from
+                                            (
+                                             select 
+                                            a.HICMOInterID,a.HICMOEntryID,b.HProcID  
+                                            from Sc_ProcessExchangeBillMain a with(nolock) 
+                                            inner join Sc_ProcessExchangeBillSub b with(nolock)  on a.HInterID=b.HinterID
+                                            Where a.HInterID={HProcExchInterID} and b.HEntryID={HProcExchEntryID}
+                                            ) a
+                                            inner join (
+                                            select a.HICMOInterID,a.HICMOEntryID,isnull(c.HItemID,0) HProcID 
+                                            from Sc_PPBomBillMain a with(nolock) 
+                                            inner join Sc_PPBomBillSub b with(nolock)  on a.HInterID=b.HInterID
+                                            left join Gy_Process c on b.HProcName = c.HName
+                                            )b on a.HICMOInterID=b.HICMOInterID and a.HICMOEntryID=b.HICMOEntryID and a.HProcID=b.HProcID", "Sc_ProcessExchangeBillMain");
+
+                    if (ds.Tables[0].Rows.Count > 0) {
+                        objJsonResult.Message = "[0000-2-026]闇�瑕佺粦瀹氶厤浠讹紒";
+                    }
+                    else
+                    {
+                        objJsonResult.Message = "[0000-2-027]涓嶉渶瑕佺粦瀹氶厤浠讹紒";
+                    }
+                }
+                else {
+                    objJsonResult.Message = "[0000-2-027]涓嶉渶瑕佺粦瀹氶厤浠讹紒";
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.data =null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
 
         #region 宸ュ簭杩涚珯鎺ユ敹鍗曟祦姘村彿鍥炶溅鑾峰彇宸ュ簭淇℃伅
         [Route("Cj_StationInBill/txtHProcNo_KeyDown_qiaoyi")]
@@ -514,8 +680,6 @@
         }
         #endregion
 
-
-
         #region 宸ュ簭杩涚珯鎺ユ敹鍗曟牴鎹亴鍛樹唬鐮佹ā绯婂洖杞︽煡璇�
         [Route("Cj_StationInBill/GetMessageByEmpNumber")]
         [HttpGet]
@@ -530,13 +694,13 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鏈煡璇㈠埌鑱屽憳淇℃伅锛�";
+                    objJsonResult.Message = "[0000-2-028]鏈煡璇㈠埌鑱屽憳淇℃伅锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
                 objJsonResult.code = "0";
                 objJsonResult.count = 1;
-                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.Message = "[0000-1-037]Sucess锛�";
                 objJsonResult.data = ds.Tables[0];
                 return objJsonResult;
             }
@@ -544,14 +708,12 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
         }
         #endregion
-
-
 
         #region 宸ュ簭杩涚珯鎺ユ敹鍗曟牴鎹墿鏂欎唬鐮佹ā绯婂洖杞︽煡璇�
         [Route("Cj_StationInBill/GetMessageByMaterNumber")]
@@ -588,9 +750,6 @@
         }
         #endregion
 
-
-
-
         #region 杩斿洖宸ュ簭杩涚珯鎺ユ敹鍗曞垪琛�
         [Route("Cj_StationInBill/get_Display")]
         [HttpGet]
@@ -618,7 +777,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "杩涚珯鍗曟棤鏌ヨ鏉冮檺!";
+                        objJsonResult.Message = "杩涚珯鍗曟棤鏌ヨ鏉冮檺!";    
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -673,6 +832,77 @@
         }
         #endregion
 
+        #region 杩斿洖宸ュ簭杩涚珯鎺ユ敹鍗曞垪琛�-鍒嗛〉
+        [Route("Cj_StationInBill/get_Display_ByPage")]
+        [HttpGet]
+        public object get_Display_ByPage(string sWhere, string user, string Organization, int page, int size, string HBillSubType)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                if (HBillSubType == "SUB")
+                {
+                    //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Sub_Query", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "[3790-1-004]寮�宸ュ崟鏃犳煡璇㈡潈闄�!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                    if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Query", 1, false, user))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "[3790-1-004]杩涚珯鍗曟棤鏌ヨ鏉冮檺!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+
+                sWhere = sWhere.Replace("'", "''");
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("exec h_p_MES_StationInBillList " + page + "," + size + ",'" + Organization + "'," + "''", "h_p_MES_StationInBillList");
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn("exec h_p_MES_StationInBillList " + page + "," + size + ",'" + Organization + "','" + sWhere + "'", "h_p_MES_StationInBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                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 = "[0000-1-037]Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-010]鏌ヨ鏁版嵁寮傚父锛岃涓庣鐞嗗憳鑱旂郴锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         #region 缂栬緫鍓嶅垽鏂�
         [Route("Cj_StationInBill/set_ShowBillJudge")]
         [HttpGet]
@@ -685,7 +915,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鍒ゆ柇鍏宠仈澶辫触锛�";
+                    objJsonResult.Message = "[0000-2-018]鍒ゆ柇鍏宠仈澶辫触锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -701,7 +931,7 @@
                 {
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.Message = "[0000-1-037]Sucess锛�";
                     objJsonResult.data = ds.Tables[0];
                     return objJsonResult;
                 }
@@ -710,7 +940,7 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.Message = "[0000-1-038]Exception锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -760,8 +990,6 @@
         {
             try
             {
-                string ModRightNameCheck = "";
-
                 if (HBillSubType == "SUB")
                 {
                     //瀹℃牳鏉冮檺
@@ -769,7 +997,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "寮�宸ュ崟瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                        objJsonResult.Message = "[3790-1-006]寮�宸ュ崟瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -780,7 +1008,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "杩涚珯鍗曞鏍稿け璐ワ紒鏃犳潈闄愶紒";
+                        objJsonResult.Message = "[3790-1-006]杩涚珯鍗曞鏍稿け璐ワ紒鏃犳潈闄愶紒";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -790,7 +1018,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鍗曟嵁ID涓�0锛屼笉鑳藉鏍革紒";
+                    objJsonResult.Message = "[0000-1-009]鍗曟嵁ID涓�0锛屼笉鑳藉鏍革紒";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -802,7 +1030,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳";
+                        objJsonResult.Message = "[0000-1-023]鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -811,16 +1039,39 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.Message = "[0000-1-045]鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+
+                //瀹℃牳鍓嶆帶鍒�==========================================================================
+                string HBillNo = oBill.omodel.HBillNo;
+                string sql = "exec h_p_Sc_StationInBill_BeforeCheckCtrl " + HInterID + ",'" + HBillNo + "','" + CurUserName + "'";
+                ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_BeforeCheckCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "[0000-1-024]瀹℃牳澶辫触!鍘熷洜:瀹℃牳鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+
+                }
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "[0000-1-025]瀹℃牳澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //=============================================================================
                 //瀹℃牳
-                if (Cj_StationInBillCheckBill(HInterID,CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
+                if (Cj_StationInBillCheckBill(HInterID, HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
                 {
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "瀹℃牳鎴愬姛!";
+                    objJsonResult.Message = "[0000-1-029]瀹℃牳鎴愬姛!";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -828,7 +1079,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.Message = "[0000-1-025]瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -838,14 +1089,14 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.Message = "[0000-1-025]瀹℃牳澶辫触锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
         }
 
         //瀹℃牳
-        public bool Cj_StationInBillCheckBill(Int64 lngBillKey, string CurUserName, ref string sReturn)
+        public bool Cj_StationInBillCheckBill(Int64 lngBillKey,string HBillNo, string CurUserName, ref string sReturn)
         {
             try
             {
@@ -873,6 +1124,23 @@
                 else if (Pub_Class.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HFstProc"]) == "鏄�")
                 {
                 }
+
+                //瀹℃牳鍚庢帶鍒�=======================================================
+                string sql = "exec h_p_Sc_StationInBill_AfterCheckCtrl " + lngBillKey + ",'" + HBillNo + "','" + CurUserName + "'";
+                ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_AfterCheckCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "瀹℃牳杩囩▼涓嚭閿欙紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                    oCN.RollBack();
+                    return false;
+                }
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    sReturn = ds.Tables[0].Rows[0]["HRemark"].ToString();
+                    oCN.RollBack();
+                    return false;
+                }
+                //====================================================================
                 sReturn = sReturn + " 瀹℃牳鍔熻兘锛�";
                 oCN.Commit();
                 return true;
@@ -900,7 +1168,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "寮�宸ュ崟鍙嶅鏍稿け璐ワ紒鏃犳潈闄愶紒";
+                        objJsonResult.Message = "[3790-1-007]寮�宸ュ崟鍙嶅鏍稿け璐ワ紒鏃犳潈闄愶紒";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -912,7 +1180,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "杩涚珯鍗曞弽瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                        objJsonResult.Message = "[3790-1-007]杩涚珯鍗曞弽瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -924,7 +1192,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鍗曟嵁ID涓�0锛屼笉鑳藉弽瀹℃牳锛�";
+                    objJsonResult.Message = "[0000-1-009]鍗曟嵁ID涓�0锛屼笉鑳藉弽瀹℃牳锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -936,7 +1204,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                        objJsonResult.Message = "[0000-1-018]鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -945,16 +1213,39 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.Message = "[0000-1-005]鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+
+                //鍙嶅鏍稿墠鎺у埗=============================================================================
+                string HBillNo = oBill.omodel.HBillNo;
+                string sql = "exec h_p_Sc_StationInBill_BeforeUnCheckCtrl " + HInterID + ",'" + HBillNo + "','" + CurUserName + "'";
+                ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_BeforeUnCheckCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "[0000-1-027]鍙嶅鏍稿け璐�!鍘熷洜:鍙嶅鏍稿墠鍒ゆ柇澶辫触锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+
+                }
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "[0000-1-027]鍙嶅鏍稿け璐�!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //============================================================================================
                 //鍙嶅鏍�
-                if (Cj_StationInBillAbandonCheckBill(HInterID, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
+                if (Cj_StationInBillAbandonCheckBill(HInterID, HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
                 {
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
-                    objJsonResult.Message = "鍙嶅鏍告垚鍔�!";
+                    objJsonResult.Message = "[0000-1-019]鍙嶅鏍告垚鍔�!";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -962,7 +1253,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.Message = "[0000-1-028]鍙嶅鏍稿け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -971,14 +1262,14 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "鍙嶅鏍稿け璐ワ紒" + e.ToString();
+                objJsonResult.Message = "[0000-1-028]鍙嶅鏍稿け璐ワ紒" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
         }
 
         //鍙嶅鏍�
-        public bool Cj_StationInBillAbandonCheckBill(Int64 lngBillKey, string CurUserName, ref string sReturn)
+        public bool Cj_StationInBillAbandonCheckBill(Int64 lngBillKey,string HBillNo, string CurUserName, ref string sReturn)
         {
             if (Cj_StationInBillisUse(lngBillKey, ref sReturn))
             {
@@ -1011,6 +1302,23 @@
                 else if (Pub_Class.ClsPub.isStrNull(ds1.Tables[0].Rows[0]["HFstProc"]) == "鏄�")
                 {
                 }
+
+                //鍙嶅鏍稿悗鎺у埗========================================================================
+                string sql = "exec h_p_Sc_StationInBill_AfterUnCheckCtrl " + lngBillKey + ",'" + HBillNo + "','" + CurUserName + "'";
+                ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_AfterUnCheckCtrl");
+                if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                {
+                    sReturn = "鍙嶅鏍歌繃绋嬩腑鍑洪敊锛岃涓庣綉缁滅鐞嗕汉鍛樿仈绯�";
+                    oCN.RollBack();
+                    return false;
+                }
+                if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                {
+                    sReturn = ds.Tables[0].Rows[0]["HRemark"].ToString();
+                    oCN.RollBack();
+                    return false;
+                }
+                //============================================================================================
                 sReturn = sReturn + "鍙嶅鏍稿姛鑳斤紒";
                 oCN.Commit();
                 return true;
@@ -1061,7 +1369,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "寮�宸ュ崟鏃犳潈闄愬叧闂�!";
+                        objJsonResult.Message = "[3790-1-008]寮�宸ュ崟鏃犳潈闄愬叧闂�!";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1072,7 +1380,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "杩涚珯鍗曟棤鏉冮檺鍏抽棴!";
+                        objJsonResult.Message = "[3790-1-008]杩涚珯鍗曟棤鏉冮檺鍏抽棴!";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1083,7 +1391,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.Message = "[0000-1-009]HInterID涓虹┖锛�";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -1105,17 +1413,41 @@
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
+                            objJsonResult.Message = "[0000-1-033]鍗曟嵁宸插叧闂�!涓嶉渶瑕佸啀鍏抽棴!";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
                     }
-                    //鍏抽棴鍗曟嵁
-                    if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    var HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
+
+                    //鍏抽棴鍓嶆帶鍒�=========================================      
+                    string sql1 = "exec h_p_Sc_ShiftsBeginInfoBill_BeforeCloseCtrl " + HInterID + ",'" +HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Sc_ShiftsBeginInfoBill_BeforeCloseCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 1;
-                        objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        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;
+                    }
+                    //==================================================================================    
+
+                    //鍏抽棴鍗曟嵁
+                    if (!BillOld.CloseBill(Int64.Parse(HInterID), HBillNo, "h_p_Sc_ShiftsBeginInfoBill_AfterCloseCtrl", user,ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "[0000-1-034]鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1132,17 +1464,41 @@
                         {
                             objJsonResult.code = "0";
                             objJsonResult.count = 0;
-                            objJsonResult.Message = "鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.Message = "[0000-1-035]鍗曟嵁宸插弽鍏抽棴!涓嶉渶瑕佸啀鍙嶅叧闂�!";
                             objJsonResult.data = null;
                             return objJsonResult;
                         }
                     }
-                    //鍙嶅叧闂崟鎹�
-                    if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    var HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
+                    //鍙嶅叧闂墠鎺у埗=========================================      
+                    string sql1 = "exec h_p_Sc_StationInBill_BeforeUnCloseCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Sc_StationInBill_BeforeUnCloseCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 1;
-                        objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                        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;
+                    }
+                    //==================================================================================      
+
+
+                    //鍙嶅叧闂崟鎹�
+                    if (!BillOld.CancelClose(Int64.Parse(HInterID), HBillNo, "h_p_Sc_StationInBill_AfterUnCloseCtrl", user, ref ClsPub.sExeReturnInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "[0000-1-036]鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1152,7 +1508,7 @@
 
                 objJsonResult.code = "0";
                 objJsonResult.count = 1;
-                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.Message = "[0000-1-037]鎵ц鎴愬姛锛�";
                 objJsonResult.data = null;
                 return objJsonResult; ;
 
@@ -1161,7 +1517,7 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.Message = "[0000-1-037]鎵ц澶辫触锛�" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -1229,7 +1585,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "寮�宸ュ崟鏃犳潈闄愶紒";
+                        objJsonResult.Message = "[3790-1-005]寮�宸ュ崟鏃犳潈闄愶紒";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1240,7 +1596,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "杩涚珯鎺ユ敹鍗曟棤鏉冮檺锛�";
+                        objJsonResult.Message = "[3790-1-005]杩涚珯鎺ユ敹鍗曟棤鏉冮檺锛�";
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1258,7 +1614,7 @@
                             {
                                 objJsonResult.code = "0";
                                 objJsonResult.count = 0;
-                                objJsonResult.Message = "鍙兘鍒犻櫎鏈汉鐨勫崟鎹紒";
+                                objJsonResult.Message = "[0000-1-011]鍙兘鍒犻櫎鏈汉鐨勫崟鎹紒";
                                 objJsonResult.data = null;
                                 return objJsonResult;
                             }
@@ -1306,8 +1662,31 @@
                         return objJsonResult;
                     }
 
-                   
-                    if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HProcExchInterID, oBill.omodel.HProcExchEntryID, ref DBUtility.ClsPub.sExeReturnInfo))
+                    //鍒犻櫎鍓嶆帶鍒�=========================================      
+                    string HBillNo = oBill.omodel.HBillNo;
+                    string sql1 = "exec h_p_Sc_StationInBill_BeforeDelCtrl " + HInterID + ",'" + HBillNo + "','" + HDeleteMan + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Sc_StationInBill_BeforeDelCtrl");
+                    if (ds == null || ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:鍒犻櫎鍓嶅垽鏂け璐ワ紝璇蜂笌缃戠粶绠$悊浜哄憳鑱旂郴";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    if (ds.Tables[0].Rows[0]["HBack"].ToString() != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍒犻櫎澶辫触!鍘熷洜:" + ds.Tables[0].Rows[0]["HRemark"].ToString(); ;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //==================================================================================      
+
+
+                    if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HProcExchInterID, oBill.omodel.HProcExchEntryID, HBillNo, "h_p_Sc_StationInBill_AfterDelCtrl", HDeleteMan, ref DBUtility.ClsPub.sExeReturnInfo))
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
@@ -1440,5 +1819,188 @@
             }
         }
         #endregion
+
+        #region  宸ュ簭杩涚珯姹囨姤鍗曟枃浠朵笂浼犲鐞�
+
+        [Route("Cj_StationInBill/UploadFile1")]
+        [HttpPost]
+        public object UploadFile1()
+        {
+
+            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/Cj_StationInBill/" + 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/Cj_StationInBill/" + 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/Cj_StationInBill/" + 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("Cj_StationInBill/Filelist")]
+        [HttpGet]
+        public object Filelist(string HBillNo)
+        {
+            var url = fileip + "/files/Cj_StationInBill/" + 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("Cj_StationInBill/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/Cj_StationInBill/" + HSourceBillNo), HFileName);
+                File.Delete(fileurl);      //鍒犻櫎鎸囧畾鏂囦欢
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-008]鍒犻櫎鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "[0000-1-007]Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1