From eefd7d9b5a0913827f836b2988988d7c886b6d06 Mon Sep 17 00:00:00 2001
From: zrg <z18737863051@163.com>
Date: 星期二, 27 二月 2024 10:46:55 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-API

---
 WebAPI/Controllers/项目管理/工作任务/PM_WorkTaskBillController.cs |  571 ++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 482 insertions(+), 89 deletions(-)

diff --git "a/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\344\275\234\344\273\273\345\212\241/PM_WorkTaskBillController.cs" "b/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\344\275\234\344\273\273\345\212\241/PM_WorkTaskBillController.cs"
index 44b6bdf..75d10cd 100644
--- "a/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\344\275\234\344\273\273\345\212\241/PM_WorkTaskBillController.cs"
+++ "b/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\344\275\234\344\273\273\345\212\241/PM_WorkTaskBillController.cs"
@@ -29,6 +29,7 @@
         {
             public int HInterID;
             public string HBillNo;
+            public int HProjectID;
             public string HProNumber;
             public string HProName;
             public int HProjectStageID;
@@ -63,6 +64,7 @@
             public int HMainSourceEntryID;
             public string HMainSourceBillNo;
             public string HMainSourceBillType;
+            public int HOrderLevID;
         }
         #endregion
 
@@ -146,6 +148,7 @@
                 string HBillSubType = "";
                 int HInterID = mainList[0].HInterID;
                 string HBillNo = mainList[0].HBillNo;
+                int HProjectID = mainList[0].HProjectID;
                 string HProNumber = mainList[0].HProNumber;
                 string HProName = mainList[0].HProName;
                 int HProjectStageID = mainList[0].HProjectStageID;
@@ -179,6 +182,8 @@
                 int HMainSourceEntryID = mainList[0].HMainSourceEntryID;
                 string HMainSourceBillNo = mainList[0].HMainSourceBillNo;
                 string HMainSourceBillType = mainList[0].HMainSourceBillType;
+                int HOrderLevID = mainList[0].HOrderLevID;
+
 
 
                 if (OperationType == 2)
