From a4ad28100efc70315a0bd2197d3fc30a91b3ec09 Mon Sep 17 00:00:00 2001
From: chenhaozhe <cgz@hz-kingdee.com>
Date: 星期四, 15 一月 2026 12:48:31 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/Controllers/MJGL/Sc_MouldOutRequestBillController.cs |  213 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 213 insertions(+), 0 deletions(-)

diff --git a/WebAPI/Controllers/MJGL/Sc_MouldOutRequestBillController.cs b/WebAPI/Controllers/MJGL/Sc_MouldOutRequestBillController.cs
index a4cee17..6d28daa 100644
--- a/WebAPI/Controllers/MJGL/Sc_MouldOutRequestBillController.cs
+++ b/WebAPI/Controllers/MJGL/Sc_MouldOutRequestBillController.cs
@@ -10,6 +10,7 @@
 using WebAPI.Models;
 using System.Windows.Forms;
 using SyntacticSugar.constant;
+
 namespace WebAPI.Controllers
 {
 
@@ -499,6 +500,69 @@
         }
         #endregion
 
+        #region 鍣ㄥ叿鍑哄簱鐢宠鍗� - 鎵樻暟鍙樻洿鍔熻兘
+        [Route("Sc_MouldOutRequestBillController/UpdatePallet")]
+        [HttpPost]
+        public object UpdatePallet([FromBody] JObject data)
+        {
+            try
+            {
+                long hmainid = data["hmainid"]?.ToObject<long>() ?? 0;
+                int newPallet = data["newPallet"]?.ToObject<int>() ?? 0;
+                string operatorName = data["operator"]?.ToString() ?? "";
+
+                if (hmainid <= 0)
+                    return new { code = "0", count = 0, Message = "鍗曟嵁ID涓嶈兘涓虹┖锛�" };
+
+                if (newPallet <= 0)
+                    return new { code = "0", count = 0, Message = "鎵樻暟蹇呴』澶т簬0锛�" };
+
+                // 妫�鏌ユ槸鍚﹀凡瀹℃牳
+                string checkAuditSql = $@"
+                    SELECT COUNT(*) as HasAudit 
+                    FROM Sc_MouldOutRequestBillMain 
+                    WHERE HInterID = {hmainid} 
+                    AND HChecker IS NOT NULL 
+                    AND HCheckDate IS NOT NULL";
+
+                DataSet dsAudit = oCn.RunProcReturn(checkAuditSql, "CheckAudit");
+
+                if (dsAudit != null && dsAudit.Tables[0].Rows.Count > 0)
+                {
+                    int hasAudit = Convert.ToInt32(dsAudit.Tables[0].Rows[0]["HasAudit"]);
+                    if (hasAudit > 0)
+                    {
+                        return new { code = "0", count = 0, Message = "鍗曟嵁宸插鏍革紝涓嶈兘淇敼鎵樻暟锛�" };
+                    }
+                }
+                // 鐩存帴鏇存柊鎵樻暟
+                string updateSql = $@"
+                    UPDATE Sc_MouldOutRequestBillMain 
+                    SET HPackQtys = {newPallet} 
+                    WHERE HInterID = {hmainid}";
+
+                oCn.RunProc(updateSql);
+
+                return new
+                {
+                    code = "1",
+                    count = 1,
+                    Message = "鎵樻暟淇敼鎴愬姛锛�"
+                };
+            }
+            catch (Exception e)
+            {
+                return new
+                {
+                    code = "0",
+                    count = 0,
+                    Message = "淇敼澶辫触锛�" + e.Message
+                };
+            }
+        }
+        #endregion
+
+
         #region  鍣ㄥ叿鍑哄簱鐢宠鍗� 浣滃簾/鍙嶄綔搴�
         /// <summary>
         /// 浣滃簾/鍙嶄綔搴� 鍣ㄥ叿鍑哄簱鐢宠鍗�
@@ -792,5 +856,154 @@
 
 
 
