From 24338804205169eec8e80d491ce0b0602fc13a7d Mon Sep 17 00:00:00 2001
From: zzr99 <1940172413@qq.com>
Date: 星期一, 18 十月 2021 17:45:31 +0800
Subject: [PATCH] 权限改方法

---
 WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs |  722 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 695 insertions(+), 27 deletions(-)

diff --git a/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs b/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
index 2fa0023..d44c377 100644
--- a/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
+++ b/WebAPI/Controllers/SCGL/Sc_MESBeginWorkBillController.cs
@@ -1,4 +1,5 @@
 锘縰sing Newtonsoft.Json.Linq;
+using Pub_Class;
 using System;
 using System.Collections.Generic;
 using System.Data;
@@ -12,10 +13,21 @@
 {
     public class Sc_MESBeginWorkBillController : ApiController
     {
+        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();
+        private WebS.WebService1 oWebs = new WebS.WebService1();
+        //鑾峰彇绯荤粺鍙傛暟
+        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
+
+        public DAL.ClsSc_MESBeginWorkBill BillNew = new DAL.ClsSc_MESBeginWorkBill();   //瀵瑰簲鍗曟嵁绫�
+        public DAL.ClsSc_MESBeginWorkBill BillOld = new DAL.ClsSc_MESBeginWorkBill();   //瀵瑰簲鍗曟嵁绫�
+
+        public DAL.ClsSc_ICMOBillWorkQtyStatus_Tmp BillNew1 = new DAL.ClsSc_ICMOBillWorkQtyStatus_Tmp();   //瀵瑰簲鍗曟嵁绫�
+        public DAL.ClsSc_ICMOBillWorkQtyStatus_Tmp BillOld1 = new DAL.ClsSc_ICMOBillWorkQtyStatus_Tmp();   //瀵瑰簲鍗曟嵁绫�
 
         #region 寮�宸ュ崟
 
@@ -189,17 +201,18 @@
         /// <returns></returns>
         [Route("Sc_MESBeginWorkBill/DeltetMESBeginWorkBill")]
         [HttpGet]
-        public object DeltetMESBeginWorkBill(string HInterID)
+        public object DeltetMESBeginWorkBill(string HInterID,string UserName)
         {
+            DBUtility.ClsPub.CurUserName = UserName;
             //缂栬緫鏉冮檺
-            //if (!DBUtility.ClsPub.Security_Log("Sc_MESBeginWorkBill_Delete", 1, true, DBUtility.ClsPub.CurUserName))
-            //{
-            //    objJsonResult.code = "0";
-            //    objJsonResult.count = 0;
-            //    objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
-            //    objJsonResult.data = null;
-            //    return objJsonResult;
-            //}
+            if (!DBUtility.ClsPub.Security_Log_second("MES_MESBeginWorkBill_Delete", 1, true, DBUtility.ClsPub.CurUserName))
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
 
 
             Int64 lngBillKey = 0;
@@ -262,18 +275,157 @@
         }
         #endregion
 
+        #region [寮�宸ュ崟瀹℃牳銆佸弽瀹℃牳]
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Sc_MESBeginWorkBill/AuditProcessReportList")]
+        [HttpGet]
+        public object AuditProcessReportList(int HInterID, int IsAudit, string CurUserName)
+        {
+            string ModRightNameCheck = "MES_MESBeginWorkBill_Check"; 
+            DBUtility.ClsPub.CurUserName = CurUserName;
+            try
+            {
+                //瀹℃牳鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, true, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (HInterID <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID灏忎簬0锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);
+                DLL.ClsSc_MESBeginWorkBill oBill = new DLL.ClsSc_MESBeginWorkBill();
+                //鏌ョ湅鏄惁宸插鏍�,鍏抽棴,浣滃簾
+                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
+                {
+                    if (oBill.omodel.HCloseMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HDeleteMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (oBill.omodel.HChecker.Trim() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (oBill.omodel.HChecker.Trim() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (IsAudit == 0) //瀹℃牳鎻愪氦
+                {
+                    //瀹℃牳鎻愪氦
+                    if (oBill.CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳鎴愬姛";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                if (IsAudit == 1) //鍙嶅鏍告彁浜�
+                {
+                    //鍙嶅鏍告彁浜bandonCheck
+                    if (oBill.AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         #endregion
 
 
         #region  鎶ュ伐骞冲彴寮�宸ュ崟寮圭獥鏌ユ壘鏁版嵁
         [Route("Sc_MESBeginWorkBill/GetMESBeginWorkFrom")]
         [HttpGet]
-        public object GetMESBeginWorkFrom(string HSourceInterID,string HSourceEntryID,string HSourceBillNo,string HSourceBillType)
+        public object GetMESBeginWorkFrom(string HSourceInterID, string HSourceEntryID, string HSourceBillNo, string HSourceBillType)
         {
             try
             {
                 //鏍规嵁閫夋嫨璧勬簮ID鑾峰彇褰撳墠鐢熶骇宸ュ崟銆佽矗浠讳汉
-                ds = oCN.RunProcReturn("exec h_p_JIT_GetInfoByICMOStatusInterID @HSourceInterID=" + HSourceInterID + ",@HSourceEntryID="+ HSourceEntryID + ",@HSourceBillNo='"+ HSourceBillNo + "',@HSourceBillType='"+ HSourceBillType + "'", "h_p_JIT_GetInfoByICMOStatusInterID");
+                ds = oCN.RunProcReturn("exec h_p_JIT_GetInfoByICMOStatusInterID @HSourceInterID=" + HSourceInterID + ",@HSourceEntryID=" + HSourceEntryID + ",@HSourceBillNo='" + HSourceBillNo + "',@HSourceBillType='" + HSourceBillType + "'", "h_p_JIT_GetInfoByICMOStatusInterID");
                 if (ds.Tables[0].Rows.Count > 0)
                 {
 
@@ -315,14 +467,36 @@
         [HttpPost]
         public object SaveGetMESBeginWorkFrom([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 UserName = sArray[1].ToString();
+            string refSav = sArray[2].ToString();
+            DBUtility.ClsPub.CurUserName = UserName;
+            //淇濆瓨鏉冮檺
+            if (!DBUtility.ClsPub.Security_Log_second("MES_MESBeginWorkBill_Edit", 1, true, DBUtility.ClsPub.CurUserName))
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            //鍒ゆ柇浼氳鏈熸槸鍚﹀悎鐞�
+            string s = "";
+            int sYear = 0;
+            int sPeriod = 0;
+            if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(DateTime.Now, ref sYear, ref sPeriod, ref s) == false)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = s;
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+       
             ListModels oListModels = new ListModels();
             try
             {
@@ -333,6 +507,56 @@
                 lsmain = oListModels.getObjectByJson_Gy_MESBeginWorkFrom(msg2);
                 foreach (Models.ClsSc_MESBeginWorkBillMain oItem in lsmain)
                 {
+                    if (refSav == "Add")
+                    {
+                        //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                        if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld.omodel.HInterID))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                    }
+                    if (refSav == "Update")
+                    {
+                        if (BillOld.ShowBill(oItem.HInterID, ref s) == false)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        //鍒ゆ柇鏄惁鍙紪杈�
+                        if (BillOld.omodel.HChecker != "" && BillOld.omodel.HChecker != null)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        if (BillOld.omodel.HBillStatus > 1)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld, ref s))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = s + "锛屼笉鍏佽淇敼";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                    }
+
+                    DBUtility.ClsPub.CurUserName =oItem.HMaker;
                     oItem.HBillType = "3787";
                     oItem.HBillSubType = "3787";
                     oItem.HBillStatus = 1;   //鍗曟嵁鐘舵�侊紙1鏈锛�2瀹℃牳閫氳繃锛�3鍏抽棴锛�4浣滃簾锛�5瀹℃牳閫�鍥�,6瀹℃牳涓�,7宸查槄锛�8宸插洖澶嶏紝9缁撴锛�10楠岃瘉,11涓嬭揪锛�12寮�宸�,13鐢宠瀹℃壒,15鐢宠妫�楠岋紝16 鍒ゅ畾鍚堟牸锛�17鍒ゅ畾涓嶅悎鏍硷級     
@@ -355,15 +579,35 @@
                 bool bResult;
                 if (oBill.omodel.HInterID == 0)
                 {
-                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                   
                     bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                    if (bResult) 
+                    {
+                        objJsonResult.HInterID = DBUtility.ClsPub.sExeReturnInfo; //杩斿洖涓籌D
+                        //绯荤粺鍙傛暟  鑷姩瀹℃牳
+                        string sReturn = "";
+                        if (oSystemParameter.ShowBill(ref sReturn) == true)
+                        {
+                            if (oSystemParameter.omodel.Sc_ICMOBillWorkQtyStatus_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+                            {
+                                objJsonResult.Verify = "Y";
+                            }
+                            else
+                            {
+                                objJsonResult.Verify = "N";
+                            }
+                        }
+                    }
+                   
                 }
                 else
                 {
                     bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+                    objJsonResult.Verify = "N";
                 }
                 if (bResult)
                 {
+                   
                     objJsonResult.code = "0";
                     objJsonResult.count = 1;
                     objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
@@ -390,6 +634,40 @@
         }
         #endregion
 
+        #region  鎶ュ伐骞冲彴楠岃瘉鍗曟嵁鐘舵��
+        [Route("Sc_MESBeginWorkBill/GetMESBeginWorkBillStaus")]
+        [HttpGet]
+        public object GetMESBeginWorkBillStaus(string sWhere)
+        {
+            try
+            {
+                ds = new SQLHelper.ClsCN().RunProcReturn("select * from Sc_ICMOBillStatus_Tmp" + sWhere, "Sc_ICMOBillStatus_Tmp");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "宸ュ崟鏆傛湭澶勭悊,鍙互鎿嶄綔锛�";
+                    objJsonResult.data = null;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "宸ュ崟宸插鐞�,涓嶅厑璁告搷浣滐紒";
+                    objJsonResult.data = null;
+                }
+
+            }
+            catch (Exception ex)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = ex.Message;
+                objJsonResult.data = null;
+            }
+            return objJsonResult;
+        }
+        #endregion
 
         #region  鎶ュ伐骞冲彴鎶ユ鐢宠鍒楄〃(浜ч噺姹囨姤鍒楄〃)
         [Route("Sc_MESBeginWorkBill/GetMESProductReportBillList")]
@@ -417,8 +695,8 @@
         }
 
         public static DataSet Sc_GetMESProductReportBillList(string sWhere)
-        {         
-                string sql = string.Format(@"select a.HBillNo,a.HDate,a.HBillType,a.HMaterID,m.HNumber HMaterCode,m.HName HMaterName,m.HModel HMaterSpec 
+        {
+            string sql = string.Format(@"select a.HInterID, a.HBillNo,a.HDate,a.HBillType,a.HBillStatus,a.HMaterID,m.HNumber HMaterCode,m.HName HMaterName,m.HModel HMaterSpec 
                                    ,a.HSourceID,s.HNumber HSourceCode,s.HName HSourceName,a.HGroupID,g.HNumber HGroupCode,g.HName HGroupName
                                    ,a.HWorkManID,e.HName HWorkManName,a.HMaker,a.HMakeDate, a.HReportType  
                                    ,a.HQty,a.HICMOBillNo,a.HICMOInterID,a.HICMOEntryID 
@@ -427,8 +705,48 @@
                                    left join Gy_Material m on a.HMaterID=m.hitemid
                                    left join Gy_Source s on a.HSourceID=s.HItemID
                                    left join Gy_Group g on a.HGroupID=g.HItemID
-                                   left join Gy_Employee e on a.HWorkManID=e.HItemID "+sWhere+"");
-                return new SQLHelper.ClsCN().RunProcReturn(sql, "Sc_ICMOBillWorkQtyStatus_Tmp");
+                                   left join Gy_Employee e on a.HWorkManID=e.HItemID " + sWhere + " and HRelationInterID='0'");
+            return new SQLHelper.ClsCN().RunProcReturn(sql, "Sc_ICMOBillWorkQtyStatus_Tmp");
+        }
+        #endregion
+        
+        #region 鎶ュ伐骞冲彴浜ч噺姹囬獙璇佹眹鎶ユ暟閲忔槸鍚﹁秴鍑鸿鍒掓暟閲忚緫
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("Sc_MESBeginWorkBill/GetMESOverStepQty")]
+        [HttpGet]
+        public object GetMESOverStepQty(string sWhere)
+        {
+            try
+            {
+                ds = new SQLHelper.ClsCN().RunProcReturn("select isnull(sum(HQty),0) HQty,isnull(sum(HBadQty),0) HBadQty,isnull(sum(HWasterQty),0) HWasterQty   from Sc_ICMOBillWorkQtyStatus_Tmp with (nolock)" + sWhere, "Sc_ICMOBillWorkQtyStatus_Tmp");
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "宸叉湁浜ч噺姹囨姤鏁版嵁杩斿洖锛�";
+                    objJsonResult.data = ds;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱骇閲忔眹鎶ユ暟鎹紒";
+                    objJsonResult.data = null;
+                }
+
+            }
+            catch (Exception ex)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = ex.Message;
+                objJsonResult.data = null;
+            }
+            return objJsonResult;
         }
         #endregion
 
@@ -446,10 +764,8 @@
             string msg1 = _value.ToString();
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
             string msg2 = sArray[0].ToString();
-
-
-
-
+            string refSav = sArray[1].ToString();
+            string s = "";
             ListModels oListModels = new ListModels();
             try
             {
@@ -460,6 +776,55 @@
                 lsmain = oListModels.getObjectByJson_Gy_MESProductReportFrom(msg2);
                 foreach (Models.ClsSc_ICMOBillWorkQtyStatus_Tmp oItem in lsmain)
                 {
+                    if (refSav == "Add")
+                    {
+                        //鍗曟嵁鍙锋槸鍚﹂噸澶�
+                        if (BillNew1.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld1.omodel.HInterID))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鍙烽噸澶嶏紒涓嶅厑璁镐繚瀛橈紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                    }
+                    if (refSav == "Update")
+                    {
+                        if (BillOld1.ShowBill(oItem.HInterID, ref s) == false)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹湁璇紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        //鍒ゆ柇鏄惁鍙紪杈�
+                        if (BillOld1.omodel.HChecker != "" && BillOld1.omodel.HChecker != null)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹凡缁忚瀹℃牳锛屼笉鍏佽淇敼锛�";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        if (BillOld1.omodel.HBillStatus > 1)
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "姝ゅ崟鎹浜庝笉鍙紪杈戠姸鎬侊紝涓嶅厑璁镐慨鏀癸紒";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                        if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld1, ref s))
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = s + "锛屼笉鍏佽淇敼";
+                            objJsonResult.data = 1;
+                            return objJsonResult;
+                        }
+                    }
+
                     oItem.HBillType = "3724";
                     oItem.HBillSubType = "3724";
                     oItem.HReportType = 3;//锛�1鏉$爜鎵弿锛�2鏈哄櫒姹囨姤锛�3鎵嬪伐褰曞叆锛�
@@ -480,12 +845,29 @@
                 bool bResult;
                 if (oBill.omodel.HInterID == 0)
                 {
-                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                     bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                    if (bResult)
+                    {
+                        objJsonResult.HInterID = DBUtility.ClsPub.sExeReturnInfo; //杩斿洖涓籌D
+                        //绯荤粺鍙傛暟  鑷姩瀹℃牳
+                        string sReturn = "";
+                        if (oSystemParameter.ShowBill(ref sReturn) == true)
+                        {
+                            if (oSystemParameter.omodel.Sc_ICMOBillWorkQtyStatus_AutoCheck == "Y") //绯荤粺鍙傛暟  鑷姩瀹℃牳 
+                            {
+                                objJsonResult.Verify = "Y";
+                            }
+                            else
+                            {
+                                objJsonResult.Verify = "N";
+                            }
+                        }
+                    }
                 }
                 else
                 {
                     bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+                    objJsonResult.Verify = "N";
                 }
                 if (bResult)
                 {
@@ -499,7 +881,7 @@
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�";
                     objJsonResult.data = 1;
                     return objJsonResult;
                 }
@@ -515,7 +897,293 @@
         }
         #endregion
 
-        
+        #region 鎶ュ伐骞冲彴浜ч噺姹囨姤瀹℃牳銆佸弽瀹℃牳
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="HInterID">鍗曟嵁ID</param>
+        /// <param name="IsAudit">瀹℃牳(0),鍙嶅鏍�(1)</param>
+        /// <param name="CurUserName">瀹℃牳浜�</param>
+        /// <returns></returns>
+        [Route("Sc_MESBeginWorkBill/MESProductAuditProcessReportList")]
+        [HttpGet]
+        public object MESProductAuditProcessReportList(int HSourceID,int HSourceInterID,int HSourceEntryID,string HSourceBillNo, int HICMOInterID,int HICMOEntryID, int HInterID, int IsAudit, string CurUserName)
+        {
+            string ModRightNameCheck = "MES_ProcExchReport_Check";
+            DBUtility.ClsPub.CurUserName = CurUserName;
+            try
+            {
+                string StrMessage = "";
+                //瀹℃牳鏉冮檺
+                if (!WebClsPub.Security_Log(ModRightNameCheck, 1, true, CurUserName,ref  StrMessage))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = StrMessage;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (HInterID <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID灏忎簬0锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);
+                DLL.ClsSc_ICMOBillWorkQtyStatus_Tmp oBill = new DLL.ClsSc_ICMOBillWorkQtyStatus_Tmp();
+                //鏌ョ湅鏄惁宸插鏍�,鍏抽棴,浣滃簾
+                if (oBill.ShowBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
+                {
+                    if (oBill.omodel.HCloseMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸插叧闂�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (oBill.omodel.HDeleteMan.Trim() != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁宸蹭綔搴�!涓嶈兘鍐嶆瀹℃牳锛�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (IsAudit == 0)  //瀹℃牳鍒ゆ柇
+                    {
+                        if (oBill.omodel.HChecker.Trim() != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁宸插鏍�!涓嶈兘鍐嶆瀹℃牳锛�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    if (IsAudit == 1) //鍙嶅鏍稿垽鏂�
+                    {
+                        if (oBill.omodel.HChecker.Trim() == "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "鍗曟嵁鏈鏍�!涓嶉渶瑕佸弽瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (IsAudit == 0) //瀹℃牳鎻愪氦
+                {
+                    //瀹℃牳鎻愪氦
+                    if (oBill.CheckBill(HSourceID, HSourceInterID,HSourceEntryID,HSourceBillNo,HICMOInterID, HICMOEntryID, lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "瀹℃牳鎴愬姛";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "瀹℃牳澶辫触!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                if (IsAudit == 1) //鍙嶅鏍告彁浜�
+                {
+                    //鍙嶅鏍告彁浜bandonCheck
+                    if (oBill.AbandonCheck(HSourceID, HSourceInterID, HSourceEntryID, HSourceBillNo, HICMOInterID, HICMOEntryID, lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo) == true)
+                    {
+                        objJsonResult.code = "1";
+                        objJsonResult.count = 1;
+                        objJsonResult.Message = "鍙嶅鏍告垚鍔�";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    else
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍙嶅鏍稿け璐�!鍘熷洜:" + DBUtility.ClsPub.sExeReturnInfo;
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                }
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "瀹℃牳澶辫触鎴栬�呭弽瀹℃牳澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
 
+        #region 鎶ュ伐骞冲彴浜ч噺姹囨姤鍒犻櫎
+        [Route("Sc_MESBeginWorkBill/DeltetMESProductReportBill")]
+        [HttpGet]
+        public object DeleteGetLineBindBillList(string HInterID,string HICMOInterID,string HICMOEntryID,string UserName)
+        {
+            try
+            {
+                oCN.BeginTran();
+                //鏌ヨ浜ч噺姹囨姤涓存椂琛ㄦ暟閲�
+                ds = oCN.RunProcReturn("select isnull(HQty,0) HQty,isnull(HWasterQty,0) HWasterQty,isnull(HBadQty,0) HBadQty  from Sc_ICMOBillWorkQtyStatus_Tmp where HInterID='" + HInterID + "' and HICMOInterID='" + HICMOInterID + "' and HICMOEntryID='" + HICMOEntryID + "'", "Sc_ICMOBillWorkQtyStatus_Tmp");
+                double HQty =double.Parse(ds.Tables[0].Rows[0]["HQty"].ToString());
+                double HWasterQty = double.Parse(ds.Tables[0].Rows[0]["HWasterQty"].ToString());
+                double HBadQty = double.Parse(ds.Tables[0].Rows[0]["HBadQty"].ToString());
+                double sumqty = HQty + HBadQty + HWasterQty;  //姹囨姤鏁伴噺+涓嶈壇+鎶ュ簾
+                //鏇存柊浜ч噺瑁呴噺涓存椂琛ㄥ凡姹囨姤鏁伴噺
+                string sql1 = string.Format(@"update Sc_ICMOBillStatus_Tmp  set  HICMOStatus='1',HFinishFlag='0', HRelationInterID=0,HSplitRelationQty=HSplitRelationQty-" + sumqty + ",HDateFinishQty=HDateFinishQty-"+ sumqty + "   where  HICMOInterID='"+ HICMOInterID + "' and HICMOEntryID='"+ HICMOEntryID + "'");
+                oCN.RunProc(sql1);
+                //鏇存柊鍒囨崲鐘舵�佸��
+                string sql = string.Format(@"delete Sc_ICMOBillWorkQtyStatus_Tmp  where HInterID='" + HInterID + "'");
+                oCN.RunProc(sql);
+
+                oCN.Commit();
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鍒犻櫎璧勬簮鎴愬姛锛�";
+                objJsonResult.data = ds;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = e.Message.ToString();
+                objJsonResult.data = null;
+
+            }
+            return objJsonResult;
+        }
+        #endregion
+
+        #region 鎶ュ伐骞冲彴鎶ユ鐢宠淇濆瓨
+        [Route("Sc_MESBeginWorkBill/SaveGetMESProductReportBillList")]
+        [HttpGet]
+        public object SaveGetMESProductReportBillList(string ScMaxWork,string HSourceBillType, string workcode,int HSourceID,int HICMOInterID,int HICMOEntryID,string HMaker,string Czybm)
+        {   
+            ListModels oListModels = new ListModels();
+            try
+            {
+                //绯荤粺鍙傛暟 鐢熸垚鐢熶骇姹囨姤鍗曞墠鍒ゆ柇鏄惁棣栨
+                //string sReturn = "";
+                //if (oSystemParameter.ShowBill(ref sReturn) == true)
+                //{
+                //    if (oSystemParameter.omodel.Sc_ICMOReportBill_FirstCheckOut == "Y") //绯荤粺鍙傛暟   蹇呴』棣栦欢妫�楠岄�氳繃鎵嶈兘淇濆瓨鍗曟嵁
+                //    {
+                //        //绯荤粺鍙傛暟瀹℃牳,鍒欐牴鎹敓浜ц鍗曞彿锛屽叧鑱旈妫�妫�楠屽崟涓簮鍗曞彿鏌ユ壘妫�楠屽崟鏁版嵁锛屽垽鏂崟鎹姸鎬佹槸鍚﹀悎鏍�
+                //        ds = oCN.RunProcReturn("select *   from QC_FirstPieceCheckBillMain where HICMOInterID='" + HICMOInterID + "' and HICMOEntryID='" + HICMOEntryID + "'", "QC_FirstPieceCheckBillMain");
+                //        if (ds.Tables[0].Rows.Count > 0) //鏈夐妫�妫�楠屽崟
+                //        {
+                //            int rows = ds.Tables[0].AsEnumerable().Where(item => item["HLastResult"].ToString().Equals("True")).Count(); //鍒ゆ柇褰撳墠鏁版嵁(涓�鏉℃垨澶氭潯)涓渶缁堝垽瀹氭槸鍚︽湁鍚堟牸
+                //            if (rows <= 0)
+                //            {
+                //                objJsonResult.code = "0";
+                //                objJsonResult.count = 0;
+                //                objJsonResult.Message = "褰撳墠宸ュ崟棣栨妫�楠屽垽瀹氫笉鍚堟牸,鏃犳硶鐢熸垚姹囨姤鍗曪紒";
+                //                objJsonResult.data = null;
+                //                return objJsonResult;
+                //            }
+                //        }
+                //    }
+                //}
+
+                string sHSourceType = HSourceBillType;
+                string  BillType = "3711";  //鍗曟嵁绫诲瀷 (鐢熶骇姹囨姤鍗�)
+                //寰楀埌mainid
+                 long HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
+                //oCN.BeginTran();
+                //鏍规嵁鍗曞彿銆佽祫婧怚D銆佽鍗曚富ID銆佽鍗曞瓙ID銆佸埗鍗曚汉杩囨护浜ч噺姹囨姤鎶ユ鐢宠鎻愪氦鏁版嵁
+                //string sql = string.Format(@"update Sc_ICMOBillWorkQtyStatus_Tmp set 
+                //                 HICMOReportInterID ='"+HInterID+"', HICMOReportBillNo='"+ ScMaxWork + "' from Sc_ICMOBillWorkQtyStatus_Tmp a where a.HICMOBillNo='" + workcode+ "' and a.HSourceID='" + HSourceID + "' and  HICMOInterID='" + HICMOInterID+ "' and a.HICMOEntryID='"+ HICMOEntryID + "' and a.HMaker='"+HMaker+"'  and HRelationInterID='0'");
+                //oCN.RunProc(sql);
+                //oCN.Commit();
+                //鏍规嵁鐢熶骇璁㈠崟鍙锋煡璇㈢敓浜ц鍗曡〃锛屾嬁鍒扮粍缁囥�佽溅闂�
+                //DataSet ds0 = oCN.RunProcReturn("select HPRDORGID,HDeptID from Sc_ICMOBillMain where HBillNo='"+ workcode + "'", "Sc_ICMOBillMain");
+
+                //鏌ヨ浜ч噺姹囨姤涓存椂琛�
+                //ds = oCN.RunProcReturn("select top 1 * from  Sc_ICMOBillWorkQtyStatus_Tmp where HICMOReportInterID='" + HInterID + "' and HICMOReportBillNo='" + ScMaxWork + "'", "Sc_ICMOBillWorkQtyStatus_Tmp");
+                //if (ds.Tables[0].Rows.Count <= 0)
+                //{
+                    //oCN.RollBack();
+                //    objJsonResult.code = "0";
+                //    objJsonResult.count = 0;
+                //    objJsonResult.Message = "褰撳墠鍗曟嵁鏃犱骇閲忔眹鎶ヨ褰曪紒";
+                //    objJsonResult.data = null;
+                //    return objJsonResult;
+                //}
+               
+                WebS.ClsSc_ICMOReportBillMain model = new WebS.ClsSc_ICMOReportBillMain();
+                model.HInterID = HInterID;
+                model.HBillNo = ScMaxWork;
+                //model.HYear= DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                //model.HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
+                model.HDate = DateTime.Now;
+                model.HRemark = "";
+                model.HMaker = HMaker;
+                model.HEmpID = 0;
+                //model.HGroupID = DBUtility.ClsPub.isLong(ds.Tables[0].Rows[0]["HGroupID"]);
+                //model.HDeptID= DBUtility.ClsPub.isLong(ds0.Tables[0].Rows[0]["HDeptID"]);
+                //model.HPRDORGID = DBUtility.ClsPub.isLong(ds0.Tables[0].Rows[0]["HPRDORGID"]);
+                model.HMainSourceInterID = HICMOInterID;
+                model.HMainSourceEntryID = HICMOEntryID;
+                
+                //oWebs.Timeout = 30000;
+                bool flag=oWebs.set_SaveICMOProductReportBill_Layui(model,workcode,HSourceID, sHSourceType, ref DBUtility.ClsPub.sErrInfo);
+                if (flag)
+                {
+                    //oCN.Commit();
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                else 
+                {
+                    //oCN.RollBack();
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�"+ flag+ ";"+ DBUtility.ClsPub.sErrInfo;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                //oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+                objJsonResult.data = 1;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+
+
+        
     }
 }

--
Gitblit v1.9.1