From d9e96c992590f0453e85cd551941741271cfa6f5 Mon Sep 17 00:00:00 2001
From: zgq <519541279@qq.com>
Date: 星期四, 22 四月 2021 17:14:41 +0800
Subject: [PATCH] 新增工序出站、进站模块

---
 WebAPI/Controllers/Sc_ProcessMangementController.cs |  421 ++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 356 insertions(+), 65 deletions(-)

diff --git a/WebAPI/Controllers/Sc_ProcessMangementController.cs b/WebAPI/Controllers/Sc_ProcessMangementController.cs
index 5867b53..2a2139f 100644
--- a/WebAPI/Controllers/Sc_ProcessMangementController.cs
+++ b/WebAPI/Controllers/Sc_ProcessMangementController.cs
@@ -444,6 +444,42 @@
             return GetObjectJson(ds);
         }
 
+
+        /// <summary>
+        /// 杩斿洖涓嶅悎鏍艰瘎瀹″垪琛�
+        /// </summary>
+        /// <param name="sWhere"></param>
+        /// <returns></returns>
+        [Route("Sc_ProcessMangement/MES_QC_NoPassProdCheckBill_Json")]
+        [HttpGet]
+        public object MES_QC_NoPassProdCheckBill_Json(string sWhere)
+        {
+            DataSet ds;
+            try
+            {
+                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+                if (sWhere == null || sWhere.Equals(""))
+                {
+                    ds = oCN.RunProcReturn("select top 500 * from h_v_QC_NoPassProdCheckBillList ", "h_v_QC_NoPassProdCheckBillList");
+                }
+                else
+                {
+                    string sql1 = "select * from h_v_QC_NoPassProdCheckBillList where 1 = 1 ";
+                    string sql = sql1 + sWhere;
+                    ds = oCN.RunProcReturn(sql, "h_v_QC_NoPassProdCheckBillList");
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            return GetObjectJson(ds);
+        }
+
         /// <summary>
         /// PDA宸ュ簭姹囨姤鍗曚繚瀛�
         /// </summary>
@@ -693,76 +729,158 @@
                 msg3 = msg3.Substring(1, msg3.Length - 2);
                 msg3 = msg3.Replace("\\", "");
                 msg3 = msg3.Replace("\n", "");  //\n
-                //msg2 = msg2.Replace("'", "鈥�");
-                //List<Model.ClsCg_POInStockBillSub> ls = new List<Model.ClsCg_POInStockBillSub>();
-                //ls = oListModels.getObjectByJson_POInStockSub(msg3);
-                //int i = 0;
-                //foreach (Model.ClsCg_POInStockBillSub oItemSub in ls)
-                //{
-                //    i++;
-                //    if (oItemSub.HQty <= 0)
-                //    {
-                //        objJsonResult.code = "0";
-                //        objJsonResult.count = 0;
-                //        objJsonResult.Message = "淇濆瓨澶辫触锛佺" + i.ToString() + "琛屾暟閲忎笉澶т簬0鏃犳硶淇濆瓨锛�";
-                //        objJsonResult.data = 1;
-                //        return objJsonResult;
-                //    }
-                //    if (oItemSub.HQty > oItemSub.HRQty)
-                //    {
-                //        objJsonResult.code = "0";
-                //        objJsonResult.count = 0;
-                //        objJsonResult.Message = "淇濆瓨澶辫触锛佺" + i.ToString() + "琛屾暟閲忎笉鑳藉ぇ浜庢湭鍏宠仈鏁伴噺锛�";
-                //        objJsonResult.data = 1;
-                //        return objJsonResult;
-                //    }
-                //    if (DBUtility.ClsPub.isStrNull(oItemSub.HBatChNo) == "")
-                //    {
-                //        objJsonResult.code = "0";
-                //        objJsonResult.count = 0;
-                //        objJsonResult.Message = "淇濆瓨澶辫触锛佺" + i.ToString() + "琛屾湭濉啓鎵瑰彿锛�";
-                //        objJsonResult.data = 1;
-                //        return objJsonResult;
-                //    }
+                msg2 = msg2.Replace("'", "鈥�");
+                List<WebAPI.Models.Sc_ProcessSendWorkViewModel> ls = new List<WebAPI.Models.Sc_ProcessSendWorkViewModel>();
+                ls = oListModels.getObjectByJson_ViewReportlist(msg3);
+                int i = 0;
+                //瀹氫箟姹囨姤鍗曞瓙琛ㄩ泦鍚堢敤浜庡瓨鏀句笅鎺ㄦ淳宸ュ崟鐨勫琛屾暟鎹�
+                List<Model.ClsSc_ProcessReportSub> lsReportSub = new List<Model.ClsSc_ProcessReportSub>();
+                foreach (WebAPI.Models.Sc_ProcessSendWorkViewModel ItemView in ls)
+                {
+                   
+                    i++;
+                    Model.ClsSc_ProcessReportSub reportSub = new Model.ClsSc_ProcessReportSub();
+                    if (ItemView.鏁伴噺 <= 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佺" + i.ToString() + "琛屾暟閲忎笉澶т簬0鏃犳硶淇濆瓨锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    if ((double)ItemView.鏁伴噺 < ReportModel.omodel.HPlanQty)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佸伐搴忔眹鎶ュ崟绱姹囨姤鏁伴噺涓嶈兘澶т簬婧愬崟鏁伴噺锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
 
-                //    oItemSub.HEntryID = i;
-                //    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
-                //    oItemSub.HRemark = "";
-                //    oItemSub.HCloseMan = "";
-                //    oItemSub.HCloseType = false;
-                //    oBill.DetailColl.Add(oItemSub);
 
-                //}
+                    reportSub.HEntryID = i;
+                    reportSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    reportSub.HRemark = "";
+                    reportSub.HCloseMan = "";
+                    reportSub.HCloseType = false;
+                    reportSub.HEmpID =0;
+                    reportSub.HICMOBillNo ="";
+                    reportSub.HICMOInterID = (long)ItemView.HICMOInterID;
+                    reportSub.HEntryID = i;
+                    reportSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    reportSub.HRemark = "";
+                    reportSub.HCloseMan = "";
+                    reportSub.HCloseType = false;
+                    reportSub.HSourceBillType = "3712";
+                    reportSub.HQty = (double)ItemView.鏁伴噺;
+                    reportSub.HProcID = (long)ItemView.HprocID;
+                    reportSub.HProcNumber = ItemView.宸ュ簭浠g爜;
+                    reportSub.HOutPrice = 0;
+                    reportSub.HOutMoney = 0;
+                    reportSub.HSourceID = (long)ItemView.HSourceID;
+                    reportSub.HEmpNumber = "";
+                    reportSub.HRelBeginDate = DateTime.Now;
+                    reportSub.HRelEndDate = DateTime.Now;
+                    reportSub.HTimes = 3;
+                    reportSub.HSeOrderInterID = 0;
+                    reportSub.HSeOrderEntryID = 0;
+                    reportSub.HSeOrderBillNo = "";
+                    reportSub.HProcPlanInterID = 0;
+                    reportSub.HProcPlanBillNo = "";
+                    reportSub.HSourceInterID = 0;
+                    reportSub.HSourceBillNo = "";
+                    reportSub.HRelationQty = 0;
+                    reportSub.HRelationMoney = 0;
+                    reportSub.HMaterID = (long)ItemView.HMaterID;
+                    reportSub.HMaterNumber = ItemView.鐗╂枡浠g爜;
+                    reportSub.HCheckQty = 0;
+                    reportSub.HBadCount = 0;
+                    reportSub.HWasterQty = 0;
+                    reportSub.HWasterQty2 = 0;
+                    reportSub.HPrice = 0;
+                    reportSub.HMoney = 0;
+                    reportSub.HProcPlanInterID = 0;
+                    reportSub.HProcPlanEntryID = 0;
+                    reportSub.HProcPlanBillNo = "";
+                    reportSub.HSourceEntryID = 0;
+                    reportSub.HSourceBillType = "";
+                    reportSub.HRelationQty = 0;
+                    reportSub.HRelationMoney = 0;
+                    reportSub.HBadPrirce = 0;
+                    reportSub.HBadMoney = 0;
+                    reportSub.HWasterPrice = 0;
+                    reportSub.HWasterMoney = 0;
+                    reportSub.HQualityRate = 0;
+                    reportSub.HSecUnitQty1 = 0;
+                    reportSub.HSecUnitRate1 = 0;
+                    reportSub.HSecUnitQty2 = 0;
+                    reportSub.HSecUnitRate2 = 0;
+                    reportSub.HUsingQty = 0;
+                    reportSub.HSelfBadCount = 0;
+                    reportSub.HPreBadCount = 0;
+                    reportSub.HPayMentQty = 0;
+                    reportSub.HOtherDeduct = 0;
+                    reportSub.HRelPay = 0;
+                    reportSub.HOtherItem1 = "";
+                    reportSub.HOtherItem2 = "";
+                    reportSub.HOtherItem3 = "";
+                    reportSub.HOtherItem4 = "";
+                    reportSub.HOtherItem5 = "";
+                    reportSub.HPackType = "";
+                    reportSub.HCheckEmpID = 0;
+                    reportSub.HWeight = 0;
+                    reportSub.HBatchNo = "";
+
+                    lsReportSub.Add(reportSub);
+
+                }
+                if (lsReportSub.Count>0)
+                {
+                    //鐒跺悗鍦ㄥ惊鐜繚瀛樺埌姹囨姤浣嗗瓙琛�
+                    foreach (Model.ClsSc_ProcessReportSub item in lsReportSub)
+                    {
+
+                        ReportModel.DetailColl.Add(item);
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛乴sReportSub闆嗗悎灏忎簬0";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
                 ////淇濆瓨鍓嶅垽鏂�(鍗曟嵁鍙烽噸澶嶏紝绗斿綍椤圭洰)
                 ////淇濆瓨
                 ////淇濆瓨瀹屾瘯鍚庡鐞�
-                //bool bResult;
-                //if (oBill.omodel.HInterID == 0)
-                //{
-                //    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                //    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
-                //}
-                //else
-                //{
-                //    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
-                //}
-                //if (bResult)
-                //{
-                //    objJsonResult.code = "0";
-                //    objJsonResult.count = 1;
-                //    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
-                //    WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
-                //    objJsonResult.data = 1;
-                //    return objJsonResult;
-                //}
-                //else
-                //{
-                //    objJsonResult.code = "0";
-                //    objJsonResult.count = 0;
-                //    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
-                //    objJsonResult.data = 1;
-                //    return objJsonResult;
-                //}
+                bool bResult;
+                if (ReportModel.omodel.HInterID == 0)
+                {
+                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                    bResult = ReportModel.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else
+                {
+                    bResult = ReportModel.ModifyBill(ReportModel.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
 
 
             }
@@ -778,6 +896,179 @@
         }
 
 
+        /// <summary>
+        /// 淇濆瓨涓嶈壇璇勫鍗曚俊鎭�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("SaveBadReasonList")]
+        [HttpPost]
+        public object SaveBadReasonList([FromBody] JObject msg) 
+        {
+            var _value = msg["msg"].ToString();
+            string msg1 = _value.ToString();
+            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+            string msg2 = sArray[0].ToString();
+            string msg3 = sArray[1].ToString();
+
+
+            string UserName="";
+            ListModels oListModels = new ListModels();
+            try
+            {
+                DLL.ClsQC_NoPassProdCheckBill oBill = new DLL.ClsQC_NoPassProdCheckBill();
+                List<Model.ClsQC_NoPassProdCheckBillMain> lsmain = new List<Model.ClsQC_NoPassProdCheckBillMain>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");  //\n
+                lsmain = oListModels.getObjectByJson_NoPassProdCheckMain(msg2);
+                foreach (Model.ClsQC_NoPassProdCheckBillMain oItem in lsmain)
+                {
+                    //oItem.HMaker = "";
+                    UserName=oItem.HMaker;
+                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));
+                    oItem.HBillType = "7509";
+                    oItem.HBillSubType = "7509";
+                    oItem.HBillStatus = 1;
+                    oItem.HPeriod = 0;
+                    oItem.HGroupName ="";
+                    oItem.HSourceID = 0;
+                    oItem.HICMOInterID = 0;
+                    oItem.HICMOBillNo = "";
+                    oItem.HInStockQty = 0;
+                    oItem.HCheckQty = 0;
+                    oItem.HRightQty = 0;
+                    oItem.HBadPNL = 0;
+                    oItem.HPlanPNL = 0;
+                    oItem.HFirstCheckEmp = 0;
+                    oItem.HCheckerResult = "";
+                    oItem.HWorkCenterID = 0;
+                    oItem.HProcExchInterID = 0;
+                    oItem.HProcExchEntryID = 0;
+                    oItem.HProcExchBillNo = "";
+                    oItem.HOrderProcNo = "";
+                    oItem.HProcExchQty = 0;
+                    oItem.HMainSourceInterID = oItem.HInterID;
+                    oItem.HInterID = 0;
+                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
+                    if (DBUtility.ClsPub.isStrNull(oItem.HDate)=="")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佹病鏈夊崟鎹棩鏈燂紝鏃犳硶淇濆瓨锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    oBill.omodel = oItem;
+                }             
+                //琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                msg3 = msg3.Substring(1, msg3.Length - 2);
+                msg3 = msg3.Replace("\\", "");
+                msg3 = msg3.Replace("\n", "");  //\n
+                //msg2 = msg2.Replace("'", "鈥�");
+                List<Model.ClsQC_NoPassProdCheckBillSub> ls = new List<Model.ClsQC_NoPassProdCheckBillSub>();
+                ls = oListModels.getObjectByJson_NoPassProdCheckSub(msg3);
+                int i = 0;
+                foreach (Model.ClsQC_NoPassProdCheckBillSub oItemSub in ls)
+                {
+                    i++;
+                    if (string.IsNullOrWhiteSpace(oItemSub.HWasterReasonName))
+                    {
+                        break;
+                    }
+                    //灏嗗墠鍙颁复鏃跺瓨鏀剧殑鍊间紶杩囨潵鐨勫�艰祴缁欏搴旂殑涓嶈壇鏁伴噺瀛楁
+                    oItemSub.HBadQty = Convert.ToDecimal( oItemSub.HMRBChecker);
+                    if (oItemSub.HBadQty<=0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佺" + i.ToString() + "琛屼笉鑹瘎瀹℃暟閲忎笉澶т簬0鏃犳硶淇濆瓨锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    if ((double)oItemSub.HBadQty >oBill.omodel.HPlanQty )
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佺" + i.ToString() + "琛屾暟閲忎笉鑳藉ぇ浜庝笉鑹暟閲忥紒";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    if (DBUtility.ClsPub.isStrNull(oItemSub.HWasterReasonName)=="")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佺" + i.ToString() + "琛屾湭濉啓涓嶈壇鍘熷洜锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    oItemSub.HSourceEntryID = oBill.omodel.HMainSourceEntryID;
+                    oItemSub.HSourceInterID = oBill.omodel.HMainSourceInterID;
+                    oItemSub.HEntryID = i;
+                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    oItemSub.HCloseType = false;
+                    oItemSub.HBillNo_bak = oBill.omodel.HBillNo;
+                    oItemSub.HMRBChecker = "";
+                    oItemSub.HSourceBillNo = oBill.omodel.HMainSourceBillNo;
+                    oItemSub.HSourceBillType = "3715";
+                    oItemSub.HRelationQty = 0;
+                    oItemSub.HRelationMoney = 0;
+                    oItemSub.HMaterID = oBill.omodel.HMaterID;
+                    oItemSub.HUnitID = 0;
+                    oItemSub.HMustQty = 0;
+                    oItemSub.HDisposeNote = "";
+                    oItemSub.HPunishmentBillNo = "";
+                    oItemSub.HBadPCSQty = 0;
+                    oItemSub.HQCResultID = 0;
+                    oBill.DetailColl.Add(oItemSub);
+                    
+                }
+                //淇濆瓨鍓嶅垽鏂�(鍗曟嵁鍙烽噸澶嶏紝绗斿綍椤圭洰)
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (oBill.omodel.HInterID == 0)
+                {
+                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else
+                {
+                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                if (bResult)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    //WebAPIController.Add_Log("閫佽揣鍗曚笅鎺�", UserName, "鐢熸垚閫佽揣鍗�");
+                    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 = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+
+
+
+
      
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1