From 89c2f64be31944048225dbfd5afd53ca09660e6c Mon Sep 17 00:00:00 2001
From: wangyi <2946747746@qq.com>
Date: 星期一, 23 三月 2026 16:31:34 +0800
Subject: [PATCH] 1

---
 WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs | 2140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 2,064 insertions(+), 76 deletions(-)

diff --git a/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
index 15a850e..77f8f2d 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationEntrustInBillController.cs
@@ -1,6 +1,7 @@
 锘縰sing Newtonsoft.Json;
 using Newtonsoft.Json.Linq;
 using Pub_Class;
+using SyntacticSugar.constant;
 using System;
 using System.Collections;
 using System.Collections.Generic;
@@ -8,6 +9,7 @@
 using System.Data.SqlClient;
 using System.Web.Http;
 using WebAPI.Models;
+using Model;
 
 namespace WebAPI.Controllers
 {
@@ -48,7 +50,7 @@
                 else
                 {
                     string sql1 = "select * from h_v_MES_StationEntrustInBillList where 1 = 1  ";
-                    string sql = sql1 + sWhere+ " order by hmainid desc";
+                    string sql = sql1 + sWhere + " order by hmainid desc";
                     ds = oCN.RunProcReturn(sql, "h_v_MES_StationEntrustInBillList");
                 }
 
@@ -60,23 +62,13 @@
                     columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
                 }
 
-                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
-                //{
+
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "Sucess锛�";
                 objJsonResult.list = columnNameList;
                 objJsonResult.data = ds.Tables[0];
                 return objJsonResult;
-                //}
-                //else
-                //{
-                //objJsonResult.code = "0";
-                //objJsonResult.count = 0;
-                //objJsonResult.Message = "鏃犳暟鎹�";
-                //objJsonResult.data = null;
-                //return objJsonResult;
-                //}
             }
             catch (Exception e)
             {
@@ -88,6 +80,120 @@
             }
         }
         #endregion
+
+        #region 杩斿洖濮斿宸ュ簭鍙戝嚭鍗曞垪琛�
+        [Route("Cj_StationEntrustInBill/list_Eng")]
+        [HttpGet]
+        public object list_Eng(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustInBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡璇㈡潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_MES_StationEntrustInBillList_Eng", "h_v_MES_StationEntrustInBillList_Eng");
+                    //  order by hmainid desc 鎺掑簭涓㈠埌鏁版嵁搴撻噷杩涜澶勭悊
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_MES_StationEntrustInBillList_Eng where 1 = 1  ";
+                    string sql = sql1 + sWhere + " order by hmainid desc";
+                    ds = oCN.RunProcReturn(sql, "h_v_MES_StationEntrustInBillList_Eng");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.list = columnNameList;
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 濮斿鍙戝嚭鍗� 鍒嗛〉鍒楄〃
+        [Route("Cj_StationEntrustInBill/getStationEntrustInBillPage")]
+        [HttpGet]
+        public json getStationEntrustInBillPage(string sWhere, string user, int page, int size)
+        {
+            DataSet ds;
+            json res = new json();
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鍒ゆ柇鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("MES_StationEntrustInBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愭煡璇紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                sWhere = sWhere.Replace("'", "''");
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sc_StationEntrustInBillList " + page + "," + size + ",''", "h_p_Sc_StationEntrustInBillList");
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn("exec h_p_Sc_StationEntrustInBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_Sc_StationEntrustInBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                res.code = CodeConstant.SUCCEED;
+                res.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
+                res.Message = "Sucess锛�";
+                res.list = columnNameList;
+                res.data = ds.Tables[0];
+                return res;
+            }
+            catch (Exception e)
+            {
+                res.code = CodeConstant.FAIL;
+                res.count = CountConstant.FAIL;
+                res.Message = "Exception锛�" + e.ToString();
+                res.data = null;
+                return res;
+            }
+        }
+        #endregion
+
+
 
         #region 濮斿宸ュ簭鍙戝嚭鍗曟祦姘村彿鍥炶溅鑾峰彇娴佽浆鍗′俊鎭紙濮斿宸ュ簭鎺ユ敹銆佸伐搴忚繘绔欐帴鏀堕�氱敤锛�
         [Route("Cj_StationEntrustInBill/txtHBarCode_KeyDown")]
@@ -152,7 +258,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "绌虹櫧鐮�,鏉″舰鐮佷笉鑳戒负绌猴紒";
+                    objJsonResult.Message = "[0000-2-019]绌虹櫧鐮�,鏉″舰鐮佷笉鑳戒负绌猴紒";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -174,12 +280,57 @@
                     entryid_PGD = arr[1];
                 }
 
+                //鎴彇鏉$爜绫诲瀷 鍓嶄袱浣�
+                string BillNoType1 = BillNo_PGD.Substring(0, Math.Min(2, BillNo_PGD.Length));
                 //鎴彇鏉$爜绫诲瀷 鍓嶄笁浣�
                 string BillNoType = BillNo_PGD.Substring(0, Math.Min(3, BillNo_PGD.Length));
                 //鎴彇鏉$爜绫诲瀷2 鍓嶅洓浣�
                 string BillNoType2 = BillNo_PGD.Substring(0, Math.Min(4, BillNo_PGD.Length));
                 //鎴彇鍐呯爜
                 string BillNo = BillNo_PGD.Substring(3, Math.Min(BillNo_PGD.Length - 3, BillNo_PGD.Length));
+                switch (BillNoType1)
+                {
+                    case "20"://娴佽浆鍗�
+                        string sErr = "";
+                        if (oSystemParameter.ShowBill(ref sErr))
+                        {
+                            if (oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏂帿灏�")
+                            {
+                                ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 鍗曟嵁鍙�= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
+                            }
+                        }
+                        break;
+                    case "OP"://娴佽浆鍗�
+                        sErr = "";
+                        if (oSystemParameter.ShowBill(ref sErr))
+                        {
+                            if (oSystemParameter.omodel.WMS_CampanyName == "娴疯瘹")
+                            {
+                                //鍚屾宸ュ簭娴佽浆鍗�
+                                oCN.RunProc("exec h_p_IFCLD_ERPSourceBillToLocal_ProcExchAndRouting '" + BillNo_PGD + "'");
+                                ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 鍗曟嵁鍙�= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
+                            }
+                            else
+                            {
+                                //鍚屾宸ュ簭娴佽浆鍗�
+                                oCN.RunProc("exec h_p_IFCLD_ERPSourceBillToLocal_ProcExchAndRouting '" + BillNo_PGD + "'");
+                                ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 鍗曟嵁鍙�= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
+                            }
+                        }
+                        
+                        break;
+                    case "MO"://娴佽浆鍗�
+                         sErr = "";
+                        if (oSystemParameter.ShowBill(ref sErr))
+                        {
+                            if (oSystemParameter.omodel.WMS_CampanyName == "鍗庤垷")
+                            {
+                                ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 鍗曟嵁鍙�= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
+                            }
+                        }
+                        break;
+                }
+
                 switch (BillNoType2)
                 {
                     case "GXLZ"://宸ュ簭娴佽浆娲惧伐
@@ -210,12 +361,37 @@
                             }
                         }
                         break;
+                    case "P202"://娴佽浆鍗�
+                    case "P203"://娴佽浆鍗�
+                    case "P204"://娴佽浆鍗�
+                    case "P205"://娴佽浆鍗�
+                    case "P201"://娴佽浆鍗�
+                    case "MO26"://鍗庤垷娴佽浆鍗�
+                    case "MO27"://鍗庤垷娴佽浆鍗�
+                    case "MO28"://鍗庤垷娴佽浆鍗�
+                        ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 鍗曟嵁鍙�= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
+                        break;
                 }
                 switch (BillNoType)
                 //寰楀埌淇℃伅
                 {
                     case "HCX"://鐢熶骇璧勬簮鐮�
-                        ds = oCN.RunProcReturn("select * from h_v_Gy_SourceList  where 鏉$爜缂栧彿 = '" + BillNo + "'", "h_v_Gy_SourceList");
+                    case "htt"://鐢熶骇璧勬簮鐮�
+
+                        string sErr = "";
+                        if (oSystemParameter.ShowBill(ref sErr))
+                        {
+                            if (oSystemParameter.omodel.WMS_CampanyName == "鏉窞鏂帿灏�")
+                            {
+                                ds = oCN.RunProcReturn(@"select  s.HItemID,s.HName 鐢熶骇璧勬簮鍚嶇О,s.HNumber  from Gy_EquipFileBillMain a
+                                        left join Gy_Source s on a.HSourceID = s.HItemID
+                                        where HBarCode = '" + BillNo_PGD + "'", "Gy_EquipFileBillMain");
+                            }
+                            else {
+                                ds = oCN.RunProcReturn("select * from h_v_Gy_SourceList  where 鏉$爜缂栧彿 = '" + BillNo + "'", "h_v_Gy_SourceList");
+                            }
+                        }
+                     
                         break;
                     case "SBM"://璁惧鐮�
                         ds = oCN.RunProcReturn("select * from h_v_Gy_EquipMentList  where HItemID = '" + BillNo + "'", "h_v_Gy_EquipMentList");
@@ -283,20 +459,65 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鏈煡璇㈠埌鏉$爜淇℃伅锛�";
+                    objJsonResult.Message = "[0000-2-020]鏈煡璇㈠埌鏉$爜淇℃伅锛�";
                     objJsonResult.data = null;
                     if(BillNoType == "PRO")
                     {
                         ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList where HItemID = '" + BillNo + "'", "h_v_Gy_ProcessList");
                         if (ds == null || ds.Tables[0].Rows.Count == 0)
                         {
-                            objJsonResult.Message = "鏈煡璇㈠埌鏉$爜淇℃伅锛�";
+                            objJsonResult.Message = "[0000-2-020]鏈煡璇㈠埌鏉$爜淇℃伅锛�";
                         }
                         else
                         {
-                            objJsonResult.Message = "鐢ㄦ埛鏈叧鑱旂浉鍏冲伐搴忔垨娴佽浆鍗℃棤姝ゅ伐搴忥紝濡傛湁闇�瑕佽缁存姢";
+                            objJsonResult.Message = "[3790-2-010]鐢ㄦ埛鏈叧鑱旂浉鍏冲伐搴忔垨娴佽浆鍗℃棤姝ゅ伐搴忥紝濡傛湁闇�瑕佽缁存姢";
                         }
                     }
+                    return objJsonResult;
+                }
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-037]Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                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 宸ュ簭鍑虹珯姹囨姤鍗昉DA鎵搷浣滃憳
+        [Route("Cj_StationBill/txtHBarCode_KeyDown_Operator")]
+        [HttpGet]
+        public object txtHBarCode_KeyDown_Operator(string HBarCode, string HInterID, string UserID, string HBillType)
+        {
+            try
+            {
+                if (HBarCode == null || HBarCode.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绌虹櫧鐮�,鏉″舰鐮佷笉鑳戒负绌猴紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from h_v_Gy_EmployeeList_New  where 鑱屽憳浠g爜 = '" + HBarCode + "'", "h_v_Gy_EmployeeList_New");
+
+                //鍐欏叆淇℃伅
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏈煡璇㈠埌鏉$爜淇℃伅锛�";
+                    objJsonResult.data = null;
+                    
                     return objJsonResult;
                 }
                 objJsonResult.code = "1";
@@ -310,6 +531,82 @@
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
                 objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭杩涚珯鎵厤浠剁爜
+        [Route("Cj_StationBill/txtHBarCode_Mater_KeyDown")]
+        [HttpGet]
+        public object txtHBarCode_Mater_KeyDown(string HBarCode, string HInterID)
+        {
+            try
+            {
+                if (HBarCode == null || HBarCode.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-2-019]绌虹櫧鐮�,鏉″舰鐮佷笉鑳戒负绌猴紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //鍒ゆ柇鏉″舰鐮佹槸鍚﹀湪鏉$爜妗f涓紝鍒ゆ柇鏉″舰鐮佹槸鍚﹀悎鐞� 
+                //鍏堝垽鏂� 涓存椂琛ㄤ腑鏄惁鏈夋暟鎹紝鏉″舰鐮佺殑鐗╂枡鏄惁鍦ㄦ竻鍗曚腑锛屽啓鍏� 鎵爜璁板綍琛�
+                //寰楀埌淇℃伅
+                ds = oCN.RunProcReturn("exec h_p_MES_StationInBillSub_BindBarCode   " + HInterID.ToString() + " ,'" + HBarCode + "'", "h_p_MES_StationInBillSub_BindBarCode");
+                //鍐欏叆淇℃伅
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-2-020]鏈煡璇㈠埌鏉″舰鐮佷俊鎭紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else if (DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0][0]) == 2)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-038]閿欒锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0][1]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+
+                DataSet Dsplay = oCN.RunProcReturn("exec h_p_MES_StationInBillSub_BindDisplay   " + HInterID.ToString() + "  ", "h_p_MES_StationInBillSub_BindDisplay");
+
+                //鍐欏叆淇℃伅
+                if (Dsplay == null)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-045]鍒锋柊澶辫触,鏃犳暟鎹樉绀猴紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else if (Dsplay.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[0000-1-045]鏌ユ棤鏁版嵁!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "[0000-1-037]缁戝畾鎴愬姛锛�";
+                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;
             }
@@ -349,14 +646,206 @@
                     entryid_PGD = arr[1];
                 }
 
