From 45ff656a53848046d6a2a457a00c22ab1e357513 Mon Sep 17 00:00:00 2001
From: 杨乐 <杨乐@DESKTOP-5CU1TNO>
Date: 星期二, 15 三月 2022 08:26:01 +0800
Subject: [PATCH] 生产叫料平台

---
 WebAPI/Controllers/Sc_ProcessMangementController.cs | 1416 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 1,371 insertions(+), 45 deletions(-)

diff --git a/WebAPI/Controllers/Sc_ProcessMangementController.cs b/WebAPI/Controllers/Sc_ProcessMangementController.cs
index 03ed5f1..b0a8e5a 100644
--- a/WebAPI/Controllers/Sc_ProcessMangementController.cs
+++ b/WebAPI/Controllers/Sc_ProcessMangementController.cs
@@ -6,6 +6,7 @@
 using System.Data;
 using System.Data.SqlClient;
 using System.Web.Http;
+using WebAPI.DLL;
 using WebAPI.Models;
 using WebAPI.Service;
 
@@ -17,6 +18,10 @@
 
         private json objJsonResult = new json();
 
+      
+        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+        DataSet ds;
+
         ///<summary>
         ///灏佽鐘舵�佺爜鍙婅繑鍥炰俊鎭殑鍏敤鏂规硶銆�
         ///鍙傛暟锛欴ataSet銆�
