From d54613ce0b6960dafcbd28454172f21a2d0bb6d1 Mon Sep 17 00:00:00 2001
From: zrg <z18737863051@163.com>
Date: 星期二, 08 四月 2025 08:48:07 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/Controllers/SCGL/Sc_ICBomBillController.cs |  327 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 324 insertions(+), 3 deletions(-)

diff --git a/WebAPI/Controllers/SCGL/Sc_ICBomBillController.cs b/WebAPI/Controllers/SCGL/Sc_ICBomBillController.cs
index 1841ada..c026cb6 100644
--- a/WebAPI/Controllers/SCGL/Sc_ICBomBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_ICBomBillController.cs
@@ -1,4 +1,6 @@
-锘縰sing System;
+锘縰sing DAL;
+using Newtonsoft.Json.Linq;
+using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Linq;
@@ -41,12 +43,12 @@
 
                 if (sWhere == null || sWhere.Equals(""))
                 {
-                    ds = oCN.RunProcReturn("select * from h_v_Gy_ICBomBillList order by hmainid desc ", "h_v_Gy_ICBomBillList");
+                    ds = oCN.RunProcReturn("select * from h_v_Gy_ICBomBillList order by 鏃ユ湡 desc,hmainid desc ", "h_v_Gy_ICBomBillList");
                 }
                 else
                 {
                     string sql1 = "select * from h_v_Gy_ICBomBillList where 1 = 1 ";
-                    string sql = sql1 + sWhere+ " order by hmainid desc ";
+                    string sql = sql1 + sWhere+ " order by 鏃ユ湡 desc,hmainid desc ";
                     ds = oCN.RunProcReturn(sql, "h_v_Gy_ICBomBillList");
                 }
 
@@ -78,5 +80,324 @@
             }
         }
         #endregion
