From 552fda4967d0f762fae21fae54c5f8b57b8eb3ea Mon Sep 17 00:00:00 2001
From: yxj <yxj@hz-kingdee.com>
Date: 星期一, 30 三月 2026 13:28:45 +0800
Subject: [PATCH] 凯贝立讯客户标签内箱码生成时流水号回填修正,金蝶云生成委外工序发出单调用方法修正

---
 WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs |  150 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 135 insertions(+), 15 deletions(-)

diff --git a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
index 20c015e..dbe680e 100644
--- a/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_StationOutBillController.cs
@@ -1425,9 +1425,9 @@
                 decimal baseQtyPerPiece = Math.Floor(HQty / HPieceQty);
                 decimal remainderQty = HQty % HPieceQty;
 
-                // 璁$畻姣忓紶鏉$爜鐨勫熀纭�閲嶉噺锛堝噣閲嶅拰姣涢噸鐩稿悓锛�
-                decimal baseWeightPerPiece = Math.Floor(totalWeight / HPieceQty * 10000) / 10000; // 淇濈暀4浣嶅皬鏁�
-                decimal remainderWeight = totalWeight - (baseWeightPerPiece * HPieceQty);
+                /// 閲嶉噺鍧囧垎鍩虹鍊间笌浣欐暟
+                decimal baseWeightPerPiece = totalWeight / HPieceQty;
+                decimal remainderWeight = totalWeight % HPieceQty;
 
                 // 鏌ヨ鍘熷鍗曟嵁淇℃伅
                 ds = oCN.RunProcReturn("select * from Sc_StationOutBillMain where HInterID='" + HInterID + "'", "Sc_StationOutBillMain");
@@ -1439,18 +1439,36 @@
                     // 寰幆鐢熸垚鏉$爜
                     for (int i = 0; i < barcodeCount; i++)
                     {
-                        // 璁$畻褰撳墠鏉$爜鐨勬暟閲�
-                        decimal currentQty = baseQtyPerPiece;
-                        if (i < remainderQty)  // 濡傛灉鏈変綑鏁帮紝鍓峃寮犳潯鐮佸悇鍔�1
+                        // ====================== 淇鏁伴噺璁$畻 ======================
+                        decimal currentQty;
+                        if (barcodeCount == 1)
                         {
-                            currentQty += 1;
+                            // 鍙湁1浠舵椂锛岀洿鎺ヤ娇鐢ㄦ�绘暟閲忥紝涓嶅仛鍙栨暣鎷嗗垎
+                            currentQty = HQty;
+                        }
+                        else
+                        {
+                            currentQty = baseQtyPerPiece;
+                            // 鏈変綑鏁板垯鍓峃鏉″悇鍔�1锛堝彧閽堝鏁存暟浣欐暟鍦烘櫙锛�
+                            if (i < remainderQty)
+                            {
+                                currentQty += 1;
+                            }
                         }
 
-                        // 璁$畻褰撳墠鏉$爜鐨勯噸閲忥紙鍑�閲嶅拰姣涢噸鐩稿悓锛�
-                        decimal currentWeight = baseWeightPerPiece;
-                        if (i < Math.Ceiling(remainderWeight / baseWeightPerPiece) && remainderWeight > 0)
+                        // ====================== 淇閲嶉噺璁$畻 ======================
+                        decimal currentWeight;
+                        if (barcodeCount == 1)
                         {
-                            currentWeight += baseWeightPerPiece; // 閲嶉噺浣欐暟涔熷垎鎽婂埌鍓嶅嚑寮犳潯鐮�
+                            currentWeight = totalWeight;
+                        }
+                        else
+                        {
+                            currentWeight = baseWeightPerPiece;
+                            if (i < remainderWeight)
+                            {
+                                currentWeight += baseWeightPerPiece;
+                            }
                         }
 
                         // 鐢熸垚鏉$爜鍙�
@@ -3774,15 +3792,15 @@
         #region 宸ュ簭姹囨姤鍗曡幏鍙栧搴旀墍浠ュ簭鍒�
         [Route("Cj_StationOutBill/getAllHSEQ")]
         [HttpGet]
-        public object getAllHSEQ(string HInterID)
+        public object getAllHSEQ(int HInterID)
         {
             try
             {
                 //寰楀埌淇℃伅锛堝澶栨爣璁颁负0鏃讹紝娴佽浆鏍囪涓�1鏃�
-                ds = oCN.RunProcReturn("select * from Sc_ProcessExchangeBillSEQ  where HInterID= " + HInterID, "Sc_ProcessExchangeBillSEQ");
+                DataSet DS = oCN.RunProcReturn("select * from Sc_ProcessExchangeBillSEQ  where HInterID= " + HInterID, "Sc_ProcessExchangeBillSEQ");
                 
                 //鍐欏叆淇℃伅
-                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                if (DS == null || DS.Tables[0].Rows.Count == 0)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -3793,7 +3811,7 @@
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "[0000-1-037]Sucess锛�";
-                objJsonResult.data = ds.Tables[0];
+                objJsonResult.data = DS.Tables[0];
                 return objJsonResult;
             }
             catch (Exception e)
@@ -4861,6 +4879,7 @@
 
         #endregion
 
+        #region 宸ュ簭姹囨姤锛屽鏍稿墠淇敼
         //瀹℃牳锛屽甫缂栬緫鍔熻兘
         [Route("Cj_StationOutBill/setOtherProperty")]
         [HttpPost]
@@ -5013,5 +5032,106 @@
                 return objJsonResult;
             }
         }
