From 9a75f7db9431032c0f1ecc64be4966a25c74bafa Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期二, 05 十一月 2024 16:48:12 +0800
Subject: [PATCH] 1

---
 WebAPI/Controllers/Kf_ICStockBillMainController.cs |  109 ++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 93 insertions(+), 16 deletions(-)

diff --git a/WebAPI/Controllers/Kf_ICStockBillMainController.cs b/WebAPI/Controllers/Kf_ICStockBillMainController.cs
index 199d829..c09cec1 100644
--- a/WebAPI/Controllers/Kf_ICStockBillMainController.cs
+++ b/WebAPI/Controllers/Kf_ICStockBillMainController.cs
@@ -1,4 +1,5 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using System;
 using System.Collections.Generic;
 using System.Data;
@@ -24,6 +25,7 @@
         {
             try
             {
+                List<object> columnNameList = new List<object>();  //瀹氫箟澹版槑鍙橀噺 锛屾妸閫氳繃 new List<object>()鍒涘缓鐨� 瀹炰緥锛岃祴鍊肩粰鍙橀噺
                 //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
                 if (!DBUtility.ClsPub.Security_Log("Kf_ICStockBill_Query", 1, false, user))
                 {
@@ -43,22 +45,29 @@
                     string sql = "select * from h_v_IF_Kf_ICStockBillMain where 1 = 1 " + sWhere + " order by hmainid desc";
                     ds = oCN.RunProcReturn(sql, "h_v_IF_Kf_ICStockBillMain");
                 }
-                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                foreach (DataColumn col in ds.Tables[0].Columns)//閬嶅巻ds涓涓�涓〃锛圱ables[0]锛夌殑鎵�鏈夊垪锛圕olumns锛夋瘡娆″惊鐜腑锛宑ol鍙橀噺浼氭寔鏈夊綋鍓嶅垪鐨勫紩鐢�
                 {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "false锛�";
-                    objJsonResult.data = null;
-                    return objJsonResult;
+                    Type dataType = col.DataType; //鑾峰彇褰撳墠鏁版嵁绫诲瀷浼犲叆 鑷畾涔夊彉閲廳atadataType
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; //瀛楃涓叉嫾鎺�         // 灏嗗垪鍚嶅拰鏁版嵁绫诲瀷淇℃伅鎷兼帴鎴愪竴涓狫SON鏍煎紡鐨勫瓧绗︿覆
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
                 }
-                else
-                {
-                    objJsonResult.code = "1";
-                    objJsonResult.count = 1;
-                    objJsonResult.Message = "Sucess锛�";
-                    objJsonResult.data = ds.Tables[0];
-                    return objJsonResult;
-                }
+                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                //{
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+                //}
+                //else
+                //{
+                //objJsonResult.code = "0";
+                //objJsonResult.count = 0;
+                //objJsonResult.Message = "鏃犳暟鎹�";
+                //objJsonResult.data = null;
+                //return objJsonResult;
+                //}
             }
             catch (Exception e)
             {
@@ -101,6 +110,18 @@
                     return objJsonResult;
                 }
 
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                string s = "";
+                int sYear = 0;
+                int sPeriod = 0;
+                DateTime HDate = DateTime.Now;
+                if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(HDate, ref sYear, ref sPeriod, ref s) == false)
+                {
+                    objJsonResult.Message = s;
+                    return objJsonResult;
+                }
+
+
                 DLL.ClsKf_SellOutBackBill oBill = new DLL.ClsKf_SellOutBackBill();
                 if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
                 {
@@ -121,7 +142,7 @@
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
-
+                    
                     if (IsAudit == 1)
                     {
                         if (oBill.omodel.HBillStatus == 2)
@@ -135,7 +156,35 @@
                         else
                         {
                             string HCheckDate = DateTime.Now.Date.ToString();
+                            oCN.BeginTran();
                             oCN.RunProc(" Update Kf_ICStockBillMain set HChecker='" + CurUserName + "',HCheckDate='" + HCheckDate + "',HBillStatus=2 Where HBillType='1247' and HInterID=" + HInterID);
+                            //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 澧炲姞搴撳瓨
+                            ds = oCN.RunProcReturn("exec h_KF_UPDateICinventory  '" + oBill.omodel.HInterID + "','" + oBill.omodel.HBillType + "','1'", "h_KF_UPDateICinventory");
+
+                            //=========================瀹℃牳鍙嶅鏍稿悗璐熷簱瀛樻帶鍒�  
+                            DataSet ds2 = oCN.RunProcReturn("Exec h_p_KF_ICinventoryStockCtrl '" + oBill.omodel.HInterID + "', '" + oBill.omodel.HBillType + "'", "h_p_KF_ICinventoryStockCtrl");
+                            if (ds2 == null)
+                            {
+                                oCN.RollBack();
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 1;
+                                objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + "搴撳瓨鏇存柊鍚庢帶鍒跺垽鏂け璐�";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                            if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                            {
+                                oCN.RollBack();
+                                string sReturn = "搴撳瓨鏇存柊澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 1;
+                                objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + sReturn;
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                            //============================
+
+                            oCN.Commit();
                             objJsonResult.code = "0";
                             objJsonResult.count = 1;
                             objJsonResult.Message = "瀹℃牳鎴愬姛锛�";
@@ -156,7 +205,35 @@
                         else
                         {
                             string HCheckDate = DateTime.Now.Date.ToString();
+                            oCN.BeginTran();
                             oCN.RunProc(" Update Kf_ICStockBillMain set HChecker=' ',HCheckDate=null,HBillStatus=1 Where HBillType='1247' and HInterID=" + HInterID);
+                            //瀹℃牳鏇存柊 鍙婃椂搴撳瓨琛� 鍑忓皯搴撳瓨
+                            ds = oCN.RunProcReturn("exec h_KF_UPDateICinventory  '" + oBill.omodel.HInterID + "','" + oBill.omodel.HBillType + "','2'", "h_KF_UPDateICinventory");
+
+                            //=========================瀹℃牳鍙嶅鏍稿悗璐熷簱瀛樻帶鍒�  
+                            DataSet ds2 = oCN.RunProcReturn("Exec h_p_KF_ICinventoryStockCtrl '" + oBill.omodel.HInterID + "', '" + oBill.omodel.HBillType + "'", "h_p_KF_ICinventoryStockCtrl");
+                            if (ds2 == null)
+                            {
+                                oCN.RollBack();
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 1;
+                                objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + "搴撳瓨鏇存柊鍚庢帶鍒跺垽鏂け璐�";
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                            if (DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBack"]) != "0")
+                            {
+                                oCN.RollBack();
+                                string sReturn = "搴撳瓨鏇存柊澶辫触锛�" + DBUtility.ClsPub.isStrNull(ds2.Tables[0].Rows[0]["HBackRemark"]);
+                                objJsonResult.code = "0";
+                                objJsonResult.count = 1;
+                                objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + sReturn;
+                                objJsonResult.data = null;
+                                return objJsonResult;
+                            }
+                            //============================
+
+                            oCN.Commit();
                             objJsonResult.code = "0";
                             objJsonResult.count = 1;
                             objJsonResult.Message = "鍙嶅鏍告垚鍔燂紒";

--
Gitblit v1.9.1