From 861aefcec45c1843ad20d22a017054d33f78f8b9 Mon Sep 17 00:00:00 2001
From: yusijie <ysj@hz-kingdee.com>
Date: 星期三, 16 四月 2025 12:48:28 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/Controllers/SCGL/QC_OutCompCheckBillController.cs |  844 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 826 insertions(+), 18 deletions(-)

diff --git a/WebAPI/Controllers/SCGL/QC_OutCompCheckBillController.cs b/WebAPI/Controllers/SCGL/QC_OutCompCheckBillController.cs
index 3ee1d4a..d79645e 100644
--- a/WebAPI/Controllers/SCGL/QC_OutCompCheckBillController.cs
+++ b/WebAPI/Controllers/SCGL/QC_OutCompCheckBillController.cs
@@ -1,5 +1,7 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
 using Pub_Class;
+using SyntacticSugar.constant;
 using System;
 using System.Collections;
 using System.Collections.Generic;
@@ -16,48 +18,156 @@
         public DBUtility.ClsPub.Enum_BillStatus BillStatus;
 
         private json objJsonResult = new json();
+        public DataSet ds = new DataSet();
+        public WebServer webserver = new WebServer();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
-        DataSet ds;
-        SQLHelper.ClsCN oCN1 = new SQLHelper.ClsCN();
-        DataSet ds1;
+        public DAL.ClsQC_FirstPieceCheckBill BillOld = new DAL.ClsQC_FirstPieceCheckBill();
 
-
-
-
-        /// <summary>
-        /// 杩斿洖鍑哄巶妫�楠屽崟鍒楄〃
-        ///鍙傛暟锛歴tring sql銆�
-        ///杩斿洖鍊硷細object銆�
-        /// </summary>
+        #region 鍑哄巶妫�楠屽崟鍒楄〃
         [Route("QC_OutCompCheckBill/GetOutCompCheckBillList")]
         [HttpGet]