-            
+                //鎴彇鏉$爜绫诲瀷 鍓嶄笁浣�
+                string BillNoType = BillNo_PGD.Substring(0, Math.Min(3, BillNo_PGD.Length));
                 //鎴彇鏉$爜绫诲瀷2 鍓嶅洓浣�
                 string BillNoType2 = BillNo_PGD.Substring(0, Math.Min(4, BillNo_PGD.Length));
-              
+                //鎴彇鍐呯爜
+                string BillNo = BillNo_PGD.Substring(3, Math.Min(BillNo_PGD.Length - 3, BillNo_PGD.Length));
+
+                string sErr = "";
+
                 switch (BillNoType2)
                 {
                     case "GXLX"://娴佽浆鍗�
-                        string sErr = "";
+                        
+                        string sql = "";
+                        if (oSystemParameter.ShowBill(ref sErr))
+                        {
+                            if (oSystemParameter.omodel.WMS_CampanyName == "涔斾竴")
+                            { //绯荤粺鍙傛暟鏄惁涓哄彧鏄剧ず褰撳墠鐧诲綍鐢ㄦ埛鍏宠仈鐨勫伐搴忎俊鎭�,N涓哄惁锛孻涓烘槸
+                                if (HBillType == "7505")
+                                {
+                                    ds = oCN.RunProcReturn("exec h_p_Sc_ProcessExchangeBill__ProcList  '" + BillNo_PGD + "'  ", "h_p_Sc_ProcessExchangeBill__ProcList");
+                                }
+                                else {
+                                    ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 鍗曟嵁鍙�= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
+                                }
+                            }
+                            else
+                            {
+                                if (oSystemParameter.ShowBill(ref sErr))
+                                {
+                                    switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
+                                    {
+                                        case "宸ュ簭":
+                                            sql = "exec h_p_QC_FirstPieceCheck_GetProcessExchangeBillList " + "'宸ュ簭','" + BillNo_PGD + "'";
+                                            ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPieceCheck_GetProcessExchangeBillList");
+                                            break;
+                                        case "鐗╂枡":
+                                            sql = "exec h_p_QC_FirstPieceCheck_GetProcessExchangeBillList " + "'鐗╂枡','" + BillNo_PGD + "'";
+                                            ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPieceCheck_GetProcessExchangeBillList");
+                                            break;
+                                        case "宸ヨ壓璺嚎":
+                                            sql = "exec h_p_QC_FirstPieceCheck_GetProcessExchangeBillList " + "'宸ヨ壓璺嚎','" + BillNo_PGD + "'";
+                                            ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPieceCheck_GetProcessExchangeBillList");
+                                            break;
+                                    }
+
+                                }                                
+                            }
+                        }
+                        break;
+                    case "GXJZ":
+                        //鎴彇鏉$爜绫诲瀷 鍓嶄笁浣�
+                        string HBillNo = HBarCode.Substring(4, HBarCode.Length - 4);
+                        ds = oCN.RunProcReturn("select * from Sc_StationInBillMain where HBillNo = '" + HBillNo + "'", "Sc_StationInBillMain");
+                        Int64 HStationInInterID = 0;
+
+                        if (ds != null || ds.Tables[0].Rows.Count > 0)
+                        {
+                            HStationInInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HInterID"]);
+                        }                        
+
+                        if (oSystemParameter.ShowBill(ref sErr))
+                        {
+                            switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
+                            {
+                                case "宸ュ簭":
+                                    sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'宸ュ簭','" + HStationInInterID + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetStationInBillList");
+                                    break;
+                                case "鐗╂枡":
+                                    sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'鐗╂枡','" + HStationInInterID + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetStationInBillList");
+                                    break;
+                                case "宸ヨ壓璺嚎":
+                                    sql = "exec h_p_QC_FirstPiece_GetStationInBillList " + "'宸ヨ壓璺嚎','" + HStationInInterID + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_FirstPiece_GetStationInBillList");
+                                    break;
+                            }
+
+                        }
+                        break;
+                    case "MO00":
+                        if (oSystemParameter.ShowBill(ref sErr))
+                        {
+                            switch (oSystemParameter.omodel.QC_FirstPieceCheckBill_QCSchemeSource)
+                            {
+                                case "宸ュ簭":
+                                    sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'宸ュ簭','" + HBarCode + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
+                                    break;
+                                case "鐗╂枡":
+                                    sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'鐗╂枡','" + HBarCode + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
+                                    break;
+                                case "宸ヨ壓璺嚎":
+                                    sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'宸ヨ壓璺嚎','" + HBarCode + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
+                                    break;
+                            }
+
+                        }
+                        break;
+                    default:
+                        if (oSystemParameter.omodel.WMS_CampanyName == "涔斾竴")
+                        { //绯荤粺鍙傛暟鏄惁涓哄彧鏄剧ず褰撳墠鐧诲綍鐢ㄦ埛鍏宠仈鐨勫伐搴忎俊鎭�,N涓哄惁锛孻涓烘槸
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鏉$爜閿欒!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            break;
+                        }                        
+                }
+
+                switch (BillNoType)
+                //寰楀埌淇℃伅
+                {
+                    case "HCX"://鐢熶骇璧勬簮鐮�
+                        ds = oCN.RunProcReturn("select * from h_v_Gy_SourceList  where 鏉$爜缂栧彿 = '" + BillNo + "'", "h_v_Gy_SourceList");
+                        break;                   
+                }
+
+                if (ds != null)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁杩斿洖鏁版嵁锛屾潯鐮佸墠缂�閿欒銆�";
+                    objJsonResult.data = "";
+                    return objJsonResult;
+                }               
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region PDA宸ュ簭妫�楠屽崟鎵爜鑾峰彇淇℃伅
+        [Route("MES_ProcessBill_PDA/HBarCode_KeyDown")]
+        [HttpGet]
+        public object HBarCode_KeyDown(string HBarCode, string HInterID, string UserID, string HBillType)
+        {
+            try
+            {
+                if (HBarCode == null || HBarCode.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "绌虹櫧鐮�,鏉″舰鐮佷笉鑳戒负绌猴紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鎷嗗垎鏉″舰鐮�
+                string sBillBarCode = HBarCode.Trim();
+                string[] NewBarCode;
+                if (sBillBarCode.CompareTo("#") > 0)
+                {
+                    NewBarCode = sBillBarCode.Split(Convert.ToChar("#"));
+                    sBillBarCode = NewBarCode[0];
+                }
+                string sBillNo = sBillBarCode; //鏉″舰鐮�
+
+                string[] arr = sBillNo.Split('&'); //浠ョ鍙封��&鈥欏垎鍓叉潯褰㈢爜
+                string BillNo_PGD = arr[0]; //鍗曟嵁鍙�
+                string entryid_PGD = "";//瀛恑d
+                if (arr.Length > 1)
+                {
+                    entryid_PGD = arr[1];
+                }
+
+                //鎴彇鏉$爜绫诲瀷 鍓嶄笁浣�
+                string BillNoType = BillNo_PGD.Substring(0, Math.Min(3, BillNo_PGD.Length));
+                //鎴彇鏉$爜绫诲瀷2 鍓嶅洓浣�
+                string BillNoType2 = BillNo_PGD.Substring(0, Math.Min(4, BillNo_PGD.Length));
+                //鎴彇鍐呯爜
+                string BillNo = BillNo_PGD.Substring(3, Math.Min(BillNo_PGD.Length - 3, BillNo_PGD.Length));
+
+                string sErr = "";
+
+                switch (BillNoType2)
+                {
+                    case "GXLX"://娴佽浆鍗�
+
+                        string sql = "";
                         if (oSystemParameter.ShowBill(ref sErr))
                         {
                             if (oSystemParameter.omodel.WMS_CampanyName == "涔斾竴")
@@ -365,24 +854,117 @@
                             }
                             else
                             {
-                                ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 鍗曟嵁鍙�= '" + BillNo_PGD + "'", "h_v_Sc_ProcessExchangeBillList");
+                                if (oSystemParameter.ShowBill(ref sErr))
+                                {
+                                    switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
+                                    {
+                                        case "宸ュ簭":
+                                            sql = "exec h_p_QC_ProcessCheck_GetProcessExchangeBillList " + "'宸ュ簭','" + BillNo_PGD + "'";
+                                            ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetProcessExchangeBillList");
+                                            break;
+                                        case "鐗╂枡":
+                                            sql = "exec h_p_QC_ProcessCheck_GetProcessExchangeBillList " + "'鐗╂枡','" + BillNo_PGD + "'";
+                                            ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetProcessExchangeBillList");
+                                            break;
+                                        case "宸ヨ壓璺嚎":
+                                            sql = "exec h_p_QC_ProcessCheck_GetProcessExchangeBillList " + "'宸ヨ壓璺嚎','" + BillNo_PGD + "'";
+                                            ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetProcessExchangeBillList");
+                                            break;
+                                    }
+
+                                }
                             }
                         }
                         break;
+                    case "GXCZ":
+                        ds = oCN.RunProcReturn("select * from Sc_StationOutBillMain where HBillNo = '" + HBarCode + "'", "Sc_StationOutBillMain");
+                        Int64 HStationOutInterID = 0;
+
+                        if (ds != null || ds.Tables[0].Rows.Count > 0)
+                        {
+                            HStationOutInterID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HInterID"]);
+                        }
+
+                        if (oSystemParameter.ShowBill(ref sErr))
+                        {
+                            switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
+                            {
+                                case "宸ュ簭":
+                                    sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'宸ュ簭','" + HStationOutInterID + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationOutBillList");
+                                    break;
+                                case "鐗╂枡":
+                                    sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'鐗╂枡','" + HStationOutInterID + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationOutBillList");
+                                    break;
+                                case "宸ヨ壓璺嚎":
+                                    sql = "exec h_p_QC_ProcessCheck_GetStationOutBillList " + "'宸ヨ壓璺嚎','" + HStationOutInterID + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetStationOutBillList");
+                                    break;
+                            }
+
+                        }
+                        break;
+                    case "MO00":
+                        if (oSystemParameter.ShowBill(ref sErr))
+                        {
+                            switch (oSystemParameter.omodel.QC_ProcessCheckBill_QCSchemeSource)
+                            {
+                                case "宸ュ簭":
+                                    sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'宸ュ簭','" + HBarCode + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
+                                    break;
+                                case "鐗╂枡":
+                                    sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'鐗╂枡','" + HBarCode + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
+                                    break;
+                                case "宸ヨ壓璺嚎":
+                                    sql = "exec h_p_QC_ProcessCheck_GetICMOList " + "'宸ヨ壓璺嚎','" + HBarCode + "'";
+                                    ds = oCN.RunProcReturn(sql, "h_p_QC_ProcessCheck_GetICMOList");
+                                    break;
+                            }
+
+                        }
+                        break;
                     default:
-                        objJsonResult.code = "0";
-                        objJsonResult.count = 0;
-                        objJsonResult.Message = "鏉$爜閿欒!";
-                        objJsonResult.data = null;
-                        return objJsonResult;
+                        if (oSystemParameter.omodel.WMS_CampanyName == "涔斾竴")
+                        { //绯荤粺鍙傛暟鏄惁涓哄彧鏄剧ず褰撳墠鐧诲綍鐢ㄦ埛鍏宠仈鐨勫伐搴忎俊鎭�,N涓哄惁锛孻涓烘槸
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鏉$爜閿欒!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            break;
+                        }
                 }
-               
-              
-                objJsonResult.code = "1";
-                objJsonResult.count = 1;
-                objJsonResult.Message = "Sucess锛�";
-                objJsonResult.data = ds.Tables[0];
-                return objJsonResult;
+
+                switch (BillNoType)
+                //寰楀埌淇℃伅
+                {
+                    case "HCX"://鐢熶骇璧勬簮鐮�
+                        ds = oCN.RunProcReturn("select * from h_v_Gy_SourceList  where 鏉$爜缂栧彿 = '" + BillNo + "'", "h_v_Gy_SourceList");
+                        break;
+                }
+
+                if (ds != null)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁杩斿洖鏁版嵁锛屾潯鐮佸墠缂�閿欒銆�";
+                    objJsonResult.data = "";
+                    return objJsonResult;
+                }
             }
             catch (Exception e)
             {
@@ -737,7 +1319,22 @@
                     return objJsonResult;
                 }
 
-                string sql = "select * from  h_v_QC_FirstPieceCheckBillMainList where 1=1  " + sWhere + " order by 鏃ユ湡 ";
+                ds = oCN.RunProcReturn("select ManagerFlag from gy_czygl where czymc='" + user.Trim() + "'", "gy_czygl");
+                string sErr = "";
+                oSystemParameter.ShowBill(ref sErr);
+                if (oSystemParameter.omodel.WMS_CampanyName == "涔斾竴") 
+                {
+                }
+                else
+                {
+                    if (!(bool)ds.Tables[0].Rows[0]["ManagerFlag"])  //鏄惁绠$悊鍛�
+                    {
+                        //涓嶆槸绠$悊鍛�
+                        sWhere += " and 鍒跺崟浜� = '" + user + "'";
+                    }
+                }
+
+                string sql = "select * from  h_v_QC_FirstPieceCheckBillMainList where 1=1  " + sWhere ;
 
                 ds = oCN.RunProcReturn(sql, "h_v_QC_FirstPieceCheckBillMainList");
 
@@ -785,6 +1382,7 @@
                 string msg2 = "[" + sArray[0].ToString() + "]";
                 string user = sArray[1].ToString();//鐢ㄦ埛鍚�
                 string OperationType = sArray[2].ToString();//绫诲瀷
