From 8abe6c1a1609513b72c10c7af08c7ca2400200f0 Mon Sep 17 00:00:00 2001
From: zhangrg <z18737863051@163.com>
Date: 星期五, 22 十二月 2023 10:05:29 +0800
Subject: [PATCH] 1

---
 WebAPI/Controllers/CJGL/Cj_SingleStationController.cs |  209 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 162 insertions(+), 47 deletions(-)

diff --git a/WebAPI/Controllers/CJGL/Cj_SingleStationController.cs b/WebAPI/Controllers/CJGL/Cj_SingleStationController.cs
index 178aa71..f568446 100644
--- a/WebAPI/Controllers/CJGL/Cj_SingleStationController.cs
+++ b/WebAPI/Controllers/CJGL/Cj_SingleStationController.cs
@@ -204,30 +204,34 @@
 
                 ds = oCN.RunProcReturn("exec h_p_Gy_BarCodeBillBomList '" + mainList[0].HProcExchBillNo + "'," + mainList[0].HProcID, "h_p_Gy_BarCodeBillBomList");
 
-                string jsonstr = JsonConvert.SerializeObject(ds.Tables[0]);
+                if (ds.Tables[0].Rows.Count > 0) {
 
-                //淇濆瓨鐢熶骇缁勮鍗曚富琛�
-                string sql = $@"Insert Into Sc_AssemblyBillMain(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate
+                    string jsonstr = JsonConvert.SerializeObject(ds.Tables[0]);
+
+                    //淇濆瓨鐢熶骇缁勮鍗曚富琛�
+                    string sql = $@"Insert Into Sc_AssemblyBillMain(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate
 ,HBillNo,HBillStatus,HMaker,HMakeDate,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo
 ,HICMOInterID,HICMOBillNo,HBarCode_P,HMaterID,HUnitID,HAssemblyStatus,HProdOrgID)
 values('{DateTime.Now.Year}','{DateTime.Now.Month}','3727','3727',{HInterID1},getdate()
 ,'{HBillNo1}','1','{user}',getdate(),{mainList[0].HProcExchInterID.ToString()},{mainList[0].HProcExchEntryID.ToString()},'{mainList[0].HProcExchBillNo.ToString()}'
 ,{mainList[0].HICMOInterID.ToString()},'{mainList[0].HICMOBillNo.ToString()}','{mainList[0].HBarCode.ToString()}',{mainList[0].HMaterID},0,'姹囨姤',{mainList[0].HProdOrgID})";
-                oCN.RunProc(sql);
+                    oCN.RunProc(sql);
 
-                List<Model.ClsSc_AssemblyBillSub> sub = new List<Model.ClsSc_AssemblyBillSub>();
-                sub = JsonConvert.DeserializeObject<List<Model.ClsSc_AssemblyBillSub>>(jsonstr);
+                    List<Model.ClsSc_AssemblyBillSub> sub = new List<Model.ClsSc_AssemblyBillSub>();
+                    sub = JsonConvert.DeserializeObject<List<Model.ClsSc_AssemblyBillSub>>(jsonstr);
 
-                for (int i = 0; i < sub.Count; i++)
-                {
-                    //瀛愯〃瀛樺偍
-                    string sq2 = $@"Insert Into Sc_AssemblyBillSub(HInterID,HBillNo_bak,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo
+                    for (int i = 0; i < sub.Count; i++)
+                    {
+                        //瀛愯〃瀛樺偍
+                        string sq2 = $@"Insert Into Sc_AssemblyBillSub(HInterID,HBillNo_bak,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo
                 ,HSourceBillType,HMaterID,HSourceID,HEquipID,HUnitID,HQty
                 ,HGroupID,HWorkerID,HScanDate,HBarCode,HBarCode_P,HSNNumber)
                 values({HInterID1},'{HBillNo1}',{(i + 1)},0,0,''
                 ,'',{sub[i].HMaterID},0,0,0,{sub[i].HQty}
                 ,0,0,getdate(),'{sub[i].HBarCode}','{mainList[0].HBarCode}','') ";
-                    oCN.RunProc(sq2);
+                        oCN.RunProc(sq2);
+                    }
+
                 }
 
 
@@ -320,15 +324,29 @@
                 }
 
                 ds = oCN.RunProcReturn("select * from gy_czygl where czymc='" + user + "'", "gy_czygl");