+
+        #region 鐢熶骇鐗╂枡娓呭崟  缂栬緫鏌ヨ
+        /// <summary>
+        /// 鐢熶骇BOM/鐢熶骇鐗╂枡娓呭崟
+        /// </summary>
+        /// <param name="sWhere"></param>
+        /// <param name="user"></param>
+        /// <returns></returns>
+        [Route("Sc_ICBomBill/Editlist")]
+        [HttpGet]
+        public object Editlist(string sWhere)
+        {
+            try
+            {
+                ds = oCN.RunProcReturn("select * from h_v_Gy_ICBomBillEditList where 1=1 "+ sWhere + " order by hmainid desc ", "h_v_Gy_ICBomBillEditList");
+
+               
+                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 鐢熶骇鐗╂枡娓呭崟  鏂板
+        /// <summary>
+        /// 鐢熶骇BOM/鐢熶骇鐗╂枡娓呭崟
+        /// </summary>
+        /// <param name="sWhere"></param>
+        /// <param name="user"></param>
+        /// <returns></returns>
+        [Route("sc_Gy_ICBomBill/sc_Gy_ICBomBillAdd")]
+        [HttpPost]
+        public object sc_Gy_ICBomBillAdd([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            try
+            {
+                string msg2 = sArray[0].ToString(); //涓昏〃鏁版嵁
+                string msg3 = sArray[1].ToString(); //瀛愯〃鏁版嵁
+                int OperationType = int.Parse(sArray[2].ToString()); // 鏁版嵁绫诲瀷 1娣诲姞 3淇敼
+                string user = sArray[3].ToString();
+
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_ICBomBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愭煡璇�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsGy_ICBomBill oBill = new ClsGy_ICBomBill();
+                msg2 = "[" + msg2 + "]";
+                List<Model.ClsGy_ICBomBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_ICBomBillMain>>(msg2);
+                foreach (Model.ClsGy_ICBomBillMain oItem in lsmain)
+                {
+                    //oItem.HMaker = "";
+                    oItem.HMaker = user;  //鍒跺崟浜�
+                    oItem.HBillType = "3302";
+                    oItem.HBillSubType = "3302";
+                    oItem.HBillStatus = 1;
+                    oItem.HUpDater = user;
+                    oItem.HUpDateDate = DateTime.Now.ToString();
+                    DBUtility.ClsPub.CurUserName = user;
+                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+
+                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    oBill.omodel = oItem;
+                }
+
+                List<Model.ClsGy_ICBomBillSub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_ICBomBillSub>>(msg3);
+                int i = 0;
+                foreach (Model.ClsGy_ICBomBillSub oItemSub in DetailColl)
+                {
+                    i++;
+                    oItemSub.HEntryID = i;
+                    oItemSub.HRemark2 = "";
+                    oItemSub.HRemark3 = "";
+                    oItemSub.HRemark4 = "";
+                    oItemSub.HChildType = "";
+                    oItemSub.HCloseMan = "";
+                    oItemSub.HSourceBillNo = "";
+                    oItemSub.HSourceBillType = "";
+                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    oItemSub.HCloseType = false;   //鍏抽棴绫诲瀷
+                   
+                    oBill.DetailColl.Add(oItemSub);
+
+                }
+
+
+                bool bResult;
+                if (OperationType == 1)
+                {
+                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (OperationType == 3)
+                {
+                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鎿嶄綔绫诲瀷鏃犳晥锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+            
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鐢熶骇鐗╂枡娓呭崟 鍒犻櫎
+        [Route("sc_Gy_ICBomBill/DeltetICBomBill")]
+        [HttpGet]
+        public object DeltetICBomBill(string HInterID,string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Gy_ICBomBill_Delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬垹闄�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+                oCN.RunProc("Delete From Gy_ICBomBillMain where HInterID = " + HInterID);
+                oCN.RunProc("Delete From Gy_ICBomBillSub where HInterID = " + HInterID);
+                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
+
+        #region 鐢熶骇鐗╂枡娓呭崟 瀹℃牳鍙婂弽瀹℃牳
+        [Route("sc_Gy_ICBomBill/AuditBomBill")]
+        [HttpGet]
+        public object AuditBomBill(int HInterID, int IsAudit, string CurUserName)
+        {
+
+            try
+            {
+                //IsAudit=1 瀹℃牳锛�  IsAudit=2 鍙嶅鏍�
+                //缂栬緫鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Gy_ICBomBill_Check", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲鏍告潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);
+                if (lngBillKey == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁ID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+ 
+
+
+               ClsGy_ICBomBill oBill = new ClsGy_ICBomBill();
+                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
+                {
+                    if (oBill.omodel.HCloseMan != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插叧闂�,涓嶈兘杩涜瀹℃牳";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    if (oBill.omodel.HDeleteMan != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸蹭綔搴�,涓嶈兘杩涜瀹℃牳";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    if (IsAudit == 1)
+                    {
+                        if (oBill.omodel.HBillStatus == 2)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "褰撳墠鍗曟嵁宸插鏍革紝鏃犻渶鍐嶆瀹℃牳";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            string HCheckDate = DateTime.Now.Date.ToString();
+                            oCN.BeginTran();
+                            oCN.RunProc(" Update Gy_ICBomBillMain set HChecker='" + CurUserName + "',HCheckDate='" + HCheckDate + "',HBillStatus=2 Where   HInterID=" + HInterID);
+
+                            oCN.Commit();
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "瀹℃牳鎴愬姛锛�";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                    }
+                    else
+                    {
+                        if (oBill.omodel.HBillStatus == 1)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "褰撳墠鍗曟嵁鏈鏍革紝鏃犻渶鍙嶅鏍�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        else
+                        {
+                            string HCheckDate = DateTime.Now.Date.ToString();
+                            oCN.BeginTran();
+                            oCN.RunProc(" Update Gy_ICBomBillMain set HChecker=' ',HCheckDate=null,HBillStatus=1 Where  HInterID=" + HInterID);
+
+                            oCN.Commit();
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅鏍告垚鍔燂紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁鏈壘鍒�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                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