From ee9f4215d0750a15031bfb89f0f347dadc8c1b70 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期三, 07 十二月 2022 13:10:46 +0800
Subject: [PATCH] 提交

---
 WebAPI/Controllers/SBGL/Sb_EquipRepairSendWorkBillController.cs |  432 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 416 insertions(+), 16 deletions(-)

diff --git a/WebAPI/Controllers/SBGL/Sb_EquipRepairSendWorkBillController.cs b/WebAPI/Controllers/SBGL/Sb_EquipRepairSendWorkBillController.cs
index e5b13d8..f33336d 100644
--- a/WebAPI/Controllers/SBGL/Sb_EquipRepairSendWorkBillController.cs
+++ b/WebAPI/Controllers/SBGL/Sb_EquipRepairSendWorkBillController.cs
@@ -1,9 +1,11 @@
-锘縰sing System;
+锘縰sing Newtonsoft.Json.Linq;
+using System;
 using System.Collections.Generic;
 using System.Data;
 using System.Linq;
 using System.Web;
 using System.Web.Http;
+using WebAPI.DLL;
 using WebAPI.Models;
 
 namespace WebAPI.Controllers.SBGL
@@ -12,6 +14,9 @@
     {
         public DBUtility.ClsPub.Enum_BillStatus BillStatus;
 
+        ClsSb_EquipRepairSendWorkBillMain omodel = new ClsSb_EquipRepairSendWorkBillMain();
+        List<ClsSb_EquipRepairSendWorkBillSub> DetailColl = new List<ClsSb_EquipRepairSendWorkBillSub>();
+        ClsSb_EquipRepairSendWorkBill oBill = new ClsSb_EquipRepairSendWorkBill();
         private json objJsonResult = new json();
         SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
         DataSet ds;
@@ -19,39 +24,50 @@
         #region 璁惧缁翠慨娲惧伐鍗曟煡璇㈠垪琛�
         [Route("Sb_EquipRepairSendWorkBill/GetEquipRepairSendWorkBillList")]
         [HttpGet]
-        public object GetEquipRepairSendWorkBillList(string sWhere)
+        public object GetEquipRepairSendWorkBillList(string sWhere,string user)
         {
             try
             {
-                string sql = "select * from  h_v_Sb_EquipRepairSendWorkBillList ";
-                if (sWhere == "" || sWhere == null)
-                {
-                    ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipRepairSendWorkBillList");
-                }
-                else
-                {
-                    ds = oCN.RunProcReturn(sql + sWhere, "h_v_Sb_EquipRepairSendWorkBillList");
-                }
-
-                if (ds.Tables[0].Rows.Count == 0||ds==null)
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipRepairSendWorkBillList", 1, false, user))
                 {
                     objJsonResult.code = "0";
                     objJsonResult.count = 0;
-                    objJsonResult.Message ="鏃犺褰�";
+                    objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
                     objJsonResult.data = null;
                     return objJsonResult;
                 }
+                string sql = "select * from  h_v_Sb_EquipRepairSendWorkBillList where 1=1 ";
+                if (sWhere == "" || sWhere == null)
+                {
+                    ds = oCN.RunProcReturn(sql+ " order by hmainid desc ", "h_v_Sb_EquipRepairSendWorkBillList");
+                }
+                else
+                {
+                    ds = oCN.RunProcReturn(sql + sWhere+ " order by hmainid desc ", "h_v_Sb_EquipRepairSendWorkBillList");
+                }
+
+                //if (ds.Tables[0].Rows.Count != 0 || ds != null)
+                //{
                 objJsonResult.code = "1";
                 objJsonResult.count = ds.Tables[0].Rows.Count;
-                objJsonResult.Message = "Sucess";
+                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)
             {
                 objJsonResult.code = "0";
                 objJsonResult.count = 0;
-                objJsonResult.Message = "Exception"+e.ToString();
+                objJsonResult.Message = "Exception" + e.ToString();
                 objJsonResult.data = null;
                 return objJsonResult;
             }
@@ -59,6 +75,390 @@
         #endregion
 
         #region 璁惧缁翠慨娲惧伐鍗� 娣诲姞/淇敼
+        [Route("Sb_EquipRepairSendWorkBill/AddEquipRepairSendWorkBill")]
+        [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 msg4 = sArray[4].ToString();
+            try
+            {
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipRepairSendWorkBill_Edit", 1, false, msg4))
+                {
+                    objJsonResult.code = "0";
+                    objJsonResult.count = 0;
+                    objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+                    objJsonResult.data = null;
+                    return objJsonResult;
+                }
+
+                omodel = Newtonsoft.Json.JsonConvert.DeserializeObject<ClsSb_EquipRepairSendWorkBillMain>(msg2);
+                string BillType = "3909";
+
+
+                if (OperationType == 1)//鏂板
+                {
+                    //涓昏〃
+                    oCN.RunProc("Insert Into Sb_EquipRepairSendWorkBillMain" +
+               "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
+              ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
+              ",HEquipID,HExplanation,HInnerBillNo,HRepairID,HEmpID" +
+              ",HManagerID,HDeptID,HRepairContent,HRepairPlanBeginDate,HRepairPlanEndDate" +
+              ",HPlanTimes,HCycleUnit" +
+              ") " +
+              " values('" + BillType + "','" + BillType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
+              ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + omodel.HMaker + "',getdate()" +
+              ", " + omodel.HEquipID.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'," + omodel.HRepairID.ToString() + "," + omodel.HEmpID.ToString() +
+              "," + omodel.HManagerID.ToString() + "," + omodel.HDeptID.ToString() + ",'" + omodel.HRepairContent + "','" + omodel.HRepairPlanBeginDate + "','" + omodel.HRepairPlanEndDate + "'" +
+              "," + omodel.HPlanTimes.ToString() + ",'" + omodel.HCycleUnit + "'" +
+              ") ");
+
+                }
+                else if (OperationType == 3)
+                {
+                    //淇敼
+                    oCN.RunProc("UpDate Sb_EquipRepairSendWorkBillMain set  " +
+                    "HDate='" + omodel.HDate + "'" +
+                    ",HYear='" + omodel.HYear.ToString() + "'" +
+                    ",HPeriod='" + omodel.HPeriod.ToString() + "'" +
+                    ",HRemark='" + omodel.HRemark + "'" +
+                    ",HUpDater='" + omodel.HUpDater + "'" +
+                    ",HUpDateDate=getdate()" +
+                    //=========================================
+                    ",HEquipID=" + omodel.HEquipID.ToString() +
+                    ",HRepairID=" + omodel.HRepairID.ToString() +
+                    ",HPlanTimes=" + omodel.HPlanTimes.ToString() +
+                    ",HEmpID=" + omodel.HEmpID.ToString() +
+                    ",HManagerID=" + omodel.HManagerID.ToString() +
+                    ",HDeptID=" + omodel.HDeptID.ToString() +
+                    ",HRepairPlanBeginDate='" + omodel.HRepairPlanBeginDate + "'" +
+                    ",HRepairPlanEndDate='" + omodel.HRepairPlanEndDate + "'" +
+                    ",HRepairContent='" + omodel.HRepairContent + "'" +
+                    ",HCycleUnit='" + omodel.HCycleUnit + "'" +
+                    ",HExplanation='" + omodel.HExplanation + "'" +
+                    ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
+                    " where HInterID=" + omodel.HInterID);
+
+                    //鍒犻櫎瀛愯〃
+                    oCN.RunProc("delete from Sb_EquipRepairSendWorkBillSub where HInterID='" + omodel.HInterID + "' 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<ClsSb_EquipRepairSendWorkBillSub>>(msg3);
+            int i = 1;
+            //鎻掑叆瀛愯〃
+            foreach (Models.ClsSb_EquipRepairSendWorkBillSub oSub in DetailColl)
+            {
+                oCN.RunProc("Insert into Sb_EquipRepairSendWorkBillSub " +
+                       " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
+                       ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
+                       ",HRepairID,HManagerID,HRepairExplanation" +
+                       ") values("
+                       + omodel.HInterID.ToString() + "," + (hentryid == -1 ? i : hentryid) + ",'" + oSub.HCloseMan + "'," + oSub.HEntryCloseDate.ToShortDateString() + "," + 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.HRepairID.ToString() + "," + oSub.HManagerID.ToString() + ",'" + oSub.HRepairExplanation + "'" +
+                       ") ");
+                i++;
+            }
+
+            objJsonResult.code = "1";
+            objJsonResult.count = 1;
+            objJsonResult.Message = null;
+            objJsonResult.data = null;
+            return objJsonResult;
+        }
+        #endregion
+
+        #region 璁惧缁翠慨娲惧伐鍗� 鍒犻櫎
+        [Route("Sb_EquipRepairSendWorkBill/DeleteWorkBill")]
+        [HttpGet]
+        public object MouldDeleteBill(long HInterID, string User)
+        {
+            try
+            {
+                //鍒ゆ柇鏉冮檺
+                if (!DBUtility.ClsPub.Security_Log("Sb_EquipRepairSendWorkBill_Delete", 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
+
+        #region 璁惧缁翠慨娲惧伐鍗�  瀹℃牳/鍙嶅鏍�
+        [Route("Sb_EquipRepairSendWorkBill/EquipAuditBill")]
+        [HttpGet]
+        public object EquipAuditBill(int HInterID, int IsAudit, string CurUserName)
+        {
+            string ModRightNameCheck = "Sb_EquipRepairSendWorkBill_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 Sb_EquipRepairSendWorkBillMain where HInterID='" + HInterID + "'", "Sb_EquipRepairSendWorkBillMain");
+
+                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 == 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 = "瀹℃牳澶辫触!";
+                        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 = "鍙嶅鏍稿け璐�!";
+                        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 Sb_EquipRepairSendWorkBillMain set HBillStatus=2,hchecker='"+Hchecker+ "',hcheckdate='"+DateTime.Now+ "' 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 Sb_EquipRepairSendWorkBillMain set HBillStatus=1,hchecker='',hcheckdate=null where HInterID='" + lngBillKey + "'");
+                oCN.Commit();//鍏抽棴浜嬪姟
+                sReturn = "鍙嶅鏍稿崟鎹垚鍔�!";
+                return true;
+            }
+            catch (Exception e)
+            {
+                sReturn = e.Message;
+                throw(e);
+            }
+        }
         #endregion
     }
 }
\ No newline at end of file

--
Gitblit v1.9.1