杨乐
2022-01-14 b5b944cbe6d8c4b3b5bb555fbb749bc9a53a30fb
WebAPI/Controllers/SCGL/Sc_PPBomBillController.cs
@@ -70,6 +70,164 @@
        //
        #region 生产用料清单 审核/反审核
        [Route("Sc_PPBomBill/DeOrAuditBill")]
        [HttpGet]
        public object DeOrAuditBill(int HInterID, int IsAudit, string CurUserName)
        {
            //    string ModRightNameCheck = ""; 该模块的审核功能
            DBUtility.ClsPub.CurUserName = CurUserName;//存储用户名
            try
            {
                //判断是否有审核权限
                //if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true, CurUserName))
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "审核失败!无权限!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                //判断id是否小于0
                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  Sc_PPBomBillMain where HInterID=" + lngBillKey, "Sc_PPBomBillMain");
                if (ds.Tables[0].Rows.Count != 0)
                {
                    var HChecker = ds.Tables[0].Rows[0]["HChecker"].ToString().Trim();
                    //审核
                    if (IsAudit == 0)
                    {
                        if (HChecker != "")
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据已审核,不能再次审核!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                    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 Sc_PPBomBillMain 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 Sc_PPBomBillMain set HBillStatus=1,hchecker='',hcheckdate=null where  HInterID=" + lngBillKey);
                oCN.Commit();//关闭事务
                sReturn = "反审核成功";
                return true;
            }
            catch (Exception e)
            {
                sReturn = e.Message;
                throw (e);
            }
        }
        #endregion
    }
}