+                string HProcID = ds.Tables[0].Rows[0]["HProcID"].ToString();
 
-                ds = oCN.RunProcReturn(@"exec h_p_Gy_BarCodeBillBomList '" + HBarCode + "'," + ds.Tables[0].Rows[0]["HProcID"].ToString(), "h_p_Gy_BarCodeBillBomList");
+                ds = oCN.RunProcReturn(@"exec h_p_Gy_BarCodeBillBomList '" + HBarCode + "'," + HProcID, "h_p_Gy_BarCodeBillBomList");
                 if (ds.Tables[0].Rows.Count == 0)
                 {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "閰嶄欢娓呭崟鏌ユ棤鏁版嵁锛�";
-                    objJsonResult.data = null;
-                    return objJsonResult;
+                    DataSet dataSet = oCN.RunProcReturn(@"exec h_p_Sc_ProcessExchangeBillList '" + HBarCode + "'," + HProcID, "h_p_Sc_ProcessExchangeBillList");
+
+                    if (dataSet.Tables[0].Rows.Count > 0)
+                    {
+                        objJsonResult.code = "2";
+                        objJsonResult.count = 2;
+                        objJsonResult.Message = "";
+                        objJsonResult.data = dataSet.Tables[0];
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "閰嶄欢娓呭崟鏌ユ棤鏁版嵁锛�,鍙兘鏄綋鍓嶇敤鎴峰伐搴忎笉姝g‘鎴栬�呮祦杞崱杈撳叆閿欒!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
                 }
                 else
                 {
@@ -387,7 +405,7 @@
                 if (tempList.Count == 0) {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "鏃犳暟鎹�!";
+                    objJsonResult.Message = "鏃犻厤浠舵暟鎹�!";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
@@ -452,6 +470,7 @@
                 }
 
                 oCN.BeginTran();
+                string sExeReturnInfo = "";
 
                 ClsSc_AssemblyBillMain omodel = new ClsSc_AssemblyBillMain();
                 omodel = JsonConvert.DeserializeObject<ClsSc_AssemblyBillMain>(sMainStr);
@@ -460,7 +479,8 @@
                 sub = JsonConvert.DeserializeObject<List<Model.ClsSc_AssemblyBillSub>>(sSubStr);
 
 
-                ds = oCN.RunProcReturn("select  * from h_v_Gy_QualifiedRecordsList where 浜у搧鏉$爜='" + omodel.HBarCode_P + "'", "h_v_Gy_QualifiedRecordsList");
+                ds = oCN.RunProcReturn("select  * from h_v_Gy_QualifiedRecordsList where 浜у搧鏉$爜='" + omodel.HBarCode_P + "' and HProcExchInterID="+ omodel .HProcExchInterID+ " and HProcExchEntryID="+ omodel.HProcExchEntryID + " and HProcID="+ omodel.HProcID, "h_v_Gy_QualifiedRecordsList");
+
                 if (ds.Tables[0].Rows.Count > 0)
                 {
                     objJsonResult.code = "0";
@@ -488,7 +508,7 @@
 ,HSourceBillType,HMaterID,HSourceID,HEquipID,HUnitID,HQty
 ,HGroupID,HWorkerID,HScanDate,HBarCode,HBarCode_P,HSNNumber)
 values({HInterID1},'{HBillNo1}',{(i + 1)},0,0,''
-,'',{sub[i].HMaterID},0,0,0,{sub[i].HQty}
+,'',{sub[i].HMaterID},0,0,0,1
 ,0,0,getdate(),'{sub[i].HBarCode}','{omodel.HBarCode_P}','') ";
                     oCN.RunProc(sq2);
                 }
@@ -564,10 +584,13 @@
                 double HProcPriceRate = 0;//宸ヤ环绯绘暟
                 int HTemporaryAreaID = 0;//鏆傛斁鍖�
 
-                ds = oCN.RunProcReturn("select  * from Sc_StationOutBillMain a left join  Sc_StationOutBillSub_SN sn on a.HInterID=sn.HInterID where a.HInterID=" + HInterID + " and HBillNo='" + HBillNo + "'", "Sc_StationOutBillMain");
+                ds = oCN.RunProcReturn("select  * from Sc_StationOutBillMain a left join  Sc_StationOutBillSub_SN sn on a.HInterID=sn.HInterID where a.HInterID=" + HInterID + " and HBillNo='" + HBillNo + "' and CONVERT(varchar(10),HDate,20) ='" + DateTime.Now.ToString("yyyy-MM-dd") + "' ", "Sc_StationOutBillMain");
 
                 if (ds.Tables[0].Rows.Count == 0)
                 {
+                    HInterID = DBUtility.ClsPub.CreateBillID("3791", ref sExeReturnInfo);//閫掑叆type寰楀埌鐨勫崟鎹甀D
+                    HBillNo = DBUtility.ClsPub.CreateBillCode_Prod("3791", ref sExeReturnInfo, true);//閫掑叆type寰楀埌鐨勫崟鎹彿
+
                     oCN.RunProc("Insert Into Sc_StationOutBillMain " +
                     "(HBillType,HBillSubType,HInterID,HBillNo,HBillStatus,HDate,HMaker,HMakeDate,HMouldNum" +
                     ",HYear,HPeriod,HRemark,HSourceName,HPieceQty,HWasterQty,HPlanPieceQty,HBadPNL" +
@@ -595,7 +618,7 @@
                 ds = oCN.RunProcReturn("select  * from Sc_StationOutBillSub_SN where HInterID='" + omodel.HInterID + "' order by HEntryID desc", "Sc_StationOutBillSub_SN");
 
                 oCN.RunProc($@"insert into Sc_StationOutBillSub_SN(HInterID,HBillNo_bak,HEntryID,HBarCode,HBarCodeQty,HMakeTime,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney)
-values({omodel.HInterID}, '{omodel.HBillNo}', {(ds.Tables[0].Rows.Count == 0 ? 1 : int.Parse(ds.Tables[0].Rows[0]["HEntryID"].ToString()) + 1)}, '{omodel.HBarCode_P}', 1, GETDATE(), '', " + HProcExchInterID + ","+ HProcExchEntryID + ", '"+ HProcExchBillNo + "', '', 0, 0)");
+values({HInterID}, '{HBillNo}', {(ds.Tables[0].Rows.Count == 0 ? 1 : int.Parse(ds.Tables[0].Rows[0]["HEntryID"].ToString()) + 1)}, '{omodel.HBarCode_P}', 1, GETDATE(), '', " + HProcExchInterID + ","+ HProcExchEntryID + ", '"+ HProcExchBillNo + "', '', 0, 0)");
 
                 //鍙嶅啓宸ュ簭鍑虹珯鍗曠殑鍚堟牸鏁伴噺
                 oCN.RunProc("update Sc_StationOutBillMain set HQty+=1  where HProcExchInterID='" + HProcExchInterID + "' and HProcExchEntryID=" + HProcExchEntryID);
@@ -925,7 +948,7 @@
         #region  宸ュ簭鍗曞搧杩囩珯 鏌ヨ涓嶈壇璁板綍
         [Route("Cj_SingleStation/BadRecordsList")]
         [HttpGet]
-        public object BadRecordsList(string HBarCode, string user)
+        public object BadRecordsList(string HProcExchInterID, string HProcExchEntryID, string user)
         {
             try
             {
@@ -939,12 +962,12 @@
                     return objJsonResult;
                 }
 
-                ds = oCN.RunProcReturn(@"select * from h_v_Gy_BadRecordsList where HProcExchBillNo='" + HBarCode + "'", "h_v_Gy_BadRecordsList");
+                ds = oCN.RunProcReturn(@"exec h_p_Gy_BadRecordsList " + HProcExchInterID + "," + HProcExchEntryID, "h_p_Gy_BadRecordsList");
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
                 objJsonResult.Message = "";
-                objJsonResult.data = ds.Tables[0];
+                objJsonResult.data = ds;
                 return objJsonResult;
             }
             catch (Exception e)
@@ -1025,7 +1048,7 @@
                 string HProcExchInterID = ds.Tables[0].Rows[0]["HProcExchInterID"].ToString();
                 string HProcExchEntryID = ds.Tables[0].Rows[0]["HProcExchEntryID"].ToString();
                 string HBarCode = ds.Tables[0].Rows[0]["HBarCode"].ToString();
-
+                string HDate = ds.Tables[0].Rows[0]["鏃ユ湡"].ToString();
 
                 oCN.BeginTran();
 
@@ -1041,7 +1064,11 @@
                 oCN.RunProc(sql);
 
                 //鍙嶅啓宸ュ簭鍑虹珯鍗曠殑涓嶈壇鏁伴噺
-                oCN.RunProc("update Sc_StationOutBillMain set HBadCount-=1  where HProcExchInterID='" + HProcExchInterID + "' and HProcExchEntryID=" + HProcExchEntryID);
+                oCN.RunProc(@"update Sc_StationOutBillMain set HBadCount-=1 where HProcExchInterID='" + HProcExchInterID + "' and HProcExchEntryID='" + HProcExchEntryID + "' " +
+                    "and HBillNo = (select HBillNo from Sc_StationOutBillMain " +
+                    "where HProcExchInterID = '" + HProcExchInterID + "' and HProcExchEntryID = '" + HProcExchEntryID + "'  and convert(varchar(10), HDate, 20) = '" + DateTime.Parse(HDate).ToString("yyyy-MM-dd") + "' and HBadCount > 0)");
+                //鍙嶅啓娴佽浆鍗$姸鎬�
+                oCN.RunProc("update Gy_BarCodeBill set HStatus=''  where HBarCode='" + HBarCode + "'");
 
 
                 oCN.Commit();
@@ -1165,7 +1192,15 @@
                     return objJsonResult;
                 }
 
-                if (ds.Tables[0].Rows[0]["HProcID"].ToString() != HProcID)
+                int num = 0;
+                for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
+                {
+                    if (ds.Tables[0].Rows[i]["HProcID"].ToString() == HProcID)
+                    {
+                        num = 1;
+                    }
+                }
+                if (num == 0)
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -1341,25 +1376,6 @@
 ({model.HInterID},{(ds.Tables[0].Rows.Count == 0 ? 1 : int.Parse(ds.Tables[0].Rows[0]["HEntryID"].ToString()) + 1)},'{model.HBillNo}','',{temp.HProcExchInterID}
 ,{temp.HProcExchEntryID},'{temp.HProcExchBillNo}','',{temp.HMaterID},0,'{temp.HBarCode}','{temp.HBatchNo}')");
 
-
-                    ds = oCN.RunProcReturn("select  * from Sc_SourceLineRepairBillSub where HInterID=" + model.HInterID, "Sc_SourceLineRepairBillSub");
-
-                    if (ds.Tables[0].Rows[0]["HRepairResult"].ToString() == "OK") {
-
-                        //鐢熶骇宸ュ簭鍑虹珯SN鏁版嵁
-                        ds = oCN.RunProcReturn("select top 1  HInterID,HBillNo from Sc_StationOutBillMain where HProcExchInterID=" + temp.HProcExchInterID + " and HProcExchEntryID=" + temp.HProcExchEntryID + " and HBadCount<>0  order by  HInterID desc", "Sc_StationOutBillMain");
-
-                        string HInterIDSN = ds.Tables[0].Rows[0]["HInterID"].ToString();
-                        string HBillNoSN = ds.Tables[0].Rows[0]["HBillNo"].ToString();
-
-                        ds = oCN.RunProcReturn("select *  from Sc_StationOutBillSub_SN where HInterID=" + HInterIDSN , "Sc_StationOutBillSub_SN");
-
-                        oCN.RunProc($@"insert into Sc_StationOutBillSub_SN(HInterID,HBillNo_bak,HEntryID,HBarCode,HBarCodeQty,HMakeTime,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney)
-values({HInterIDSN}, '{HBillNoSN}', {ds.Tables[0].Rows.Count + 1}, '{model.HBarCode}', 1, GETDATE(), '', "+ temp.HProcExchInterID + ","+ temp.HProcExchEntryID+ ", '"+ temp.HProcExchBillNo+ "', '', 0, 0)");
-                        //鍙嶅啓宸ュ簭鍑虹珯鍗� 涓昏〃 涓嶈壇鏁伴噺 鍜� 鍚堟牸鏁伴噺
-                        oCN.RunProc("update Sc_StationOutBillMain set HQty+=1,HBadCount-=1  where HInterID='" + HInterIDSN + "'");
-                    }
-
                     //淇敼浜х嚎杩芥函鍗曠粦瀹氱殑鏉$爜鎵瑰彿
                     oCN.RunProc("update Sc_AssemblyBillSub set HBarCode='" + temp.HBarCode + "' where HInterID=" + temp.HInterID + " and HEntryID=" + temp.HEntryID);
                     //oCN.RunProc("exec h_p_AssemblyBill_Temp '" + temp.HProcExchBillNo + "'," + model.HProcess + "," + temp.HMaterID + ",'" + temp.HBatchNo + "'");
@@ -1387,6 +1403,25 @@
 
                     if (HResult == "OK")
                     {
+//                        ds = oCN.RunProcReturn("select  * from Sc_SourceLineRepairBillSub where HInterID=" + model.HInterID, "Sc_SourceLineRepairBillSub");
+
+//                        if (ds.Tables[0].Rows[0]["HRepairResult"].ToString() == "OK")
+//                        {
+
+//                            //鐢熶骇宸ュ簭鍑虹珯SN鏁版嵁
+//                            ds = oCN.RunProcReturn("select top 1  HInterID,HBillNo from Sc_StationOutBillMain where HProcExchInterID=" + model.HProcExchInterID + " and HProcExchEntryID=" + model.HProcExchEntryID + " and HBadCount<>0  order by  HInterID desc", "Sc_StationOutBillMain");
+
+//                            string HInterIDSN = ds.Tables[0].Rows[0]["HInterID"].ToString();
+//                            string HBillNoSN = ds.Tables[0].Rows[0]["HBillNo"].ToString();
+
+//                            ds = oCN.RunProcReturn("select *  from Sc_StationOutBillSub_SN where HInterID=" + HInterIDSN, "Sc_StationOutBillSub_SN");
+
+//                            oCN.RunProc($@"insert into Sc_StationOutBillSub_SN(HInterID,HBillNo_bak,HEntryID,HBarCode,HBarCodeQty,HMakeTime,HRemark,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney)
+//values({HInterIDSN}, '{HBillNoSN}', {ds.Tables[0].Rows.Count + 1}, '{model.HBarCode}', 1, GETDATE(), '', " + model.HProcExchInterID + "," + model.HProcExchEntryID + ", '" + model.HProcExchBillNo + "', '', 0, 0)");
+//                            //鍙嶅啓宸ュ簭鍑虹珯鍗� 涓昏〃 涓嶈壇鏁伴噺 鍜� 鍚堟牸鏁伴噺
+//                            oCN.RunProc("update Sc_StationOutBillMain set HQty+=1,HBadCount-=1  where HInterID='" + HInterIDSN + "'");
+//                        }
+
                         oCN.RunProc("update Gy_BarCodeBill set HStatus='' where HBarCode='" + model.HBarCode + "'");
                     }
                 }
@@ -1577,5 +1612,85 @@
         }
         #endregion
 
+        #region 宸ュ簭鍗曞搧杩囩珯 鍚堟牸杩芥函鏌ヨ鎶ヨ〃
+        [Route("Cj_SingleStation/RetrospectiveQueryReport")]
+        [HttpGet]
+        public object RetrospectiveQueryReport(string HBardCode, string HProcExchBillNo, string HICMOBillNo, string sWhere, string user)
+        {
+            try
+            {
+
+                List<object> columnNameList = new List<object>();
+
+                string sql = @"exec  h_p_RetrospectiveQueryReport '" + sWhere + "', '" + HBardCode + "', '" + HProcExchBillNo + "','" + HICMOBillNo + "' ";
+                ds = oCN.RunProcReturn(sql, "h_p_RetrospectiveQueryReport");
+
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                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("Cj_SingleStation/BadQueryReport")]
+        [HttpGet]
+        public object BadQueryReport(string HBardCode, string HProcExchBillNo, string HICMOBillNo, string sWhere, string user)
+        {
+            try
+            {
+
+                List<object> columnNameList = new List<object>();
+
+                string sql = @"exec  h_p_BadQueryReport '" + sWhere + "', '" + HBardCode + "', '" + HProcExchBillNo + "','" + HICMOBillNo + "' ";
+                ds = oCN.RunProcReturn(sql, "h_p_BadQueryReport");
+
+                //娣诲姞鍒楀悕
+                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鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1