+        #endregion
+
+        #region 宸ュ簭姹囨姤鑷姩鐢熸垚杩涚珯鎺ユ敹鍗�
+        //宸ュ簭姹囨姤寮�宸ユ寜閽嚜鍔ㄥ紑宸�
+        [Route("Cj_StationOutBill/startTranslating")]
+        [HttpGet]
+        public object startTranslating(int HProcExchInterID,int HProcExchEntryID,int HOrgID,int HProcNo,string user)
+        {
+            try
+            {
+                oCN.BeginTran();
+                //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Cj_StationInBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "[3790-2-003]寮�宸ュ崟鏃犵紪杈戞潈闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                string HBillType = "3790";
+                string HBillNo = "";
+                Int64 HInterID = 0;//鏄剧ず鐨勫瓧娈�
+                HInterID = DBUtility.ClsPub.CreateBillID(HBillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                HBillNo = DBUtility.ClsPub.CreateBillCode(HBillType, ref DBUtility.ClsPub.sExeReturnInfo, true);
+                int HBillStatus = 0;
+                string HMaker = user;
+                int HYear = DateTime.Now.Year;
+                double HPeriod = DateTime.Now.Month;
+                string HRemark = "鍑烘垬姹囨姤鍗曡嚜鍔ㄥ紑宸�";//澶囨敞
+                long HICMOInterID = 0;//浠诲姟鍗旾D
+                string HICMOBillNo = "";//浠诲姟鍗�
+                long HProcPlanInterID = 0;
+                long HProcPlanEntryID = 0;
+                string HProcPlanBillNo = "";
+                long HMaterID = 1;//浜у搧ID
+                long HProcID = 1;//褰撳墠宸ュ簭
+                double HICMOQty = 0;//浠诲姟鍗曟暟閲�
+                double HPlanQty = 0;//娴佽浆鍗℃暟閲�
+                long HSourceID = 0;//鐢熶骇璧勬簮ID
+                long HGroupID = 0;//鐝粍ID
+                long HDeptID = 0;
+                long HEmpID = 0;//鎺ユ敹浜篒D
+                string HBarCode = "";//鏉″舰鐮�
+                string HAddr = "";
+                string HBarCodeMaker = "";
+                long HSupID = 0;
+                double HQty = 0;//鎺ユ敹鏁伴噺
+                double HPrice = 0;
+                double HMoney = 0;
+                double HPieceQty = 0;//鎺ユ敹浠舵暟
+                string HSourceName = "";//鐢熶骇璧勬簮鍚嶇О
+                long HCenterID = 0;//宸ヤ綔涓績ID
+                string HOrderProcNO = "";//璁㈠崟璺熻釜鍙�
+                long HPRDOrgID = HOrgID;//缁勭粐ID
+                double HmaterOutqty = 0;//鐧藉澂鍙戝竷
+                string HProcExchBillNo = "";//涓婃枡闃查敊鍗曞崟鎹彿
+                int HMainInterID = 0;//鐧藉澂鍙戝竷
+                oCN.RunProc("Insert Into Sc_StationInBillMain " +
+                    "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
+                    ",HYear,HPeriod,HRemark" +
+                    ",HICMOInterID,HICMOBillNo,HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo,HProcExchInterID,HProcExchEntryID" +
+                    ",HProcExchBillNo,HMaterID,HProcID,HICMOQty,HPlanQty,HStationInTime,HSourceID" +
+                    ",HGroupID,HDeptID,HEmpID,HBarCode,HAddr,HBarCodeMaker,HBarCodeMakeDate" +
+                    ",HSupID,HQty,HPrice,HMoney,HPieceQty,HSourceName,HCenterID" +
+                    ",HProcNo,HOrderProcNO,HMainInterID,HPRDOrgID" +
+                    ",HmaterOutqty" +
+                    ") " +
+                    " values('" + HBillType + "','" + (HBillType) + "'," + HInterID + ",'" + HBillNo + "'," + HBillStatus + ",getdate(),'" + HMaker + "',getdate()" +
+                    "," + HYear + "," + HPeriod + ",'" + HRemark + "'" +
+                    "," + HICMOInterID + ",'" + HICMOBillNo + "'," + HProcPlanInterID + "," + HProcPlanEntryID + ",'" + HProcPlanBillNo + "'," + HProcExchInterID + "," + HProcExchEntryID +
+                    ",'" + HProcExchBillNo + "'," + HMaterID + "," + HProcID + "," + HICMOQty + "," + HPlanQty + ",getdate()," + HSourceID +
+                    "," + HGroupID + "," + HDeptID + "," + HEmpID + ",'" + HBarCode + "','" + HAddr + "','" + HBarCodeMaker + "',getdate()" +
+                    "," + HSupID + "," + HQty + "," + HPrice + "," + HMoney + "," + HPieceQty + ",'" + HSourceName + "'," + HCenterID +
+                    ",'" + HProcNo + "','" + HOrderProcNO + "','" + HMainInterID + "'," + HPRDOrgID +
+                    "," + HmaterOutqty + ") ");
+
+
+                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 = "寮�宸ュけ璐ワ紒" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1