@@ -199,8 +204,8 @@
                 if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
                 {
                     string sql = "insert into PM_WorkTaskBillMain" +
-                        "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HBillNo,HProNumber,HProjectStageID,HName,HDate,HTaskNote,HPlanTimes" +
-                        ",HSelfTimes,HLastDate,HSendEmp,HReceiveEmp,HType,HCopyEmp,HRemark,HOrgID,HMaker,HMakeDate)" +
+                        "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HBillNo,HProjectID,HProNumber,HProjectStageID,HName,HDate,HTaskNote,HPlanTimes" +
+                        ",HSelfTimes,HLastDate,HSendEmp,HReceiveEmp,HType,HCopyEmp,HRemark,HOrgID,HMaker,HMakeDate,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType,HOrderLevID)" +
                         "values(" +
                         "" + HYear +
                         "," + HPeriod +
@@ -208,75 +213,8 @@
                         "','" + HBillSubType +
                         "'," + HInterID +
                         ",'" + HBillNo +
-                        "','" + HProNumber +
-                        "'," + HProjectStageID +
-                        ",'" + HName +
-                        "','" + HDate +
-                        "','" + HTaskNote +
-                        "'," + HPlanTimes +
-                        "," + HSelfTimes +
-                        ",'" + HLastDate +
-                        "','" + HSendEmp +
-                        "','" + HReceiveEmp +
-                        "','" + HType +
-                        "','" + HCopyEmp +
-                        "','" + HRemark + 
-                        "'," + HOrgID +
-                        ",'" + HMaker +
-                        "','" + HMakerDate +
-                        "')";
-
-                    //涓昏〃
-                    oCN.RunProc(sql);
-                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板宸ヤ綔浠诲姟:" + HBillNo);
-                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板宸ヤ綔浠诲姟锛�" + HBillNo + "','LMES-宸ヤ綔浠诲姟妯″潡','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
-                }
-                else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)                    //缂栬緫
-                {
-                    string sql = "update PM_WorkTaskBillMain set " +
-                        "HYear = " + HYear +
-                        ",HPeriod = " + HPeriod +
-                        ",HBillType = '" + HBillType +
-                        "',HBillSubType = '" + HBillSubType +
-                        "',HBillNo = '" + HBillNo +
-                        "',HProNumber = '" + HProNumber +
-                        "',HProjectStageID = " + HProjectStageID +
-                        ",HName = '" + HName +
-                        "',HDate = '" + HDate +
-                        "',HTaskNote = '" + HTaskNote +
-                        "',HPlanTimes = " + HPlanTimes +
-                        ",HSelfTimes = " + HSelfTimes +
-                        ",HLastDate = '" + HLastDate +
-                        "',HSendEmp = '" + HSendEmp +
-                        "',HReceiveEmp = '" + HReceiveEmp +
-                        "',HType = '" + HType +
-                        "',HCopyEmp = '" + HCopyEmp +
-                        "',HRemark = '" + HRemark +
-                        "',HOrgID = " + HOrgID +
-                        ",HUpdater = '" + HUpdater +
-                        "',HUpdateDate = '" + HUpdaterDate +
-                        "' where HInterID = " + HInterID;
-
-                    oCN.RunProc(sql);
-
-                    //鍒犻櫎瀛愯〃
-                    oCN.RunProc("delete from PM_WorkTaskBillSub where HInterID='" + HInterID + "'");
-                    //璁板綍鏃ュ織
-                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",淇敼宸ヤ綔浠诲姟:" + HBillNo);
-                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼宸ヤ綔浠诲姟锛�" + HBillNo + "','LMES-宸ヤ綔浠诲姟妯″潡','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
-                }else if (OperationType == 4 && ds.Tables[0].Rows.Count == 0)        //涓嬫帹
-                {
-                    string sql = "insert into PM_WorkTaskBillMain" +
-                        "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HBillNo,HProNumber,HProjectStageID,HName,HDate,HTaskNote,HPlanTimes" +
-                        ",HSelfTimes,HLastDate,HSendEmp,HReceiveEmp,HType,HCopyEmp,HRemark,HOrgID,HMaker,HMakeDate,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType)" +
-                        "values(" +
-                        "" + HYear +
-                        "," + HPeriod +
-                        ",'" + HBillType +
-                        "','" + HBillSubType +
-                        "'," + HInterID +
-                        ",'" + HBillNo +
-                        "','" + HProNumber +
+                        "'," + HProjectID +
+                        ",'" + HProNumber +
                         "'," + HProjectStageID +
                         ",'" + HName +
                         "','" + HDate +
@@ -296,6 +234,87 @@
                         "," + HMainSourceEntryID +
                         ",'" + HMainSourceBillNo +
                         "','" + HMainSourceBillType +
+                        "','" + HOrderLevID  +
+                        "')";
+
+                    //涓昏〃
+                    oCN.RunProc(sql);
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板宸ヤ綔浠诲姟:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板宸ヤ綔浠诲姟锛�" + HBillNo + "','LMES-宸ヤ綔浠诲姟妯″潡','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }
+                else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)                    //缂栬緫
+                {
+                    string sql = "update PM_WorkTaskBillMain set " +
+                        "HYear = " + HYear +
+                        ",HPeriod = " + HPeriod +
+                        ",HBillType = '" + HBillType +
+                        "',HBillSubType = '" + HBillSubType +
+                        "',HBillNo = '" + HBillNo +
+                        "',HProjectID = " + HProjectID +
+                        ",HProNumber = '" + HProNumber +
+                        "',HProjectStageID = " + HProjectStageID +
+                        ",HName = '" + HName +
+                        "',HDate = '" + HDate +
+                        "',HTaskNote = '" + HTaskNote +
+                        "',HPlanTimes = " + HPlanTimes +
+                        ",HSelfTimes = " + HSelfTimes +
+                        ",HLastDate = '" + HLastDate +
+                        "',HSendEmp = '" + HSendEmp +
+                        "',HReceiveEmp = '" + HReceiveEmp +
+                        "',HType = '" + HType +
+                        "',HCopyEmp = '" + HCopyEmp +
+                        "',HRemark = '" + HRemark +
+                        "',HOrgID = " + HOrgID +
+                        ",HUpdater = '" + HUpdater +
+                        "',HUpdateDate = '" + HUpdaterDate +
+                        "',HMainSourceInterID = " + HMainSourceInterID +
+                        ",HMainSourceEntryID = " + HMainSourceEntryID +
+                        ",HMainSourceBillNo = '" + HMainSourceBillNo +
+                        "',HMainSourceBillType = '" + HMainSourceBillType +
+                        "',HOrderLevID  = '" + HOrderLevID  +
+                        "' where HInterID = " + HInterID;
+
+                    oCN.RunProc(sql);
+
+                    //鍒犻櫎瀛愯〃
+                    oCN.RunProc("delete from PM_WorkTaskBillSub where HInterID='" + HInterID + "'");
+                    //璁板綍鏃ュ織
+                    LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",淇敼宸ヤ綔浠诲姟:" + HBillNo);
+                    oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼宸ヤ綔浠诲姟锛�" + HBillNo + "','LMES-宸ヤ綔浠诲姟妯″潡','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo);
+                }else if (OperationType == 4 && ds.Tables[0].Rows.Count == 0)        //涓嬫帹
+                {
+                    string sql = "insert into PM_WorkTaskBillMain" +
+                        "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HBillNo,HProjectID,HProNumber,HProjectStageID,HName,HDate,HTaskNote,HPlanTimes" +
+                        ",HSelfTimes,HLastDate,HSendEmp,HReceiveEmp,HType,HCopyEmp,HRemark,HOrgID,HMaker,HMakeDate,HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType,HOrderLevID )" +
+                        "values(" +
+                        "" + HYear +
+                        "," + HPeriod +
+                        ",'" + HBillType +
+                        "','" + HBillSubType +
+                        "'," + HInterID +
+                        ",'" + HBillNo +
+                        "'," + HProjectID +
+                        ",'" + HProNumber +
+                        "'," + HProjectStageID +
+                        ",'" + HName +
+                        "','" + HDate +
+                        "','" + HTaskNote +
+                        "'," + HPlanTimes +
+                        "," + HSelfTimes +
+                        ",'" + HLastDate +
+                        "','" + HSendEmp +
+                        "','" + HReceiveEmp +
+                        "','" + HType +
+                        "','" + HCopyEmp +
+                        "','" + HRemark +
+                        "'," + HOrgID +
+                        ",'" + HMaker +
+                        "','" + HMakerDate +
+                        "'," + HMainSourceInterID +
+                        "," + HMainSourceEntryID +
+                        ",'" + HMainSourceBillNo +
+                        "','" + HMainSourceBillType +
+                        "','" + HOrderLevID +
                         "')";
                     //涓昏〃
                     oCN.RunProc(sql);
@@ -388,6 +407,101 @@
                     string sql = sql1 + sWhere + " order by 鍗曟嵁鍙� desc";
                     ds = oCN.RunProcReturn(sql, "h_v_PM_WorkTaskBillList");
                 }
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ヤ綔浠诲姟鍒楄〃  涓嬫帹鏁版嵁鏌ヨ
+        /// <summary>
+        /// 杩斿洖椤圭洰闃舵鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_WorkTaskBill/XTList")]
+        [HttpGet]
+        public object XTList(string HInterID,string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                ds = oCN.RunProcReturn("select * from h_v_PM_WorkTaskBillMyList  where HInterID ='"+ HInterID + "'   and 鎺ュ崟浜�='"+user+"'", "h_v_PM_WorkTaskBillMyList");
+
+
+                //娣诲姞鍒楀悕
+                foreach (DataColumn col in ds.Tables[0].Columns)
+                {
+                    Type dataType = col.DataType;
+                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                }
+
+                objJsonResult.code = "1";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.data = ds.Tables[0];
+                objJsonResult.list = columnNameList;
+                return objJsonResult;
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 璁㈠崟绛夌骇鍒楄〃 鏌ヨ
+        /// <summary>
+        /// 杩斿洖椤圭洰闃舵鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_WorkTaskBill/getOrder")]
+        [HttpGet]
+        public object getOrder()
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                //if (HItemID == null || HItemID.Equals(""))
+                //{
+                //ds = oCN.RunProcReturn("select * from Gy_OrderLev ", "Gy_OrderLev");
+                //}
+                //else
+                //{
+                //    string sql = "select * from Gy_OrderLev where HItemID='"+ HItemID + "'";
+                //    ds = oCN.RunProcReturn(sql, "Gy_OrderLev");
+                //}
+                ds = oCN.RunProcReturn("select * from Gy_OrderLev ", "Gy_OrderLev");
+
 
                 //娣诲姞鍒楀悕
                 foreach (DataColumn col in ds.Tables[0].Columns)
@@ -948,6 +1062,163 @@
         }
         #endregion
 