+        #region 鍣ㄥ叿鍑哄簱鐢宠鍗� 淇濆瓨1
+        /// <summary>
+        /// 鍣ㄥ叿鍑哄簱鐢宠鍗曚繚瀛�
+        /// </summary>
+        [Route("Sc_MouldOutRequestBillController/GetSc_MouldOutRequestBill_Save_Json1")]
+        [HttpPost]
+        public object GetSc_MouldOutRequestBill_Save_Json1([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string sMainStr = sArray[0].ToString();         //涓昏〃鏁版嵁
+            string sSubStr = sArray[1].ToString();          //瀛愯〃鏁版嵁
+            string sErrMsg = "";
+            string HBillNo = "";
+            HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("3849", ref sErrMsg, true);
+
+            try
+            {
+                //琛ㄥご璧嬪��
+                sMainStr = sMainStr.Replace("\\", "");
+                sMainStr = sMainStr.Replace("\n", "");
+                sMainStr = "[" + sMainStr.ToString() + "]";
+                List<Model.ClsSc_MouldOutRequestBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldOutRequestBillMain>>(sMainStr);
+                foreach (Model.ClsSc_MouldOutRequestBillMain oItem in lsmain)
+                {
+                    //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                    if (oBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, HBillNo, BillStatus, oItem.HInterID))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+                    string s = "";
+                    int sYear = 0;
+                    int sPeriod = 0;
+                    oItem.HDate = DateTime.Now;
+                    if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(oItem.HDate, ref sYear, ref sPeriod, ref s) == false)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = s;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    oItem.HYear = sYear;
+                    oItem.HPeriod = sPeriod;
+                    oItem.HMaker = "閽夐拤";
+                    oItem.HRemark = "閽夐拤鏁版嵁鍚屾鍒涘缓";
+                    oItem.HBillNo = HBillNo;
+                    oItem.HSTOCKORGID = 100038;
+                    oItem.HSupTypeID = 1;
+                    oBill.omodel = oItem;
+                    DBUtility.ClsPub.CurUserName = oItem.HMaker;
+
+                }
+                //琛ㄤ綋璧嬪��
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                sSubStr = sSubStr.Substring(1, sSubStr.Length-2);
+                sSubStr = sSubStr.Replace("\\", "");
+                sSubStr = sSubStr.Replace("\n", "");
+                sSubStr = "[" + sSubStr.ToString() + "]";
+                List<Model.ClsSc_MouldOutRequestBillSub> ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldOutRequestBillSub>>(sSubStr);
+                int i = 0;
+                foreach (Model.ClsSc_MouldOutRequestBillSub oItemSub in ls)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+                    DataTable dtMould = GetMaterialByMouldNo(oItemSub.HMaterID);
+                    DataRow row = dtMould.Rows[0];
+                    // 浣跨敤涓夊厓杩愮畻绗﹀鐞咲BNull
+                    oItemSub.HUnitID = row["HUnitID"] != DBNull.Value ? Convert.ToInt32(row["HUnitID"]) : 0;
+                    oItemSub.HWHID = row["HWhID"] != DBNull.Value ? Convert.ToInt32(row["HWhID"]) : 0;
+                    oItemSub.HSPID = row["HSPID"] != DBNull.Value ? Convert.ToInt32(row["HSPID"]) : 0;
+                    oItemSub.HMaterID = row["hmainid"] != DBNull.Value ? Convert.ToInt32(row["hmainid"]) : 0;
+                    oItemSub.HStockOrgID = 100038;
+                    oItemSub.HQty = 1;
+                    oBill.DetailColl.Add(oItemSub);     
+                }
+
+                //淇濆瓨
+                bool bResult;
+
+                bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //鎴愬姛锛�
+                    objJsonResult.data = null;
+                    objJsonResult.HInterID = oBill.omodel.HInterID.ToString(); //杩斿洖涓籌D
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        #endregion
+
+
+
+
+        #region 鏍规嵁鍐呯爜鑾峰彇鑾峰彇鍣ㄥ叿淇℃伅
+
+        public DataTable GetMaterialByMouldNo(long  HMaterID)
+        {
+            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
+            string sql = @"SELECT 
+                    HMaterID,
+                    HUnitID,
+                    HWhID,
+                    HSPID,
+                    hmainid
+               FROM h_v_Gy_MouldFileList as a
+               WHERE a.HMaterID= '" + HMaterID + "' AND a.HBillType = '3899'";
+
+            var dataSet = oCN.RunProcReturn(sql, "h_v_Gy_MouldFileList");
+
+            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
+                return null;
+
+            return dataSet.Tables[0];
+        }
+
+        #endregion
+
+    
+       
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1