+                string msg_entry = sArray[3].ToString(); //鏄庣粏琛屼俊鎭�
 
                 //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
                 if (!DBUtility.ClsPub.Security_Log("QC_FirstPieceCheckBill_Edit", 1, false, user))
@@ -795,6 +1393,8 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+
+                DAL.ClsQC_FirstPieceCheckBill BillNew = new DAL.ClsQC_FirstPieceCheckBill();
 
                 List<Model.ClsQC_FirstPieceCheckBillMain> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_FirstPieceCheckBillMain>>(msg2);
                 string BillType = "7505";
@@ -807,6 +1407,7 @@
                 double HPeriod = DateTime.Now.Month;
                 long HSourceID = list[0].HSourceID;//鐢熶骇璧勬簮
                 long HICMOInterID = list[0].HICMOInterID;//浠诲姟鍗旾D
+                long HICMOEntryID = list[0].HICMOEntryID;//浠诲姟鍗曞瓙ID
                 string HICMOBillNo = list[0].HICMOBillNo;//浠诲姟鍗�
                 string HProcExchBillNo = list[0].HProcExchBillNo;//鎸囧紩鍗�
                 long HMaterID = list[0].HMaterID;//浜у搧ID
@@ -814,9 +1415,78 @@
                 long HProcID = list[0].HProcID;//宸ュ簭ID
                 long HPRDORGID = list[0].HPRDORGID;//缁勭粐ID
                 bool HLastResult = list[0].HLastResult;//璇曟牱缁撹
+                long HQCSchemeID = list[0].HQCSchemeID;//妫�楠屾柟妗�
+                long HProcExchInterID = list[0].HProcExchInterID;//娴佽浆鍗D
+                long HProcExchEntryID = list[0].HProcExchEntryID;//娴佽浆鍗″瓙ID
+                string HBatchNo = list[0].HBatchNo;//娴佽浆鍗℃壒娆″彿
+                long HMainSourceInterID = list[0].HMainSourceInterID;//婧愬崟ID
+                long HMainSourceEntryID = list[0].HMainSourceEntryID;//婧愬崟瀛怚D
+                string HMainSourceBillNo = list[0].HMainSourceBillNo;//婧愬崟鍗曞彿
+                string HMainSourceBillType = list[0].HMainSourceBillType;//婧愬崟绫诲瀷
+               
+                //琛ㄤ綋鏁版嵁
+                List<Model.ClsQC_FirstPieceCheckBillSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsQC_FirstPieceCheckBillSub>>(msg_entry);
+                for (int i = 0; i < subList.ToArray().Length; i++)
+                {
+                    if (subList.ToArray().Length >= 0)
+                    {
+                        Model.ClsQC_FirstPieceCheckBillSub oSub = new Model.ClsQC_FirstPieceCheckBillSub();
+                        oSub.HEntryID = i + 1;
+                        oSub.HRemark = ClsPub.isStrNull(subList[i].HRemark);
+                        oSub.HSourceInterID = ClsPub.isLong(subList[i].HSourceInterID);
+                        oSub.HSourceEntryID = ClsPub.isLong(subList[i].HSourceEntryID);
+                        oSub.HSourceBillType = ClsPub.isStrNull(subList[i].HSourceBillType);
+                        oSub.HSourceBillNo = ClsPub.isStrNull(subList[i].HSourceBillNo);
+                        oSub.HRelationQty = DBUtility.ClsPub.isDoule(subList[i].HRelationQty);
+                        oSub.HRelationMoney = DBUtility.ClsPub.isDoule(subList[i].HRelationMoney);
+                        oSub.HCloseMan = DBUtility.ClsPub.isStrNull(subList[i].HCloseMan);
+                        oSub.HCloseType = DBUtility.ClsPub.isBool(subList[i].HCloseType);
+                        oSub.HQCCheckItemID = DBUtility.ClsPub.isLong(subList[i].HQCCheckItemID);
+                        oSub.HQCStd = DBUtility.ClsPub.isStrNull(subList[i].HQCStd);
+                        oSub.HResult = DBUtility.ClsPub.isStrNull(subList[i].HResult);
+                        //oSub.HProcCheckTime = HDate;
+                        //oSub.HBillNo_bak = DBUtility.ClsPub.isStrNull(mainList[0].HBillNo);
+                        //oSub.HProcCheckEmp = ClsPub.isLong(mainList[0].HFirstCheckEmp);
+                        oSub.HSampleSchemeID = DBUtility.ClsPub.isLong(subList[i].HSampleSchemeID);
+                        oSub.HSampleQty = DBUtility.ClsPub.isLong(subList[i].HSampleQty);
+                        oSub.HSampleDamageQty = DBUtility.ClsPub.isDoule(subList[i].HSampleDamageQty);
+                        oSub.HAcceptQty = DBUtility.ClsPub.isLong(subList[i].HAcceptQty);
+                        oSub.HRejectQty = DBUtility.ClsPub.isLong(subList[i].HRejectQty);
+                        oSub.HSampleUnRightQty = DBUtility.ClsPub.isDoule(subList[i].HSampleUnRightQty);
+                        oSub.HStatus = DBUtility.ClsPub.isStrNull(subList[i].HStatus);
+                        oSub.HUnitID = DBUtility.ClsPub.isLong(subList[i].HUnitID);
+                        oSub.HInspectVal = DBUtility.ClsPub.isStrNull(subList[i].HInspectVal);
+                        oSub.HTargetVal = DBUtility.ClsPub.isStrNull(subList[i].HTargetVal);
+                        oSub.HUpLimit = DBUtility.ClsPub.isStrNull(subList[i].HUpLimit);
+                        oSub.HDownLimit = DBUtility.ClsPub.isStrNull(subList[i].HDownLimit);
+                        oSub.HUpOffSet = DBUtility.ClsPub.isStrNull(subList[i].HUpOffSet);
+                        oSub.HDownOffSet = DBUtility.ClsPub.isStrNull(subList[i].HDownOffSet);
+                        oSub.HAnalysisMethod = DBUtility.ClsPub.isStrNull(subList[i].HAnalysisMethod);
+                        oSub.HKeyInspect = DBUtility.ClsPub.isLong(subList[i].HKeyInspect);
+                        oSub.HInspectInstruMentID = DBUtility.ClsPub.isLong(subList[i].HInspectInstruMentID);
+                        oSub.HInspectResult = DBUtility.ClsPub.isStrNull(subList[i].HResult == "True" ? 1 : 0);
+
+                        oSub.HQCNote = DBUtility.ClsPub.isStrNull(subList[i].HQCNote);//妫�楠岃褰�
+                        oSub.HMax = DBUtility.ClsPub.isStrNull(subList[i].HMax);
+                        oSub.HMin = DBUtility.ClsPub.isStrNull(subList[i].HMin);
+                        oSub.HAvg = DBUtility.ClsPub.isStrNull(subList[i].HAvg);
+
+
+
+                        BillNew.DetailColl.Add(oSub);
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鏃犳槑缁嗚淇℃伅!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
 
                 //鍗曟嵁瀹屾暣鎬у垽鏂�
-                if (HProcExchBillNo == "")
+                if (HProcExchBillNo == "" && HMainSourceBillNo.Substring(0, Math.Min(2, HMainSourceBillNo.Length)) != "MO" )
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -844,11 +1514,47 @@
                     }
                     oCN.RunProc("Insert Into QC_FirstPieceCheckBillMain " +
                     "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
-                    ",HYear,HPeriod,HMaterID,HSourceID,HICMOInterID,HICMOBillNo,HProcExchBillNo" +
-                    ",HPRDORGID,HLastResult)" +
+                    ",HYear,HPeriod,HMaterID,HSourceID,HICMOInterID,HICMOEntryID,HICMOBillNo,HProcExchBillNo" +
+                    ",HPRDORGID,HLastResult,HProcID,HQCSchemeID,HBatchNo," +
+                    "HProcExchInterID,HProcExchEntryID,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType)" +
                     " values('" + BillType + "','" + HBillSubType + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate()" +
-                    "," + HYear + "," + HPeriod + ",'" + HMaterID + "','" + HSourceID + "'," + HICMOInterID + ",'" + HICMOBillNo + "','" + HProcExchBillNo + "'" +  
-                    "," + HPRDORGID + ",'" + HLastResult + "') ");
+                    "," + HYear + "," + HPeriod + ",'" + HMaterID + "','" + HSourceID + "'," + HICMOInterID + "," + HICMOEntryID + ",'" + HICMOBillNo + "','" + HProcExchBillNo + "'" +  
+                    "," + HPRDORGID + ",'" + HLastResult + "','" + HProcID + "','" + HQCSchemeID + "','" + HBatchNo + "'," +
+                    "" + HProcExchInterID + "," + HProcExchEntryID + "," + HMainSourceInterID + "," + HMainSourceEntryID + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'" + ") ");
+
+                    //鎻掑叆瀛愯〃
+                    foreach (Model.ClsQC_FirstPieceCheckBillSub oSub in BillNew.DetailColl)
+                    {
+                        string sql = "Insert into QC_FirstPieceCheckBillSub " +
+                          " (HInterID,HBillNo_bak,HEntryID" +
+                          ",HRemark,HSourceInterID" +
+                          ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
+                          ",HQCCheckItemID,HQCStd,HResult" +
+                          ",HStatus,HUnitID,HKeyInspect,HAnalysisMethod,HInspectInstruMentID,HInspectResult," +
+                          "HQCNote,HMax,HMin,HAvg" +
+                          ") values("
+                          + HInterID.ToString() + ",'" + oSub.HBillNo_bak + "'," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + HMainSourceInterID.ToString() +
+                          "," + HMainSourceEntryID.ToString() + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                          "," + oSub.HQCCheckItemID.ToString() + ",'" + oSub.HQCStd + "','" + oSub.HResult + "'" +
+                          ",'" + oSub.HStatus + "'," + oSub.HUnitID + "," + oSub.HKeyInspect + ",'" + oSub.HAnalysisMethod + "'," + oSub.HInspectInstruMentID + ",'" + oSub.HInspectResult + "'" +
+                          ",'" + oSub.HQCNote + "','" + oSub.HMax + "','" + oSub.HMin + "','" + oSub.HAvg + "'" +
+                          ")";
+
+                        oCN.RunProc("Insert into QC_FirstPieceCheckBillSub " +
+                          " (HInterID,HBillNo_bak,HEntryID" +
+                          ",HRemark,HSourceInterID" +
+                          ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
+                          ",HQCCheckItemID,HQCStd,HResult" +
+                          ",HStatus,HUnitID,HKeyInspect,HAnalysisMethod,HInspectInstruMentID,HInspectResult," +
+                          "HQCNote,HMax,HMin,HAvg" +
+                          ") values("
+                          + HInterID.ToString() + ",'" + oSub.HBillNo_bak + "'," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + HMainSourceInterID.ToString() +
+                          "," + HMainSourceEntryID.ToString() + ",'" + HMainSourceBillNo + "','" + HMainSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+                          "," + oSub.HQCCheckItemID.ToString() + ",'" + oSub.HQCStd + "','" + oSub.HResult + "'" +
+                          ",'" + oSub.HStatus + "'," + oSub.HUnitID + "," + oSub.HKeyInspect + ",'" + oSub.HAnalysisMethod + "'," + oSub.HInspectInstruMentID + ",'" + oSub.HInspectResult + "'" +
+                          ",'" + oSub.HQCNote + "','" + oSub.HMax + "','" + oSub.HMin + "','" + oSub.HAvg + "'" +
+                          ") ");
+                    }
                 }
                 else
                 {
@@ -1062,7 +1768,7 @@
                             {
                                 objJsonResult.code = "0";
                                 objJsonResult.count = 0;
-                                objJsonResult.Message = "鐢ㄦ埛缂栫爜涓嶈兘涓虹┖锛�";
+                                objJsonResult.Message = "[0000-2-021]鐢ㄦ埛缂栫爜涓嶈兘涓虹┖锛�";
                                 objJsonResult.data = null;
                                 return objJsonResult;
                             }
@@ -1073,13 +1779,13 @@
                             {
                                 objJsonResult.code = "0";
                                 objJsonResult.count = 0;
-                                objJsonResult.Message = "鏈煡璇㈠埌宸ュ簭淇℃伅锛�";
+                                objJsonResult.Message = "[0000-2-022]鏈煡璇㈠埌宸ュ簭淇℃伅锛�";
                                 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;
                         }
@@ -1087,7 +1793,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;
                         }
@@ -1096,7 +1802,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鎵嬪姩杈撳叆妯″紡";
+                        objJsonResult.Message = "[0000-2-024]鎵嬪姩杈撳叆妯″紡";
                         objJsonResult.data = "";
                         return objJsonResult;
                     }
@@ -1112,7 +1818,7 @@
                             {
                                 objJsonResult.code = "0";
                                 objJsonResult.count = 0;
-                                objJsonResult.Message = "鐢ㄦ埛缂栫爜涓嶈兘涓虹┖锛�";
+                                objJsonResult.Message = "[0000-2-021]鐢ㄦ埛缂栫爜涓嶈兘涓虹┖锛�";
                                 objJsonResult.data = null;
                                 return objJsonResult;
                             }
@@ -1123,7 +1829,7 @@
                             {
                                 objJsonResult.code = "0";
                                 objJsonResult.count = 0;
-                                objJsonResult.Message = "鏈煡璇㈠埌宸ュ簭淇℃伅锛�";
+                                objJsonResult.Message = "[0000-2-022]鏈煡璇㈠埌宸ュ簭淇℃伅锛�";
                                 objJsonResult.data = null;
                                 return objJsonResult;
                             }