@@ -26,22 +31,22 @@
         {
             try
             {
-                if (ds == null || ds.Tables[0].Rows.Count <= 0)
-                {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 0;
-                    objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
-                    objJsonResult.data = null;
-                    return objJsonResult;
-                }
-                else
-                {
-                    objJsonResult.code = "0";
-                    objJsonResult.count = 1;
-                    objJsonResult.Message = "鑾峰彇淇℃伅鎴愬姛锛�";
-                    objJsonResult.data = ds.Tables[0];
-                    return objJsonResult;
-                }
+                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                //{
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                return objJsonResult;
+                //}
+                //else
+                //{
+                //objJsonResult.code = "0";
+                //objJsonResult.count = 0;
+                //objJsonResult.Message = "鏃犳暟鎹�";
+                //objJsonResult.data = null;
+                //return objJsonResult;
+                //}
             }
             catch (Exception e)
             {
@@ -99,20 +104,30 @@
         /// </summary>
         [Route("Sc_ProcessMangement/MES_Sc_ProcessReportList_Json")]
         [HttpGet]
-        public object MES_Sc_ProcessReportList_Json(string sWhere)
+        public object MES_Sc_ProcessReportList_Json(string sWhere,string user)
         {
             DataSet ds;
             try
             {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ICMOReportBillQuery", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愭煡璇�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 if (sWhere == null || sWhere.Equals(""))
                 {
-                    ds = oCN.RunProcReturn("select top 500 * from h_v_Sc_ProcessReportList ", "h_v_Sc_ProcessReportList");
+                    ds = oCN.RunProcReturn("select top 500 * from h_v_Sc_ProcessReportList order by hmainid desc", "h_v_Sc_ProcessReportList");
                 }
                 else
                 {
                     string sql1 = "select * from h_v_Sc_ProcessReportList where 1 = 1 ";
-                    string sql = sql1 + sWhere;
+                    string sql = sql1 + sWhere+ " order by hmainid desc";
                     ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessReportList");
                 }
             }
@@ -218,6 +233,12 @@
             return GetObjectJson(ds);
         }
 
+        #region 宸ュ簭璁″垝鍗�
+        List<ClsSc_ProcessPlanSub> DetailColl = new List<ClsSc_ProcessPlanSub>();
+        ClsSc_ProcessPlanMain omodel = new ClsSc_ProcessPlanMain();
+        ClsSc_ProcessPlan oBill = new ClsSc_ProcessPlan();
+
+        #region 宸ュ簭璁″垝鍗曞垪琛�
         /// <summary>
         /// 杩斿洖鐢熶骇宸ュ簭璁″垝鍗曞垪琛�
         ///鍙傛暟锛歴tring sql銆�
@@ -225,20 +246,29 @@
         /// </summary>
         [Route("Sc_ProcessMangement/MES_Sc_ProcessPlanMain_Json")]
         [HttpGet]
-        public object MES_Sc_ProcessPlanMain_Json(string sWhere)
+        public object MES_Sc_ProcessPlanMain_Json(string sWhere,string user)
         {
             DataSet ds;
             try
             {
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessPlan_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愭煡璇�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 if (sWhere == null || sWhere.Equals(""))
                 {
-                    ds = oCN.RunProcReturn("select top 500 * from h_v_Sc_ProcessPlanList ", "h_v_Sc_ProcessPlanList");
+                    ds = oCN.RunProcReturn("select top 500 * from h_v_Sc_ProcessPlanList order by hmainid desc ", "h_v_Sc_ProcessPlanList");
                 }
                 else
                 {
                     string sql1 = "select * from h_v_Sc_ProcessPlanList where 1 = 1 ";
-                    string sql = sql1 + sWhere;
+                    string sql = sql1 + sWhere+ " order by hmainid desc ";
                     ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessPlanList");
                 }
             }
@@ -252,28 +282,446 @@
             }
             return GetObjectJson(ds);
         }
+        #endregion
 
-       /// <summary>
-       /// 杩斿洖鐢熶骇宸ュ簭娲惧伐鍗曞垪琛�
-       /// </summary>
-       /// <param name="sWhere"></param>
-       /// <returns></returns>
+        #region 宸ュ簭璁″垝鍗� 淇濆瓨/缂栬緫
+        //宸ュ簭璁″垝鍗�  淇濆瓨/缂栬緫
+        [Route("Sc_ProcessMangement/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 = "鏂板鍗曟嵁鎴愬姛锛�";
+            objJsonResult.data = null;
+            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();
+
+            int hentryid = int.Parse(sArray[2].ToString());//瀛愯〃鐨勯『搴廼d
+            int OperationType = int.Parse(sArray[3].ToString());//鏁版嵁绫诲瀷 1娣诲姞 3淇敼
+            string user = sArray[4].ToString();//鐢ㄦ埛鍚�
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessPlan_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愮紪杈�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                omodel = Newtonsoft.Json.JsonConvert.DeserializeObject<ClsSc_ProcessPlanMain>(msg2);
+                string BillType = "3715";
+
+
+                if (OperationType == 1)//鏂板
+                {
+                    //涓昏〃
+                    oCN.RunProc("Insert Into Sc_ProcessPlanMain   " +
+                    "(HYear,HPeriod,HBillType,HBillSubType,HInterID" +
+                    ",HDate,HBillNo,HBillStatus,HCheckItemNowID,HCheckItemNextID" +
+                    ",HICMOInterID,HICMOBillNo,HMaterID,HMaterNumber,HUnitID" +
+                    ",HUnitNumber,HPlanQty,HPlanBeginDate,HPlanEndDate,HExplanation" +
+                    ",HRemark,HInnerBillNo,HMaker,HMakeDate" +
+                    ") " +
+                    " values(" + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + BillType + "','" + BillType + "'," + omodel.HInterID.ToString() +
+                    ",'" + omodel.HDate.ToShortDateString() + "','" + omodel.HBillNo + "'," + (omodel.HBillStatus=1) + "," + omodel.HCheckItemNowID.ToString() + "," + omodel.HCheckItemNextID.ToString() +
+                    "," + omodel.HICMOInterID.ToString() + ",'" + omodel.HICMOBillNo + "'," + omodel.HMaterID.ToString() + ",'" + omodel.HMaterNumber + "'," + omodel.HUnitID.ToString() +
+                    ",'" + omodel.HUnitNumber + "'," + omodel.HPlanQty.ToString() + ",'" + omodel.HPlanBeginDate.ToShortDateString() + "','" + omodel.HPlanEndDate.ToShortDateString() + "','" + omodel.HExplanation + "'" +
+                    ",'" + omodel.HRemark + "','" + omodel.HInnerBillNo + "','" + omodel.HMaker + "',getdate()" +
+                    ") ");
+                }
+                else if (OperationType == 3)
+                {
+                    //淇敼
+                    oCN.RunProc("UpDate Sc_ProcessPlanMain set  " +
+                   " HYear=" + omodel.HYear.ToString() +
+                   ",HPeriod=" + omodel.HPeriod.ToString() +
+                   //",HInterID=" + omodel.HInterID.ToString() +
+                   ",HDate='" + omodel.HDate.ToShortDateString() + "'" +
+                   //",HBillNo='" + omodel.HBillNo + "'" +
+                   ",HBillStatus=" + omodel.HBillStatus.ToString() +
+                   ",HCheckItemNowID=" + omodel.HCheckItemNowID.ToString() +
+                   ",HCheckItemNextID=" + omodel.HCheckItemNextID.ToString() +
+                   ",HICMOInterID=" + omodel.HICMOInterID.ToString() +
+                   ",HICMOBillNo='" + omodel.HICMOBillNo + "'" +
+                   ",HMaterID=" + omodel.HMaterID.ToString() +
+                   ",HMaterNumber='" + omodel.HMaterNumber + "'" +
+                   ",HUnitID=" + omodel.HUnitID.ToString() +
+                   ",HUnitNumber='" + omodel.HUnitNumber + "'" +
+                   ",HPlanQty=" + omodel.HPlanQty.ToString() +
+                   ",HPlanBeginDate='" + omodel.HPlanBeginDate.ToShortDateString() + "'" +
+                   ",HPlanEndDate='" + omodel.HPlanEndDate.ToShortDateString() + "'" +
+                   ",HExplanation='" + omodel.HExplanation + "'" +
+                   ",HRemark='" + omodel.HRemark + "'" +
+                   ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
+                   ",HUpDater='" + omodel.HUpDater + "'" +
+                   ",HUpDateDate=getdate()" +
+                   " where HInterID=" + omodel.HInterID.ToString());
+
+                    //鍒犻櫎瀛愯〃
+                    oCN.RunProc("Delete From Sc_ProcessPlanSub where HInterID = " + omodel.HInterID.ToString()+ " and hentryid="+ hentryid);
+                }
+                //淇濆瓨瀛愯〃
+                objJsonResult = AddBillSub(msg3, hentryid);
+                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, int hentryid)
+        {
+            DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsSc_ProcessPlanSub>>(msg3);
+            int i = 1;
+            //鎻掑叆瀛愯〃
+            foreach (Models.ClsSc_ProcessPlanSub oSub in DetailColl)
+            {
+                oCN.RunProc("Insert into Sc_ProcessPlanSub " +
+               " (HInterID,HEntryID,HBillNo,HProcNo,HProcID,HWorkingQty" +
+               ",HProcNumber,HWorkRemark,HCenterID,HDeptID,HDeptNumber" +
+               ",HGroupID,HGroupNumber,HWorkerID,HWorkerNumber,HSourceID" +
+               ",HQty,HTimeUnit,HPlanWorkTimes,HPlanBeginDate,HPlanEndDate" +
+               ",HICMOInterID,HICMOBillNo,HSeOrderInterID,HSeOrderEntryID,HSeOrderBillNo" +
+               ",HCloseMan,HCloseType,HRemark,HSourceInterID,HSourceEntryID" +
+               ",HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
+               ",HBeginDayQty,HBeginFixQty,HFixWorkDays,HTrunWorkDays,HReadyTimes" +
+               ",HReadyTime,HQueueTime,HMoveTime,HBatchNo" +
+               ") values("
+               + omodel.HInterID.ToString() + "," +(hentryid==-1?i: hentryid) + ",'" + oSub.HBillNo + "'," + oSub.HProcNo.ToString() + "," + oSub.HProcID.ToString() + "," + oSub.HWorkingQty.ToString() +
+               ",'" + oSub.HProcNumber + "','" + oSub.HWorkRemark + "'," + oSub.HCenterID.ToString() + "," + oSub.HDeptID.ToString() + ",'" + oSub.HDeptNumber + "'" +
+               "," + oSub.HGroupID.ToString() + ",'" + oSub.HGroupNumber + "'," + oSub.HWorkerID.ToString() + ",'" + oSub.HWorkerNumber + "'," + oSub.HSourceID.ToString() +
+               "," + oSub.HQty.ToString() + ",'" + oSub.HTimeUnit + "'," + oSub.HPlanWorkTimes.ToString() + ",'" + oSub.HPlanBeginDate.ToString() + "','" + oSub.HPlanEndDate.ToString() + "'" +
+               "," + oSub.HICMOInterID.ToString() + ",'" + oSub.HICMOBillNo + "'," + oSub.HSeOrderInterID.ToString() + "," + oSub.HSeOrderEntryID.ToString() + ",'" + oSub.HSeOrderBillNo + "'" +
+               ",'" + oSub.HCloseMan + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() +
+               ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
+               "," + oSub.HBeginDayQty.ToString() + "," + oSub.HBeginFixQty.ToString() + "," + oSub.HFixWorkDays.ToString() + "," + oSub.HTrunWorkDays.ToString() + "," + oSub.HReadyTimes.ToString() +
+               "," + oSub.HReadyTime.ToString() + "," + oSub.HQueueTime.ToString() + "," + oSub.HMoveTime.ToString() + ",'" + oSub.HBatchNo + "'" +
+               ") ");
+                i++;
+            }
+
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = null;
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
+        #endregion
+
+        #region 宸ュ簭璁″垝鍗� 瀹℃牳/鍙嶅鏍�
+        [Route("Sc_ProcessMangement/CheckDeOAuditBill")]
+        [HttpGet]
+        public object CheckDeOAuditBill(int HInterID, int IsAudit, string CurUserName)
+        {
+            string ModRightNameCheck = "Sc_ProcessPlan_Check"; //璇ユā鍧楃殑瀹℃牳鍔熻兘
+            DBUtility.ClsPub.CurUserName = CurUserName;//瀛樺偍鐢ㄦ埛鍚�
+
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //鍒ゆ柇id鏄惁澶т簬0
+                if (HInterID <= 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "ID灏忎簬0";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                //杞崲id
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);
+
+                //鏌ヨ瀹℃牳鐨勮繖鏉℃暟鎹�
+                ds = oCN.RunProcReturn("select * from Sc_ProcessPlanMain where HInterID='" + HInterID + "'", "Sc_ProcessPlanMain");
+
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    string HCloseMan = ds.Tables[0].Rows[0]["HCloseMan"].ToString().Trim();//鍏抽棴浜�
+                    string HDeleteMan = ds.Tables[0].Rows[0]["HDeleteMan"].ToString().Trim();//浣滃簾浜�
+                    string HChecker = ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();//瀹℃牳浜�
+
+                    if (HCloseMan != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "褰撳墠鍗曟嵁宸插叧闂�,涓嶈兘瀹℃牳";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (HDeleteMan != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "褰撳墠鍗曟嵁宸蹭綔搴�,涓嶈兘瀹℃牳";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //IsAudit==0  瀹℃牳
+                    if (IsAudit == 0)
+                    {
+                        if (HChecker != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "褰撳墠鏁版嵁宸插鏍�";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //IsAudit==1  鍙嶅鏍�
+                    if (IsAudit == 1)
+                    {
+                        if (HChecker == "")
+                        {
+                            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 (CheckBill(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
+                    {
+                        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)
+                {
+                    if (AbandonCheck(lngBillKey, ref DBUtility.ClsPub.sExeReturnInfo))
+                    {
+                        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;
+            }
+          
+        }
+        //瀹℃牳
+        public bool CheckBill(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                string HChecker = DBUtility.ClsPub.CurUserName;//鐢ㄦ埛鍚�
+                oCN.BeginTran();//鎵撳紑浜嬪姟
+                oCN.RunProc("update Sc_ProcessPlanMain set HChecker='" + HChecker + "',HCheckDate='" + DateTime.Now + "',HBillStatus=2 where HInterID='" + lngBillKey + "'");
+                oCN.Commit();//鍏抽棴浜嬪姟
+                sReturn = "瀹℃牳鍗曟嵁鎴愬姛!";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+        //鍙嶅鏍�
+        public bool AbandonCheck(Int64 lngBillKey, ref string sReturn)
+        {
+            try
+            {
+                string HChecker = DBUtility.ClsPub.CurUserName;//鐢ㄦ埛鍚�
+                oCN.BeginTran();//鎵撳紑浜嬪姟
+                oCN.RunProc("update Sc_ProcessPlanMain set HChecker='',HCheckDate=null,HBillStatus=1 where HInterID='" + lngBillKey + "'");
+                oCN.Commit();//鍏抽棴浜嬪姟
+                sReturn = "鍙嶅鏍稿崟鎹垚鍔�!";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw (e);
+            }
+        }
+        #endregion
+
+        #region 宸ュ簭璁″垝鍗� 鍒犻櫎
+        [Route("Sc_ProcessMangement/DeleteProcessBill")]
+        [HttpGet]
+        public object MouldDeleteBill(long HInterID, string User, string ModRightNameDelete)
+        {
+            try
+            {
+                //鍒ゆ柇鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, false, User))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "娌℃湁鍒犻櫎鏉冮檺";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oBill.ShowBill(HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
+
+                if (oBill.omodel.HChecker != "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍗曟嵁褰撳墠澶勪簬瀹℃牳鐘舵��,涓嶈兘鍒犻櫎!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+              
+                if (oBill.DeleteBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo))
+                {
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎鎴愬姛";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍒犻櫎澶辫触";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鏃犳潈闄愬垹闄�";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #endregion
+
+        /// <summary>
+        /// 杩斿洖鐢熶骇宸ュ簭娲惧伐鍗曞垪琛�
+        /// </summary>
+        /// <param name="sWhere"></param>
+        /// <returns></returns>
         [Route("Sc_ProcessMangement/MES_Sc_ProcessSendWorkMain_Json")]
         [HttpGet]
-        public object MES_Sc_ProcessSendWorkMain_Json(string sWhere)
+        public object MES_Sc_ProcessSendWorkMain_Json(string sWhere,string user)
         {
             DataSet ds;
             try
             {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessSendWork_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愭煡璇�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 if (sWhere == null || sWhere.Equals(""))
                 {
-                    ds = oCN.RunProcReturn("select top 500 * from h_v_Sc_ProcessSendWorkList ", "h_v_Sc_ProcessSendWorkList");
+                    ds = oCN.RunProcReturn("select top 500 * from h_v_Sc_ProcessSendWorkList order by hmainid desc ", "h_v_Sc_ProcessSendWorkList");
                 }
                 else
                 {
                     string sql1 = "select * from h_v_Sc_ProcessSendWorkList where 1 = 1 ";
-                    string sql = sql1 + sWhere;
+                    string sql = sql1 + sWhere+ " order by hmainid desc ";
                     ds = oCN.RunProcReturn(sql, "h_v_Sc_ProcessSendWorkList");
                 }
             }
@@ -303,11 +751,23 @@
             string msg2 = sArray[0].ToString();
             string msg3 = sArray[1].ToString();
 
+            string user = sArray[2].ToString();//鐢ㄦ埛鍚�
+
             string UserName = "";
             ListModels oListModels = new ListModels();
 
             try
             {
+                //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ProcessSendWork_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愮紪杈�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 DAL.ClsSc_ProcessSendWork Sendwork = new DAL.ClsSc_ProcessSendWork();
                 List<Model.ClsSc_ProcessSendWorkMain> lsmain = new List<Model.ClsSc_ProcessSendWorkMain>();
                 msg2 = msg2.Replace("\\", "");
@@ -479,11 +939,23 @@
             string msg2 = sArray[0].ToString();
             string msg3 = sArray[1].ToString();
 
+            string user = sArray[2].ToString();
+
             string UserName = "";
             ListModels oListModels = new ListModels();
 
             try
             {
+                //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                if (!DBUtility.ClsPub.Security_Log("WW_EntrustProcSendWorkBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愮紪杈�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 WebAPI.DLL.ClsSc_ProcessSendWork Sendwork = new WebAPI.DLL.ClsSc_ProcessSendWork();
                 List<WebAPI.Models.ClsSc_ProcessSendWorkMain> lsmain = new List<WebAPI.Models.ClsSc_ProcessSendWorkMain>();
                 msg2 = msg2.Replace("\\", "");
@@ -680,20 +1152,30 @@
         /// <returns></returns>
         [Route("Sc_ProcessMangement/MES_QC_NoPassProdCheckBill_Json")]
         [HttpGet]
-        public object MES_QC_NoPassProdCheckBill_Json(string sWhere)
+        public object MES_QC_NoPassProdCheckBill_Json(string sWhere,string user)
         {
             DataSet ds;
             try
             {
+                //鏌ョ湅鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("QC_NoPassProdCheckBillQuery", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 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");
+                    ds = oCN.RunProcReturn("select top 500 * from h_v_QC_NoPassProdCheckBillList order by hmainid desc ", "h_v_QC_NoPassProdCheckBillList");
                 }
                 else
                 {
                     string sql1 = "select * from h_v_QC_NoPassProdCheckBillList where 1 = 1 ";
-                    string sql = sql1 + sWhere;
+                    string sql = sql1 + sWhere+ " order by hmainid desc ";
                     ds = oCN.RunProcReturn(sql, "h_v_QC_NoPassProdCheckBillList");
                 }
             }
@@ -709,6 +1191,184 @@
         }
 
         /// <summary>
+        /// 涓嶅悎鏍艰瘎瀹�  鍒犻櫎
+        /// </summary>
+        /// <param name="HInterID"></param>
+        /// <param name="user"></param>
+        /// <returns></returns>
+        [Route("Sc_ProcessMangement/ProcessMangementDeleteBill")]
+        [HttpGet]
+        public object ProcessMangementDeleteBill(string HInterID, string user)
+        {
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("QC_NoPassProdCheckBill_Drop", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愬垹闄�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ds = oCN.RunProcReturn("select * from h_v_QC_NoPassProdCheckBillList where hmainid =" + HInterID + " ", "h_v_QC_NoPassProdCheckBillList");
+
+                if (ds.Tables[0].Rows[0]["瀹℃牳浜�"].ToString() != "")
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁宸插鏍�,涓嶈兘鍒犻櫎!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                oCN.BeginTran();
+                oCN.RunProc("Delete from QC_NoPassProdCheckBillMain where HInterID=" + HInterID);
+                oCN.RunProc("Delete from QC_NoPassProdCheckBillSub where HInterID=" + HInterID);
+                oCN.Commit();
+
+                objJsonResult.code = "1";
+                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;
+            }
+        }
+
+        #region 涓嶅悎鏍艰瘎瀹� 瀹℃牳/鍙嶅鏍�
+        [Route("Sc_ProcessMangement/AuditProcessMangement")]
+        [HttpGet]
+        public object AuditProcessMangement(int HInterID, int IsAudit, string CurUserName)
+        {
+            string ModRightNameCheck = "QC_NoPassProdCheckBill_Check"; //璇ユā鍧楃殑瀹℃牳鍔熻兘
+            DBUtility.ClsPub.CurUserName = CurUserName;//瀛樺偍鐢ㄦ埛鍚�
+            try
+            {
+                ////鍒ゆ柇鏄惁鏈夊鏍告潈闄�
+                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, 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 = "ID灏忎簬0";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                Int64 lngBillKey = 0;
+                lngBillKey = DBUtility.ClsPub.isLong(HInterID);//鏁版嵁杞崲
+
+                //鏌ヨ瀹℃牳鐨勬暟鎹�
+                ds = oCN.RunProcReturn("select * from QC_NoPassProdCheckBillMain where HInterID='" + HInterID + "'", "QC_NoPassProdCheckBillMain");
+
+                if (ds.Tables[0].Rows.Count > 0)
+                {
+                    var hcloseman = ds.Tables[0].Rows[0]["HCloseMan"].ToString();//鍏抽棴浜�
+                    var hdeleteman = ds.Tables[0].Rows[0]["HDeleteMan"].ToString();//浣滃簾浜�
+                    var hchecker = ds.Tables[0].Rows[0]["HChecker"].ToString();//瀹℃牳浜�
+
+                    if (hcloseman != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "褰撳墠鍗曟嵁宸插叧闂�,鏃犳硶瀹℃牳!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+
+                    if (hdeleteman != "")
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "褰撳墠鍗曟嵁宸蹭綔搴�,鏃犳硶瀹℃牳!";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    //IsAudit==0 瀹℃牳
+                    if (IsAudit == 1)
+                    {
+                        if (hchecker != "")
+                        {
+                            objJsonResult.code = "0";
+                            objJsonResult.count = 0;
+                            objJsonResult.Message = "褰撳墠鍗曟嵁宸插鏍�,鏃犳硶鍐嶆瀹℃牳!";
+                            objJsonResult.data = null;
+                            return objJsonResult;
+                        }
+                    }
+                    //IsAudit==1 鍙嶅鏍�
+                    if (IsAudit == 2)
+                    {
+                        if (hchecker == "")
+                        {
+                            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 == 1)
+                {
+                    oCN.RunProc(" Update QC_NoPassProdCheckBillMain set HChecker='" + CurUserName + "',HCheckDate='" + DateTime.Now + "',HBillStatus=2 Where HBillType='7509' and HInterID=" + HInterID);
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "瀹℃牳鎴愬姛!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                //鍙嶅鏍告彁浜�
+                if (IsAudit == 2)
+                {
+                    oCN.RunProc(" Update QC_NoPassProdCheckBillMain set HChecker='',HCheckDate=null,HBillStatus=0 Where HBillType='7509' and HInterID=" + HInterID);
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "鍙嶅鏍告垚鍔�!";
+                    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
+
+        /// <summary>
         /// PDA宸ュ簭姹囨姤鍗曚繚瀛�
         /// </summary>
         /// <param name="msg"></param>
@@ -722,7 +1382,7 @@
             ListModels oListModels = new ListModels();
             try
             {
-                WebAPI.DLL.ClsSc_ProcessReport ReportModel = new WebAPI.DLL.ClsSc_ProcessReport();
+                DAL.ClsSc_ProcessReport ReportModel = new DAL.ClsSc_ProcessReport();
                 List<WebAPI.Models.Sc_ProcessReportViewModel> ls = new List<WebAPI.Models.Sc_ProcessReportViewModel>();
                 ls = oListModels.getObjectByJson_Report(msg1);
                 int i = 0;
@@ -920,11 +1580,22 @@
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
             string msg2 = sArray[0].ToString();
             string msg3 = sArray[1].ToString();
+
+            string user = sArray[2].ToString();//鐢ㄦ埛鍚�
             string UserName;
             ListModels oListModels = new ListModels();
             try
             {
-                WebAPI.DLL.ClsSc_ProcessReport ReportModel = new WebAPI.DLL.ClsSc_ProcessReport();
+                //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                if (!DBUtility.ClsPub.Security_Log("Sc_ICMOReportBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愮紪杈�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                DAL.ClsSc_ProcessReport ReportModel = new DAL.ClsSc_ProcessReport();
                 List<Model.ClsSc_ProcessReportMain> lsmain = new List<Model.ClsSc_ProcessReportMain>();
                 msg2 = msg2.Replace("\\", "");
                 msg2 = msg2.Replace("\n", "");  //\n
@@ -1134,12 +1805,23 @@
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
             string msg2 = sArray[0].ToString();
             string msg3 = sArray[1].ToString();
+            string user = sArray[2].ToString();
 
 
             string UserName="";
             ListModels oListModels = new ListModels();
             try
             {
+                //鍒ゆ柇鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("QC_NoPassProdCheckBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 DLL.ClsQC_NoPassProdCheckBill oBill = new DLL.ClsQC_NoPassProdCheckBill();
                 List<Model.ClsQC_NoPassProdCheckBillMain> lsmain = new List<Model.ClsQC_NoPassProdCheckBillMain>();
                 msg2 = msg2.Replace("\\", "");
@@ -1307,7 +1989,7 @@
             try
             {
                 //瀹℃牳鏉冮檺
-                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true, CurUserName))
+                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -1410,7 +2092,7 @@
             try
             {
                 //瀹℃牳鏉冮檺
-                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true, CurUserName))
+                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, CurUserName))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
@@ -1503,20 +2185,30 @@
         /// <returns></returns>
         [Route("Sc_ProcessMangement/MES_WW_EntrustProcSendWorkBill_Json")]
         [HttpGet]
-        public object MES_WW_EntrustProcSendWorkBill_Json(string sqlWhere)
+        public object MES_WW_EntrustProcSendWorkBill_Json(string sqlWhere,string user)
         {
             DataSet ds;
             try
             {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("WW_EntrustProcSendWorkBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愭煡璇�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 if (sqlWhere == null || sqlWhere.Equals(""))
                 {
-                    ds = oCN.RunProcReturn("select top 500 * from h_v_WW_EntrustProcSendWorkBillList ", "h_v_WW_EntrustProcSendWorkBillList");
+                    ds = oCN.RunProcReturn("select top 500 * from h_v_WW_EntrustProcSendWorkBillList order by hmainid desc ", "h_v_WW_EntrustProcSendWorkBillList");
                 }
                 else
                 {
                     string sql1 = "select * from h_v_WW_EntrustProcSendWorkBillList where 1 = 1 ";
-                    string sql = sql1 + sqlWhere;
+                    string sql = sql1 + sqlWhere+ " order by hmainid desc ";
                     ds = oCN.RunProcReturn(sql, "h_v_WW_EntrustProcSendWorkBillList");
                 }
             }
@@ -1538,11 +2230,21 @@
         /// <returns></returns>
         [Route("Sc_ProcessMangement/MES_WW_EntrustProcessReportBill_Json")]
         [HttpGet]
-        public object MES_WW_EntrustProcessReportBill_Json(string sqlWhere)
+        public object MES_WW_EntrustProcessReportBill_Json(string sqlWhere,string user)
         {
             DataSet ds;
             try
             {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("WW_EntrustProcessReportBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愭煡璇�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 if (sqlWhere == null || sqlWhere.Equals(""))
                 {
@@ -1572,21 +2274,31 @@
         /// <param name="sqlWhere"></param>
         /// <returns></returns>
         [Route("Sc_ProcessMangement/MES_WW_EntrustProcessSendOutBillList_Json")]
-        [HttpGet]
-        public object MES_WW_EntrustProcessSendOutBillList_Json(string sqlWhere)
+        [HttpGet] 
+        public object MES_WW_EntrustProcessSendOutBillList_Json(string sqlWhere,string user)
         {
             DataSet ds;
             try
             {
+                //鍒ゆ柇鏄惁鏈夋煡璇㈡潈闄�
+                if (!DBUtility.ClsPub.Security_Log("WW_EntrustProcessSendOutBill_Query", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愭煡璇�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                 if (sqlWhere == null || sqlWhere.Equals(""))
                 {
-                    ds = oCN.RunProcReturn("select top 500 * from h_v_WW_EntrustProcessSendOutBillList ", "h_v_WW_EntrustProcessSendOutBillList");
+                    ds = oCN.RunProcReturn("select top 500 * from h_v_WW_EntrustProcessSendOutBillList order by hmainid desc ", "h_v_WW_EntrustProcessSendOutBillList");
                 }
                 else
                 {
                     string sql1 = "select * from h_v_WW_EntrustProcessSendOutBillList where 1 = 1 ";
-                    string sql = sql1 + sqlWhere;
+                    string sql = sql1 + sqlWhere+ " order by hmainid desc ";
                     ds = oCN.RunProcReturn(sql, "h_v_WW_EntrustProcessSendOutBillList");
                 }
             }
@@ -1617,11 +2329,23 @@
             string msg2 = sArray[0].ToString();
             string msg3 = sArray[1].ToString();
 
+            string user = sArray[2].ToString();//鐢ㄦ埛鍚�
+
             string UserName = "";
             ListModels oListModels = new ListModels();
 
             try
             {
+                //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                if (!DBUtility.ClsPub.Security_Log("WW_EntrustProcessReportBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愮紪杈�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
                 WebAPI.DLL.ClsWW_EntrustProcessReportBill Sendwork = new WebAPI.DLL.ClsWW_EntrustProcessReportBill();
                 List<WebAPI.Models.ClsWW_EntrustProcessReportBillMain> lsmain = new List<WebAPI.Models.ClsWW_EntrustProcessReportBillMain>();
                 msg2 = msg2.Replace("\\", "");
@@ -1750,5 +2474,607 @@
         }
 
 
+        /// <summary>
+        /// 濮斿娲惧伐鍗曞彿鑾峰彇淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        [Route("Sc_ProcessMangement/WWgetHbarCodeDetail")]
+        [HttpGet]
+        public ApiResult<DataSet> WWGetHbarCodeDetail(string sBillBarCode)
+        {
+            var model = LuBaoSevice.WWGetHbarCodeDetail(sBillBarCode);
+            return model;
+        }
+
+        /// <summary>
+        ///濮斿宸ュ簭鍙疯幏寰椾俊鎭�
+        /// </summary>
+        /// <returns></returns>
+        [Route("Sc_ProcessMangement/WWgetProcDetail")]
+        [HttpGet]
+        public ApiResult<DataSet> WWGetProcDetail(string sBillNo, string sProcNo)
+        {
+            var model = LuBaoSevice.WWGetProcDetail(sBillNo, sProcNo);
+            return model;
+        }
+
+        /// <summary>
+        /// PDA濮斿宸ュ簭姹囨姤鍗曚繚瀛�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("SaveWWReport")]
+        [HttpPost]
+        public object SaveWWReport([FromBody] JObject msg)
+        {
+            var _value = msg["msg"].ToString();
+            string msg1 = _value.ToString();
+            ListModels oListModels = new ListModels();
+            try
+            {
+                WebAPI.DLL.ClsWW_EntrustProcessReportBill ReportModel = new WebAPI.DLL.ClsWW_EntrustProcessReportBill();
+                List<WebAPI.Models.WWReportViewModel> ls = new List<WebAPI.Models.WWReportViewModel>();
+                ls = oListModels.getObjectByJson_WWReport(msg1);
+                int i = 0;
+
+                foreach (Models.WWReportViewModel ItemView in ls)
+                {
+                    i++;
+                    Models.ClsWW_EntrustProcessReportBillMain ReportMain = new Models.ClsWW_EntrustProcessReportBillMain();
+                    Models.ClsWW_EntrustProcessReportBillSub ReportSub = new Models.ClsWW_EntrustProcessReportBillSub();
+                    //宸ュ簭姹囨姤鍗曚富琛ㄤ繚瀛�
+                    ReportMain.HBillType = "3742";
+                    ReportMain.HBillNo = ItemView.HBillNo;
+                    ReportMain.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+                    ReportMain.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    ReportMain.HDate = DateTime.Now;
+                    ReportMain.HMaker = "";
+                    ReportMain.HCloseType = false;
+                    ReportMain.HPrintQty = 0;
+                    ReportMain.HMainSourceBillType = "3740";
+                    ReportMain.HMainSourceInterID =0;
+                    ReportMain.HMainSourceBillNo = ItemView.HWW_BillNo;
+                    ReportMain.HInterID = 0;
+                    ReportMain.HPeriod = 1;
+                    ReportMain.HBillSubType = "3742";
+                    ReportMain.HBillStatus = 0;
+                    ReportMain.HCheckItemNowID = 0;
+                    ReportMain.HCheckItemNextID = 0;
+                    ReportMain.HDeptID = Convert.ToInt32(ItemView.HDeptID);
+                    ReportMain.HExplanation = "";
+                    ReportMain.HInnerBillNo = "";
+                    ReportMain.HSupID =Convert.ToInt32( ItemView.HSupID);
+
+
+                    //淇濆瓨鍒版眹鎶ュ崟涓昏〃
+                    ReportModel.omodel = ReportMain;
+
+
+                    ReportSub.HMaterID = Convert.ToInt32(ItemView.HMaterID);
+                    ReportSub.HICMOBillNo = "";
+                    ReportSub.HICMOInterID = 0;
+                    ReportSub.HEntryID = i;
+                    ReportSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    ReportSub.HRemark = "";
+                    ReportSub.HCloseMan = "";
+                    ReportSub.HCloseType = false;
+                    ReportSub.HSourceBillType = "3740";
+                    ReportSub.HQty = Convert.ToDecimal(ItemView.HQty);
+                    ReportSub.HProcID =Convert.ToInt32( ItemView.HProcID);
+                    ReportSub.HTimes = 0;
+                    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.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.HUsingQty = 0;
+                    ReportSub.HSelfBadCount = 0;
+                    ReportSub.HPreBadCount = 0;
+                    ReportSub.HPayMentQty = 0;
+                    ReportSub.HPackType = "";
+                    ReportSub.HCheckEmpID = 0;
+                    ReportSub.HWeight = 0;
+                    ReportSub.HBatchNo = "";
+
+                    //淇濆瓨鍒板澶栨眹鎶ュ崟瀛愯〃
+                    ReportModel.DetailColl.Add(ReportSub);
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                bResult = ReportModel.AddBill(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;
+            }
+        }
+
+        /// <summary>
+        /// 淇濆瓨濮斿杞嚭鍗曚俊鎭�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("SaveWW_EntrustProcessSendOutBill")]
+        [HttpPost]
+        public object SaveWW_EntrustProcessSendOutBill([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 user = sArray[1].ToString();//鐢ㄦ埛鍚�
+
+            string UserName = "";
+            ListModels oListModels = new ListModels();
+
+            try
+            {
+                //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄�
+                if (!DBUtility.ClsPub.Security_Log("WW_EntrustProcessSendOutBill_Edit", 1, false, user))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳潈闄愮紪杈�!";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                WebAPI.DLL.ClsWW_EntrustProcessSendOutBill Sendwork = new WebAPI.DLL.ClsWW_EntrustProcessSendOutBill();
+                List<WebAPI.Models.ClsWW_EntrustProcessSendOutBillMain> lsmain = new List<WebAPI.Models.ClsWW_EntrustProcessSendOutBillMain>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");
+                lsmain = oListModels.getObjectByJson_WW_EntrustProcessSendOutBillMain(msg2);
+                foreach (WebAPI.Models.ClsWW_EntrustProcessSendOutBillMain oItem in lsmain)
+                {
+                    UserName = oItem.HMaker;
+                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HDate = DateTime.Now;
+                    oItem.HMainSourceInterID = oItem.HInterID;
+                    oItem.HInterID = 0;
+                    Sendwork.omodel = oItem;
+
+
+                }
+
+                //琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                msg3 = msg3.Substring(1, msg3.Length - 2);
+                msg3 = msg3.Replace("\\", "");
+                msg3 = msg3.Replace("\n", "");  //\n
+                List<WebAPI.Models.WW_EntrustProcSendWorkViewModel> ls = new List<WebAPI.Models.WW_EntrustProcSendWorkViewModel>();
+                ls = oListModels.getObjectByJson_WW_EntrustProcSendWork(msg3);
+                int i = 0;
+                List<Models.ClsWW_EntrustProcessSendOutBillSub> lss = new List<Models.ClsWW_EntrustProcessSendOutBillSub>();
+                foreach (WebAPI.Models.WW_EntrustProcSendWorkViewModel oItemSub in ls)
+                {
+
+                    i++;
+                    Models.ClsWW_EntrustProcessSendOutBillSub sendworksub = new Models.ClsWW_EntrustProcessSendOutBillSub();
+                    sendworksub.HProcID = 0;//--宸ュ簭ID
+                    sendworksub.HSourceInterID = (long)oItemSub.hmainid;//婧愬崟id
+                    sendworksub.HSourceEntryID = (long)oItemSub.hsubid; //--婧愬崟瀛怚D
+                    sendworksub.HSourceBillNo = oItemSub.鍗曟嵁鍙�; //--婧愬崟鍗曞彿
+                    sendworksub.HSourceBillType = oItemSub.HBillType; //--婧愬崟绫诲瀷
+                    sendworksub.HQty = (decimal)oItemSub.鏁伴噺; //--鏁伴噺
+                    sendworksub.HICMOBillNo = "";  //--浠诲姟鍗曞彿
+                    sendworksub.HSeOrderBillNo = ""; //--閿�鍞鍗曞彿
+                    sendworksub.HSeOrderEntryID = 0; //--閿�鍞瓙ID
+                    sendworksub.HSeOrderInterID = 0; //--閿�鍞鍗曚富ID
+                    if (oItemSub.鏁伴噺 <= 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佺" + i.ToString() + "琛屾暟閲忎笉澶т簬0鏃犳硶淇濆瓨锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    if (Convert.ToInt32(sendworksub.HQty) > Convert.ToInt32(oItemSub.鏁伴噺))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佺" + i.ToString() + "琛屽澶栨眹鎶ユ暟閲忎笉鑳藉ぇ浜庡澶栨淳宸ュ崟鏁伴噺锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+
+
+                    sendworksub.HEntryID = i;
+                    sendworksub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    sendworksub.HRemark = "";
+                    sendworksub.HCloseMan = "";
+                    sendworksub.HCloseType = false;
+                    lss.Add(sendworksub);//鍏堟妸鏁版嵁瀛樻斁鍒版淳宸ュ崟瀛愯〃闆嗗悎閲�
+
+
+                }
+                if (lss.Count > 0)
+                {
+                    //鐒跺悗鍐嶅惊鐜繚瀛樺埌娲惧伐鍗曞瓙琛ㄧ殑闆嗗悎閲�
+                    foreach (Models.ClsWW_EntrustProcessSendOutBillSub Itemsendwork in lss)
+                    {
+                        Sendwork.DetailColl.Add(Itemsendwork);
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛乴ss闆嗗悎灏忎簬0";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (Sendwork.omodel.HInterID == 0)
+                {
+                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                    bResult = Sendwork.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else
+                {
+                    bResult = Sendwork.ModifyBill(Sendwork.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;
+            }
+        }
+
+        /// <summary>
+        /// PDA濮斿宸ュ簭杞嚭鍗曚繚瀛�
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("SaveWWSendOutBill")]
+        [HttpPost]
+        public object SaveWWSendOutBill([FromBody] JObject msg)
+        {
+            var _value = msg["msg"].ToString();
+            string msg1 = _value.ToString();
+            ListModels oListModels = new ListModels();
+            try
+            {
+                WebAPI.DLL.ClsWW_EntrustProcessSendOutBill ReportModel = new WebAPI.DLL.ClsWW_EntrustProcessSendOutBill();
+                List<WebAPI.Models.WWSendOutBillViewModel> ls = new List<WebAPI.Models.WWSendOutBillViewModel>();
+                ls = oListModels.getObjectByJson_WWSendOutBill(msg1);
+                int i = 0;
+
+                foreach (Models.WWSendOutBillViewModel ItemView in ls)
+                {
+                    i++;
+                    Models.ClsWW_EntrustProcessSendOutBillMain ReportMain = new Models.ClsWW_EntrustProcessSendOutBillMain();
+                    Models.ClsWW_EntrustProcessSendOutBillSub ReportSub = new Models.ClsWW_EntrustProcessSendOutBillSub();
+                    //宸ュ簭杞嚭鍗曚富琛ㄤ繚瀛�
+                    ReportMain.HBillType = "3741";
+                    ReportMain.HBillNo = ItemView.HBillNo;
+                    ReportMain.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+                    ReportMain.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    ReportMain.HDate = DateTime.Now;
+                    ReportMain.HMaker = "";
+                    ReportMain.HCloseType = false;
+                    ReportMain.HPrintQty = 0;
+                    ReportMain.HMainSourceBillType = "3740";
+                    ReportMain.HMainSourceInterID = 0;
+                    ReportMain.HMainSourceBillNo = ItemView.HWW_BillNo;
+                    ReportMain.HInterID = 0;
+                    ReportMain.HPeriod = 1;
+                    ReportMain.HBillSubType = "3741";
+                    ReportMain.HBillStatus = 0;
+                    ReportMain.HCheckItemNowID = 0;
+                    ReportMain.HCheckItemNextID = 0;
+                    ReportMain.HDeptID = Convert.ToInt32(ItemView.HDeptID);
+                    ReportMain.HExplanation = "";
+                    ReportMain.HInnerBillNo = "";
+                    ReportMain.HSupID = Convert.ToInt32(ItemView.HSupID);
+
+
+                    //淇濆瓨鍒拌浆鍑哄崟涓昏〃
+                    ReportModel.omodel = ReportMain;
+
+
+                    ReportSub.HMaterID = Convert.ToInt32(ItemView.HMaterID);
+                    ReportSub.HICMOBillNo = "";
+                    ReportSub.HICMOInterID = 0;
+                    ReportSub.HEntryID = i;
+                    ReportSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    ReportSub.HRemark = "";
+                    ReportSub.HCloseMan = "";
+                    ReportSub.HCloseType = false;
+                    ReportSub.HSourceBillType = "3740";
+                    ReportSub.HQty = Convert.ToDecimal(ItemView.HQty);
+                    ReportSub.HProcID = Convert.ToInt32(ItemView.HProcID);
+                    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.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.HPackType = "";
+                    ReportSub.HBatchNo = "";
+
+                    //淇濆瓨鍒板澶栬浆鍑哄崟瀛愯〃
+                    ReportModel.DetailColl.Add(ReportSub);
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                bResult = ReportModel.AddBill(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;
+            }
+        }
+
+
+        /// <summary>
+        /// 淇濆瓨濮斿宸ュ崟淇℃伅
+        /// </summary>
+        /// <param name="msg"></param>
+        /// <returns></returns>
+        [Route("SaveWWWorkOrder")]
+        [HttpPost]
+        public object SaveWWWorkOrder([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
+            {
+                WebAPI.DLL.ClsWW_EntrustWorkOrderBill WorkOrder = new WebAPI.DLL.ClsWW_EntrustWorkOrderBill();
+                List<Models.ClsWW_EntrustWorkOrderBillMain> lsmain = new List<Models.ClsWW_EntrustWorkOrderBillMain>();
+                msg2 = msg2.Replace("\\", "");
+                msg2 = msg2.Replace("\n", "");
+                lsmain = oListModels.getObjectByJson_WorkOrderMain(msg2);
+                foreach (Models.ClsWW_EntrustWorkOrderBillMain oItem in lsmain)
+                {
+                    UserName = oItem.HMaker;
+                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
+                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
+                    oItem.HDate = DateTime.Now;
+                    oItem.HMainSourceInterID = oItem.HInterID;
+                    oItem.HInterID = 0;
+
+
+
+                    WorkOrder.omodel = oItem;
+
+
+                }
+
+                //琛ㄤ綋鏁版嵁
+                //鎸� },{鏉ユ媶鍒嗘暟缁� //鍘绘帀銆愬拰銆�
+                msg3 = msg3.Substring(1, msg3.Length - 2);
+                msg3 = msg3.Replace("\\", "");
+                msg3 = msg3.Replace("\n", "");  //\n
+                List<WebAPI.Models.Sc_ProcessPlanViewModel> ls = new List<WebAPI.Models.Sc_ProcessPlanViewModel>();
+                ls = oListModels.getObjectByJson_SendWorkSub(msg3);
+                int i = 0;
+                List<Models.ClsWW_EntrustWorkOrderBillSub> lss = new List<Models.ClsWW_EntrustWorkOrderBillSub>();
+                foreach (WebAPI.Models.Sc_ProcessPlanViewModel oItemSub in ls)
+                {
+
+                    i++;
+                    Models.ClsWW_EntrustWorkOrderBillSub WorkOrdersub = new Models.ClsWW_EntrustWorkOrderBillSub();
+                    WorkOrdersub.HProcID = oItemSub.hprocid.Value;//--宸ュ簭ID
+                    WorkOrdersub.HSourceInterID = oItemSub.hmainid.Value; //--婧愬崟id
+                    WorkOrdersub.HSourceEntryID = oItemSub.hsubid.Value; //--婧愬崟瀛怚D
+                    WorkOrdersub.HSourceBillNo = oItemSub.鍗曟嵁鍙�; //--婧愬崟鍗曞彿
+                    WorkOrdersub.HSourceBillType= oItemSub.HBillType; //--婧愬崟绫诲瀷
+                    WorkOrdersub.HRelationQty = 0;  //--鍏宠仈鏁伴噺
+                    WorkOrdersub.HRelationMoney = 0; //--鍏宠仈閲戦
+                    WorkOrdersub.HOrderBillNo = ""; //--閿�鍞鍗曞彿
+                    WorkOrdersub.HMaterLenModel = ""; //--鏉愯川
+                    WorkOrdersub.HMaterQty = 0; //--鏉愯川鏁伴噺
+                    WorkOrdersub.HMaterID = oItemSub.HMaterID.Value; //--鐗╂枡
+                    WorkOrdersub.HQty = (double)oItemSub.璁″垝鏁伴噺; //--璁㈠崟鏁伴噺
+                    WorkOrdersub.HEntrustType = "3739"; //--濮斿绫诲瀷
+                    WorkOrdersub.HNextProcName = ""; //--涓嬮亾宸ュ簭
+                    WorkOrdersub.HPrice =0; //鍔犲伐璐�
+                    WorkOrdersub.HOutQty = 0;  //--鍏宠仈鍙戝嚭鏁伴噺
+                    WorkOrdersub.HInQty =0; //--鍏宠仈鎺ユ敹鏁伴噺
+                    WorkOrdersub.HBackSupDate = DateTime.Now; //--瀹為檯浜よ揣鏃ユ湡
+                    WorkOrdersub.HInDate = DateTime.Now; //--浜よ揣鏃ユ湡 
+                    WorkOrdersub.HWorkProcFlow = ""; //--宸ヨ壓娴�
+                    WorkOrdersub.HLeftMater = ""; //--浣欐枡鎯呭喌
+
+                    if (oItemSub.璁″垝鏁伴噺 <= 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佺" + i.ToString() + "琛屾暟閲忎笉澶т簬0鏃犳硶淇濆瓨锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+                    if (Convert.ToInt32(WorkOrdersub.HQty) > Convert.ToInt32(oItemSub.璁″垝鏁伴噺))
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "淇濆瓨澶辫触锛佺" + i.ToString() + "琛屾淳宸ユ暟閲忎笉鑳藉ぇ浜庤鍒掑崟鏁伴噺锛�";
+                        objJsonResult.data = 1;
+                        return objJsonResult;
+                    }
+
+                    WorkOrdersub.HEntryID = i;
+                    WorkOrdersub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
+                    WorkOrdersub.HRemark = "";
+                    WorkOrdersub.HCloseMan = "";
+                    WorkOrdersub.HCloseType = false;
+                    WorkOrdersub.HSourceBillType = oItemSub.HBillType;
+                    lss.Add(WorkOrdersub);//鍏堟妸鏁版嵁瀛樻斁鍒板澶栧伐鍗曞瓙琛ㄩ泦鍚堥噷
+
+
+                }
+                if (lss.Count > 0)
+                {
+                    //鐒跺悗鍐嶅惊鐜繚瀛樺埌濮斿宸ュ崟瀛愯〃鐨勯泦鍚堥噷
+                    foreach (Models.ClsWW_EntrustWorkOrderBillSub Itemsendwork in lss)
+                    {
+                        WorkOrder.DetailColl.Add(Itemsendwork);
+                    }
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛乴ss闆嗗悎灏忎簬0";
+                    objJsonResult.data = 1;
+                    return objJsonResult;
+                }
+                //淇濆瓨
+                //淇濆瓨瀹屾瘯鍚庡鐞�
+                bool bResult;
+                if (WorkOrder.omodel.HInterID == 0)
+                {
+                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                    bResult = WorkOrder.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else
+                {
+                    bResult = WorkOrder.ModifyBill(WorkOrder.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