1
wtt
2025-06-12 60c33d122fed78adebb7cb9e85ab8dff3d7aa72a
WebAPI/Controllers/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/Gy_EquipStatusController.cs
@@ -1,5 +1,7 @@
using Newtonsoft.Json;
using DBUtility;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Pub_Class;
using System;
using System.Collections.Generic;
using System.Data;
@@ -16,6 +18,7 @@
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        public DAL.ClsGy_EquipStatus_Ctl BillOld = new DAL.ClsGy_EquipStatus_Ctl();
        #region  è®¾å¤‡çŠ¶æ€ åˆ—表
        [Route("Gy_EquipStatus/Gy_EquipStatusList")]
@@ -57,6 +60,46 @@
        }
        #endregion
        #region  è®¾å¤‡çŠ¶æ€ ç¼–辑列表
        [Route("Gy_EquipStatus/Gy_EquipStatusEdit")]
        [HttpGet]
        public object Gy_EquipStatusEdit(string sWhere, string user, string Organization)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                string sql1 = string.Format(@"select * from h_v_Gy_EquipStatus_Edit where ä½¿ç”¨ç»„织='" + Organization + "'");
                string sql = sql1 + sWhere;
                ds = oCN.RunProcReturn(sql, "h_v_Gy_EquipStatus_Edit");
                //添加列名
                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));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.list = columnNameList;
                objJsonResult.data = ds.Tables[0];
                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_EquipStatus/Gy_EquipStatusEdit")]
        [HttpPost]
@@ -68,9 +111,11 @@
            string[] sArray = msg3.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg1 = sArray[0].ToString();
            string msg2 = sArray[1].ToString();
            string OperationType = sArray[2].ToString();
            //string msg_HUSEORGID = sArray[2].ToString();
            Int64 HItemID = 0;
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
            ClsXt_SystemParameter oClsXt_SystemParameter = new ClsXt_SystemParameter();
            ListModels oListModels = new ListModels();
@@ -88,7 +133,7 @@
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!代码不能为空!";
                        objJsonResult.data = 1;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    if (oItem.HName.Trim() == "")