@@ -1137,7 +1843,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;
                         }
@@ -1146,7 +1852,7 @@
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鎵嬪姩杈撳叆妯″紡";
+                        objJsonResult.Message = "[0000-2-024]鎵嬪姩杈撳叆妯″紡";
                         objJsonResult.data = "";
                         return objJsonResult;
                     }
@@ -1160,12 +1866,105 @@
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "绯荤粺鍙傛暟寮傚父";
+                objJsonResult.Message = "[0000-2-023]绯荤粺鍙傛暟寮傚父";
                 objJsonResult.data = "";
                 return objJsonResult;
             }
 
             
+        }
+        #endregion
+
+        #region 鎸囧紩鍗″彉鏇村崟 鏂板淇濆瓨
+        [Route("MES_Sc_ProcessExchangeBillMain_Note_PDA/ProcessExchangeBillMain_NoteAddBill")]
+        [HttpPost]
+        public object ProcessExchangeBillMain_NoteAddBill([FromBody] JObject oMain)
+        {
+            var _value = oMain["oMain"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            try
+            {
+                //鍙嶅簭鍒楀寲
+                string msg2 = "[" + sArray[0].ToString() + "]";
+                string user = sArray[1].ToString();//鐢ㄦ埛鍚�
+                string OperationType = sArray[2].ToString();//绫诲瀷
+
+                //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessExchangeBill_Change", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲彉鏇存潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                List<Model.Sc_ProcessExchangeBillMain_Note> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.Sc_ProcessExchangeBillMain_Note>>(msg2);
+
+                long HSouceID_Original = list[0].HSouceID_Original;
+                long HSouceID_Now = list[0].HSouceID_Now;
+                long HOrgID = list[0].HOrgID;//缁勭粐ID
+                String HICMOBillNo = list[0].HICMOBillNo;//浠诲姟鍗�
+                long HICMOInterID = list[0].HICMOInterID;//浠诲姟鍗旾D
+                long HProcExchInterID = list[0].HProcExchInterID;
+                long HProcExchEntryID = list[0].HProcExchEntryID;
+                String HProcExchBillNo = list[0].HProcExchBillNo;
+                String HBillNo_Note = list[0].HBillNo_Note;//鎸囧紩鍗�
+                long HMaterID = list[0].HMaterID;//浜у搧ID
+                long HUnitID = list[0].HUnitID;//璁¢噺鍗曚綅
+                long HProcID = list[0].HProcID;//宸ュ簭ID
+                string HMaker = user;//鍒跺崟浜�
+                string HMakeDate = list[0].HMakeDate;//鍒跺崟鏃ユ湡
+
+                //鍗曟嵁瀹屾暣鎬у垽鏂�
+                if (HProcExchBillNo == "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娴佽浆鍗℃病鏈夐�夋嫨锛佽鎵弿鏉″舰鐮佹垨杈撳叆鏉″舰鐮佸悗鍥炶溅";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+                if (OperationType == "1")
+                {
+                    oCN.RunProc("Insert Into Sc_ProcessExchangeBillMain_Note " +
+                    "(HBillNo_Note,HSouceID_Original,HSouceID_Now,HOrgID,HICMOInterID,HICMOBillNo,HProcExchBillNo,HProcExchInterID" +
+                    ",HProcExchEntryID,HMaterID,HUnitID,HProcID,HMaker,HMakeDate)" +
+                    " values('" + HBillNo_Note + "','" + HSouceID_Original + "'," + HSouceID_Now + ",'" + HOrgID + "'," + HICMOInterID + ",'"+ HICMOBillNo + "','" + HProcExchBillNo + "' ," + HProcExchInterID + 
+                    "," + HProcExchEntryID + ",'" + HMaterID + "','" + HUnitID + "'," + HProcID + ",'" + HMaker + "','" + HMakeDate + "')" );
+
+                    oCN.RunProc("update Sc_ProcessExchangeBillSub set HSourceID=" + HSouceID_Now + " where HInterID=" + HProcExchInterID + " and HEntryID=" + HProcExchEntryID);
+                }
+                else
+                {
+                    oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鎿嶄綔绫诲瀷鏃犳晥锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
         }
         #endregion
 
@@ -1351,7 +2150,8 @@
                     return objJsonResult;
                 }
                 //鑻AINDI閲嶅鍒欓噸鏂拌幏鍙�
-                oCN.BeginTran();
+                oCN.BeginTran();               
+
                 if ("Add".Equals(eventType))
                 {
                     if (!AllowbillNo(HBillNo))
@@ -1363,6 +2163,28 @@
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
+
+                    //淇濆瓨鍓嶆帶鍒�=========================================
+                    string HBillNote = "";
+                    ds = oCN.RunProcReturn("Exec h_p_Sc_StationInBill_WW_BeforeSaveCtrl  " + HInterID.ToString() + ", '" + HBillNo + "','" + HBillNote + "',1 ", "h_p_Sc_StationInBill_WW_BeforeSaveCtrl ");
+                    if (ds == null)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
+
                     //涓昏〃
                     oCN.RunProc("Insert Into Sc_StationInBillMain " +
                     "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
@@ -1381,9 +2203,54 @@
                     "," + HSupID + "," + HTaxRate + "," + HQty + "," + HPrice + "," + HMoney + "," + HPieceQty +
                     ",'" + HProcNo + "','" + HOrderProcNO + "'" + ",'" + HWWWorkOrderBillNo + "'" + "," + HWWWorkOrderInterID + "" + "," + HWWWorkOrderEntryID + "," + HMainInterID + "," + HPRDOrgID +
                     ") ");
+
+                    //=========================淇濆瓨鍚庢帶鍒�  ============================
+                    DataSet ds2 = oCN.RunProcReturn("Exec h_p_Sc_StationInBill_WW_AfterSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + "',2 ", "h_p_Sc_StationInBill_WW_AfterSaveCtrl");
+                    if (ds2 == null)
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨鍚庢帶鍒跺垽鏂け璐ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触2锛�" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=======================================================
+
                 }
                 else if ("Modify".Equals(eventType))
                 {
+
+                    //淇濆瓨鍓嶆帶鍒�=========================================
+                    string HBillNote = "";
+                    ds = oCN.RunProcReturn("Exec h_p_Sc_StationInBill_WW_BeforeSaveCtrl  " + HInterID.ToString() + ", '" + HBillNo + "','" + HBillNote + "',2 ", "h_p_Sc_StationInBill_WW_BeforeSaveCtrl ");
+                    if (ds == null)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=========================================================
 
                     //鍒犻櫎鍏宠仈
                     oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_In " + HInterID + ",-1");
@@ -1408,6 +2275,30 @@
                     ",HProcNo=" + HProcNo +
                     ",HOrderProcNO='" + HOrderProcNO + "'" +
                     " where HInterID=" + HInterID);
+
+                    //=========================淇濆瓨鍚庢帶鍒�  ============================
+                    DataSet ds2 = oCN.RunProcReturn("Exec h_p_Sc_StationInBill_WW_AfterSaveCtrl " + HInterID.ToString() + ", '" + HBillNo + "',2", "h_p_Sc_StationInBill_WW_AfterSaveCtrl");
+                    if (ds2 == null)
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨鍚庢帶鍒跺垽鏂け璐ワ紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+
+                    }
+                    if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        oCN.RollBack();
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触2锛�" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //=======================================================
+
                 }
                 else
                 {
@@ -1448,6 +2339,9 @@
                 }
                 oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_In " + HInterID.ToString() + ",1");
                 oCN.RunProc("exec h_p_WW_EntrustWorkOrderRelationQty_In " + HInterID.ToString() + ",1");
+
+               
+
                 oCN.Commit();
                 string sReturn = "";
                 if (oSystemParameter.ShowBill(ref sReturn) == true)
@@ -1569,6 +2463,51 @@
         }
         #endregion
 
+        #region 濮斿宸ュ簭鍙戝嚭鍗曟祦姘村彿鍥炶溅鑾峰彇宸ュ簭淇℃伅(搴忓垪鍙�)
+        [Route("Cj_StationEntrustInBill/txtHProcNo_KeyDown_Sec")]
+        [HttpGet]
+        public object txtHProcNo_KeyDown_Sec(string sBillNo, string sProcNo, string HSEQNumber)
+        {
+            try
+            {
+                if (sBillNo.Equals("") || sProcNo.Equals(""))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏉″舰鐮佷笉鑳戒负绌猴紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //寰楀埌淇℃伅锛堝澶栨爣璁颁负0鏃讹紝娴佽浆鏍囪涓�1鏃讹級
+                ds = oCN.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList_Sec  where 鍗曟嵁鍙�= '" + sBillNo + "' and 涓嬮亾娴佽浆宸ュ簭<>'杞�' and 濮斿鏍囪=1 and 娴佽浆鏍囪=1  and 宸ュ簭鍙�='" + sProcNo + "' and 搴忓垪鍙�='" + HSEQNumber + "'", "h_v_Sc_ProcessExchangeBillList_Sec");
+                //Ds = oCn.RunProcReturn("select top 1 * from h_v_Sc_ProcessExchangeBillList  where 鍗曟嵁鍙�= '" + sBillNo + "' and 宸ュ簭鍙�='" + sProcNo + "' and 濮斿鏍囪=0 and 娴佽浆鏍囪=1 ", "h_v_Sc_ProcessExchangeBillList");
+                //鍐欏叆淇℃伅
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "宸ュ簭鍙烽敊璇垨鑰呭綋鍓嶅伐搴忓彿涓嶅厑璁歌繘绔欙紝璇烽噸鏂拌緭鍏ワ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                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;
+            }
+        }
+        #endregion
+
         #region 缂栬緫鍓嶅垽鏂�
         [Route("Cj_StationEntrustInBill/set_ShowBillJudge")]
         [HttpGet]
@@ -1576,24 +2515,7 @@
         {
             try
             {
-                //ds = oCN.RunProcReturn("exec h_p_MES_StationInBill_DelCtrl  '" + HBillNo + "'", "h_p_MES_StationInBill_DelCtrl");
-                //if (ds == null || ds.Tables[0].Rows.Count == 0)
-                //{
-                //    objJsonResult.code = "0";
-                //    objJsonResult.count = 0;
-                //    objJsonResult.Message = "鍒ゆ柇鍏宠仈澶辫触锛�";
-                //    objJsonResult.data = null;
-                //    return objJsonResult;
-                //}
-                //else if (ds.Tables[0].Rows.Count > 0 && Pub_Class.ClsPub.isInt(ds.Tables[0].Rows[0][0]) == 2)
-                //{
-                //    objJsonResult.code = "0";
-                //    objJsonResult.count = 0;
-                //    objJsonResult.Message = Pub_Class.ClsPub.isStrNull(ds.Tables[0].Rows[0][1]);
-                //    objJsonResult.data = null;
-                //    return objJsonResult;
-                //}
-
+                
                 //鍒ゆ柇鏉冮檺
                 if (!ClsPub.Security_Log_second("MES_StationEntrustInBill_Edit", 1, false, CurUserName))
                 {
@@ -1698,8 +2620,31 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+
+                //瀹℃牳鍓嶆帶鍒�================================================================================
+                string sql = "exec h_p_Sc_StationInBill_WW_BeforeCheckCtrl " + HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
+                ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_WW_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;
+                    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 (Cj_StationEntrustInBillCheckBill(HInterID, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
+                if (Cj_StationEntrustInBillCheckBill(HInterID, oBill.omodel.HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
                 {
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
@@ -1728,7 +2673,7 @@
         }
 
         //瀹℃牳
-        public bool Cj_StationEntrustInBillCheckBill(Int64 lngBillKey, string CurUserName, ref string sReturn)
+        public bool Cj_StationEntrustInBillCheckBill(Int64 lngBillKey, string HBillNo, string CurUserName, ref string sReturn)
         {
             try
             {
@@ -1744,6 +2689,26 @@
 
                 oCN.RunProc(" Update Sc_StationInBillMain set HChecker='" + HChecker + "',HCheckDate='" + HCheckDate + "' Where HInterID=" + lngBillKey.ToString());
                 oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_Check_In " + lngBillKey.ToString() + ",1");
+               
+
+
+                //瀹℃牳鍚庢帶鍒�================================================================================
+                string sql = "exec h_p_Sc_StationInBill_WW_AfterCheckCtrl " + lngBillKey + ",'" + HBillNo + "','" + CurUserName + "'";
+                ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_WW_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;
@@ -1803,8 +2768,31 @@
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+
+                //鍙嶅鏍稿墠鎺у埗=============================================================
+                string sql = "exec h_p_Sc_StationInBill_WW_BeforeUnCheckCtrl " + HInterID + ",'" + oBill.omodel.HBillNo + "','" + CurUserName + "'";
+                ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_WW_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;
+                }
+                //================================================================================
+
                 //鍙嶅鏍�
-                if (Cj_StationEntrustInBillAbandonCheckBill(HInterID, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
+                if (Cj_StationEntrustInBillAbandonCheckBill(HInterID, oBill.omodel.HBillNo, CurUserName, ref DBUtility.ClsPub.sExeReturnInfo))
                 {
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
@@ -1832,7 +2820,7 @@
         }
 
         //鍙嶅鏍�
-        public bool Cj_StationEntrustInBillAbandonCheckBill(Int64 lngBillKey, string CurUserName, ref string sReturn)
+        public bool Cj_StationEntrustInBillAbandonCheckBill(Int64 lngBillKey,string HBillNo, string CurUserName, ref string sReturn)
         {
             try
             {
@@ -1848,6 +2836,24 @@
 
                 oCN.RunProc(" Update Sc_StationInBillMain set HChecker='',HCheckDate=null Where HInterID=" + lngBillKey.ToString());
                 //oCN.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_Check_In " + lngBillKey.ToString() + ",-1");
+
+
+                //鍙嶅鏍稿悗鎺у埗=============================================================================
+                string sql = "exec h_p_Sc_StationInBill_WW_AfterUnCheckCtrl " + lngBillKey + ",'" + HBillNo + "','" + CurUserName + "'";
+                ds = oCN.RunProcReturn(sql, "h_p_Sc_StationInBill_WW_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;
@@ -1910,8 +2916,31 @@
                             return objJsonResult;
                         }
                     }
+                    var HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
+                    //鍏抽棴鍓嶆帶鍒�=========================================      
+                    string sql1 = "exec h_p_Sc_StationInBill_WW_BeforeCloseCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Sc_StationInBill_WW_BeforeCloseCtrl");
+                    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;
+                    }
+                    //==================================================================================    
+
                     //鍏抽棴鍗曟嵁
-                    if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    if (!BillOld.CloseBill(Int64.Parse(HInterID), HBillNo, "h_p_Sc_StationInBill_WW_AfterCloseCtrl", user, ref ClsPub.sExeReturnInfo))
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 1;
@@ -1937,8 +2966,32 @@
                             return objJsonResult;
                         }
                     }
+                    var HBillNo = ds.Tables[0].Rows[0]["HBillNo"].ToString();
+                    //鍙嶅叧闂墠鎺у埗=========================================      
+                    string sql1 = "exec h_p_Sc_StationInBill_WW_BeforeUnCloseCtrl " + HInterID + ",'" + HBillNo + "','" + user + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Sc_StationInBill_WW_BeforeUnCloseCtrl");
+                    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;
+                    }
+                    //==================================================================================      
+
+
                     //鍙嶅叧闂崟鎹�
-                    if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                    if (!BillOld.CancelClose(Int64.Parse(HInterID), HBillNo, "h_p_Sc_StationInBill_WW_AfterUnCloseCtrl", user, ref ClsPub.sExeReturnInfo))
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 1;
@@ -2025,9 +3078,32 @@
                         return objJsonResult;
                     }
 
+                    //鍒犻櫎鍓嶆帶鍒�=========================================      
+                    string HBillNo = oBill.omodel.HBillNo;
+                    string sql1 = "exec h_p_Sc_StationInBill_WW_BeforeDelCtrl " + HInterID + ",'" + HBillNo + "','" + HDeleteMan + "'";
+                    ds = oCN.RunProcReturn(sql1, "h_p_Sc_StationInBill_WW_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;
+                    }
+                    //==================================================================================      
+
                     //鍐欏叆鍒犻櫎鏃ュ織 
                     string WorkList = "鍒犻櫎濮斿鍙戝嚭鍗曪細" + oBill.omodel.HBillNo;
-                    if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HProcExchInterID, oBill.omodel.HProcExchEntryID, ref DBUtility.ClsPub.sExeReturnInfo))
+                    if (!oBill.DeleteBill(oBill.omodel.HInterID, oBill.omodel.HProcExchInterID, oBill.omodel.HProcExchEntryID, HBillNo, "h_p_Sc_StationInBill_WW_AfterDelCtrl", HDeleteMan, ref DBUtility.ClsPub.sExeReturnInfo))
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
@@ -2064,6 +3140,918 @@
             }
         }
         #endregion
-        //
+        // 
+
+        #region 濮斿宸ュ簭鍙戝嚭鍗�    涓婁紶鐢熸垚閲戣澏浜戝崟鎹�
+
+        /// <summary>
+        /// 鏂板涓婁紶
+        /// </summary>
+        /// <returns></returns>
+        [Route("Cj_StationEntrustInBillController/set_SaveStationEntrustInBill_Json")]
+        [HttpPost]
+        public object set_SaveStationEntrustInBill_Json([FromBody] JObject oMain)
+        {
+            var _value = oMain["oMain"].ToString();
+            string msg1 = _value.ToString();
+            try
+            {
+                msg1 = "[" + msg1.ToString() + "]";
+                List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(msg1);
+                ClsSc_StationInBillMain oMain2 = new ClsSc_StationInBillMain();
+
+                oMain2.HInterID = list[0].HInterID;
+                oMain2.HBillNo = list[0].HBillNo;
+                oMain2.HBillType = "3792";
+                oMain2.HDate = DateTime.Today;
+                oMain2.HMaker = list[0].HMaker;//鍒跺崟浜�
+                oMain2.HRemark = list[0].HRemark;//澶囨敞
+                oMain2.HInnerBillNo = list[0].HInnerBillNo;//閫佽揣鍗曞彿
+                oMain2.HICMOInterID = list[0].HICMOInterID;//鐢熶骇璁㈠崟鍙稩D
+                oMain2.HICMOBillNo = list[0].HICMOBillNo;//鐢熶骇璁㈠崟鍙�
+                oMain2.HProcPlanInterID = 0;
+                oMain2.HProcPlanEntryID = 0;
+                oMain2.HProcPlanBillNo = "";
+                oMain2.HProcExchInterID = list[0].lngBillKey;
+                oMain2.HProcExchEntryID = list[0].lngBillSubKey;
+                oMain2.HProcExchBillNo = list[0].HProcExchBillNo;//娴佽浆鍗�
+                oMain2.HMaterID = list[0].HMaterID;//浜у搧ID
+                oMain2.HProcID = list[0].HProcID;//褰撳墠宸ュ簭
+                oMain2.HICMOQty = list[0].HICMOQty;//浠诲姟鍗曟暟閲�
+                oMain2.HPlanQty = list[0].HPlanQty;//娴佽浆鍗℃暟閲�
+                oMain2.HSourceID = list[0].HSourceID;//鐢熶骇璧勬簮ID
+                oMain2.HGroupID = list[0].HGroupID;//鐝粍ID
+                oMain2.HDeptID = list[0].HDeptID;//閮ㄩ棬ID
+                oMain2.HEmpID = list[0].HEmpID;//鎿嶄綔鍛業D
+                oMain2.HBarCode = list[0].HBarCode;//鏉″舰鐮�
+                oMain2.HBarCodeMaker = "";
+                oMain2.HAddr = "";
+                oMain2.HSupID = list[0].HSupID;//渚涘簲鍟咺D
+                oMain2.HTaxRate = list[0].HTaxRate;//绋庣巼
+                oMain2.HQty = list[0].HQty;//鍙戝嚭鏁伴噺
+                oMain2.HPrice = list[0].HPrice;//鍗曚环
+                oMain2.HMoney = list[0].HMoney;//閲戦
+                oMain2.HPieceQty = list[0].HPieceQty;//鍙戝嚭浠舵暟
+                oMain2.HProcNo = Pub_Class.ClsPub.isLong(list[0].HProcNo);//娴佹按鍙�
+                oMain2.HOrderProcNO = list[0].HOrderProcNO;//璁㈠崟璺熻釜鍙�
+                oMain2.HWWWorkOrderBillNo = list[0].HWWWorkOrderBillNo;//濮斿宸ュ崟鍙�
+                oMain2.HWWWorkOrderInterID = 0;//濮斿宸ュ崟鍙峰瓙鍐呯爜
+                oMain2.HWWWorkOrderEntryID = 0;//濮斿宸ュ崟鍙蜂富鍐呭悧
+                oMain2.HMainInterID = list[0].HMainInterID;
+                oMain2.HPRDOrgID = list[0].HPRDOrgID;//缁勭粐ID
+
+                //鑾峰彇绯荤粺鍙傛暟
+                string sErrMsg = "";
+                Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+                if (oSystemParameter.ShowBillByOrgID(oMain2.HPRDOrgID, ref sErrMsg) == true)
+                {
+                    if (oSystemParameter.omodel.MES_StationEntrustInBill_SaveAutoAddnew == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+                    {
+                        objJsonResult.Verify = "Y";
+                    }
+                    else
+                    {
+                        objJsonResult.Verify = "N";
+                    }
+
+                    if (set_SaveStationEntrustInBill(oMain2, oSystemParameter.omodel, ref DBUtility.ClsPub.sErrInfo))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //鎴愬姛锛�
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //澶辫触锛�
+                        objJsonResult.data = null;
+                        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;
+            }
+        }
+
+        //鐢熸垚濮斿宸ュ簭鍙戝嚭鍗�
+        public bool set_SaveStationEntrustInBill(Model.ClsSc_StationInBillMain oMain, Pub_Class.ClsXt_SystemParameterMain oSystemParameterMain, ref string sErrMsg)
+        {
+            string sRemark = "";
+            string HReturn;
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+
+            //涓婁紶鍓嶅垽鏂�
+            if (oMain.HProcExchInterID <= 0)
+            {
+                sErrMsg = "娴佽浆鍗℃病鏈夐�夋嫨锛�";
+                return false;
+            }
+            if (oMain.HProcExchBillNo == "")
+            {
+                sErrMsg = "娴佽浆鍗″彿娌℃湁閫夋嫨锛�";
+                return false;
+            }
+            if (oMain.HProcNo <= 0)
+            {
+                sErrMsg = "娴佹按鍙锋病鏈夐�夋嫨锛�";
+                return false;
+            }
+            if (oMain.HProcID <= 0)
+            {
+                sErrMsg = "褰撳墠宸ュ簭娌℃湁閫夋嫨锛�";
+                return false;
+            }
+            if (oMain.HQty <= 0)
+            {
+                sErrMsg = "鍙戝嚭鏁伴噺涓嶅厑璁镐负0锛�";
+                return false;
+            }
+            string HBillNote = "";
+            DataSet BfDs = oCn.RunProcReturn("exec h_p_Sc_StationInBill_WW_BeforeSaveCtrl " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + HBillNote + "',1 ", "h_p_Sc_StationInBill_WW_BeforeSaveCtrl");
+            if (BfDs == null || BfDs.Tables[0].Rows.Count == 0)
+            {
+                sErrMsg = "涓婁紶鍓嶅垽鏂暟鎹畬鏁存�уけ璐ワ紒";
+                return false;
+            }
+            else
+            {
+                if (DBUtility.ClsPub.isStrNull(BfDs.Tables[0].Rows[0]["HBack"]) != "0")
+                {
+                    sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛�" + DBUtility.ClsPub.isStrNull(BfDs.Tables[0].Rows[0]["HBackRemark"]);
+                    return false;
+                }
+            }
+            sRemark = sRemark + " 锛涗笂浼犲墠鍒ゆ柇" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+            try
+            {
+                //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oMain.HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    sErrMsg = s;
+                    return false;
+                }
+                oMain.HYear = sYear;
+                oMain.HPeriod = sPeriod;
+
+                oCn.BeginTran();
+                //鐢熸垚濮斿宸ュ簭鍙戝嚭鍗�
+                //鍐欏叆涓昏〃
+                oCN.RunProc("Insert Into Sc_StationInBillMain " +
+                "(HBillType,HBillSubType,HInterID,HBillNo,HDate,HMaker,HMakeDate" +
+                ",HYear,HPeriod,HRemark,HInnerBillNo" +
+                ",HICMOInterID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" +
+                ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationInTime,HSourceID" +
+                ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate" +
+                ",HSupID,HTaxRate,HQty,HPrice,HMoney,HPieceQty" +
+                ",HProcNo,HOrderProcNO,HWWWorkOrderBillNo,HWWWorkOrderInterID,HWWWorkOrderEntryID,HMainInterID,HPRDOrgID" +
+                ") " +
+                " values('" + oMain.HBillType + "','" + oMain.HBillType + "'," + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "','" + oMain.HDate.ToShortDateString() + "','" + oMain.HMaker + "',getdate()" +
+                ", " + oMain.HYear.ToString() + "," + oMain.HPeriod.ToString() + ",'" + oMain.HRemark + "','" + oMain.HInnerBillNo + "'" +
+                "," + oMain.HICMOInterID + ",'" + oMain.HICMOBillNo + "'," + oMain.HProcPlanInterID + "," + oMain.HProcPlanEntryID + ",'" + oMain.HProcPlanBillNo + "'," + oMain.HProcExchInterID + "," + oMain.HProcExchEntryID +
+                ",'" + oMain.HProcExchBillNo + "'," + oMain.HMaterID + "," + oMain.HProcID + "," + oMain.HICMOQty + "," + oMain.HPlanQty + ",getdate()," + oMain.HSourceID +
+                "," + oMain.HGroupID + "," + oMain.HDeptID + "," + oMain.HEmpID + ",'" + oMain.HBarCode + "','" + oMain.HAddr + "','" + oMain.HBarCodeMaker + "',getdate()" +
+                "," + oMain.HSupID + "," + oMain.HTaxRate + "," + oMain.HQty + "," + oMain.HPrice + "," + oMain.HMoney + "," + oMain.HPieceQty +
+                ",'" + oMain.HProcNo + "','" + oMain.HOrderProcNO + "'" + ",'" + oMain.HWWWorkOrderBillNo + "'" + "," + oMain.HWWWorkOrderInterID + "" + "," + oMain.HWWWorkOrderEntryID + "," + oMain.HMainInterID + "," + oMain.HPRDOrgID +
+                ") ");
+
+                sRemark = sRemark + " 锛涚敓鎴愬澶栧伐搴忓彂鍑哄崟鍗曟嵁" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+                DataSet AfDs = oCn.RunProcReturn("exec h_p_Sc_StationInBill_WW_AfterSaveCtrl " + oMain.HInterID.ToString() + ",'" + oMain.HBillNo + "',2 ", "h_p_Sc_StationInBill_WW_AfterSaveCtrl");
+                if (AfDs == null || AfDs.Tables[0].Rows.Count == 0)
+                {
+                    sErrMsg = "淇濆瓨鍚庢帶鍒跺垽鏂け璐ワ紒";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isStrNull(AfDs.Tables[0].Rows[0]["HBack"]) != "0")
+                    {
+                        sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛�" + DBUtility.ClsPub.isStrNull(BfDs.Tables[0].Rows[0]["HBackRemark"]);
+                        return false;
+                    }
+                }
+
+                DataSet QtyDs = oCn.RunProcReturn("exec h_p_MES_StationInBill_QtyCtrl " + oMain.HInterID.ToString(), "h_p_MES_StationInBill_QtyCtrl");
+                if (QtyDs == null || QtyDs.Tables[0].Rows.Count == 0)
+                {
+                    sErrMsg = "鍒ゆ柇鏁伴噺澶辫触锛�";
+                    return false;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isStrNull(QtyDs.Tables[0].Rows[0]["HBack"]) == "2")
+                    {
+                        sErrMsg = "鍗曟嵁鍙凤細" + oMain.HBillNo + "锛屽崟鎹甀D锛�" + oMain.HInterID + "锛�" + DBUtility.ClsPub.isStrNull(BfDs.Tables[0].Rows[0]["HBackRemark"]);
+                        return false;
+                    }
+                }
+
+                oCn.RunProc("exec h_p_Mes_ProcessExchangeRelationQty_In " + oMain.HInterID.ToString() + ",1");
+                oCn.RunProc("exec h_p_WW_EntrustWorkOrderRelationQty_In " + oMain.HInterID.ToString() + ",1");
+
+                sRemark = sRemark + " 锛涗繚瀛樺悗鎺у埗" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+                //杩斿洖API閫掑叆鎵�闇�鏁版嵁
+                DataSet Ds = oCn.RunProcReturn("exec h_p_MES_StationEntrustInBill_ProdMateRequest_CLD " + oMain.HProcExchInterID.ToString() + "," + oMain.HProcExchEntryID.ToString() + "," + oMain.HProcNo.ToString() + "," + oMain.HQty.ToString(), "h_p_MES_StationEntrustInBill_ProdMateRequest_CLD");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sErrMsg = "鏈幏鍙栧埌API鎵�闇�閫掑叆鏁版嵁锛�";
+                    return false;
+                }
+                sRemark = sRemark + " 锛涜幏鍙朇LOUD鍗曟嵁API閫掑叆鍊�" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+                //鐢熸垚閲戣澏浜戝搴斿崟鎹�
+                //鑾峰彇閲戣澏浜慉PI鎵�闇�閫掑叆鏁版嵁
+                string sJson_MainCustom = "";   //鑷畾涔夊瓧娈�
+                string sJson_BatchNo = "";
+                string sJson_FAUXPROPID = "";
+                sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
+                //鏄惁鍚敤鎵规绠$悊
+                if (Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HISBATCHMANAGE"]) == "1")
+                {
+                    sJson_BatchNo = "  \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLOT"]) + "\"},    \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLOT"]) + "\"  , ";
+                }
+                else
+                {
+                    sJson_BatchNo = "";
+                }
+
+                //杈呭姪灞炴��
+                sJson_FAUXPROPID = " \"FProAuxPropId\":{\"FPROAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProAuxPropId"]) + "\"}},";
+
+                string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"Model\":{\"FBillNo\":\"" + oMain.HBillNo + "\"," +
+                //"FID": 0,
+                "\"FBillTypeID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\" }," +
+                "\"FBillDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillDate"]) + "\"," +
+                "\"FProOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProOrgId"]) + "\" }," +
+                "\"FProductId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProductId"]) + "\" }," +
+                //"FProductId": {"FNUMBER": ""},
+                sJson_FAUXPROPID +
+                "\"FTransferType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferType"]) + "\"," +
+                "\"FBusinessType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBusinessType"]) + "\"," +
+                //"FDescription": "",
+                "\"FProDeptId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProDeptId"]) + "\" }," +
+                "\"FMOBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOBillNo"]) + "\"," +
+                "\"FMOEntrySeq\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOEntrySeq"]) + "\"," +
+                "\"FBomId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBomId"]) + "\" }," +
+                "\"FOperUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOperUnitId"]) + "\" }," +
+                "\"FProUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProUnitId"]) + "\" }," +
+                "\"FMOQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOQty"]) + "\"," +
+                "\"FMTONo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMTONo"]) + "\"," +
+                sJson_BatchNo +
+                //"FCreatorId": {"FUserID": ""},
+                "\"FSaleOrderNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleOrderNo"]) + "\"," +
+                //"FCreateDate": "1900-01-01",
+                "\"FSaleOrderSeq\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleOrderSeq"]) + "\"," +
+                //"FModifierId": {"FUserID": ""},
+                //"FModifyDate": "1900-01-01",
+                //"FApproveDate": "1900-01-01",
+                //"FApproverId": {"FUserID": ""},
+                //"FCancelDate": "1900-01-01",
+                //"FCancelId": {"FUserID": ""},
+                "\"FSourceBillType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSourceBillType"]) + "\"," +
+                "\"FSrcOptPlanId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSrcOptPlanId"]) + "\"," +
+                "\"FSourceBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSourceBillNo"]) + "\"," +
+                "\"FSrcOptPlanOptId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSrcOptPlanOptId"]) + "\"," +
+                "\"FSrcOptPlanSeqId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSrcOptPlanSeqId"]) + "\"," +
+                "\"FMOId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOId"]) + "\"," +
+                "\"FMOEntryId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOEntryId"]) + "\"," +
+                //"FSrcRptEntryId": 0,
+                //"FGroupById": "",
+                "\"FProductType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProductType"]) + "\"," +
+                "\"FProjectNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProjectNo"]) + "\"," +
+                "\"FStockInOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockInOrgId"]) + "\" }," +
+                "\"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeId"]) + "\"," +
+                //"FInStockType": "",
+                "\"FOwnerId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerId"]) + "\" }," +
+                //"FStockId": {"FNUMBER": ""},
+                "\"FOutOPBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutOPBillNo"]) + "\"," +
+                //"FStockLocId": {"FSTOCKLOCID__FF100001": {"FNumber": ""}},
+                //"FBalanceType": "",
+                "\"FIsEntrust\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsEntrust"]) + "\"," +
+                "\"FOutSeqNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutSeqNumber"]) + "\"," +
+                "\"FOutOperNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutOperNumber"]) + "\"," +
+                "\"FOutProOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutProOrgId"]) + "\" }," +
+                "\"FProxyOutProOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProxyOutProOrgId"]) + "\" }," +
+                "\"FOutDeptId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutDeptId"]) + "\" }," +
+                "\"FOutWorkCenterId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutWorkCenterId"]) + "\" }," +
+                "\"FOutProcessId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutProcessId"]) + "\" }," +
+                //"FOutEmpId": {"FSTAFFNUMBER": ""},
+                "\"FOutOperDescr\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutOperDescr"]) + "\"," +
+                //"FOutPurOrgId": {"FNumber": ""},
+                "\"FInProOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInProOrgId"]) + "\" }," +
+                "\"FInOPBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInOPBillNo"]) + "\"," +
+                //"FOutSupplier": {"FNUMBER": ""},
+                "\"FOutOperId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutOperId"]) + "\"," +
+                "\"FInProcessId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInProcessId"]) + "\" }," +
+                "\"FInDeptId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInDeptId"]) + "\" }," +
+                "\"FOutIsInStorePoint\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutIsInStorePoint"]) + "\"," +
+                "\"FOutSeqType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutSeqType"]) + "\"," +
+                "\"FInOperDescr\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInOperDescr"]) + "\"," +
+                "\"FOutIsOutSrc\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutIsOutSrc"]) + "\"," +
+                "\"FInSeqNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInSeqNumber"]) + "\"," +
+                "\"FInPurOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInPurOrgId"]) + "\" }," +
+                "\"FInOperNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInOperNumber"]) + "\"," +
+                "\"FInWorkCenterId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInWorkCenterId"]) + "\" }," +
+                //"FInEmpId": {"FSTAFFNUMBER": ""},
+                "\"FInSupplier\":{ \"FNAME\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInSupplier"]) + "\" }," +
+                "\"FOperApplyQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOperApplyQty"]) + "\"," +
+                "\"FTransferQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferQty"]) + "\"," +
+                "\"FApplyQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FApplyQty"]) + "\"," +
+                "\"FOperTransferQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOperTransferQty"]) + "\"," +
+                "\"FOperQualifiedQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOperQualifiedQty"]) + "\"," +
+                //"FValQualifiedQty": 0,
+                "\"FQualifiedQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FQualifiedQty"]) + "\"," +
+                "\"FInOperId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInOperId"]) + "\"," +
+                //"FOperUnqualifiedQty": 0,
+                //"FUnqualifiedQty": 0,
+                "\"FIsFirstOperTransIn\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsFirstOperTransIn"]) + "\"," +
+                "\"FIsExistTransIn\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsExistTransIn"]) + "\"," +
+                //"FOperProFailQty": 0,
+                //"FValProFailQty": 0,
+                //"FProFailQty": 0,
+                //"FOperMatFailQty": 0,
+                //"FOperPreReworkQty": 0,
+                //"FPreReworkQty": 0,
+                //"FMatFailQty": 0,
+                //"FValMatFailQty": 0,
+                "\"FSendCurrency\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendCurrency"]) + "\" }," +
+                "\"FIsInspect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsInspect"]) + "\"," +
+                "\"FQCSchemeId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FQCSchemeId"]) + "\" }," +
+                "\"FSendProFailPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendProFailPrice"]) + "\"," +
+                //"FReceiveCurrency": {"FNUMBER": ""},
+                //"FReceiveQualifiedPrice": 0,
+                //"FReceiveProFailPrice": 0,
+                //"FReceiveMatFailPrice": 0,
+                "\"FReceiveValuationUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FReceiveValuationUnitId"]) + "\" }," +
+                //"FReceiveTaxRate": 0,
+                "\"FSendMatFailPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendMatFailPrice"]) + "\"," +
+                //"FOperInspectSelectQty": 0,
+                "\"FSendValuationUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendValuationUnitId"]) + "\" }," +
+                //"FInspectSelectQty": 0,
+                "\"FSendTaxRate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendTaxRate"]) + "\"," +
+                "\"FSendQualifiedPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendQualifiedPrice"]) + "\"," +
+                //"FOperQuaSettleSelQty": 0,
+                //"FValQuaSettleSelQty": 0,
+                //"FQuaSettleSelQty": 0,
+                //"FOperInspectQty": 0,
+                //"FInspectQty": 0,
+                //"FQuaInStockSelQty": 0,
+                //"FOperQuaSettleQty": 0,
+                //"FValQuaSettleQty": 0,
+                //"FQuaSettleQty": 0,
+                //"FValProFailSettleSelQty": 0,
+                //"FOperProFailSettleSelQty": 0,
+                //"FQuaInStockQty": 0,
+                //"FProFailSettleSelQty": 0,
+                //"FOperProFailSettleQty": 0,
+                //"FValProFailSettleQty": 0,
+                //"FProFailSettleQty": 0,
+                //"FOperMatFailSettleSelQty": 0,
+                //"FValMatFailSettleSelQty": 0,
+                //"FMatFailSettleSelQty": 0,
+                "\"FUnitTransHeadQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FUnitTransHeadQty"]) + "\"," +
+                "\"FUnitTransOperQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FUnitTransOperQty"]) + "\"," +
+                //"FOperMatFailSettleQty": 0,
+                //"FMatFailSettleQty": 0,
+                //"FValMatFailSettleQty": 0,
+                "\"FBaseUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseUnitId"]) + "\" }," +
+                "\"FApplyBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FApplyBaseQty"]) + "\"," +
+                "\"FTransferBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferBaseQty"]) + "\"," +
+                //"FUnQuaInStockSelQty": 0,
+                "\"FQualifiedBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FQualifiedBaseQty"]) + "\"," +
+                //"FInspectSelectBaseQty": 0,
+                //"FUnQuaInStockQty": 0,
+                //"FUnqualifiedBaseQty": 0,
+                //"FProFailBaseQty": 0,
+                //"FInspectBaseQty": 0,
+                //"FPreReworkBaseQty": 0,
+                //"FMatFailBaseQty": 0,
+                //"FQuaSettleSelBaseQty": 0,
+                //"FQuaInStockSelBaseQty": 0,
+                //"FQuaSettleBaseQty": 0,
+                //"FUnQuaInStockSelBaseQty": 0,
+                //"FQuaInStockBaseQty": 0,
+                //"FUnQuaInStockBaseQty": 0,
+                //"FProFailSettleSelBaseQty": 0,
+                //"FProFailSettleBaseQty": 0,
+                //"FMatFailSettleSelBaseQty": 0,
+                //"FMatFailSettleBaseQty": 0,
+                "\"FDemandType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDemandType"]) + "\"," +
+                "\"FDemandBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDemandBillId"]) + "\"," +
+                "\"FDemandBillEntryId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDemandBillEntryId"]) + "\"," +
+                //"FInspectEntryId": 0,
+                "\"FConvertType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FConvertType"]) + "\"," +
+                //"FReceiveQualifiedTaxPrice": 0,
+                //"FReceiveProFailTaxPrice": 0,
+                //"FReceiveMatFailTaxPrice": 0,
+                "\"FSendQualifiedTaxPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendQualifiedTaxPrice"]) + "\"," +
+                "\"FSendProFailTaxPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendProFailTaxPrice"]) + "\"," +
+                "\"FSendMatFailTaxPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendMatFailTaxPrice"]) + "\"," +
+                "\"FRateOperQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRateOperQty"]) + "\"," +
+                "\"FRateProQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRateProQty"]) + "\"," +
+                "\"FRateValQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRateValQty"]) + "\"," +
+                //"FPriceList": {"FNUMBER": ""},
+                //"FOperStatus": "",
+                //"FInstockStatus": "",
+                //"FSettleStatus": "",
+                //"FMOInStockQty": 0,
+                //"FDefectProcessEntryId": 0,
+                //"FMRBReviewEntryId": 0,
+                //"FTransDirection": "",
+                //"FBackwashSrcId": 0
+                sJson_MainCustom +
+                " \"FBillHead_Link\": [{" +
+                    " \"FBillHead_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FFlowId"]) + "\"," +
+                    " \"FBillHead_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FFlowLineId"]) + "\"," +
+                    " \"FBillHead_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FRuleId"]) + "\"," +
+                    " \"FBillHead_Link_FSTableId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FSTableId"]) + "\"," +
+                    " \"FBillHead_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FSTableName"]) + "\"," +
+                    " \"FBillHead_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FSBillId"]) + "\"," +
+                    " \"FBillHead_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FSId"]) + "\"," +
+                    " \"FBillHead_Link_FTransferBaseQtyOld\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FTransferBaseQtyOld"]) + "\"," +
+                    " \"FBillHead_Link_FTransferBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FTransferBaseQty"]) + "\"" +
+                " } ]," +
+                " \"FBFLowId\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBFLowId"]) + "\"}}}";
+
+                string sJson = sJson_Main;
+
+                //CLOUD閲戣澏浜戣处鍙峰瘑鐮佺櫥鍏�
+                var loginRet = InvokeHelper.LoginUser(oMain.HMaker);
+                var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
+                sRemark = sRemark + " 锛涜幏鍙栭獙璇丆LOUD璐﹀彿瀵嗙爜" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+                //鐢熸垚閲戣澏浜戝崟鎹�
+                if (isSuccess == 1)
+                {
+                    string result = InvokeHelper.Save("SFC_OperationTransfer", sJson); //淇濆瓨
+                    sRemark = sRemark + " 锛涚敓鎴怌LOUD鍗曟嵁" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+                    HReturn = result.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        //鍙嶅簭鍒楀寲json鏁版嵁
+                        var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                        //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                        var strErrorMsg = string.Empty;
+                        //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                        foreach (var item in retModel.Result.ResponseStatus.Errors)
+                        {
+                            strErrorMsg += item.Message + "\r\n";
+                        };
+                        sErrMsg = "鐢熸垚濮斿宸ュ簭鍙戝嚭鍗曞け璐ワ紒閲戣澏浜戞彁绀猴細" + strErrorMsg;
+                        LogService.Write("鐢熸垚濮斿宸ュ簭鍙戝嚭鍗曞け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
+                        oCn.RollBack();
+                        return false;
+                    }
+                    else
+                    {
+                        sRemark = sRemark + sJson;
+                        oCn.Commit();
+                    }
+                }
+                else
+                {
+                    sErrMsg = "鐢熸垚濮斿宸ュ簭鍙戝嚭鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            catch (Exception e)
+            {
+                LogService.Write("鐢熸垚鍥炴粴" + e.Message + sRemark);
+                sErrMsg = "鐢熸垚濮斿宸ュ簭鍙戝嚭鍗曞け璐ワ紒" + e.Message;
+                oCn.RollBack();
+                return false;
+            }
+
+            if (oSystemParameter.omodel.MES_StationEntrustInBill_AutoCheck.ToUpper() == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+            {
+                try
+                {
+                    oCn.BeginTran();
+                    //瀹℃牳鍗曟嵁
+                    oCn.RunProc("Update Sc_StationInBillMain Set HChecker='" + oMain.HMaker + "',HCheckDate=getdate(),HBillStatus=2 where HInterID= " + oMain.HInterID.ToString());
+
+                    //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                    HReturn = "";
+                    string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + oMain.HBillNo + "\"]}";
+                    var result2 = InvokeHelper.Submit("SFC_OperationTransfer", sJson2);    //鎻愪氦
+                    sRemark = sRemark + " 锛涙彁浜LOUD鍗曟嵁" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+                    var result3 = InvokeHelper.Audit("SFC_OperationTransfer", sJson2);     //瀹℃牳
+                    sRemark = sRemark + " 锛涘鏍窩LOUD鍗曟嵁" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+                    HReturn = result2.ToString() + "," + result3.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        //鍙嶅簭鍒楀寲json鏁版嵁
+                        var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(result3);
+                        //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                        var strErrorMsg = string.Empty;
+                        //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                        foreach (var item in retModel.Result.ResponseStatus.Errors)
+                        {
+                            strErrorMsg += item.Message + "\r\n";
+                        };
+                        sErrMsg = "鐢熸垚濮斿宸ュ簭鍙戝嚭鍗曟垚鍔燂紝瀹℃牳鍗曟嵁澶辫触锛侀噾铦朵簯鎻愮ず锛�" + strErrorMsg;
+                        LogService.Write("瀹℃牳鍗曟嵁澶辫触" + sRemark + HReturn);
+                        oCn.RollBack();
+                        return true;
+                    }
+                    else
+                    {
+                        LogService.Write("鐢熸垚骞跺鏍稿澶栧伐搴忓彂鍑哄崟鎴愬姛锛�" + sRemark);
+                        sErrMsg = "鐢熸垚骞跺鏍稿澶栧伐搴忓彂鍑哄崟鎴愬姛锛佸崟鎹彿涓猴細" + oMain.HBillNo;
+                        oCn.Commit();
+                        return true;
+                    }
+                }
+                catch (Exception e)
+                {
+                    LogService.Write("瀹℃牳鍥炴粴" + sRemark + HReturn);
+                    sErrMsg = "瀹℃牳濮斿宸ュ簭鍙戝嚭鍗曞け璐ワ紒" + e.Message;
+                    oCn.RollBack();
+                    return false;
+                }
+            }
+            else
+            {
+                LogService.Write("鐢熸垚濮斿宸ュ簭鍙戝嚭鍗曟垚鍔燂紒" + sRemark);
+                sErrMsg = "鐢熸垚濮斿宸ュ簭鍙戝嚭鍗曟垚鍔燂紒鍗曟嵁鍙蜂负锛�" + oMain.HBillNo;
+                return true;
+            }
+        }
+
+        #endregion
+
+        #region 濮斿宸ュ簭鍙戝嚭鍗�    涓婁紶鐢熸垚閲戣澏浜戝崟鎹�
+
+        /// <summary>
+        /// 鏂板骞跺鏍搁噾铦朵簯鍗曟嵁
+        /// </summary>
+        /// <returns></returns>
+        [Route("Cj_StationEntrustInBillController/set_SaveStationEntrustInBill_CLD_Json")]
+        [HttpGet]
+        public object set_SaveStationEntrustInBill_CLD_Json(string HBillNo, Int64 HProcExchInterID, Int64 HProcExchEntryID, Int64 HProcNo, Double HQty, string HMaker)
+        {
+            if (set_SaveStationEntrustInBill_CLD(HBillNo,HProcExchInterID,HProcExchEntryID,HProcNo,HQty,HMaker, ref DBUtility.ClsPub.sErrInfo))
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //鎴愬姛锛�
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            else
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = DBUtility.ClsPub.sErrInfo;  //澶辫触锛�
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        //鐢熸垚閲戣澏浜戝澶栧伐搴忓彂鍑哄崟
+        public bool set_SaveStationEntrustInBill_CLD(string HBillNo, Int64 HProcExchInterID, Int64 HProcExchEntryID, Int64 HProcNo, Double HQty, string HMaker, ref string sErrMsg)
+        {
+            string sRemark = "";
+            string HReturn;
+            SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+            try
+            {
+                //杩斿洖API閫掑叆鎵�闇�鏁版嵁
+                DataSet Ds = oCn.RunProcReturn("exec h_p_MES_StationEntrustInBill_ProdMateRequest_CLD " + HProcExchInterID.ToString() + "," + HProcExchEntryID.ToString() + "," + HProcNo.ToString() + "," + HQty.ToString(), "h_p_MES_StationEntrustInBill_ProdMateRequest_CLD");
+                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
+                {
+                    sErrMsg = "鏈幏鍙栧埌API鎵�闇�閫掑叆鏁版嵁锛�";
+                    return false;
+                }
+                sRemark = sRemark + " 锛涜幏鍙朇LOUD鍗曟嵁API閫掑叆鍊�" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+                //鐢熸垚閲戣澏浜戝搴斿崟鎹�
+                //鑾峰彇閲戣澏浜慉PI鎵�闇�閫掑叆鏁版嵁
+                string sJson_MainCustom = "";   //鑷畾涔夊瓧娈�
+                string sJson_BatchNo = "";
+                string sJson_FAUXPROPID = "";
+                sJson_MainCustom = Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["MainCustom"]);
+
+                //鏄惁鍚敤鎵规绠$悊
+                if (Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HISBATCHMANAGE"]) == "1")
+                {
+                    sJson_BatchNo = "  \"FLOT\": {\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLOT"]) + "\"},    \"FLOT_TEXT\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FLOT"]) + "\"  , ";
+                }
+                else
+                {
+                    sJson_BatchNo = "";
+                }
+
+                //杈呭姪灞炴��
+                sJson_FAUXPROPID = " \"FProAuxPropId\":{\"FPROAUXPROPID__FF100002\":{\"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProAuxPropId"]) + "\"}},";
+
+                string sJson_Main = "{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"Model\":{\"FBillNo\":\"" + HBillNo + "\"," +
+                //"FID": 0,
+                "\"FBillTypeID\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillTypeID"]) + "\" }," +
+                "\"FBillDate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillDate"]) + "\"," +
+                "\"FProOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProOrgId"]) + "\" }," +
+                "\"FProductId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProductId"]) + "\" }," +
+                //"FProductId": {"FNUMBER": ""},
+                sJson_FAUXPROPID +
+                "\"FTransferType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferType"]) + "\"," +
+                "\"FBusinessType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBusinessType"]) + "\"," +
+                //"FDescription": "",
+                "\"FProDeptId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProDeptId"]) + "\" }," +
+                "\"FMOBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOBillNo"]) + "\"," +
+                "\"FMOEntrySeq\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOEntrySeq"]) + "\"," +
+                "\"FBomId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBomId"]) + "\" }," +
+                "\"FOperUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOperUnitId"]) + "\" }," +
+                "\"FProUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProUnitId"]) + "\" }," +
+                "\"FMOQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOQty"]) + "\"," +
+                "\"FMTONo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMTONo"]) + "\"," +
+                sJson_BatchNo +
+                //"FCreatorId": {"FUserID": ""},
+                "\"FSaleOrderNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleOrderNo"]) + "\"," +
+                //"FCreateDate": "1900-01-01",
+                "\"FSaleOrderSeq\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSaleOrderSeq"]) + "\"," +
+                //"FModifierId": {"FUserID": ""},
+                //"FModifyDate": "1900-01-01",
+                //"FApproveDate": "1900-01-01",
+                //"FApproverId": {"FUserID": ""},
+                //"FCancelDate": "1900-01-01",
+                //"FCancelId": {"FUserID": ""},
+                "\"FSourceBillType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSourceBillType"]) + "\"," +
+                "\"FSrcOptPlanId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSrcOptPlanId"]) + "\"," +
+                "\"FSourceBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSourceBillNo"]) + "\"," +
+                "\"FSrcOptPlanOptId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSrcOptPlanOptId"]) + "\"," +
+                "\"FSrcOptPlanSeqId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSrcOptPlanSeqId"]) + "\"," +
+                "\"FMOId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOId"]) + "\"," +
+                "\"FMOEntryId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FMOEntryId"]) + "\"," +
+                //"FSrcRptEntryId": 0,
+                //"FGroupById": "",
+                "\"FProductType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProductType"]) + "\"," +
+                "\"FProjectNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProjectNo"]) + "\"," +
+                "\"FStockInOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FStockInOrgId"]) + "\" }," +
+                "\"FOwnerTypeId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerTypeId"]) + "\"," +
+                //"FInStockType": "",
+                "\"FOwnerId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOwnerId"]) + "\" }," +
+                //"FStockId": {"FNUMBER": ""},
+                "\"FOutOPBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutOPBillNo"]) + "\"," +
+                //"FStockLocId": {"FSTOCKLOCID__FF100001": {"FNumber": ""}},
+                //"FBalanceType": "",
+                "\"FIsEntrust\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsEntrust"]) + "\"," +
+                "\"FOutSeqNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutSeqNumber"]) + "\"," +
+                "\"FOutOperNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutOperNumber"]) + "\"," +
+                "\"FOutProOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutProOrgId"]) + "\" }," +
+                "\"FProxyOutProOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FProxyOutProOrgId"]) + "\" }," +
+                "\"FOutDeptId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutDeptId"]) + "\" }," +
+                "\"FOutWorkCenterId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutWorkCenterId"]) + "\" }," +
+                "\"FOutProcessId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutProcessId"]) + "\" }," +
+                //"FOutEmpId": {"FSTAFFNUMBER": ""},
+                "\"FOutOperDescr\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutOperDescr"]) + "\"," +
+                //"FOutPurOrgId": {"FNumber": ""},
+                "\"FInProOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInProOrgId"]) + "\" }," +
+                "\"FInOPBillNo\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInOPBillNo"]) + "\"," +
+                //"FOutSupplier": {"FNUMBER": ""},
+                "\"FOutOperId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutOperId"]) + "\"," +
+                "\"FInProcessId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInProcessId"]) + "\" }," +
+                "\"FInDeptId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInDeptId"]) + "\" }," +
+                "\"FOutIsInStorePoint\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutIsInStorePoint"]) + "\"," +
+                "\"FOutSeqType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutSeqType"]) + "\"," +
+                "\"FInOperDescr\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInOperDescr"]) + "\"," +
+                "\"FOutIsOutSrc\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOutIsOutSrc"]) + "\"," +
+                "\"FInSeqNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInSeqNumber"]) + "\"," +
+                "\"FInPurOrgId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInPurOrgId"]) + "\" }," +
+                "\"FInOperNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInOperNumber"]) + "\"," +
+                "\"FInWorkCenterId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInWorkCenterId"]) + "\" }," +
+                //"FInEmpId": {"FSTAFFNUMBER": ""},
+                "\"FInSupplier\":{ \"FNAME\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInSupplier"]) + "\" }," +
+                "\"FOperApplyQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOperApplyQty"]) + "\"," +
+                "\"FTransferQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferQty"]) + "\"," +
+                "\"FApplyQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FApplyQty"]) + "\"," +
+                "\"FOperTransferQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOperTransferQty"]) + "\"," +
+                "\"FOperQualifiedQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FOperQualifiedQty"]) + "\"," +
+                //"FValQualifiedQty": 0,
+                "\"FQualifiedQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FQualifiedQty"]) + "\"," +
+                "\"FInOperId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FInOperId"]) + "\"," +
+                //"FOperUnqualifiedQty": 0,
+                //"FUnqualifiedQty": 0,
+                "\"FIsFirstOperTransIn\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsFirstOperTransIn"]) + "\"," +
+                "\"FIsExistTransIn\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsExistTransIn"]) + "\"," +
+                //"FOperProFailQty": 0,
+                //"FValProFailQty": 0,
+                //"FProFailQty": 0,
+                //"FOperMatFailQty": 0,
+                //"FOperPreReworkQty": 0,
+                //"FPreReworkQty": 0,
+                //"FMatFailQty": 0,
+                //"FValMatFailQty": 0,
+                "\"FSendCurrency\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendCurrency"]) + "\" }," +
+                "\"FIsInspect\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FIsInspect"]) + "\"," +
+                "\"FQCSchemeId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FQCSchemeId"]) + "\" }," +
+                "\"FSendProFailPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendProFailPrice"]) + "\"," +
+                //"FReceiveCurrency": {"FNUMBER": ""},
+                //"FReceiveQualifiedPrice": 0,
+                //"FReceiveProFailPrice": 0,
+                //"FReceiveMatFailPrice": 0,
+                "\"FReceiveValuationUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FReceiveValuationUnitId"]) + "\" }," +
+                //"FReceiveTaxRate": 0,
+                "\"FSendMatFailPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendMatFailPrice"]) + "\"," +
+                //"FOperInspectSelectQty": 0,
+                "\"FSendValuationUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendValuationUnitId"]) + "\" }," +
+                //"FInspectSelectQty": 0,
+                "\"FSendTaxRate\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendTaxRate"]) + "\"," +
+                "\"FSendQualifiedPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendQualifiedPrice"]) + "\"," +
+                //"FOperQuaSettleSelQty": 0,
+                //"FValQuaSettleSelQty": 0,
+                //"FQuaSettleSelQty": 0,
+                //"FOperInspectQty": 0,
+                //"FInspectQty": 0,
+                //"FQuaInStockSelQty": 0,
+                //"FOperQuaSettleQty": 0,
+                //"FValQuaSettleQty": 0,
+                //"FQuaSettleQty": 0,
+                //"FValProFailSettleSelQty": 0,
+                //"FOperProFailSettleSelQty": 0,
+                //"FQuaInStockQty": 0,
+                //"FProFailSettleSelQty": 0,
+                //"FOperProFailSettleQty": 0,
+                //"FValProFailSettleQty": 0,
+                //"FProFailSettleQty": 0,
+                //"FOperMatFailSettleSelQty": 0,
+                //"FValMatFailSettleSelQty": 0,
+                //"FMatFailSettleSelQty": 0,
+                "\"FUnitTransHeadQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FUnitTransHeadQty"]) + "\"," +
+                "\"FUnitTransOperQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FUnitTransOperQty"]) + "\"," +
+                //"FOperMatFailSettleQty": 0,
+                //"FMatFailSettleQty": 0,
+                //"FValMatFailSettleQty": 0,
+                "\"FBaseUnitId\":{ \"FNumber\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBaseUnitId"]) + "\" }," +
+                "\"FApplyBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FApplyBaseQty"]) + "\"," +
+                "\"FTransferBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FTransferBaseQty"]) + "\"," +
+                //"FUnQuaInStockSelQty": 0,
+                "\"FQualifiedBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FQualifiedBaseQty"]) + "\"," +
+                //"FInspectSelectBaseQty": 0,
+                //"FUnQuaInStockQty": 0,
+                //"FUnqualifiedBaseQty": 0,
+                //"FProFailBaseQty": 0,
+                //"FInspectBaseQty": 0,
+                //"FPreReworkBaseQty": 0,
+                //"FMatFailBaseQty": 0,
+                //"FQuaSettleSelBaseQty": 0,
+                //"FQuaInStockSelBaseQty": 0,
+                //"FQuaSettleBaseQty": 0,
+                //"FUnQuaInStockSelBaseQty": 0,
+                //"FQuaInStockBaseQty": 0,
+                //"FUnQuaInStockBaseQty": 0,
+                //"FProFailSettleSelBaseQty": 0,
+                //"FProFailSettleBaseQty": 0,
+                //"FMatFailSettleSelBaseQty": 0,
+                //"FMatFailSettleBaseQty": 0,
+                "\"FDemandType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDemandType"]) + "\"," +
+                "\"FDemandBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDemandBillId"]) + "\"," +
+                "\"FDemandBillEntryId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FDemandBillEntryId"]) + "\"," +
+                //"FInspectEntryId": 0,
+                "\"FConvertType\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FConvertType"]) + "\"," +
+                //"FReceiveQualifiedTaxPrice": 0,
+                //"FReceiveProFailTaxPrice": 0,
+                //"FReceiveMatFailTaxPrice": 0,
+                "\"FSendQualifiedTaxPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendQualifiedTaxPrice"]) + "\"," +
+                "\"FSendProFailTaxPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendProFailTaxPrice"]) + "\"," +
+                "\"FSendMatFailTaxPrice\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FSendMatFailTaxPrice"]) + "\"," +
+                "\"FRateOperQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRateOperQty"]) + "\"," +
+                "\"FRateProQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRateProQty"]) + "\"," +
+                "\"FRateValQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FRateValQty"]) + "\"," +
+                //"FPriceList": {"FNUMBER": ""},
+                //"FOperStatus": "",
+                //"FInstockStatus": "",
+                //"FSettleStatus": "",
+                //"FMOInStockQty": 0,
+                //"FDefectProcessEntryId": 0,
+                //"FMRBReviewEntryId": 0,
+                //"FTransDirection": "",
+                //"FBackwashSrcId": 0
+                sJson_MainCustom +
+                " \"FBillHead_Link\": [{" +
+                    " \"FBillHead_Link_FFlowId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FFlowId"]) + "\"," +
+                    " \"FBillHead_Link_FFlowLineId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FFlowLineId"]) + "\"," +
+                    " \"FBillHead_Link_FRuleId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FRuleId"]) + "\"," +
+                    " \"FBillHead_Link_FSTableId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FSTableId"]) + "\"," +
+                    " \"FBillHead_Link_FSTableName\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FSTableName"]) + "\"," +
+                    " \"FBillHead_Link_FSBillId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FSBillId"]) + "\"," +
+                    " \"FBillHead_Link_FSId\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FSId"]) + "\"," +
+                    " \"FBillHead_Link_FTransferBaseQtyOld\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FTransferBaseQtyOld"]) + "\"," +
+                    " \"FBillHead_Link_FTransferBaseQty\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBillHead_Link_FTransferBaseQty"]) + "\"" +
+                " } ]," +
+                " \"FBFLowId\":{\"FID\":\"" + Pub_Class.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["FBFLowId"]) + "\"}}}";
+
+                string sJson = sJson_Main;
+
+                //CLOUD閲戣澏浜戣处鍙峰瘑鐮佺櫥鍏�
+                var loginRet = InvokeHelper.LoginUser(HMaker);
+                var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
+                sRemark = sRemark + " 锛涜幏鍙栭獙璇丆LOUD璐﹀彿瀵嗙爜" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+                //鐢熸垚閲戣澏浜戝崟鎹�
+                if (isSuccess == 1)
+                {
+                    string result = InvokeHelper.Save("SFC_OperationTransfer", sJson); //淇濆瓨
+                    sRemark = sRemark + " 锛涚敓鎴怌LOUD鍗曟嵁" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+                    HReturn = result.ToString();
+
+                    if (HReturn.Contains("\"IsSuccess\":false") == true)
+                    {
+                        //鍙嶅簭鍒楀寲json鏁版嵁
+                        var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(HReturn);
+                        //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                        var strErrorMsg = string.Empty;
+                        //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                        foreach (var item in retModel.Result.ResponseStatus.Errors)
+                        {
+                            strErrorMsg += item.Message + "\r\n";
+                        };
+                        sErrMsg = "鐢熸垚濮斿宸ュ簭鍙戝嚭鍗曞け璐ワ紒閲戣澏浜戞彁绀猴細" + strErrorMsg;
+                        LogService.Write("鐢熸垚濮斿宸ュ簭鍙戝嚭鍗曞け璐ワ紒" + HReturn + sJson);   //鍐欏叆txt鏂囨湰
+                        return false;
+                    }
+                    else
+                    {
+                        sRemark = sRemark + sJson;
+
+                        //鎻愪氦銆佸鏍搁噾铦朵簯鍗曟嵁
+                        HReturn = "";
+                        string sJson2 = "{\"CreateOrgId\":0,\"Numbers\":[\"" + HBillNo + "\"]}";
+                        var result2 = InvokeHelper.Submit("SFC_OperationTransfer", sJson2);    //鎻愪氦
+                        sRemark = sRemark + " 锛涙彁浜LOUD鍗曟嵁" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+                        var result3 = InvokeHelper.Audit("SFC_OperationTransfer", sJson2);     //瀹℃牳
+                        sRemark = sRemark + " 锛涘鏍窩LOUD鍗曟嵁" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");
+
+                        HReturn = result2.ToString() + "," + result3.ToString();
+
+                        if (HReturn.Contains("\"IsSuccess\":false") == true)
+                        {
+                            //鍙嶅簭鍒楀寲json鏁版嵁
+                            var retModel = JsonConvert.DeserializeObject<KingdeeResponse>(result3);
+                            //鎺ユ敹閲戣澏鎶ラ敊淇℃伅
+                            var strErrorMsg = string.Empty;
+                            //閬嶅巻鑾峰彇鎶ラ敊淇℃伅
+                            foreach (var item in retModel.Result.ResponseStatus.Errors)
+                            {
+                                strErrorMsg += item.Message + "\r\n";
+                            };
+                            sErrMsg = "鐢熸垚濮斿宸ュ簭鍙戝嚭鍗曟垚鍔燂紝瀹℃牳鍗曟嵁澶辫触锛侀噾铦朵簯鎻愮ず锛�" + strErrorMsg;
+                            LogService.Write("瀹℃牳鍗曟嵁澶辫触" + sRemark + HReturn);
+                            return true;
+                        }
+                        else
+                        {
+                            LogService.Write("鐢熸垚骞跺鏍稿澶栧伐搴忓彂鍑哄崟鎴愬姛锛�" + sRemark);
+                            sErrMsg = "鐢熸垚骞跺鏍稿澶栧伐搴忓彂鍑哄崟鎴愬姛锛佸崟鎹彿涓猴細" + HBillNo;
+                            return true;
+                        }
+                    }
+                }
+                else
+                {
+                    sErrMsg = "鐢熸垚濮斿宸ュ簭鍙戝嚭鍗曞け璐ワ紒閲戣澏浜戠櫥褰曞け璐ワ紒";
+                    return false;
+                }
+            }
+            catch (Exception e)
+            {
+                LogService.Write("鐢熸垚鍥炴粴" + e.Message + sRemark);
+                sErrMsg = "鐢熸垚濮斿宸ュ簭鍙戝嚭鍗曞け璐ワ紒" + e.Message;
+                return false;
+            }
+        }
+
+        #endregion
+
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1