From f76084c29964fb0bd45c7fd8da2d1837ae995608 Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期五, 29 十一月 2024 13:23:40 +0800
Subject: [PATCH] 多人刷卡开工 保存子表

---
 WebAPI/Controllers/Kf_ICStockBillMainController.cs |  240 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 221 insertions(+), 19 deletions(-)

diff --git a/WebAPI/Controllers/Kf_ICStockBillMainController.cs b/WebAPI/Controllers/Kf_ICStockBillMainController.cs
index 4a81141..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;
@@ -17,38 +18,56 @@
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
-
+        #region 閿�鍞��璐у崟鏌ヨ
         [Route("Kf_ICStockBillMain/GetCStockBillList")]
         [HttpGet]
-        public object GetCStockBillList(string sWhere)
+        public object GetCStockBillList(string sWhere,string user)
         {
             try
             {
-                if (sWhere == null || sWhere.Equals(""))
-                {
-                    ds = oCN.RunProcReturn("select * from h_v_IF_Kf_ICStockBillMain where 1=1", "h_v_IF_Kf_ICStockBillMain");
-                }
-                else
-                {
-                    string sql = "select * from h_v_IF_Kf_ICStockBillMain where 1 = 1 " + sWhere;
-                    ds = oCN.RunProcReturn(sql, "h_v_IF_Kf_ICStockBillMain");
-                }
-                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                List<object> columnNameList = new List<object>();  //瀹氫箟澹版槑鍙橀噺 锛屾妸閫氳繃 new List<object>()鍒涘缓鐨� 瀹炰緥锛岃祴鍊肩粰鍙橀噺
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Kf_ICStockBill_Query", 1, false, user))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "false锛�";
+                    objJsonResult.Message = "鏃犳潈闄愭煡璇�!";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select * from h_v_IF_Kf_ICStockBillMain where 1=1 order by hmainid desc", "h_v_IF_Kf_ICStockBillMain");
+                }
                 else
                 {
-                    objJsonResult.code = "1";
-                    objJsonResult.count = 1;
-                    objJsonResult.Message = "Sucess锛�";
-                    objJsonResult.data = ds.Tables[0];
-                    return objJsonResult;
+                    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");
                 }
+                foreach (DataColumn col in ds.Tables[0].Columns)//閬嶅巻ds涓涓�涓〃锛圱ables[0]锛夌殑鎵�鏈夊垪锛圕olumns锛夋瘡娆″惊鐜腑锛宑ol鍙橀噺浼氭寔鏈夊綋鍓嶅垪鐨勫紩鐢�
+                {
+                    Type dataType = col.DataType; //鑾峰彇褰撳墠鏁版嵁绫诲瀷浼犲叆 鑷畾涔夊彉閲廳atadataType
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; //瀛楃涓叉嫾鎺�         // 灏嗗垪鍚嶅拰鏁版嵁绫诲瀷淇℃伅鎷兼帴鎴愪竴涓狫SON鏍煎紡鐨勫瓧绗︿覆
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+                //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)
             {
@@ -59,5 +78,188 @@
                 return objJsonResult;
             }
         }
+        #endregion
+
+        #region 瀹℃牳鍙婂弽瀹℃牳
+        [Route("Kf_ICStockBillMain/AuditProcessReportList")]
+        [HttpGet]
+        public object AuditProcessReportList(int HInterID, int IsAudit, string CurUserName)
+        {
+           
+            try
+            {
+                //IsAudit=1 瀹℃牳锛�  IsAudit=2 鍙嶅鏍�
+                //缂栬緫鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("Kf_ICStockBill_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;
+                }
+
+                //杩涜 浼氳鏈熼棿 缁撹处 鐨勫垽鏂拰鎺у埗
+                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))
+                {
+                    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 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 = "瀹℃牳鎴愬姛锛�";
+                            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 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 = "鍙嶅鏍告垚鍔燂紒";
+                            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