+        #region 宸ヤ綔浠诲姟  寮�濮嬩换鍔�/鎾ら攢寮�濮嬪姛鑳�
+        [Route("PM_WorkTaskBill/BeginPM_WorkTaskBill")]
+        [HttpGet]
+        public object BeginPM_WorkTaskBill(string HInterID, int Type, string user)
+        {
+            try
+            {
+                
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "PM_WorkTaskBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                //Type 0 寮�濮嬩换鍔�  1  鎾ら攢浠诲姟  2缁撴潫浠诲姟
+                if (Type == 0)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁瀛樺湪
+                    DataSet ds;
+                    string sql = "select * from PM_WorkTaskBillMain  where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, "PM_WorkTaskBillMain");
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HMainSourceBillType"])== "4759")
+                        {
+                            var lInterID = ds.Tables[0].Rows[0]["HMainSourceInterID"];
+                            string sql1 = "update  PM_WorkTaskBillMain   set  HTaskStatus='宸插紑濮�' where HinterID = " + HInterID;
+                            oCN.RunProc(sql1);
+                            string sql2 = "update PM_CustomerTaskBillMain  set  HTaskStatus='宸插紑濮�' where HinterID = " + lInterID;
+                            oCN.RunProc(sql2);
+                        }
+                        else
+                        {
+                            string sql2 = "update PM_WorkTaskBillMain  set  HTaskStatus='宸插紑濮�' where HinterID = " + HInterID;
+                            oCN.RunProc(sql2);
+                        }
+                      
+
+                    }
+                }
+                else if(Type==1)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁瀛樺湪
+                    DataSet ds;
+                    string sql = "select * from PM_WorkTaskBillMain  where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql, "PM_WorkTaskBillMain");
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        var lInterID = ds.Tables[0].Rows[0]["HMainSourceInterID"];
+                        string sql1 = "update PM_WorkTaskBillMain  set   HTaskStatus='鏈紑濮�' where HinterID = " + HInterID;
+                        oCN.RunProc(sql1);
+                        string sql2 = "update PM_CustomerTaskBillMain   set  HTaskStatus='鏈紑濮�' where HinterID = " + lInterID;
+                        oCN.RunProc(sql2);
+                    }
+                }
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                oCN.RollBack();
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+        #region 宸ヤ綔浠诲姟  鍌績娆℃暟鍔熻兘
+        [Route("PM_WorkTaskBill/UpdateHHasten")]
+        [HttpGet]
+        public object UpdateHHasten(string HInterID, int HHasten, string user)
+        {
+            try
+            {
+
+                if (string.IsNullOrWhiteSpace(HInterID))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "HInterID涓虹┖锛�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                ClsPub.CurUserName = user;
+                BillOld.MvarItemKey = "PM_WorkTaskBillMain";
+                oCN.BeginTran();//寮�濮嬩簨鍔�
+
+                DataSet ds;
+                string sql = "select * from PM_WorkTaskBillMain  where HinterID = " + HInterID;
+                ds = oCN.RunProcReturn(sql, "PM_WorkTaskBillMain");
+                if (ds == null || ds.Tables[0].Rows.Count == 0)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                {
+                    string sql1 = "update PM_WorkTaskBillMain  set   HHasten='"+ HHasten+ "' where HinterID = " + HInterID;
+                    ds = oCN.RunProcReturn(sql1, "PM_WorkTaskBillMain");
+                }
+
+                oCN.Commit();//鎻愪氦浜嬪姟
+
+                objJsonResult.code = "0";
+                objJsonResult.count = 1;
+                objJsonResult.Message = "鎵ц鎴愬姛锛�";
+                objJsonResult.data = null;
+                return objJsonResult; ;
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "鎵ц澶辫触锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
         #region 浠诲姟姹囨姤 鏂板/缂栬緫-淇濆瓨
         #region 浠诲姟姹囨姤 琛ㄥご鏁版嵁
         public class PM_WorkTaskReportBill_Main
@@ -982,6 +1253,7 @@
         public class PM_WorkTaskReportBill_Sub
         {
             public int RowID;
+            public int HProjectID;
             public string HProNumber;
             public int HProjectStageID;
             public string HProjectStageName;
@@ -996,9 +1268,10 @@
             public int HSourceEntryID;
             public string HSourceBillNo;
             public string HSourceBillType;
+            public bool HFinishFlag;
         }
         #endregion
-        #region 椤圭洰闃舵娓呭崟 鏂板/缂栬緫-淇濆瓨
+        #region 浠诲姟姹囨姤 鏂板/缂栬緫-淇濆瓨
         /// <summary>
         /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳
         ///鍙傛暟锛歴tring sql銆�
@@ -1032,7 +1305,7 @@
             return objJsonResult;
         }
         #endregion
-        #region 娣诲姞 椤圭洰闃舵娓呭崟 涓昏〃
+        #region 娣诲姞 浠诲姟姹囨姤 涓昏〃
         public json AddBillMain_WorkTaskReportBill(string msg1)
         {
             string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
@@ -1094,16 +1367,23 @@
                 string HUpdater = mainList[0].HUpdater;
                 string HUpdaterDate = mainList[0].HUpdaterDate;
 
-
-
-                if (OperationType == 2)
+                //淇濆瓨鍓嶆帶鍒�
+                DataSet BeforeDs = oCN.RunProcReturn("Exec h_p_PM_WorkTaskReportBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_PM_WorkTaskReportBill_BeforeSaveCtrl");
+                if (BeforeDs == null || BeforeDs.Tables[0].Rows.Count == 0)
                 {
-                    ds = oCN.RunProcReturn("select * from PM_WorkTaskReportBillMain where HBillNo ='" + HBillNo + "'", "PM_WorkTaskReportBillMain");
-                    if (ds.Tables[0].Rows.Count > 0)
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨鍓嶅垽鏂け璐ワ紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    if (DBUtility.ClsPub.isLong(BeforeDs.Tables[0].Rows[0]["HBack"]) == 1)
                     {
                         objJsonResult.code = "0";
                         objJsonResult.count = 0;
-                        objJsonResult.Message = "鍗曟嵁鍙烽噸澶�,璇烽噸鏂拌緭鍏�!";
+                        objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(BeforeDs.Tables[0].Rows[0]["HRemark"]);
                         objJsonResult.data = null;
                         return objJsonResult;
                     }
@@ -1155,6 +1435,8 @@
 
                     oCN.RunProc(sql);
 
+                    //鍒犻櫎瀛愯〃鏃�  鍥炲~宸ヤ綔浠诲姟鍗曞叧鑱旀暟閲忋�佸崟鎹姸鎬�
+                    oCN.RunProc("exec h_p_PM_UpDateRelation_WorkTaskToWorkTaskReport_Delete " + HInterID.ToString());
                     //鍒犻櫎瀛愯〃
                     oCN.RunProc("delete from PM_WorkTaskReportBillSub where HInterID='" + HInterID + "'");
                     //璁板綍鏃ュ織
@@ -1217,7 +1499,7 @@
             }
         }
         #endregion
-        #region 娣诲姞椤圭洰闃舵娓呭崟 瀛愯〃
+        #region 娣诲姞浠诲姟姹囨姤 瀛愯〃
         public json AddBillSub_WorkTaskReportBill(string msg3, long HInterID, string HBillNo, int OperationType)
         {
             List<PM_WorkTaskReportBill_Sub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PM_WorkTaskReportBill_Sub>>(msg3);
@@ -1227,6 +1509,7 @@
                 i++;                                            //鍚屼竴涓富琛ㄤ笅鐨勫瓙琛ㄧ殑鍐呯爜鑷
 
                 int HEntryID = i;
+                int HProjectID = oSub.HProjectID;
                 string HProNumber = oSub.HProNumber;
                 int HProjectStageID = oSub.HProjectStageID;
                 string HName = oSub.HName;
@@ -1240,16 +1523,41 @@
                 int HSourceEntryID = oSub.HSourceEntryID;
                 string HSourceBillNo = oSub.HSourceBillNo;
                 string HSourceBillType = oSub.HSourceBillType;
+                bool HFinishFlag = oSub.HFinishFlag;
 
+                if (HFinishFlag==true)
+                {
+                    //鍒ゆ柇鍗曟嵁鏄惁瀛樺湪
+                    DataSet ds;
+                    string sqls = "select * from PM_WorkTaskBillMain  where HinterID = " + HSourceInterID;
+                    ds = oCN.RunProcReturn(sqls, "PM_WorkTaskBillMain");
+                    if (ds == null || ds.Tables[0].Rows.Count == 0)
+                    {
+                        objJsonResult.code = "0";
+                        objJsonResult.count = 0;
+                        objJsonResult.Message = "鍗曟嵁涓嶅瓨鍦紒";
+                        objJsonResult.data = null;
+                        return objJsonResult;
+                    }
+                    if (ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0)
+                    {
+                        var lInterID = ds.Tables[0].Rows[0]["HMainSourceInterID"];
+                        string sql1 = "update PM_WorkTaskBillMain  set   HTaskStatus='宸插畬鎴�' where HinterID = " + HSourceInterID;
+                        oCN.RunProc(sql1);
+                        string sql2 = "update PM_CustomerTaskBillMain   set   HTaskStatus='宸插畬鎴�' where HinterID = " + lInterID;
+                        oCN.RunProc(sql2);
+                    }
+                }
 
                 string sql = "insert into PM_WorkTaskReportBillSub" +
-                    "(HInterID,HBillNo_bak,HEntryID,HRemark,HProNumber,HProjectStageID,HName,HTaskNote,HType,HRelTimes,HReportNote,HAdv,HSourceInterID,HSourceEntryID,HSourceBillType,HSourceBillNo) " +
+                    "(HInterID,HBillNo_bak,HEntryID,HRemark,HProjectID,HProNumber,HProjectStageID,HName,HTaskNote,HType,HRelTimes,HReportNote,HAdv,HSourceInterID,HSourceEntryID,HSourceBillType,HSourceBillNo,HFinishFlag) " +
                     "values(" +
                     "" + HInterID +
                     ",'" + HBillNo +
                     "'," + HEntryID +
                     ",'" + HRemark +
-                    "','" + HProNumber +
+                    "'," + HProjectID +
+                    ",'" + HProNumber +
                     "'," + HProjectStageID +
                     ",'" + HName +
                     "','" + HTaskNote +
@@ -1261,16 +1569,44 @@
                     "," + HSourceEntryID +
                     ",'" + HSourceBillType +
                     "','" + HSourceBillNo +
-                    "')";
+                    "'," + DBUtility.ClsPub.BoolToString(HFinishFlag) +
+                    ")";
 
                 oCN.RunProc(sql);
             }
 
-            objJsonResult.code = "1";
-            objJsonResult.count = 1;
-            objJsonResult.Message = null;
-            objJsonResult.data = null;
-            return objJsonResult;
+            //淇濆瓨鍚庢帶鍒�
+            DataSet AfterDs = oCN.RunProcReturn("Exec h_p_PM_WorkTaskReportBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_PM_WorkTaskReportBill_AfterSaveCtrl");
+            if (AfterDs == null || AfterDs.Tables[0].Rows.Count == 0)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "淇濆瓨鍚庡垽鏂け璐ワ紒";
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+            else
+            {
+                if (DBUtility.ClsPub.isLong(AfterDs.Tables[0].Rows[0]["HBack"]) == 1)
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "淇濆瓨澶辫触锛�" + DBUtility.ClsPub.isStrNull(AfterDs.Tables[0].Rows[0]["HRemark"]);
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+                else
+                {
+                    //鍥炲~宸ヤ綔浠诲姟鍗曞叧鑱旀暟閲忋�佸崟鎹姸鎬�
+                    oCN.RunProc("exec h_p_PM_UpDateRelation_WorkTaskToWorkTaskReport_Add " + HInterID.ToString());
+
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = null;
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+            }
         }
         #endregion
         #endregion
@@ -1420,6 +1756,8 @@
 
                 oCN.BeginTran();
 
+                //鍒犻櫎瀛愯〃鏃�  鍥炲~宸ヤ綔浠诲姟鍗曞叧鑱旀暟閲忋�佸崟鎹姸鎬�
+                oCN.RunProc("exec h_p_PM_UpDateRelation_WorkTaskToWorkTaskReport_Delete " + HInterID.ToString());
                 oCN.RunProc("delete from PM_WorkTaskReportBillMain where HInterID = " + HInterID);
                 oCN.RunProc("delete from PM_WorkTaskReportBillSub where HInterID='" + HInterID + "'");
 
@@ -1427,7 +1765,7 @@
 
                 objJsonResult.code = "1";
                 objJsonResult.count = 1;
-                objJsonResult.Message = "Sucess锛�";
+                objJsonResult.Message = "鍒犻櫎鎴愬姛锛�";
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -1932,5 +2270,60 @@
             }
         }
         #endregion