-        public object GetOutCompCheckBillList(string sWhere)
+        public object GetOutCompCheckBillList(string sWhere, string user)
         {
             try
             {
+                List<object> a = new List<object>();
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("QC_OutCompCheckBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 if (sWhere == null || sWhere.Equals(""))
                 {
-                    ds = oCN.RunProcReturn("select * from h_v_QC_OutCompCheckBillList " + sWhere, "h_v_QC_OutCompCheckBillList");
+                    ds = oCN.RunProcReturn("select * from h_v_QC_OutCompCheckBillList order by hmainid desc ", "h_v_QC_OutCompCheckBillList");
                 }
                 else
                 {
                     string sql1 = "select * from h_v_QC_OutCompCheckBillList where 1 = 1 ";
-                    string sql = sql1 + sWhere;
+                    string sql = sql1 + sWhere + " order by hmainid desc ";
                     ds = oCN.RunProcReturn(sql, "h_v_QC_OutCompCheckBillList");
                 }
-                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                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鏍煎紡鐨勫瓧绗︿覆
+                    a.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = a;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鍑哄巶妫�楠屽崟鍒嗛〉鍒楄〃
+        [Route("QC_OutCompCheckBill/QC_OutCompCheckBillListPage")]
+        [HttpGet]
+        public json QC_OutCompCheckBillListPage(string sWhere, string user, int page, int size)
+        {
+            DataSet ds;
+            json res = new json();
+            try
+            {
+                List<object> columnNameList = new List<object>();
+                //鍒ゆ柇鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("QC_OutCompCheckBill_Query", 1, false, user))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "false锛�";
+                    objJsonResult.Message = "鎮ㄦ病鏈夎妯″潡鏉冮檺,璇蜂笌绠$悊鍛樿仈绯伙紒";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+                sWhere = sWhere.Replace("'", "''");
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("exec h_p_QC_OutCompCheckBillList " + page + "," + size + ",''", "h_p_QC_OutCompCheckBillList");
+                }
                 else
+                {
+                    ds = oCN.RunProcReturn("exec h_p_QC_OutCompCheckBillList " + page + "," + size + ",'" + sWhere + "'", "h_p_QC_OutCompCheckBillList");
+                }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                res.code = CodeConstant.SUCCEED;
+                res.count = int.Parse(ds.Tables[1].Rows[0]["count"].ToString());
+                res.Message = "Sucess锛�";
+                res.list = columnNameList;
+                res.data = ds.Tables[0];
+                return res;
+            }
+            catch (Exception e)
+            {
+                res.code = CodeConstant.FAIL;
+                res.count = CountConstant.FAIL;
+                res.Message = "Exception锛�" + e.ToString();
+                res.data = null;
+                return res;
+            }
+        }
+        #endregion
+
+        #region[缂栬緫鏃惰幏鍙栨暟鎹甝
+        [Route("QC_OutCompCheckBill/QC_OutCompCheckBill_Edit")]
+        [HttpGet]
+        public object QC_OutCompCheckBill_Edit(string sWhere, string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                string sql1 = "select * from h_v_QC_OutCompCheckBillList_Edit where 1 = 1  ";
+                string sql = sql1 + sWhere + " order by hmainid desc";
+                ds = oCN.RunProcReturn(sql, "h_v_QC_OutCompCheckBillList_Edit");
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                if (ds.Tables[0].Rows.Count > 0)
                 {
                     objJsonResult.code = "1";
                     objJsonResult.count = 1;
                     objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.list = columnNameList;
+                    objJsonResult.data = ds.Tables[0];
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鏌ヨ鍒版暟鎹�";
+                    objJsonResult.list = columnNameList;
                     objJsonResult.data = ds.Tables[0];
                     return objJsonResult;
                 }
@@ -72,6 +182,704 @@
             }
         }
 
-        //
+        #endregion
+
+        #region 鍑哄巶妫�楠屽崟 涓诲瓙琛ㄤ繚瀛�
+        [Route("QC_OutCompCheckBill/AddBill")]
+        [HttpPost]
+        public object AddBill([FromBody] JObject sMainSub)
+        {
+            var _value = sMainSub["sMainSub"].ToString();
+            string msg1 = _value.ToString();
+            oCN.BeginTran();
+            //淇濆瓨涓昏〃
+            objJsonResult = AddBillMain(msg1);
+            if (objJsonResult.code == "0")
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = objJsonResult.Message;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            oCN.Commit();
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = "鏂板鍗曟嵁鎴愬姛锛�";
+            return objJsonResult;
+        }
+
+        public json AddBillMain(string msg1)
+        {
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();
+            string OperationType = sArray[2].ToString();
+            string user = sArray[3].ToString();
+            try
+            {
+                //鍒ゆ柇鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("QC_OutCompCheckBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                msg2 = "[" + msg2.ToString() + "]";
+                List<QC_OutCompCheckBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<QC_OutCompCheckBillMain>>(msg2);
+                int HYear = DateTime.Now.Year; ;
+                double HPeriod = DateTime.Now.Month; ;
+                string HBillType = "7504";
+                string HBillSubType = "7504";
+                long HInterID = mainList[0].HInterID;//閫掑叆type寰楀埌鐨勫崟鎹甀D
+                DateTime HDate = mainList[0].HDate;//鏃ユ湡
+                string HBillNo = mainList[0].HBillNo;//閫掑叆type寰楀埌鐨勫崟鎹彿
+                long HBillStatus = mainList[0].HBillStatus;
+                string HRemark = mainList[0].HRemark;//澶囨敞                
+                string HMaker = user;
+
+                long HCusID = mainList[0].HCusID;
+                long HMaterID = mainList[0].HMaterID;
+                long HFirstCheckEmp = mainList[0].HFirstCheckEmp;
+                bool HCheckerResult = ClsPub.isBool(mainList[0].HCheckerResult);
+                double HInStockQty = mainList[0].HInStockQty;
+                double HCheckQty = mainList[0].HCheckQty;
+                double HRightQty = mainList[0].HRightQTy;
+                double HBadQty = mainList[0].HBadQty;
+                
+                long HICMOInterID = ClsPub.isLong(mainList[0].HICMOInterID);
+                string  HICMOBillNo = ClsPub.isStrNull(mainList[0].HICMOBillNo);
+                long HICMOEntryID = ClsPub.isLong(mainList[0].HICMOEntryID);
+                long HICMOQty = ClsPub.isLong(mainList[0].HICMOQty);
+                long HProcExchInterID = ClsPub.isLong(mainList[0].HProcExchInterID);
+                long HProcExchEntryID = ClsPub.isLong(mainList[0].HProcExchEntryID);
+                string  HProcExchBillNo = ClsPub.isStrNull(mainList[0].HProcExchBillNo);
+                long HProcExchQty = ClsPub.isLong(mainList[0].HProcExchQty);
+                long HSourceID = ClsPub.isLong(mainList[0].HSourceID);
+                long HProcID = ClsPub.isLong(mainList[0].HProcID);
+                long HMainSourceInterID = ClsPub.isLong(mainList[0].HMainSourceInterID);
+                long HMainSourceEntryID = ClsPub.isLong(mainList[0].HMainSourceEntryID);
+                string  HMainSourceBillNo = ClsPub.isStrNull(mainList[0].HMainSourceBillNo);
+                string HMainSourceBillType = ClsPub.isStrNull(mainList[0].HMainSourceBillType);
+                long HQCSchemeID = ClsPub.isLong(mainList[0].HQCSchemeID);
+                long HShiftsID = ClsPub.isLong(mainList[0].HShiftsID);
+                string  HErrTreatment = ClsPub.isStrNull(mainList[0].HErrTreatment);
+                string  HBatchNo = ClsPub.isStrNull(mainList[0].HBatchNo);
+                long HSourceOrgID = ClsPub.isLong(mainList[0].HSourceOrgID);
+                long HInspectOrgID = ClsPub.isLong(mainList[0].HInspectOrgID);
+
+                if (OperationType=="1" || OperationType=="2")
+                {
+                    //涓昏〃
+                    oCN.RunProc("Insert Into QC_OutCompCheckBillMain " +
+                    "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate" +
+                    ",HYear,HPeriod,HRemark,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType" +
+                    ",HCusID,HMaterID,HInStockQty,HCheckQty,HRightQty,HBadQty,HFirstCheckEmp,HCheckerResult" +
+                    ",HICMOInterID,HICMOEntryID,HICMOBillNo,HICMOQty,HProcExchInterID,HProcExchEntryID,HProcExchBillNo,HProcExchQty" +
+                     ",HSourceID,HProcID,HQCSchemeID,HShiftsID,HErrTreatment,HBatchNo,HSourceOrgID,HInspectOrgID" +
+                    ") " +
+                    " values('" + HBillType + "','" + HBillSubType + "'," + HInterID.ToString() + ",'" + HBillNo + "'," + HBillStatus.ToString() + ",'" + HDate + "','" + user + "',getdate()" +
+                    "," + HYear.ToString() + "," + HPeriod.ToString() + ",'" + HRemark + "','" + HMainSourceInterID + "','" + HMainSourceEntryID + "','" + HMainSourceBillNo + "','" + HMainSourceBillType + "'" +
+                    ",'" + HCusID.ToString() + "','" + HMaterID.ToString() + "','" + HInStockQty.ToString() + "','" + HCheckQty.ToString() + "','" + HRightQty.ToString() + "','" + HBadQty.ToString() + "','" + HFirstCheckEmp.ToString() + "','" + DBUtility.ClsPub.BoolToString(HCheckerResult) + "'" +
+                    ",'" + HICMOInterID.ToString() + "','" + HICMOEntryID.ToString() + "','" + HICMOBillNo.ToString() + "','" + HICMOQty.ToString() + "','" + HProcExchInterID.ToString() + "','" + HProcExchEntryID.ToString() + "','" + HProcExchBillNo.ToString() + "','" + HProcExchQty + "'" +
+                    ",'" + HSourceID.ToString() + "','" + HProcID.ToString() + "','" + HQCSchemeID.ToString() + "','" + HShiftsID.ToString() + "','" + HErrTreatment.ToString() + "','" + HBatchNo.ToString() + "','" + HSourceOrgID.ToString() + "','" + HInspectOrgID.ToString() + "') ");
+
+                }
+                else if (OperationType == "3")
+                {
+                    oCN.RunProc("UpDate QC_OutCompCheckBillMain set " +
+                        " HBillNo='" + HBillNo + "'" +
+                         ",HDate='" + HDate + "'" +
+                         ",HYear='" + HYear.ToString() + "'" +
+                         ",HPeriod='" + HPeriod.ToString() + "'" +
+                         ",HBillStatus='" + HBillStatus + "'" +
+                         ",HRemark='" + HRemark + "'" +
+                         ",HUpDater='" +user + "'" +
+                         ",HUpDateDate=getdate()" +
+                         //========================================
+                         ",HSourceID=" + HSourceID.ToString() +
+                         ",HQCSchemeID=" + HQCSchemeID.ToString() +
+                         ",HICMOInterID=" + HICMOInterID.ToString() +
+                         ",HICMOBillNo='" + HICMOBillNo + "'" +
+                         ",HICMOQty=" + HICMOQty.ToString() +
+                         ",HProcExchInterID=" + HProcExchInterID.ToString() +
+                         ",HProcExchEntryID=" + HProcExchEntryID.ToString() +
+                         ",HProcExchBillNo='" + HProcExchBillNo + "'" +
+                         ",HProcExchQty=" + HProcExchQty.ToString() +
+                         ",HProcID=" + HProcID.ToString() +
+                         ",HMaterID=" + HMaterID.ToString() +
+                         ",HFirstCheckEmp=" + HFirstCheckEmp.ToString() +
+                         ",HCheckerResult=" + DBUtility.ClsPub.BoolToString(HCheckerResult) +
+                         ",HShiftsID=" + HShiftsID.ToString() +
+                         ",HErrTreatment='" + HErrTreatment + "'" +
+                         ",HBatchNo='" + HBatchNo + "'" +
+                         " where HInterID=" + HInterID.ToString());
+                    oCN.RunProc("Delete From QC_OutCompCheckBillSub where HInterID = " + HInterID);
+
+                }
+                //淇濆瓨瀛愯〃
+                objJsonResult = AddBillSub(msg3, HInterID, HBillNo);
+                if (objJsonResult.code == "0")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = objJsonResult.Message;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = null;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        public json AddBillSub(string msg3, long HInterID, string HBillNo)
+        {
+            List<QC_OutCompCheckBillSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<QC_OutCompCheckBillSub>>(msg3);
+            for (int i = 0; i < subList.Count; i++)
+            {                          
+
+                int HEntryID = i + 1;
+                string HRemark = ClsPub.isStrNull(subList[i].HRemark);
+                long HSourceInterID = ClsPub.isLong(subList[i].HSourceInterID);
+                long HSourceEntryID = ClsPub.isLong(subList[i].HSourceEntryID);
+                string HSourceBillType = ClsPub.isStrNull(subList[i].HSourceBillType);
+                string HSourceBillNo = ClsPub.isStrNull(subList[i].HSourceBillNo);
+                double HRelationQty = DBUtility.ClsPub.isDoule(subList[i].HRelationQty);
+                double HRelationMoney = DBUtility.ClsPub.isDoule(subList[i].HRelationMoney);
+                string HCloseMan = DBUtility.ClsPub.isStrNull(subList[i].HCloseMan);
+                DateTime HEntryCloseDate = DBUtility.ClsPub.isDate(subList[i].HEntryCloseDate);
+                bool HCloseType = DBUtility.ClsPub.isBool(subList[i].HCloseType);
+
+
+                long HQCCheckClassID = subList[0].HQCCheckClassID;
+                long HQCCheckItemID = DBUtility.ClsPub.isLong(subList[i].HQCCheckItemID);
+                string HQCStd = DBUtility.ClsPub.isStrNull(subList[i].HQCStd);
+                string HUnit = DBUtility.ClsPub.isStrNull(subList[i].HUnit);
+                string HQCNote = DBUtility.ClsPub.isStrNull(subList[i].HQCNote);
+                string HResult = DBUtility.ClsPub.isStrNull(subList[i].HResult);
+                string HMax = DBUtility.ClsPub.isStrNull(subList[i].HMax);
+                string HMin = DBUtility.ClsPub.isStrNull(subList[i].HMin);
+                string HAvg = DBUtility.ClsPub.isStrNull(subList[i].HAvg);               
+                long HSampleSchemeID = DBUtility.ClsPub.isLong(subList[i].HSampleSchemeID);
+                long HSampleQty = DBUtility.ClsPub.isLong(subList[i].HSampleQty);
+                double HSampleDamageQty = DBUtility.ClsPub.isDoule(subList[i].HSampleDamageQty);
+                long HAcceptQty = DBUtility.ClsPub.isLong(subList[i].HAcceptQty);
+                long HRejectQty = DBUtility.ClsPub.isLong(subList[i].HRejectQty);
+                double  HSampleUnRightQty = DBUtility.ClsPub.isDoule(subList[i].HSampleUnRightQty);
+                string HStatus = DBUtility.ClsPub.isStrNull(subList[i].HStatus);
+                long HUnitID = DBUtility.ClsPub.isLong(subList[i].HUnitID);
+                string HInspectVal = DBUtility.ClsPub.isStrNull(subList[i].HInspectVal);
+                string HTargetVal = DBUtility.ClsPub.isStrNull(subList[i].HTargetVal);
+                string HUpLimit = DBUtility.ClsPub.isStrNull(subList[i].HUpLimit);
+                string HDownLimit = DBUtility.ClsPub.isStrNull(subList[i].HDownLimit);
+                string HUpOffSet = DBUtility.ClsPub.isStrNull(subList[i].HUpOffSet);
+                string HDownOffSet = DBUtility.ClsPub.isStrNull(subList[i].HDownOffSet);
+                string HAnalysisMethod = DBUtility.ClsPub.isStrNull(subList[i].HAnalysisMethod);
+                long HKeyInspect = DBUtility.ClsPub.isLong(subList[i].HKeyInspect);
+                long HInspectInstruMentID = DBUtility.ClsPub.isLong(subList[i].HInspectInstruMentID);
+                string HInspectResult = DBUtility.ClsPub.isStrNull(subList[i].HResult);
+
+
+                oCN.RunProc("Insert into QC_OutCompCheckBillSub " +
+                      " (HInterID,HBillNo_bak,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark,HSourceInterID" +
+                      ",HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
+                      ",HQCCheckClassID,HQCCheckItemID,HQCStd,HQCNote,HResult,HMax,HMin,HAvg,HSampleSchemeID,HSampleQty" +
+                      ",HSampleDamageQty,HAcceptQty,HRejectQty,HSampleUnRightQty,HStatus,HUnitID,HInspectVal,HTargetVal,HUpLimit,HDownLimit" +
+                      ",HUpOffSet,HDownOffSet,HAnalysisMethod,HKeyInspect,HInspectInstruMentID,HInspectResult" +
+                      ") values("
+                      + HInterID.ToString() + ",'" + HBillNo + "'," + HEntryID.ToString() + ",'" + HCloseMan + "',getdate()," + DBUtility.ClsPub.BoolToString(HCloseType) + ",'" + HRemark + "'," + HSourceInterID.ToString() +
+                      "," + HSourceEntryID.ToString() + ",'" + HSourceBillNo + "','" + HSourceBillType + "'," + HRelationQty.ToString() + "," + HRelationMoney.ToString() +
+                      "," + HQCCheckClassID.ToString() + "," + HQCCheckItemID.ToString() + ",'" + HQCStd + "','" + HQCNote + "','" + HResult + "','" + HMax + "','" + HMin + "','" + HAvg + "','" + HSampleSchemeID + "','" + HSampleQty + "'" +
+                      "," + HSampleDamageQty.ToString() + "," + HAcceptQty.ToString() + ",'" + HRejectQty + "','" + HSampleUnRightQty + "','" + HStatus + "','" + HUnitID + "','" + HInspectVal + "','" + HTargetVal + "','" + HUpLimit + "','" + HDownLimit + "'" +
+                      ",'" + HUpOffSet.ToString() + "','" + HDownOffSet.ToString() + "','" + HAnalysisMethod + "','" + DBUtility.ClsPub.BoolToString(HKeyInspect) + "','" + HInspectInstruMentID + "','" + HInspectResult + "' ) ");
+            }
+
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = null;
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
+
+        #endregion
+
+        #region 妫�楠屽�间繚瀛�
+        [Route("QC_OutCompCheckBill/set_SaveValue")]
+        [HttpPost]
+        public object set_SaveValue([FromBody] JObject msg)
+        {
+            ListModels oListModels = new ListModels();
+            try
+            {
+                var _value = msg["msg"].ToString();
+                string msg1 = _value.ToString();
+                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+
+                string Value = sArray[0].ToString(); //妫�楠屽�艰〃鏍�
+                Int64 HInterID = Convert.ToInt64(sArray[1]); //涓籌D
+                Int64 HEntryID = Convert.ToInt64(sArray[2]); //瀛怚D
+
+                List<QC_OutCompCheckBillSub_ValueGrid> valueList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<QC_OutCompCheckBillSub_ValueGrid>>(Value);
+
+
+                for (int i = 0; i < valueList.ToArray().Length; i++)
+                {
+                    int HSEQ = i + 1;
+                    string HInSpectResult = ClsPub.isStrNull(valueList[i].HInSpectResult);
+                    double HInSpectValue = ClsPub.isDoule(valueList[i].HInSpectValue);
+                    long HInSpectValueB = ClsPub.isLong(valueList[i].HInSpectValueB);
+                    string HInSpectValueT = ClsPub.isStrNull(valueList[i].HInSpectValueT);
+
+                    oCN.RunProc("Insert into QC_OutCompCheckBillSub_ValueGrid " +
+                      " (HInterID,HEntryID,HSEQ,HInSpectResult,HInSpectValue,HInSpectValueB,HInSpectValueT) " +
+                      "values("+ HInterID + "," + HEntryID + "," + HSEQ + ",'" + HInSpectResult + "'," +HInSpectValue + "," + HInSpectValueB + ",'" + HInSpectValueT + "'" +") ");
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = null;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 鍑哄巶妫�楠屽崟 鍒犻櫎
+        [Route("QC_OutCompCheckBill/DeltetOutCompCheckBill")]
+        [HttpGet]
+        public object DeltetOutCompCheckBill(string HInterID, string user)
+        {
+            try
+            {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("QC_OutCompCheckBill_Delete", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+                oCN.RunProc("Delete From QC_OutCompCheckBillMain where HInterID = " + HInterID);
+                oCN.RunProc("Delete From QC_OutCompCheckBillSub where HInterID = " + HInterID);
+                oCN.RunProc("Delete From QC_OutCompCheckBillSub_ValueGrid 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 鍑哄巶妫�楠屽崟缁存姢 瀹℃牳 鍙嶅鏍� 鍏抽棴 鍙嶅叧闂� 浣滃簾 鍙嶄綔搴�
+        /// <summary>
+        /// 鍑哄巶妫�楠屽崟缁存姢 瀹℃牳銆佸弽瀹℃牳
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("QC_OutCompCheckBill/CheckQC_OutCompCheckBill")]
+        [HttpGet]
+        public object CheckQC_OutCompCheckBill(int HInterID, int IsAudit, string CurUserName)
+        {
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second("QC_OutCompCheckBill_Check", 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                var ds = oCN.RunProcReturn("select * from QC_OutCompCheckBillMain where HInterID=" + HInterID, "QC_OutCompCheckBillMain");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+
+                if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                {                   
+
+                    oCN.RunProc("update QC_OutCompCheckBillMain set HChecker='" + CurUserName + "',HCheckDate=getdate() where HInterID=" + HInterID);
+
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "瀹℃牳鎴愬姛";
+                    objJsonResult.data = null;
+                }
+                if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                {                  
+
+                    oCN.RunProc("update QC_OutCompCheckBillMain set HChecker='',HCheckDate=null where HInterID=" + HInterID);               
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                    objJsonResult.data = null;
+                }
+                oCN.Commit();
+
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+
+        /// <summary>
+        /// 鍑哄巶妫�楠屽崟缁存姢 鍏抽棴 鍙嶅叧闂� 
+        /// </summary>
+        /// <param name="HInterID"></param>
+        /// <param name="Type"></param>
+        /// <param name="user"></param>
+        /// <returns></returns>
+        [Route("QC_OutCompCheckBill/CloseQC_OutCompCheckBill")]
+        [HttpGet]
+        public object CloseQC_FirstPieceCheckBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊垹闄ゆ潈闄�
+                if (!DBUtility.ClsPub.Security_Log("QC_OutCompCheckBill_Close", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬叧闂�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "QC_OutCompCheckBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 鍏抽棴  2  鍙嶅叧闂�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍏抽棴
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] != null && ds.Tables[0].Rows[0]["HCloseMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍏抽棴鍗曟嵁
+                        if (!BillOld.CloseBill(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍏抽棴澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶅叧闂�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘杩涜鍏抽棴!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+
+                        if (ds.Tables[0].Rows[0]["HCloseMan"] == null || ds.Tables[0].Rows[0]["HCloseMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈叧闂�!涓嶉渶瑕佸啀鍙嶅叧闂�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶅叧闂崟鎹�
+                        if (!BillOld.CancelClose(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶅叧闂け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                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;
+            }
+        }
+
+
+        /// <summary>
+        /// 鍑哄巶妫�楠屽崟缁存姢 浣滃簾 鍙嶄綔搴�
+        /// </summary>
+        /// <param name="HInterID"></param>
+        /// <param name="Type"></param>
+        /// <param name="user"></param>
+        /// <returns></returns>
+        [Route("QC_OutCompCheckBill/DropQC_OutCompCheckBill")]
+        [HttpGet]
+        public object DropQC_FirstPieceCheckBills(string HInterID, int Type, string user)
+        {
+            try
+            {
+                //鍒ゆ柇鏄惁鏈変綔搴熸潈闄�
+                if (!DBUtility.ClsPub.Security_Log("QC_OutCompCheckBill_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愪綔搴�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "QC_OutCompCheckBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 1 浣滃簾  2  鍙嶄綔搴�
+                if (Type == 1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡浣滃簾
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] != null && ds.Tables[0].Rows[0]["HDeleteMan"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶉渶瑕佸啀浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //浣滃簾鍗曟嵁
+                        if (!BillOld.Cancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "浣滃簾澶辫触!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁宸茬粡鍙嶄綔搴�
+                    DataSet ds;
+                    string sql = "select * from " + BillOld.MvarItemKey + " where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, BillOld.MvarItemKey);
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (ds.Tables[0].Rows[0]["HChecker"] != null && ds.Tables[0].Rows[0]["HChecker"].ToString() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘杩涜浣滃簾!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        if (ds.Tables[0].Rows[0]["HDeleteMan"] == null || ds.Tables[0].Rows[0]["HDeleteMan"].ToString() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈綔搴�!涓嶉渶瑕佸啀鍙嶄綔搴�!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                        //鍙嶄綔搴熷崟鎹�
+                        if (!BillOld.AbandonCancelltion(Int64.Parse(HInterID), ref ClsPub.sExeReturnInfo))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 1;
+                            objJsonResult.Message = "鍙嶄綔搴熷け璐�!鍘熷洜:" + ClsPub.sExeReturnInfo;
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                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