duhe
2023-07-14 5a54c45733f6570db9476eb53fe840c312beb17f
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;
@@ -304,7 +305,7 @@
                bool HTypeCount = list[0].HTypeCount;
                string HDeptNumber = "";
                long HLevel = ClsPub.GetLevel(list[0].HNumber.Trim());
                bool HEndFlag = false;
                bool HEndFlag = true;
                long HProcessID_K3 = list[0].HProcessID_K3;
                string HBillSubType = list[0].HType;
                bool HAutoTrunFlag = list[0].HAutoTrunFlag;
@@ -312,7 +313,7 @@
                string HOverFixPrice = list[0].HOverFixPrice;
                string HSNo = list[0].HSNo;
                string HBarCode = list[0].HBarCode;
                string HProcMulID = list[0].HProcMulID;
                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;
@@ -321,6 +322,20 @@
                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;
                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; //良品仓库
                //判断权限
                //if (!ClsPub.Security_Log("Gy_Process_Edit", 1, false, msg3))
@@ -358,12 +373,14 @@
                        " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
                        ",HTypeFlow,HTypeCount,HDeptNumber,HSNo" +
                        ",HLevel,HEndFlag,HStopflag,HRemark,HDeptID,HBarCodeForBase,HProcessID_K3,HBillSubType,HAutoTrunFlag" +
                        ",HFixPrice,HOverFixPrice,HProcMulID,HProcCheckNote) " +
                        ",HFixPrice,HOverFixPrice,HProcMulID,HProcCheckNote" +
                        ",HUSEORGID,HWorkCenterID,HBadWHID,HWasterWHID,HBadCountDevelopWHID,HWWBadWHID,HWWWasterWHID,HWHID,HTProcessFlag) " +
                        " 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);
                        ",'" + 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) + ")", ref DBUtility.ClsPub.sExeReturnInfo);
                    //修改上级为非末级代码
                    oCN.RunProc("Update Gy_Process set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                    oCN.Commit();
@@ -384,16 +401,24 @@
                        ",HSNo= " + HSNo +
                        ",HLevel= " + HLevel +
                        ",HEndFlag= '" + HEndFlag + "'" +
                        ",HTProcessFlag= '" + HTProcessFlag + "'" +
                        ",HStopflag= '" + HStopflag + "'" +
                        ",HRemark='" + HRemark + "'" +
                        ",HDeptID= " + HDeptID +
                        ",HBarCodeForBase='" + HBarCodeForBase + "'" +
                        ",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 +
                        ",HProcCheckNote='" + HProcCheckNote + "' Where HItemID=" + HItemID, ref DBUtility.ClsPub.sExeReturnInfo);
                    //修改上级为非末级代码
                    oCN.RunProc("Update Gy_Process set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
@@ -428,6 +453,7 @@
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //查看权限
                if (!DBUtility.ClsPub.Security_Log("Gy_Process_Query", 1, false, user))
                {
@@ -449,12 +475,21 @@
                    ds = oCN.RunProcReturn(sql, "h_v_Gy_ProcessList");
                }
                //添加列名
                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列对象的列名
                }
                //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
@@ -516,7 +551,7 @@
                return objJsonResult;
            }
        }
        /// <summary>Gy_Process/cx
        /// <summary>
        /// 工序列表删除功能
        /// </summary>
        /// <returns></returns>
@@ -607,5 +642,195 @@
        }
        //
        #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
    }
}