@@ -96,12 +141,12 @@
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!名称不能为空!";
                        objJsonResult.data = 1;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //查询数据中是否存在重复代码
                    ds = oCN.RunProcReturn("select * from  Gy_EquipStatus where HStopflag=0 and HNumber='" + oItem.HNumber.Trim() + "'", "Gy_EquipStatus");
                    ds = oCN.RunProcReturn("select * from  Gy_EquipStatus with(nolock) where HNumber='" + oItem.HNumber.Trim() + "'", "Gy_EquipStatus");
                    if (oItem.HItemID == 0)
                    {
                        if (ds.Tables[0].Rows.Count > 0)
@@ -200,7 +245,7 @@
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!短代码为空!";
                        objJsonResult.data = 1;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //oItem.HUSEORGID = Convert.ToInt32(msg_HUSEORGID); //组织id
@@ -212,21 +257,57 @@
                //保存
                //保存完毕后处理
                bool bResult;
                if (oBill.oModel.HItemID == 0)
                if (Convert.ToInt32(OperationType) == 1 || Convert.ToInt32(OperationType) == 2)
                {
                    bResult = oBill.AddNew();
                    bResult = oBill.AddNew(ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else
                {
                    bResult = oBill.ModifyByID(oBill.oModel.HItemID);
                    bResult = oBill.ModifyByID(oBill.oModel.HItemID, ref DBUtility.ClsPub.sExeReturnInfo);
                }
                if (bResult)
                {
                    //自动审核功能
                    if (oBill.oModel.HItemID == 0)
                    {
                        ds = oCN.RunProcReturn("select HItemID,HNumber,HName from Gy_EquipStatus with(nolock) where HNumber='" + oBill.oModel.HNumber.Trim() + "' and HUSEORGID = " + oBill.oModel.HUSEORGID, "Gy_EquipStatus");
                        if (ds.Tables[0].Rows.Count == 0)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "保存成功!自动审核失败找不到对应单据";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else if (ds.Tables[0].Rows.Count > 1)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 1;
                            objJsonResult.Message = "相同使用组织下,出现" + ds.Tables[0].Rows.Count + "个相同的代码:" + ds.Tables[0].Rows[0]["HNumber"];
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                        else
                        {
                            string sAutoCheck = oClsXt_SystemParameter.GetSingleSystemParameter("Gy_EquipStatus_AutoCheck", ref DBUtility.ClsPub.sExeReturnInfo);
                            objJsonResult.Verify = "N";
                            if (sAutoCheck == "Y")
                            {
                                objJsonResult.code = "1";
                                objJsonResult.count = 1;
                                objJsonResult.Message = "保存成功";
                                objJsonResult.data = ds.Tables[0].Rows[0]["HItemID"].ToString();
                                objJsonResult.Verify = "Y";
                                return objJsonResult;
                            }
                        }
                    }
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "保存成功!";
                    //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单");
                    objJsonResult.data = 1;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
@@ -234,7 +315,7 @@
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = 1;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
@@ -243,7 +324,7 @@
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
                objJsonResult.data = 1;
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
@@ -267,8 +348,8 @@
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                oCN.BeginTran();//开始事务
                ds = oCN.RunProcReturn("select * from Gy_EquipStatus where HItemID=" + HItemID, "Gy_EquipStatus");
                ds = oCN.RunProcReturn("select * from Gy_EquipStatus with(nolock) where HItemID=" + HItemID, "Gy_EquipStatus");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
@@ -277,10 +358,21 @@
                    objJsonResult.data = null;
                    return objJsonResult; ;
                }
                else
                {
                    if (ds.Tables[0].Rows[0]["HStopEmp"].ToString() != "" || ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
                    {
                        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 = "数据已禁用无法删除!";
@@ -289,7 +381,7 @@
                }
                oCN.RunProc("delete from Gy_EquipStatus where HItemID=" + HItemID);
                oCN.Commit();//提交事务
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "* æ•°æ®åˆ é™¤æˆåŠŸï¼";
@@ -307,5 +399,168 @@
            }
        }
        #endregion
        #region è®¾å¤‡çŠ¶æ€å®¡æ ¸/反审核功能
        [Route("Gy_EquipStatus/CheckGy_EquipStatus")]
        [HttpGet]
        public object CheckGy_EquipStatus(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;
                }
                //审核前控制=========================================
                ds = oCN.RunProcReturn("Exec h_p_Gy_EquipStatus_BeforeAuditCtrl  " + HInterID + ",'" + Type + "'", " h_p_Gy_EquipStatus_BeforeAuditCtrl ");
                if (ds == null)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "校验判断失败!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) != "0")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "失败!" + DBUtility.ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBackRemark"]);
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //=========================================================
                DBUtility.ClsPub.CurUserName = user;
                //Type 1 å®¡æ ¸  2  åå®¡æ ¸
                if (Type == 1)
                {
                    if (!BillOld.AuditByID2(int.Parse(HInterID), ref DBUtility.ClsPub.sExeReturnInfo))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    if (BillOld.DeAuditByID2(int.Parse(HInterID), ref DBUtility.ClsPub.sExeReturnInfo))
                    {
                        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核失败!原因:" + DBUtility.ClsPub.sExeReturnInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                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 è®¾å¤‡çŠ¶æ€ç¦ç”¨ã€åç¦ç”¨
        [Route("Gy_EquipStatus/StopGy_EquipStatus")]
        [HttpGet]
        public object StopGy_EquipStatus(int HInterID, int IsStop, string CurUserName)
        {
            try
            {
                var ds = oCN.RunProcReturn("select * from Gy_EquipStatus with(nolock) where HItemID=" + HInterID, "Gy_EquipStatus");
                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_EquipStatus 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_EquipStatus 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
    }
}