+
+        #region  鎴戠殑浠诲姟鍒楄〃锛堟湭瀹屾垚锛屽凡瀹屾垚锛屾鍦ㄨ繘琛岋級
+        /// <summary>
+        /// 杩斿洖鎴戠殑浠诲姟鍒楄〃
+        ///鍙傛暟锛歴tring sql銆�
+        ///杩斿洖鍊硷細object銆�
+        /// </summary>
+        [Route("PM_WorkTaskBill/PM_WorkTaskBillMainList")]
+        [HttpGet]
+        public object PM_WorkTaskBillMainList( string user)
+        {
+            try
+            {
+                List<object> columnNameList = new List<object>();
+
+                ds = oCN.RunProcReturn("exec h_p_PM_WorkTaskBillMyList " + user, "h_p_PM_WorkTaskBillMyList");
+
+                if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                {
+                    //娣诲姞鍒楀悕
+                    foreach (DataColumn col in ds.Tables[0].Columns)
+                    {
+                        Type dataType = col.DataType;
+                        string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+                        columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+                    }
+                    objJsonResult.code = "1";
+                    objJsonResult.count = 1;
+                    objJsonResult.Message = "Sucess锛�";
+                    objJsonResult.data = ds;
+                    objJsonResult.list = columnNameList;
+                    return objJsonResult;
+                }
+                else
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犳暟鎹�";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+            }
+            catch (Exception e)
+            {
+                objJsonResult.code = "0";
+                objJsonResult.count = 0;
+                objJsonResult.Message = "Exception锛�" + e.ToString();
+                objJsonResult.data = null;
+                return objJsonResult;
+            }
+        }
+        #endregion
+
+      
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1