1
wangbin
2024-07-08 4548e24916ac5f63eef736cabdcd634864f8de16
WebAPI/Controllers/Sc_MouldOtherInBillController.cs
@@ -18,6 +18,8 @@
        public DataSet ds = new DataSet();
        public WebServer webserver = new WebServer();
        public SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        DAL.ClsSc_MouldOtherInBill oBill = new DAL.ClsSc_MouldOtherInBill();
        public DAL.ClsSc_MouldScrapInBill BillNew0 = new DAL.ClsSc_MouldScrapInBill();   //模具报废入库对应单据类
        public DAL.ClsSc_MouldScrapInBill BillOld0 = new DAL.ClsSc_MouldScrapInBill();   //模具报废入库对应单据类
@@ -88,7 +90,7 @@
            try
            {
                //编辑权限
                if (!DBUtility.ClsPub.Security_Log("Sc_MouldOtherInBillList", 1, true, user))
                if (!DBUtility.ClsPub.Security_Log("Sc_MouldOtherInBillList", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -98,6 +100,7 @@
                }
                ds = Sc_MouldOtherInBill(sWhere, Organization);
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "返回记录成功!";
@@ -201,7 +204,158 @@
        }
        #endregion
        #region 器具其他入库单保存/编辑
        #region 器具其他入库单保存/编辑    20240702作废
        /// <summary>
        /// 保存模具领用单
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        //[Route("Sc_MouldOtherInBill/SaveGetMouldOtherInBillList")]
        //[HttpPost]
        //public object SaveGetMouldOtherInBillList([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 msg3 = sArray[1].ToString();
        //    string msg4 = sArray[2].ToString();
        //    string UserName = "";
        //    ListModels oListModels = new ListModels();
        //    try
        //    {
        //        //编辑权限
        //        if (!DBUtility.ClsPub.Security_Log("Sc_MouldOtherInBill_Edit", 1, false, msg4))
        //        {
        //            objJsonResult.code = "0";
        //            objJsonResult.count = 0;
        //            objJsonResult.Message = "无保存权限!";
        //            objJsonResult.data = null;
        //            return objJsonResult;
        //        }
        //        DLL.ClsSc_MouldOtherInBill oBill = new DLL.ClsSc_MouldOtherInBill();
        //        List<Model.ClsSc_MouldOtherInBillMain> lsmain = new List<Model.ClsSc_MouldOtherInBillMain>();
        //        msg2 = msg2.Replace("\\", "");
        //        msg2 = msg2.Replace("\n", "");  //\n
        //        lsmain = oListModels.getObjectByJson_Sc_MouldOtherInBillMain(msg2);
        //        foreach (Model.ClsSc_MouldOtherInBillMain oItem in lsmain)
        //        {
        //            //oItem.HMaker = "";
        //            UserName = oItem.HMaker;  //制单人
        //            oItem.HBillType = "3841";
        //            oItem.HBillSubType = "3841";
        //            //oItem.HBillNo = "";    //单据号
        //            //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --日期
        //            //oItem.HInnerBillNo = "";  //  --内部单据号
        //            oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
        //            oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
        //            //oItem.HEquipID = 0;    //设备ID(Gy_EquipMent)
        //            //oItem.HPeriod = 0;
        //            //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --维修日期
        //            //oItem.HCheckResult = "";     //验收结论--(正常,异常)
        //            //oItem.HEmpID = 0;           //验收人(Gy_Employee)
        //            //oItem.HManagerID = 0;      //负责人(Gy_Employee)
        //            //oItem.HDeptID = 0;        //验收部门(Gy_Department)
        //            //oItem.HExplanation = "";  //摘要(故障描述)
        //            //oItem.HRemark = "";       //备注
        //            //oItem.HMainSourceInterID = oItem.HInterID;
        //            //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
        //            if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
        //            {
        //                objJsonResult.code = "0";
        //                objJsonResult.count = 0;
        //                objJsonResult.Message = "保存失败!没有单据日期,无法保存!";
        //                objJsonResult.data = 1;
        //                return objJsonResult;
        //            }
        //            oBill.omodel = oItem;
        //        }
        //        //表体数据
        //        //按 },{来拆分数组 //去掉【和】
        //        msg3 = msg3.Substring(1, msg3.Length - 2);
        //        msg3 = msg3.Replace("\\", "");
        //        msg3 = msg3.Replace("\n", "");  //\n
        //        //msg2 = msg2.Replace("'", "’");
        //        List<Model.ClsSc_MouldStockBillSub> ls = new List<Model.ClsSc_MouldStockBillSub>();
        //        ls = oListModels.getObjectByJson_Gy_MouldStockBillSub(msg3);
        //        int i = 0;
        //        foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
        //        {
        //            i++;
        //            oItemSub.HEntryID = i;
        //            //oItemSub.HRepairCheckID = 0;   //验收项目ID
        //            //oItemSub.HRepairCheckContent = ""; //验收内容
        //            //oItemSub.HManagerID = 0;   //负责人ID
        //            //oItemSub.HCloseMan = "";       //行关闭
        //            oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
        //            oItemSub.HCloseType = false;   //关闭类型
        //            //oItemSub.HRemark = "";         //备注
        //            oItemSub.HSourceInterID = 0;     // 源单主内码
        //            oItemSub.HSourceEntryID = 0;   //源单子内码
        //            //oItemSub.HSourceBillNo = "";  //源单单号
        //            //oItemSub.HSourceBillType = ""; //源单类型
        //            //oItemSub.HRelationQty = 0;     //关联数量
        //            //oItemSub.HRelationMoney = 0;   //关联金额
        //            //oItemSub.HRepairID = 0;       //维修项目
        //            //oItemSub.HRepairExplanation ="";   //维修要求
        //            //oItemSub.HMoney = 0;        //维修费用
        //            oBill.DetailColl.Add(oItemSub);
        //        }
        //        //保存
        //        //保存完毕后处理
        //        bool bResult;
        //        if (oBill.omodel.HInterID == 0)
        //        {
        //            // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
        //            bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
        //            string sql = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
        //            oCn.RunProc(sql);
        //        }
        //        else
        //        {
        //            bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
        //            //修改成功
        //            //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  1,{oBill.omodel.HInterID.ToString()},' ' ");
        //            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
        //            oCn.RunProc(sql);
        //        }
        //        if (bResult)
        //        {
        //            objJsonResult.code = "0";
        //            objJsonResult.count = 1;
        //            objJsonResult.Message = "保存成功!";
        //            //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单");
        //            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.ToString();
        //        objJsonResult.data = 1;
        //        return objJsonResult;
        //    }
        //}
        #endregion
        #region 器具其他入库单保存/编辑    20240702
        /// <summary>
        /// 保存模具领用单
        /// </summary>
@@ -214,118 +368,121 @@
            var _value = msg["msg"].ToString();
            string msg1 = _value.ToString();
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string msg2 = sArray[0].ToString();
            string msg3 = sArray[1].ToString();
            string msg4 = sArray[2].ToString();
            string UserName = "";
            ListModels oListModels = new ListModels();
            string sMainStr = sArray[0].ToString();         //主表数据
            string sSubStr = sArray[1].ToString();          //子表数据
            string HMaker = sArray[2].ToString();           //制单人
            try
            {
                //编辑权限
                if (!DBUtility.ClsPub.Security_Log("Sc_MouldOtherInBill_Edit", 1, true, msg4))
                //判断权限
                if (!DBUtility.ClsPub.Security_Log("Sc_MouldOtherInBill_Edit", 1, false, HMaker))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.Message = "您没有该模块新增/编辑权限,请与管理员联系!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //表头赋值
                sMainStr = sMainStr.Replace("\\", "");
                sMainStr = sMainStr.Replace("\n", "");
                sMainStr = "[" + sMainStr.ToString() + "]";
                List<Model.ClsSc_MouldStockBillMain> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillMain>>(sMainStr);
                foreach (Model.ClsSc_MouldStockBillMain oItem in lsmain)
                {
                    if (oItem.HInterID == 0)
                    {
                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_AddNew;
                    }
                    else
                    {
                        BillStatus = DBUtility.ClsPub.Enum_BillStatus.BillStatus_Modify;
                    }
                    //单据号是否重复
                    if (oBill.IsExistBillNo(ref ClsPub.sExeReturnInfo, oItem.HBillNo, BillStatus, oItem.HInterID))
                    {
                        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(oItem.HDate, ref sYear, ref sPeriod, ref s) == false)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = s;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    oItem.HYear = sYear;
                    oItem.HPeriod = sPeriod;
                    DBUtility.ClsPub.CurUserName = oItem.HMaker;
                    oBill.omodel = oItem;
                }
                //表体赋值
                //按 },{来拆分数组 //去掉【和】
                sSubStr = sSubStr.Substring(1, sSubStr.Length - 2);
                sSubStr = sSubStr.Replace("\\", "");
                sSubStr = sSubStr.Replace("\n", "");
                sSubStr = "[" + sSubStr.ToString() + "]";
                List<Model.ClsSc_MouldStockBillSub> ls = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsSc_MouldStockBillSub>>(sSubStr);
                int i = 0;
                foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
                {
                    i++;
                    oItemSub.HEntryID = i;
                    oBill.DetailColl.Add(oItemSub);
                }
                string sErrMsg = "";
                bool bResult;
                //获取系统参数
                if (oSystemParameter.ShowBill(ref sErrMsg) == true)
                {
                    //保存
                    if (oBill.omodel.HInterID == 0)   //新增保存
                    {
                        bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                        if (oSystemParameter.omodel.WMS_CampanyName == "四维尔") //系统参数  客户定制化名称     空白为通用
                        {
                            //修改器具档案位置
                            string sql1 = string.Format($"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ");
                            oCn.RunProc(sql1);
                        }
                    }
                    else                        //编辑保存
                    {
                        bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                        if (oSystemParameter.omodel.WMS_CampanyName == "四维尔") //系统参数  客户定制化名称     空白为通用
                        {
                            //修改器具档案位置
                            string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
                            oCn.RunProc(sql);
                        }
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "获取系统参数失败! " + sErrMsg;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                DLL.ClsSc_MouldOtherInBill oBill = new DLL.ClsSc_MouldOtherInBill();
                List<Model.ClsSc_MouldOtherInBillMain> lsmain = new List<Model.ClsSc_MouldOtherInBillMain>();
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_Sc_MouldOtherInBillMain(msg2);
                foreach (Model.ClsSc_MouldOtherInBillMain oItem in lsmain)
                {
                    //oItem.HMaker = "";
                    UserName = oItem.HMaker;  //制单人
                    oItem.HBillType = "3841";
                    oItem.HBillSubType = "3841";
                    //oItem.HBillNo = "";    //单据号
                    //oItem.HDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));//  --日期
                    //oItem.HInnerBillNo = "";  //  --内部单据号
                    oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                    oItem.HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
                    //oItem.HEquipID = 0;    //设备ID(Gy_EquipMent)
                    //oItem.HPeriod = 0;
                    //oItem.HCheckBeginDate = DBUtility.ClsPub.isDate(DateTime.Now.ToString("yyyy-MM-dd"));  //  --维修日期
                    //oItem.HCheckResult = "";     //验收结论--(正常,异常)
                    //oItem.HEmpID = 0;           //验收人(Gy_Employee)
                    //oItem.HManagerID = 0;      //负责人(Gy_Employee)
                    //oItem.HDeptID = 0;        //验收部门(Gy_Department)
                    //oItem.HExplanation = "";  //摘要(故障描述)
                    //oItem.HRemark = "";       //备注
                    //oItem.HMainSourceInterID = oItem.HInterID;
                    //oItem.HInterID = DBUtility.ClsPub.CreateBillID_SRMProd("1103", ref DBUtility.ClsPub.sExeReturnInfo);
                    if (DBUtility.ClsPub.isStrNull(oItem.HDate) == "")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!没有单据日期,无法保存!";
                        objJsonResult.data = 1;
                        return objJsonResult;
                    }
                    oBill.omodel = oItem;
                }
                //表体数据
                //按 },{来拆分数组 //去掉【和】
                msg3 = msg3.Substring(1, msg3.Length - 2);
                msg3 = msg3.Replace("\\", "");
                msg3 = msg3.Replace("\n", "");  //\n
                //msg2 = msg2.Replace("'", "’");
                List<Model.ClsSc_MouldStockBillSub> ls = new List<Model.ClsSc_MouldStockBillSub>();
                ls = oListModels.getObjectByJson_Gy_MouldStockBillSub(msg3);
                int i = 0;
                foreach (Model.ClsSc_MouldStockBillSub oItemSub in ls)
                {
                    i++;
                    oItemSub.HEntryID = i;
                    //oItemSub.HRepairCheckID = 0;   //验收项目ID
                    //oItemSub.HRepairCheckContent = ""; //验收内容
                    //oItemSub.HManagerID = 0;   //负责人ID
                    //oItemSub.HCloseMan = "";       //行关闭
                    oItemSub.HEntryCloseDate = DBUtility.ClsPub.isDate(DateTime.Now);
                    oItemSub.HCloseType = false;   //关闭类型
                    //oItemSub.HRemark = "";         //备注
                    oItemSub.HSourceInterID = 0;     // 源单主内码
                    oItemSub.HSourceEntryID = 0;   //源单子内码
                    //oItemSub.HSourceBillNo = "";  //源单单号
                    //oItemSub.HSourceBillType = ""; //源单类型
                    //oItemSub.HRelationQty = 0;     //关联数量
                    //oItemSub.HRelationMoney = 0;   //关联金额
                    //oItemSub.HRepairID = 0;       //维修项目
                    //oItemSub.HRepairExplanation ="";   //维修要求
                    //oItemSub.HMoney = 0;        //维修费用
                    oBill.DetailColl.Add(oItemSub);
                }
                //保存
                //保存完毕后处理
                bool bResult;
                if (oBill.omodel.HInterID == 0)
                {
                    // bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                    bResult = oBill.AddBill(ref DBUtility.ClsPub.sExeReturnInfo);
                }
                else
                {
                    bResult = oBill.ModifyBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                }
                if (bResult)
                {
                    string sql = $"exec h_p_Sc_MouldChangeFileStatus  'in','{oBill.omodel.HInterID.ToString()}' ";
                    oCn.RunProc(sql);
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "保存成功!";
                    //WebAPIController.Add_Log("送货单下推", UserName, "生成送货单");
                    objJsonResult.data = 1;
                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;  //成功!
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
@@ -333,7 +490,7 @@
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!" + DBUtility.ClsPub.sExeReturnInfo;
                    objJsonResult.data = 1;
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
@@ -341,8 +498,8 @@
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
                objJsonResult.data = 1;
                objJsonResult.Message = "保存失败!" + e.Message;
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
@@ -358,7 +515,7 @@
        public object DeltetMouldOtherInBill(string HInterID,string user)
        {
            //编辑权限
            if (!DBUtility.ClsPub.Security_Log("Sc_MouldOtherOutBill_Delete", 1, true, user))
            if (!DBUtility.ClsPub.Security_Log("Sc_MouldOtherOutBill_Delete", 1, false, user))
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
@@ -397,10 +554,21 @@
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //删除前查找当前单据的所有器具ID
                //string swhere = "";
                //DataSet ds = oCn.RunProcReturn("select HMaterID from Sc_MouldStockBillSub where HinterID=" + HInterID, "Sc_MouldStockBillSub");
                //for (var i = 0; i < ds.Tables[0].Rows.Count; i++)
                //{
                //    swhere = swhere + ds.Tables[0].Rows[i]["HMaterID"].ToString() + ",";
                //}
                //swhere = swhere.Substring(0, swhere.Length - 1);
                bool IsDete = oBill.DeleteBill(oBill.omodel.HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                if (IsDete)
                {
                    //删除成功修改器具档案位置
                    //string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID  0,0,'{swhere}' ");
                    string sql = string.Format($"exec h_p_Sc_MouldChangeNowWHID ");
                    oCn.RunProc(sql);
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = DBUtility.ClsPub.sExeReturnInfo;