ch
2022-08-15 4bf3ca7fc8e3cceba62d6617724cac3cbc919746
WebAPI/Controllers/Éú²ú¹ÜÀí/±¨¹¤Ì¨¹¤Ðò/Sc_MESReturnStepWorkBillController.cs
@@ -1,4 +1,6 @@
using System;
using DBUtility;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
@@ -38,6 +40,7 @@
            {
                ds = Sc_GetMESReturnStepWorkBill(sWhere);
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "返回记录成功!";
@@ -58,12 +61,12 @@
        {
            if (sWhere == null || sWhere.Equals(""))
            {
                return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_Sc_MESReturnWorkBillList_NEW ", "h_v_Sc_MESReturnWorkBillList_NEW");
                return new SQLHelper.ClsCN().RunProcReturn("select * from h_v_Sc_MESReturnWorkBillList_NEW order by hmainid desc ", "h_v_Sc_MESReturnWorkBillList_NEW");
            }
            else
            {
                string sql1 = "select * from h_v_Sc_MESReturnWorkBillList_NEW where 1 = 1 ";
                string sql = sql1 + sWhere;
                string sql = sql1 + sWhere+ " order by hmainid desc ";
                return new SQLHelper.ClsCN().RunProcReturn(sql, "h_v_Sc_MESReturnWorkBillList_NEW");
            }
@@ -71,18 +74,53 @@
        #endregion
        #region[返工单编辑时获取表头数据]
        [Route("Sc_MESBeginStepWorkBill/Sc_MESBeginStepWorkBillListCheckDetai")]
        #region èŽ·å–è¿”å·¥å·¥åºä¸‹æ‹‰æ¡†æ•°æ®(所有工序)
        [Route("Sc_MESReturnStepWorkBill/GetMESReturnStepSelectBill")]
        [HttpGet]
        public ApiResult<DataSet> Sc_MESBeginStepWorkBillListCheckDetai(string HID)
        public object GetMESReturnStepSelectBill()
        {
            try
            {
                ds = oCN.RunProcReturn("select HItemID,工序代码,工序名称   from h_v_Gy_ProcessList ", "h_v_Gy_ProcessList");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "返回记录成功!";
                    objJsonResult.data = ds.Tables[0];
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无工序数据,请维护!";
                    objJsonResult.data =null;
                }
                return objJsonResult;
            }
            catch (Exception ex)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "没有返回任何记录!" + ex.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region[返工单编辑时获取表头数据]
        [Route("Sc_MESReturnStepWorkBill/Sc_MESReturnStepWorkBillListCheckDetai")]
        [HttpGet]
        public ApiResult<DataSet> Sc_MESReturnStepWorkBillListCheckDetai(string HID)
        {
            if (string.IsNullOrEmpty(HID))
                return new ApiResult<DataSet> { code = -1, msg = "ID不能为空" };
            SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
            var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Sc_MESBeginWorkBillList_NEW  where hmainid= " + HID + " ", "h_v_Sc_MESBeginWorkBillList_NEW");
            var dataSet = oCN.RunProcReturn("select top 1 * from h_v_Sc_MESReturnWorkBillList  where hmainid= " + HID + " ", "h_v_Sc_MESReturnWorkBillList");
            if (dataSet == null || dataSet.Tables[0].Rows.Count == 0)
                return new ApiResult<DataSet> { code = -1, msg = "不存在开工单号" };
                return new ApiResult<DataSet> { code = -1, msg = "不存在返工单号" };
            return new ApiResult<DataSet> { code = 1, msg = "查询成功", data = dataSet };
        }
@@ -99,7 +137,7 @@
        {
            DBUtility.ClsPub.CurUserName = UserName;
            //编辑权限
            if (!DBUtility.ClsPub.Security_Log_second("MES_MESReturnWorkBill_Delete", 1, true, DBUtility.ClsPub.CurUserName))
            if (!DBUtility.ClsPub.Security_Log_second("Sc_ProcessPlan_Drop", 1, false, DBUtility.ClsPub.CurUserName))
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
@@ -181,19 +219,19 @@
        [HttpGet]
        public object AuditReturnStepProcessReportList(int HInterID, int IsAudit, string CurUserName)
        {
            string ModRightNameCheck = "MES_MESReturnWorkBill_Check";
            string ModRightNameCheck = "Sc_ReturnStepProcess_Check";
            DBUtility.ClsPub.CurUserName = CurUserName;
            try
            {
                //审核权限
                if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, true, CurUserName))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "审核失败!无权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //if (!DBUtility.ClsPub.Security_Log_second(ModRightNameCheck, 1, false, CurUserName))
                //{
                //    objJsonResult.code = "0";
                //    objJsonResult.count = 0;
                //    objJsonResult.Message = "审核失败!无权限!";
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                if (HInterID <= 0)
                {
                    objJsonResult.code = "0";
@@ -308,6 +346,182 @@
        }
        #endregion
        #region è¿”工单保存/编辑
        /// <summary>
        /// è¿”工单
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        [Route("Sc_MESReturnStepWorkBill/SaveGetMESReturnStepWorkFrom")]
        [HttpPost]
        public object SaveGetMESReturnStepWorkFrom([FromBody] JObject msg)
        {
            var _value = msg["msg"].ToString();
            string msg1 = _value.ToString();
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg2 = sArray[0].ToString();
            string UserName = sArray[1].ToString();
            string refSav = sArray[2].ToString();
            DBUtility.ClsPub.CurUserName = UserName;
            //保存权限
            if (!DBUtility.ClsPub.Security_Log_second("Sc_ProcessPlan_Edit", 1, false, DBUtility.ClsPub.CurUserName))
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "无保存权限!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            //判断会计期是否合理
            string s = "";
            int sYear = 0;
            int sPeriod = 0;
            if (DBUtility.Xt_BaseBillFun.Fun_AllowYearPeriod(DateTime.Now, ref sYear, ref sPeriod, ref s) == false)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = s;
                objJsonResult.data = null;
                return objJsonResult;
            }
            ListModels oListModels = new ListModels();
            try
            {
                DLL.ClsSc_MESReturnStepWorkBill oBill = new DLL.ClsSc_MESReturnStepWorkBill();
                List<Model.ClsSc_ProcessPlanMain> lsmain = new List<Model.ClsSc_ProcessPlanMain>();
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_Gy_MESReturnWorkFrom(msg2);
                foreach (Model.ClsSc_ProcessPlanMain oItem in lsmain)
                {
                    if (refSav == "Add")
                    {
                        //单据号是否重复
                        if (BillNew.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, BillOld.omodel.HInterID))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "单据号重复!不允许保存!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                    }
                    if (refSav == "Update")
                    {
                        if (BillOld.ShowBill(oItem.HInterID, ref s) == false)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "此单据有误!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        //判断是否可编辑
                        if (BillOld.omodel.HChecker != "" && BillOld.omodel.HChecker != null)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "此单据已经被审核,不允许修改!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        if (BillOld.omodel.HBillStatus > 1)
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "此单据处于不可编辑状态,不允许修改!";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                        if (!DBUtility.Xt_BaseBillFun.Fun_AllowEditBill(BillOld, ref s))
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = s + ",不允许修改";
                            objJsonResult.data = 1;
                            return objJsonResult;
                        }
                    }
                    DBUtility.ClsPub.CurUserName = oItem.HMaker;
                    oItem.HBillType = "3718";
                    oItem.HBillSubType = "3718";
                    oItem.HBillStatus = 1;   //单据状态(1未审,2审核通过,3关闭,4作废,5审核退回,6审核中,7已阅,8已回复,9结案,10验证,11下达,12开工,13申请审批,15申请检验,16 åˆ¤å®šåˆæ ¼ï¼Œ17判定不合格)
                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!没有单据日期,无法保存!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    oBill.omodel = oItem;
                }
                //保存
                //保存完毕后处理
                bool bResult;
                if (oBill.omodel.HInterID == 0)
                {
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    if (bResult)
                    {
                        objJsonResult.HInterID = DBUtility.ClsPub.sExeReturnInfo; //返回主ID
                        //系统参数  è‡ªåŠ¨å®¡æ ¸
                        string sReturn = "";
                        if (oSystemParameter.ShowBill(ref sReturn) == true)
                        {
                            if (oSystemParameter.omodel.Sc_MESReturnWorkBill_AutoCheck == "Y") //系统参数  è‡ªåŠ¨å®¡æ ¸
                            {
                                objJsonResult.Verify = "Y";
                            }
                            else
                            {
                                objJsonResult.Verify = "N";
                            }
                        }
                    }
                }
                else
                {
                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                    objJsonResult.Verify = "N";
                }
                if (bResult)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "保存成功!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = e.Message;
                objJsonResult.data = 1;
                return objJsonResult;
            }
        }
        #endregion
        #endregion
    }
}