From 28161a2db7a593c30ca53e5c1e59103cd7591fe7 Mon Sep 17 00:00:00 2001
From: chenhaozhe <cgz@hz-kingdee.com>
Date: 星期一, 27 四月 2026 09:47:32 +0800
Subject: [PATCH] 1

---
 WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 50 insertions(+), 8 deletions(-)

diff --git a/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs b/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
index 302931d..34ec2f5 100644
--- a/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
@@ -465,7 +465,8 @@
         /// <returns></returns>
         [Route("Sc_MESBeginWorkBill/SaveGetMESBeginWorkFrom_KS")]
         [HttpGet]
-        public object SaveGetMESBeginWorkFrom_KS(string HBillType,int HSourceInterID,int HSourceEntryID,string HSourceBillNo,string user,string HSourceBillType)
+        public object SaveGetMESBeginWorkFrom_KS(string HBillType,int HSourceInterID,int HSourceEntryID,
+            string HSourceBillNo,string user,string HSourceBillType)
         {
 
          
@@ -1618,7 +1619,8 @@
         #region 鎶ュ伐骞冲彴蹇嵎寮�宸�
         [Route("Sc_MESBeginWorkBill/FastBeginWorkBill")]
         [HttpGet]
-        public object FastBeginWorkBill(string HBillType, int HSourceInterID, int HSourceEntryID, string HSourceBillNo, string HSourceBillType,string user)
+        public object FastBeginWorkBill(string HBillType, int HSourceInterID, int HSourceEntryID,
+            string HSourceBillNo, string HSourceBillType,string user)
         {
 
 
@@ -1631,6 +1633,8 @@
                 objJsonResult.data = null;
                 return objJsonResult;
             }
+            
+
             //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
             string s = "";
             int sYear = 0;
@@ -1662,8 +1666,18 @@
                 ClsSc_MESBeginWorkBillMain.HICMOInterID = int.Parse(ds.Tables[0].Rows[0]["HICMOInterID"].ToString());
                 ClsSc_MESBeginWorkBillMain.HICMOEntryID = int.Parse(ds.Tables[0].Rows[0]["HICMOEntryID"].ToString());
                 ClsSc_MESBeginWorkBillMain.HICMOBillNo = ds.Tables[0].Rows[0]["HICMOBillNo"].ToString();
+                ClsSc_MESBeginWorkBillMain.HProcExchInterID = int.Parse(ds.Tables[0].Rows[0]["HProcExchInterID"].ToString());
+                ClsSc_MESBeginWorkBillMain.HProcExchEntryID = int.Parse(ds.Tables[0].Rows[0]["HProcExchEntryID"].ToString());
+                ClsSc_MESBeginWorkBillMain.HProcExchBillNo = ds.Tables[0].Rows[0]["HProcExchBillNo"].ToString();
+                ClsSc_MESBeginWorkBillMain.HPeopleSum = 1;
 
-                ds = oCN.RunProcReturn("select * from h_v_Cj_GetDefValByUser where 鐢ㄦ埛鍚嶇О='" + user + "'", "h_v_xt_UserAssociationSelect");
+                //鑾峰彇鐝
+                DataSet set = oCN.RunProcReturn("exec h_p_Gy_GetWorkShiftInfo " + int.Parse(ds.Tables[0].Rows[0]["HDeptID"].ToString()) + "," + int.Parse(ds.Tables[0].Rows[0]["HCenterID"].ToString()), "h_p_Gy_GetWorkShiftInfo");
+                if (set.Tables[0].Rows.Count > 0)
+                {
+                    ClsSc_MESBeginWorkBillMain.HWorkShiftID = int.Parse(set.Tables[0].Rows[0]["HInterID"].ToString());
+                }
+                ds = oCN.RunProcReturn("select * from h_v_Cj_GetDefValByUser where 鐢ㄦ埛鍚嶇О='" + user + "'", "h_v_Cj_GetDefValByUser");
 
                 //if (ds.Tables[0].Rows[0]["HGroupID"].ToString() == "0")
                 //{
@@ -1710,17 +1724,23 @@
                 }
 
                 oCN.BeginTran();
+                DataSet ds2 = null;
                 //淇濆瓨
                 //淇濆瓨瀹屾瘯鍚庡鐞�
                 bool bResult = false;
+                string RetHInterID = "0";
                 if (oBill.omodel.HInterID == 0)
                 {
 
                     bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-
+                    if(bResult)
+                    {
+                        RetHInterID = DBUtility.ClsPub.sExeReturnInfo;
+                    }
                 }
-                ds = oCN.RunProcReturn("select * from Sc_MESBeginWorkBillMain where HBillNo='" + oBill.omodel.HBillNo + "'", "Sc_MESBeginWorkBillMain");
-                if (ds.Tables[0].Rows.Count == 0)
+                // ds = oCN.RunProcReturn("select * from Sc_MESBeginWorkBillMain nolock where HBillNo='" + oBill.omodel.HBillNo + "'", "Sc_MESBeginWorkBillMain");
+                //if (ds.Tables[0].Rows.Count == 0)
+                if(RetHInterID == "0")
                 {
                     oCN.RollBack();
                     objJsonResult.code = "0";
@@ -1729,12 +1749,12 @@
                     objJsonResult.data = 1;
                     return objJsonResult;
                 }
-
                 string sAutoCheck = oClsXt_SystemParameter.GetSingleSystemParameter("Sc_MESBeginWorkBill_AutoCheck", ref DBUtility.ClsPub.sExeReturnInfo);
                 if (sAutoCheck == "Y")
                 {
+                    LogService.Write("寮�宸ュ崟鑷姩鐢熸垚宸ヤ綔鑱旂郴鍗�...3 " + sAutoCheck);
 
-                    if (!oBill.CheckBill(long.Parse(ds.Tables[0].Rows[0]["HInterID"].ToString()), ref DBUtility.ClsPub.sExeReturnInfo))
+                    if (!oBill.CheckBill(long.Parse(RetHInterID), ref DBUtility.ClsPub.sExeReturnInfo))
                     {
                         oCN.RollBack();
                         objJsonResult.code = "0";
@@ -1745,8 +1765,30 @@
                     }
                 }
 
+                string sReturn = "";
+                if (oSystemParameter.ShowBill(ref sReturn) == true)
+                {
+                    LogService.Write("寮�宸ュ崟鑷姩鐢熸垚宸ヤ綔鑱旂郴鍗�...4 ");
+                    if (oSystemParameter.omodel.WMS_CampanyName == "鍗庤垷")
+                    {                       
+                        LogService.Write("寮�宸ュ崟鑷姩鐢熸垚宸ヤ綔鑱旂郴鍗�..."+ oBill.omodel.HInterID);
+
+                        //鑷姩鐢熸垚宸ヤ綔鑱旂郴鍗�
+                        ds2 = oCN.RunProcReturn("exec h_p_OA_WorkLinkBill_Create " + oBill.omodel.HInterID + "," + 3787, "h_p_OA_WorkLinkBill_Create");
+                    }
+                }
+
                 oCN.Commit();
 
+                if (ds2 != null && ds2.Tables[0].Rows.Count > 0)
+                {
+                    int HInterID = int.Parse(ds2.Tables[0].Rows[0]["NewHInterID"].ToString());
+                    LogService.Write("鎵ц娑堟伅鎺ㄩ��..." + HInterID);
+
+                    // 瑙﹀彂娑堟伅鎺ㄩ��
+                    Service.GeTuiService.PubishSingle(HInterID);
+                }
+
                 if (bResult)
                 {
 

--
Gitblit v1.9.1