yusijie
2024-10-03 086d903ace6d38a67e2dc69d35429cc9b1480563
WebAPI/Controllers/BaseSet/Gy_ProcessController.cs
@@ -1,4 +1,5 @@
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Pub_Class;
using System;
using System.Collections;
@@ -7,6 +8,9 @@
using System.Data.SqlClient;
using System.Web.Http;
using WebAPI.Models;
using System.Web;
using WebAPI.Controllers.SCGL.日计划管理;
using System.IO;
namespace WebAPI.Controllers
{
    public class Gy_ProcessController : ApiController
@@ -17,15 +21,407 @@
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        #region 工序 文件上传
        [Route("Gy_Process/Gy_Process_Excel")]
        [HttpPost]
        public object Gy_Process_Excel()
        {
            try
            {
                //获取文件名称
                var file = HttpContext.Current.Request.Files[0];
                //获取文件物理路径
                string ExcelPath = HttpContext.Current.Server.MapPath("~/" + file.FileName);
                //保存文件
                file.SaveAs(ExcelPath);
                NpoiHelper np = new NpoiHelper();
                DataSet ExcelDs = np.ReadExcel(ExcelPath, 1, 1, "0");
                //删除文件
                File.Delete(ExcelPath);
                //创建临时表
                DataTable tb2 = new DataTable("dt2");
                //添加列名
                for (int i = 0; i < ExcelDs.Tables[0].Columns.Count; i++)
                {
                    tb2.Columns.Add(ExcelDs.Tables[0].Rows[0][i].ToString());
                }
                //模板缺少列 但需要从数据库中查询出来显示在页面的字段
                tb2.Columns.Add("HOrgID", typeof(Int32));//组织ID
                tb2.Columns.Add("HDeptID", typeof(Int32));//部门ID
                tb2.Columns.Add("HWorkCenterID", typeof(Int32));//工作中心ID
                tb2.Columns.Add("HQCSchemeID_Fst", typeof(Int32));//首件质检方案ID
                tb2.Columns.Add("HQCSchemeID_Proc", typeof(Int32));//工序质检方案ID
                tb2.Columns.Add("HQCSchemeID_Patrol", typeof(Int32));//巡检质检方案ID
                //添加数据
                for (int i = 1; i < ExcelDs.Tables[0].Rows.Count; i++)
                {
                    DataRow row = tb2.NewRow();
                    for (int j = 0; j < ExcelDs.Tables[0].Columns.Count; j++)
                    {
                        row[j] = ExcelDs.Tables[0].Rows[i][j].ToString();
                    }
                    tb2.Rows.Add(row);
                }
                var error = "";
                //查询工艺路线没有的列
                if (!tb2.Columns.Contains("组织代码"))
                    error += "没有找到【组织代码】的标题,";
                if (!tb2.Columns.Contains("组织名称"))
                    error += "没有找到【组织名称】的标题,";
                if (!tb2.Columns.Contains("工序名称"))
                    error += "没有找到【工序名称】的标题,";
                if (!tb2.Columns.Contains("工序代码"))
                    error += "没有找到【工序代码】的标题,";
                if (!tb2.Columns.Contains("部门代码"))
                    error += "没有找到【部门代码】的标题,";
                if (!tb2.Columns.Contains("部门名称"))
                    error += "没有找到【部门名称】的标题,";
                if (!tb2.Columns.Contains("首件质检方案单据号"))
                    error += "没有找到【首件质检方案单据号】的标题,";
                if (!tb2.Columns.Contains("首件质检方案名称"))
                    error += "没有找到【首件质检方案名称】的标题,";
                if (!tb2.Columns.Contains("工作中心代码"))
                    error += "没有找到【工作中心代码】的标题,";
                if (!tb2.Columns.Contains("工作中心名称"))
                    error += "没有找到【工作中心名称】的标题,";
                if (!tb2.Columns.Contains("工序质检方案单据号"))
                    error += "没有找到【工序质检方案单据号】的标题,";
                if (!tb2.Columns.Contains("工序质检方案名称"))
                    error += "没有找到【工序质检方案名称】的标题,";
                if (!tb2.Columns.Contains("巡检质检方案单据号"))
                    error += "没有找到【巡检质检方案单据号】的标题,";
                if (!tb2.Columns.Contains("巡检质检方案名称"))
                    error += "没有找到【巡检质检方案名称】的标题,";
                if (error.Length > 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = $"Excel模板存在错误,{error}\r\n";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                for (int i = 0; i <= tb2.Rows.Count - 1; i++)
                {
                    string HProcessName = "";
                    string HProcessNum = "";
                    string HORGNumber = "";
                    string HORGName = "";
                    string HDeptNum = "";
                    string HDeptName = "";
                    string HCentNum = "";
                    string HCentName = "";
                    string HQCSchemeName_Fst = "";
                    string HQCSchemeNum_Fst = "";
                    string HQCSchemeName_Proc = "";
                    string HQCSchemeNum_Proc = "";
                    string HQCSchemeName_Patrol = "";
                    string HQCSchemeNum_Patrol = "";
                    HProcessName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工序名称"].ToString());
                    HProcessNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工序代码"].ToString());
                    HORGNumber = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织代码"].ToString());
                    HORGName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["组织名称"].ToString());
                    HDeptNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["部门代码"].ToString());
                    HDeptName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["部门名称"].ToString());
                    HCentNum = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工作中心代码"].ToString());
                    HCentName = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工作中心名称"].ToString());
                    HQCSchemeNum_Fst = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["首件质检方案单据号"].ToString());
                    HQCSchemeName_Fst = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["首件质检方案名称"].ToString());
                    HQCSchemeNum_Proc = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工序质检方案单据号"].ToString());
                    HQCSchemeName_Proc = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["工序质检方案名称"].ToString());
                    HQCSchemeNum_Patrol = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["巡检质检方案单据号"].ToString());
                    HQCSchemeName_Patrol = DBUtility.ClsPub.isStrNull(tb2.Rows[i]["巡检质检方案名称"].ToString());
                    //检查物料
                    int index = i + 1;
                    if (HORGNumber != "")
                    {
                        //查询组织
                        ds = oCN.RunProcReturn("select * from Xt_ORGANIZATIONS where  HNumber='" + HORGNumber + "' and Hname='" + HORGName + "'", "Xt_ORGANIZATIONS");
                        if (ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "第" + index + "行,组织不存在!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            tb2.Rows[i]["HOrgID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                        string HORGid = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        //查询部门
                        ds = oCN.RunProcReturn("select * from Gy_Department where  HNumber='" + HDeptNum + "'  and HUSEORGID=" + HORGid + "", "Gy_Department");
                        if (ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "第" + index + "行,该" + HORGName + "组织,部门:" + HDeptName + ",不存在!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            tb2.Rows[i]["HDeptID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                        //查询首件质检方案
                        ds = oCN.RunProcReturn("select * from Gy_QCCheckProjectMain where  HBillNo='" + HQCSchemeNum_Fst + "' and HUSEORGID=" + HORGid + "", "Gy_QCCheckProjectMain");
                        if (ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "第" + index + "行,该" + HORGName + "组织,首件质检方案:" + HQCSchemeName_Fst + ",不存在!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            tb2.Rows[i]["HQCSchemeID_Fst"] = ds.Tables[0].Rows[0]["HInterID"].ToString();
                        }
                        //查询工序质检方案
                        ds = oCN.RunProcReturn("select * from Gy_QCCheckProjectMain where  HBillNo='" + HQCSchemeNum_Proc + "' and HUSEORGID=" + HORGid + "", "Gy_QCCheckProjectMain");
                        if (ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "第" + index + "行,该" + HORGName + "组织,工序质检方案:" + HQCSchemeName_Proc + ",不存在!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            tb2.Rows[i]["HQCSchemeID_Proc"] = ds.Tables[0].Rows[0]["HInterID"].ToString();
                        }
                        //查询巡检质检方案
                        ds = oCN.RunProcReturn("select * from Gy_QCCheckProjectMain where  HBillNo='" + HQCSchemeNum_Patrol + "' and HUSEORGID=" + HORGid + "", "Gy_QCCheckProjectMain");
                        if (ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "第" + index + "行,该" + HORGName + "组织,巡检质检方案:" + HQCSchemeName_Patrol + ",不存在!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            tb2.Rows[i]["HQCSchemeID_Patrol"] = ds.Tables[0].Rows[0]["HInterID"].ToString();
                        }
                        //查询工作中心
                        ds = oCN.RunProcReturn("select * from Gy_WorkCenter where  HNumber='" + HCentNum + "' and HUSEORGID=" + HORGid + "", "Gy_WorkCenter"); //
                        if (ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "第" + index + "行,该" + HORGName + "组织,工作中心:" + HCentName + ",不存在!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            tb2.Rows[i]["HWorkCenterID"] = ds.Tables[0].Rows[0]["HItemID"].ToString();
                        }
                        //工序名称
                        if (HProcessName == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "第" + index + "行,工序名称不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        //工序代码
                        if (HProcessNum == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "第" + index + "行,工序资源代码不能为空!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    else
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "第" + index + "行,组织代码为空";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = error;
                objJsonResult.data = tb2;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 工序项目 导入(保存)
        [Route("Gy_Process/Gy_Process_btnSave")]
        [HttpPost]
        public object Gy_Process_btnSave([FromBody] JObject sMainSub)
        {
            var _value = sMainSub["sMainSub"].ToString();
            string msg1 = _value.ToString();
            string[] sArray = msg1.Split(new string[] { "&和" }, StringSplitOptions.RemoveEmptyEntries);
            string msg2 = sArray[0].ToString();
            string user = sArray[1].ToString();
            try
            {
                if (!DBUtility.ClsPub.Security_Log("Gy_Porcess_Edit", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                List<object> Excel = Newtonsoft.Json.JsonConvert.DeserializeObject<List<object>>(msg2);
                List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
                foreach (JObject item in Excel)
                {
                    Dictionary<string, string> dic = new Dictionary<string, string>();
                    foreach (var itm in item.Properties())
                    {
                        dic.Add(itm.Name, itm.Value.ToString());
                    }
                    list.Add(dic);
                }
                oCN.BeginTran();
                int i = 1;
                foreach (Dictionary<string, string> item in list)
                {
                    string HDeptID = item["HDeptID"].ToString();//部门
                    string HOrgID = item["HOrgID"].ToString();//组织ID
                    string HWorkCenterID = item["HWorkCenterID"].ToString();//工作中心
                    string HQCSchemeID_Fst = item["HQCSchemeID_Fst"].ToString();//首件质检方案ID
                    string HQCSchemeID_Proc = item["HQCSchemeID_Proc"].ToString();//工序质检方案ID
                    string HQCSchemeID_Patrol = item["HQCSchemeID_Patrol"].ToString();//巡检质检方案ID
                    string HProcessName = item["工序名称"].ToString();
                    string HProcessNum = item["工序代码"].ToString();
                    string sShortNumber;
                    sShortNumber = DBUtility.ClsPub.GetShortNumber(HProcessNum);//短代码
                    if (sShortNumber.Trim() == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!短代码为空!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    int HEndFlag = 1;//末级标志
                    int HLevel = DBUtility.ClsPub.GetLevel(HProcessNum); //等级
                    if (!DBUtility.ClsPub.AllowNumber(HProcessNum.Trim()))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!代码中不能出现连续‘.’并且首位末位不能为‘.’!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    ds = oCN.RunProcReturn("select * from Gy_Process where HNumber='" + HProcessNum + "'", "Gy_Source");
                    if (ds.Tables[0].Rows.Count == 0)
                    {
                        string sql = "insert into Gy_Process(HName,HNumber,HDeptID,HUSEORGID,HCREATEORGID,HWorkCenterID,HShortNumber,HQCSchemeID_Fst,HQCSchemeID_Proc,HQCSchemeID_Patrol,HEndFlag,HLevel,HHelpCode,HParentID,HStopflag,HRemark,HTypeFlow,HTypeCount)" +
                            $"values('{HProcessName}', '{HProcessNum}',{HDeptID}, {HOrgID}, {HOrgID}, {HWorkCenterID}, '{sShortNumber}',{HQCSchemeID_Fst},{HQCSchemeID_Proc},{HQCSchemeID_Patrol},{HEndFlag},{HLevel},'',0,0,'',0,0)";
                        oCN.RunProc(sql);
                    }
                    else
                    {
                        oCN.RunProc("   update  Gy_Process set HWorkCenterID=" + HWorkCenterID + ",HDeptID=" + HDeptID + ",HQCSchemeID_Fst=" + HQCSchemeID_Fst + ",HQCSchemeID_Proc=" + HQCSchemeID_Proc + ",HQCSchemeID_Patrol=" + HQCSchemeID_Patrol + "  where HNumber='" + HProcessNum + "'");
                    }
                    i++;
                }
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "导入成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                LogService.Write(e);
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        /// <summary>
        /// 修改单据-保存按钮
        /// 新增单据-保存按钮
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Gy_Process/EditBill")]
        [Route("Gy_Process/AddNew")]
        [HttpPost]
        //原代码 用于 替换子项目
        public object EditBill([FromBody] JObject oMain)
        public object AddNew([FromBody] JObject oMain)
        {
            try
            {
@@ -33,7 +429,9 @@
                string msg1 = _value.ToString();
                //反序列化
                msg1 = "[" + msg1.ToString() + "]";
                DAL.ClsGy_Process_Ctl oDept = new DAL.ClsGy_Process_Ctl();
                DAL.ClsGy_Process_View oDeptHlp = new DAL.ClsGy_Process_View();
                List<Gy_Process> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_Process>>(msg1);
                long HItemID = list[0].HItemID;
@@ -64,46 +462,16 @@
                long HDeptID = list[0].HDeptID;
                long HProcID = list[0].HProcID;
                //判断权限
                //if (!ClsPub.Security_Log(msg5, 1, true, msg4))
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "没有找到该功能模块!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                //if (!DBUtility.ClsPub.AllowNumber(HNumber))
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "代码中不能出现连续‘.’并且首位末位不能为‘.’!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                //if (oDept.HavSameNumber(HItemID, HNumber))
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "代码重复!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                if (!DBUtility.ClsPub.AllowNumber(HNumber))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "代码中不能出现连续‘.’并且首位末位不能为‘.’!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //若MAINDI重复则重新获取
                //主表
                //oCN.RunProc("Update Gy_Process set " +
                //    " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
                //    ",HTypeFlow,HTypeCount,HDeptNumber,HSNo" +
                //    ",HLevel,HEndFlag,HStopflag,HRemark,HDeptID,HBarCodeForBase,HProcessID_K3,HBillSubType,HAutoTrunFlag" +
                //    ",HFixPrice,HOverFixPrice,HProcMulID,HProcCheckNote) " +
                //    " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + HParentID.ToString() +
                //    "," + Convert.ToString(HTypeFlow ? 1 : 0) + "," + Convert.ToString(HTypeCount ? 1 : 0) + ",'" + HDeptNumber + "'," + HSNo.ToString() +
                //    "," + HLevel.ToString() + "," + Convert.ToString(HEndFlag ? 1 : 0) + "," + Convert.ToString(HStopflag ? 1 : 0) + ",'" + HRemark + "'," + HDeptID +
                //    ",'" + HBarCode + "'," + HProcessID_K3 + ",'" + HBillSubType + "'," + Convert.ToString(HAutoTrunFlag ? 1 : 0) +
                //    "," + HFixPrice.ToString() + "," +HOverFixPrice.ToString() + "," + HProcMulID.ToString() + ",'" + HProcCheckNote.ToString() + "')", ref DBUtility.ClsPub.sExeReturnInfo);
                oCN.BeginTran();
                oCN.RunProc("Update Gy_Process set " +
                    " HNumber='" + HNumber + "'" +
@@ -127,21 +495,347 @@
                    ",HFixPrice= " + HFixPrice +
                    ",HOverFixPrice= " + HOverFixPrice +
                    ",HProcMulID= " + HProcMulID +
                    ",HProcCheckNote='" + HProcCheckNote + "'" +
                    " Where HItemID=" + HItemID, ref DBUtility.ClsPub.sExeReturnInfo);
                    ",HProcCheckNote='" + HProcCheckNote + "' Where HItemID=" + HItemID, ref DBUtility.ClsPub.sExeReturnInfo);
                //修改上级为非末级代码
                oCN.RunProc("Update Gy_Process set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                //return true;
                //修改子项目代码
                //oCN.RunProc("exec h_p_Gy_UpdateNumber Gy_Group,'" + HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
                //将上级 为非末级
                //oCN.RunProc("Update Gy_Group set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                //
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "修改单据成功!";
                objJsonResult.Message = "新增单据成功!";
                //objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.Message;
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        ///// <summary>
        ///// 修改单据-保存按钮
        /////参数:string sql。
        /////返回值:object。
        ///// </summary>
        //[Route("Gy_Process/EditBill")]
        //[HttpPost]
        ////原代码 用于 替换子项目
        //public object EditBill([FromBody] JObject oMain)
        //{
        //    try
        //    {
        //        var _value = oMain["oMain"].ToString();
        //        string msg1 = _value.ToString();
        //        //反序列化
        //        msg1 = "[" + msg1.ToString() + "]";
        //        DAL.ClsGy_Process_Ctl oDept = new DAL.ClsGy_Process_Ctl();
        //        List<Gy_Process> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_Process>>(msg1);
        //        long HItemID = list[0].HItemID;
        //        string HNumber = list[0].HNumber;
        //        string HName = list[0].HName;
        //        string HShortNumber = list[0].HNumber;
        //        long HParentID = list[0].HParentID;
        //        string HHelpCode = list[0].HHelpCode;
        //        bool HTypeFlow = list[0].HTypeFlow;
        //        bool HTypeCount = list[0].HTypeCount;
        //        string HDeptNumber = "";
        //        long HLevel = ClsPub.GetLevel(list[0].HNumber.Trim());
        //        bool HEndFlag = false;
        //        long HProcessID_K3 = list[0].HProcessID_K3;
        //        string HBillSubType = list[0].HType;
        //        bool HAutoTrunFlag = list[0].HAutoTrunFlag;
        //        string HFixPrice = list[0].HFixPrice;
        //        string HOverFixPrice = list[0].HOverFixPrice;
        //        string HSNo = list[0].HSNo;
        //        string HBarCode = list[0].HBarCode;
        //        string HProcMulID = list[0].HProcMulID;
        //        string HProcCheckNote = list[0].HProcCheckNote;
        //        string HRemark = list[0].HRemark;
        //        bool HStopflag = list[0].HStopflag;
        //        string HUseFlag = list[0].HUseFlag;
        //        long HEmpQty = list[0].HEmpQty;
        //        string HBarCodeForBase = list[0].HBarCodeForBase;
        //        long HDeptID = list[0].HDeptID;
        //        long HProcID = list[0].HProcID;
        //        //判断权限
        //        //if (!ClsPub.Security_Log(msg5, 1, false, msg4))
        //        //{
        //        //    objJsonResult.code = "0";
        //        //    objJsonResult.count = 0;
        //        //    objJsonResult.Message = "没有找到该功能模块!";
        //        //    objJsonResult.data = null;
        //        //    return objJsonResult;
        //        //}
        //        //if (!DBUtility.ClsPub.AllowNumber(HNumber))
        //        //{
        //        //    objJsonResult.code = "0";
        //        //    objJsonResult.count = 0;
        //        //    objJsonResult.Message = "代码中不能出现连续‘.’并且首位末位不能为‘.’!";
        //        //    objJsonResult.data = null;
        //        //    return objJsonResult;
        //        //}
        //        //if (oDept.HavSameNumber(HItemID, HNumber))
        //        //{
        //        //    objJsonResult.code = "0";
        //        //    objJsonResult.count = 0;
        //        //    objJsonResult.Message = "代码重复!";
        //        //    objJsonResult.data = null;
        //        //    return objJsonResult;
        //        //}
        //        //若MAINDI重复则重新获取
        //        //主表
        //        //oCN.RunProc("Update Gy_Process set " +
        //        //    " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
        //        //    ",HTypeFlow,HTypeCount,HDeptNumber,HSNo" +
        //        //    ",HLevel,HEndFlag,HStopflag,HRemark,HDeptID,HBarCodeForBase,HProcessID_K3,HBillSubType,HAutoTrunFlag" +
        //        //    ",HFixPrice,HOverFixPrice,HProcMulID,HProcCheckNote) " +
        //        //    " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + HParentID.ToString() +
        //        //    "," + Convert.ToString(HTypeFlow ? 1 : 0) + "," + Convert.ToString(HTypeCount ? 1 : 0) + ",'" + HDeptNumber + "'," + HSNo.ToString() +
        //        //    "," + HLevel.ToString() + "," + Convert.ToString(HEndFlag ? 1 : 0) + "," + Convert.ToString(HStopflag ? 1 : 0) + ",'" + HRemark + "'," + HDeptID +
        //        //    ",'" + HBarCode + "'," + HProcessID_K3 + ",'" + HBillSubType + "'," + Convert.ToString(HAutoTrunFlag ? 1 : 0) +
        //        //    "," + HFixPrice.ToString() + "," +HOverFixPrice.ToString() + "," + HProcMulID.ToString() + ",'" + HProcCheckNote.ToString() + "')", ref DBUtility.ClsPub.sExeReturnInfo);
        //        oCN.BeginTran();
        //        oCN.RunProc("Update Gy_Process set " +
        //            " HNumber='" + HNumber + "'" +
        //            ",HName='" + HName + "'" +
        //            ",HHelpCode='" + HHelpCode + "'" +
        //            ",HShortNumber='" + HShortNumber + "'" +
        //            ",HParentID= " + HParentID +
        //            ",HTypeFlow= '" + HTypeFlow + "'" +
        //            ",HTypeCount= '" + HTypeCount + "'" +
        //            ",HDeptNumber='" + HDeptNumber + "'" +
        //            ",HSNo= " + HSNo +
        //            ",HLevel= " + HLevel +
        //            ",HEndFlag= '" + HEndFlag + "'" +
        //            ",HStopflag= '" + HStopflag + "'" +
        //            ",HRemark='" + HRemark + "'" +
        //            ",HDeptID= " + HDeptID +
        //            ",HBarCodeForBase='" + HBarCodeForBase + "'" +
        //            ",HProcessID_K3= " + HProcessID_K3 +
        //            ",HBillSubType='" + HBillSubType + "'" +
        //            ",HAutoTrunFlag= '" + HAutoTrunFlag + "'" +
        //            ",HFixPrice= " + HFixPrice +
        //            ",HOverFixPrice= " + HOverFixPrice +
        //            ",HProcMulID= " + HProcMulID +
        //            ",HProcCheckNote='" + HProcCheckNote + "' Where HItemID=" + HItemID, ref DBUtility.ClsPub.sExeReturnInfo);
        //        //修改上级为非末级代码
        //        oCN.RunProc("Update Gy_Process set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
        //        //return true;
        //        //修改子项目代码
        //        //oCN.RunProc("exec h_p_Gy_UpdateNumber Gy_Group,'" + HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
        //        //将上级 为非末级
        //        //oCN.RunProc("Update Gy_Group set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
        //        //
        //        oCN.Commit();
        //        objJsonResult.code = "1";
        //        objJsonResult.count = 1;
        //        objJsonResult.Message = "修改单据成功!";
        //        //objJsonResult.data = null;
        //        return objJsonResult;
        //    }
        //    catch (Exception e)
        //    {
        //        oCN.RollBack();
        //        objJsonResult.code = "0";
        //        objJsonResult.count = 0;
        //        objJsonResult.Message = "Exception!" + e.Message;
        //        objJsonResult.data = null;
        //        return objJsonResult;
        //    }
        //}
        /// <summary>
        /// 保存按钮
        ///参数:string sql。
        ///返回值:object。
        /// </summary>
        [Route("Gy_Process/ModifyByID")]
        [HttpPost]
        public object ModifyByID([FromBody] JObject oMain)
        {
            try
            {
                DAL.ClsGy_Process_Ctl oDept = new DAL.ClsGy_Process_Ctl();
                DAL.ClsGy_Process_View oDeptHlp = new DAL.ClsGy_Process_View();
                var _value = oMain["oMain"].ToString();
                string msg1 = _value.ToString();
                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg2 = sArray[0].ToString();
                string user = sArray[1].ToString();//用户名
                //判断是否有编辑权限
                if (!DBUtility.ClsPub.Security_Log("Gy_Process_Edit", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无权限编辑!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //string msg3 = sArray[1].ToString();
                //string msg4 = sArray[2].ToString();
                //string msg5 = sArray[3].ToString();
                //反序列化
                msg2 = "[" + msg2.ToString() + "]";
                List<Gy_Process> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_Process>>(msg2);
                long HItemID = list[0].HItemID;
                string HNumber = list[0].HNumber;
                string HName = list[0].HName;
                string HShortNumber = list[0].HNumber;
                long HParentID = list[0].HParentID;
                string HHelpCode = list[0].HHelpCode;
                bool HTypeFlow = list[0].HTypeFlow;
                bool HTypeCount = list[0].HTypeCount;
                string HDeptNumber = "";
                long HLevel = ClsPub.GetLevel(list[0].HNumber.Trim());
                bool HEndFlag = true;
                long HProcessID_K3 = list[0].HProcessID_K3;
                string HBillSubType = list[0].HType;
                bool HAutoTrunFlag = list[0].HAutoTrunFlag;
                string HFixPrice = list[0].HFixPrice;
                string HOverFixPrice = list[0].HOverFixPrice;
                string HSNo = list[0].HSNo;
                string HBarCode = list[0].HBarCode;
                string HProcMulID = list[0].HProcMulID==null?"0": list[0].HProcMulID;
                string HProcCheckNote = list[0].HProcCheckNote;
                string HRemark = list[0].HRemark;
                bool HStopflag = list[0].HStopflag;
                string HUseFlag = list[0].HUseFlag;
                long HEmpQty = list[0].HEmpQty;
                string HBarCodeForBase = list[0].HBarCodeForBase;
                long HDeptID = list[0].HDeptID;
                long HProcID = list[0].HProcID;
                int HUSEORGID = list[0].HUSEORGID;
                bool HTProcessFlag = list[0].HTProcessFlag;
                int HQCSchemeID_Fst = list[0].HQCSchemeID_Fst;
                int HQCSchemeID_Proc = list[0].HQCSchemeID_Proc;
                int HQCSchemeID_Patrol = list[0].HQCSchemeID_Patrol;
                long HWorkCenterID = list[0].HWorkCenterID;    //工作中心
                long HBadWHID = list[0].HBadWHID; //不良仓库
                long HWasterWHID = list[0].HWasterWHID; //报废仓库
                long HBadCountDevelopWHID = list[0].HBadCountDevelopWHID; //研发不良品仓库
                long HWWBadWHID = list[0].HWWBadWHID; //委外不良仓库
                long HWWWasterWHID = list[0].HWWWasterWHID; //委外报废仓库
                long HWHID = list[0].HWHID; //良品仓库
                string HPayMentType = list[0].HPayMentType; //计件工资类型
                //判断权限
                //if (!ClsPub.Security_Log("Gy_Process_Edit", 1, false, msg3))
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "没有找到该功能模块!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                //if (!DBUtility.ClsPub.AllowNumber(HNumber))
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "代码中不能出现连续‘.’并且首位末位不能为‘.’!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                //if (oDept.HavSameNumber(HItemID, HNumber))
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "代码重复!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                //保存
                //保存完毕后处理
                if (HItemID == 0)
                {
                    oCN.BeginTran();
                    oCN.RunProc("Insert into  Gy_Process  " +
                        " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
                        ",HTypeFlow,HTypeCount,HDeptNumber,HSNo" +
                        ",HLevel,HEndFlag,HStopflag,HRemark,HDeptID,HBarCodeForBase,HProcessID_K3,HBillSubType,HAutoTrunFlag" +
                        ",HFixPrice,HOverFixPrice,HProcMulID,HProcCheckNote" +
                        ",HUSEORGID,HWorkCenterID,HBadWHID,HWasterWHID,HBadCountDevelopWHID,HWWBadWHID,HWWWasterWHID,HWHID,HTProcessFlag" +
                        ",HQCSchemeID_Fst,HQCSchemeID_Proc,HQCSchemeID_Patrol,HPayMentType) " +
                        " Values('" + HNumber + "','" + HName + "','" + HHelpCode + "','" + HShortNumber + "'," + HParentID.ToString() +
                        "," + Convert.ToString(HTypeFlow ? 1 : 0) + "," + Convert.ToString(HTypeCount ? 1 : 0) + ",'" + HDeptNumber + "','" + HSNo.ToString() +
                        "'," + HLevel.ToString() + "," + Convert.ToString(HEndFlag ? 1 : 0) + "," + Convert.ToString(HStopflag ? 1 : 0) + ",'" + HRemark + "'," + HDeptID +
                        ",'" + HBarCode + "'," + HProcessID_K3 + ",'" + HBillSubType + "'," + Convert.ToString(HAutoTrunFlag ? 1 : 0) +
                        ",'" + HFixPrice.ToString() + "'," + HOverFixPrice.ToString() + "," + HProcMulID.ToString() + ",'" + HProcCheckNote.ToString() + "'" +
                        "," + HUSEORGID + "," + HWorkCenterID + "," + HBadWHID + "," + HWasterWHID + "," + HBadCountDevelopWHID + "," + HWWBadWHID + "," + HWWWasterWHID + "," + HWHID + "," + Convert.ToString(HTProcessFlag ? 1 : 0) + "," + HQCSchemeID_Fst + "," + HQCSchemeID_Proc + "," + HQCSchemeID_Patrol
                        + ",'" + HPayMentType + "'" + ")", ref DBUtility.ClsPub.sExeReturnInfo);
                    //修改上级为非末级代码
                    oCN.RunProc("Update Gy_Process set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                    oCN.Commit();
                }
                else
                {
                    //若MAINDI重复则重新获取
                    oCN.BeginTran();
                    oCN.RunProc("Update Gy_Process set " +
                        " HNumber='" + HNumber + "'" +
                        ",HName='" + HName + "'" +
                        ",HHelpCode='" + HHelpCode + "'" +
                        ",HShortNumber='" + HShortNumber + "'" +
                        ",HParentID= " + HParentID +
                        ",HTypeFlow= '" + HTypeFlow + "'" +
                        ",HTypeCount= '" + HTypeCount + "'" +
                        ",HDeptNumber='" + HDeptNumber + "'" +
                        ",HSNo= " + HSNo +
                        ",HLevel= " + HLevel +
                        ",HEndFlag= '" + HEndFlag + "'" +
                        ",HTProcessFlag= '" + HTProcessFlag + "'" +
                        ",HStopflag= '" + HStopflag + "'" +
                        ",HRemark='" + HRemark + "'" +
                        ",HDeptID= " + HDeptID +
                        ",HBarCodeForBase='" + HBarCode + "'" +
                        ",HProcessID_K3= " + HProcessID_K3 +
                        ",HBillSubType='" + HBillSubType + "'" +
                        ",HAutoTrunFlag= '" + HAutoTrunFlag + "'" +
                        ",HFixPrice= " + HFixPrice +
                        ",HOverFixPrice= " + HOverFixPrice +
                        ",HProcMulID= " + HProcMulID +
                        ",HWorkCenterID= " + HWorkCenterID +
                        ",HBadWHID= " + HBadWHID +
                        ",HWasterWHID= " + HWasterWHID +
                        ",HBadCountDevelopWHID= " + HBadCountDevelopWHID +
                        ",HWWBadWHID= " + HWWBadWHID +
                        ",HWWWasterWHID= " + HWWWasterWHID +
                        ",HWHID= " + HWHID +
                        ",HQCSchemeID_Fst= " + HQCSchemeID_Fst +
                        ",HQCSchemeID_Proc= " + HQCSchemeID_Proc +
                        ",HQCSchemeID_Patrol= " + HQCSchemeID_Patrol +
                        ",HPayMentType= '" + HPayMentType + "'" +
                        ",HProcCheckNote='" + HProcCheckNote + "' Where HItemID=" + HItemID, ref DBUtility.ClsPub.sExeReturnInfo);
                    //修改上级为非末级代码
                    oCN.RunProc("Update Gy_Process set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                    //
                    oCN.Commit();
                }
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "保存成功!";
                //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单");
                objJsonResult.data = 1;
                return objJsonResult;
            }
            catch (Exception e)
@@ -161,36 +855,57 @@
        /// </summary>
        [Route("Gy_Process/list")]
        [HttpGet]
        public object getProcessList(string sWhere)
        public object getProcessList(string sWhere,string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //查看权限
                if (!DBUtility.ClsPub.Security_Log("Gy_Process_Query", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList " + sWhere, "h_v_Gy_ProcessList");
                    ds = oCN.RunProcReturn("select * from h_v_Gy_ProcessList order by 工序代码 ", "h_v_Gy_ProcessList");
                }
                else
                {
                    string sql1 = "select * from h_v_Gy_ProcessList where 1 = 1 ";
                    string sql = sql1 + sWhere;
                    string sql = sql1 + sWhere+ " order by 工序代码 ";
                    ds = oCN.RunProcReturn(sql, "h_v_Gy_ProcessList");
                }
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "false!";
                    objJsonResult.data = null;
                    return objJsonResult;
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "Sucess!";
                    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];
                objJsonResult.list = columnNameList;
                return objJsonResult;
                //}
                //else
                //{
                //objJsonResult.code = "0";
                //objJsonResult.count = 0;
                //objJsonResult.Message = "无数据";
                //objJsonResult.data = null;
                //return objJsonResult;
                //}
            }
            catch (Exception e)
            {
@@ -242,7 +957,286 @@
                return objJsonResult;
            }
        }
        /// <summary>
        /// 工序列表删除功能
        /// </summary>
        /// <returns></returns>
        [Route("DeltetGy_Process")]
        [HttpGet]
        public object DeltetGy_Process(string HItemID, string user)
        {
            DataSet ds;
            DataSet ds1;
            try
            {
                //删除权限
                if (!DBUtility.ClsPub.Security_Log("Gy_Process_Delete", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无删除权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                if (string.IsNullOrWhiteSpace(HItemID))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "HItemID为空!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();//开始事务
                ds = oCN.RunProcReturn("select * from Gy_Process where HItemID=" + HItemID, "Gy_Process");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有数据,无法删除!";
                    objJsonResult.data = null;
                    return objJsonResult; ;
                }
                //var HStopflag = Convert.ToBoolean(ds.Tables[0].Rows[0]["HStopflag"]);
                //if (HStopflag)
                //{
                //    oCN.RollBack();//回滚事务
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "数据已删除无法再次删除!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                ds1 = oCN.RunProcReturn("Select HItemID from  Gy_Process  Where HParentID='" + HItemID + "'", " Gy_Process");
                if (ds1.Tables[0].Rows.Count != 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "此项目存在子项目,不能删除!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                string HUseFlag = Convert.ToString(ds.Tables[0].Rows[0]["HUseFlag"]);
                if (HUseFlag == "已使用")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "此项目已使用,不能删除!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.RunProc("delete from  Gy_Process  where HItemID=" + HItemID);
                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;
            }
        }
        //
        #region 工序审核、反审核
        /// <summary>
        ///
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="IsAudit">审核(0),反审核(1)</param>
        /// <param name="CurUserName">审核人</param>
        /// <returns></returns>
        [Route("Gy_Process/AuditGy_Process")]
        [HttpGet]
        public object AuditGy_Process(int HInterID, int IsAudit, string CurUserName)
        {
            try
            {
                //审核权限
                if (!DBUtility.ClsPub.Security_Log_second("Gy_Process_Check", 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "审核失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                var ds = oCN.RunProcReturn("select * from Gy_Process where HItemID=" + HInterID, "Gy_Process");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    if (IsAudit == 0)  //审核判断
                    {
                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已审核!不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    if (IsAudit == 1) //反审核判断
                    {
                        if (ds.Tables[0].Rows[0]["HCheckEmp"].ToString() == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据未审核!不需要反审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据不存在!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();
                if (IsAudit == 0)  //审核判断
                {
                    oCN.RunProc("update Gy_Process set HCheckEmp='" + CurUserName + "',HCheckTime=getdate() where HItemID=" + HInterID);
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "审核成功";
                    objJsonResult.data = null;
                }
                if (IsAudit == 1) //反审核判断
                {
                    oCN.RunProc("update Gy_Process set HCheckEmp='',HCheckTime=null where HItemID=" + HInterID);
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "反审核成功";
                    objJsonResult.data = null;
                }
                oCN.Commit();
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "审核失败或者反审核失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region 工序禁用、反禁用
        /// <summary>
        ///
        /// </summary>
        /// <param name="HInterID">单据ID</param>
        /// <param name="IsStop">禁用(0),反禁用(1)</param>
        /// <param name="CurUserName">审核人</param>
        /// <returns></returns>
        [Route("Gy_Process/StopGy_Process")]
        [HttpGet]
        public object StopGy_Process(int HInterID, int IsStop, string CurUserName)
        {
            try
            {
                //审核权限
                if (!DBUtility.ClsPub.Security_Log_second("Gy_Process_Stop", 1, false, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "禁用失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                var ds = oCN.RunProcReturn("select * from Gy_Process where HItemID=" + HInterID, "Gy_Process");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    if (IsStop == 0)  //禁用判断
                    {
                        if (ds.Tables[0].Rows[0]["HStopEmp"].ToString() != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已禁用!不能再次禁用!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    if (IsStop == 1) //反禁用判断
                    {
                        if (ds.Tables[0].Rows[0]["HStopEmp"].ToString() == "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据未禁用!不需要反禁用!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "单据不存在!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();
                if (IsStop == 0)  //禁用判断
                {
                    oCN.RunProc("update Gy_Process set HStopEmp='" + CurUserName + "',HStopTime=getdate(),HStopflag=1 where HItemID=" + HInterID);
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "禁用成功";
                    objJsonResult.data = null;
                }
                if (IsStop == 1) //反禁用判断
                {
                    oCN.RunProc("update Gy_Process set HStopEmp='',HStopTime=null,HStopflag=0 where HItemID=" + HInterID);
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "反禁用成功";
                    objJsonResult.data = null;
                }
                oCN.Commit();
                return objJsonResult;
            }
            catch (Exception e)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "禁用失败或者反禁用失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}