llj
2025-08-07 1a94e0e270668ef1cfbcd5043b72bc6591a50706
WebAPI/Controllers/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/Gy_SOPBillEditController.cs
@@ -27,7 +27,9 @@
        public DAL.ClsGy_SOPBill BillOld = new DAL.ClsGy_SOPBill();
        public bool BillChange;   //
        public DataGridView grdMain = new System.Windows.Forms.DataGridView();
        ClsGridViewSum oSumGrid = new ClsGridViewSum();
        ClsGridViewSum oSumGrid = new ClsGridViewSum();
        //获取系统参数
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        //定义
        public const Int16 HTagCol = 0;
@@ -147,6 +149,7 @@
                List<SOPBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SOPBill>>(msg2);
                string HBillNo = list[0].HBillNo;
                int HInterID = list[0].HInterID;
                DateTime HDate = list[0].HDate;
                string HName = list[0].HName;
                int HMaterID = list[0].HMaterID;
@@ -200,12 +203,12 @@
                 ",HYear,HPeriod,HRemark,HMaker,Hmakedate,HMaterID,HName,HMaterTypeID" +
                 ",HUnitID,HMaterNumber,HUnitNumber,HStandard" +
                 ") " +
                  " values('" + 3305 + "'," + lID + ",'" + HBillNo + "'," + "getdate()" +
                  " values('" + 3305 + "'," + HInterID + ",'" + HBillNo + "'," + "getdate()" +
                "," + "datepart(yyyy,GETDATE())" + "," + "datepart(mm,getdate())" + ",'" + HRemark + "','" + HMaker + "'," + "getdate()" + "," + HMaterID.ToString() + ",'" + HName + "'," + HMaterTypeID +
                "," + HUnitID.ToString() + ",'" + HMaterNumber + "','" + HUnitNumber + "','" + HStandard.ToString() +
                "') ");
            
                oCN.RunProc("update Gy_BillNumber set IDNow=IDNow+1 where BillType='" + BillType.Trim() + "'");
                //oCN.RunProc("update Gy_BillNumber set IDNow=IDNow+1 where BillType='" + BillType.Trim() + "'");
                //" values(" + 3305 + "','" + 12333 + "','" + "test" + "','" + HDate + "','" +
                //2022 + "','" + 11 + "','" + HRemark + "','" + "Test" + "','" + "2022-11-04" + "','" + HMaterID.ToString() + "','" + HName + "','" + "656" +
                //"','" + HUnitID.ToString() + "','" + HMaterNumber + "','" + HUnitNumber + "','" + HStandard.ToString() +
@@ -218,7 +221,7 @@
                "(HInterID,HEntryID,HProcID,HProcNO" +
                ",HWorkStationID,HCenterID,HRemark" +
                ") values("
                + lID + "," + 1 + "," + HProcID + "," + HProcNo +
                + HInterID + "," + 1 + "," + HProcID + "," + HProcNo +
                "," + HWorkStationID + "," + HCenterID + ",'" + HRemark2 + "'" +
                ") ");
              
@@ -240,6 +243,92 @@
            }
        }
        #endregion
        #region ä¿å­˜å•据
        [Route("Gy_SOPBill/Save")]
        [HttpPost]
        public object Save([FromBody] JObject oMain)
        {
            try
            {
                var _value = oMain["oMain"].ToString();
                string msg1 = _value.ToString();
                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msgMain = sArray[0].ToString(); //表头信息
                string msgSub = sArray[1].ToString(); //表体信息
                string OperationType = sArray[2].ToString(); //操作类型
                string user = sArray[3].ToString(); //用户
                DBUtility.ClsPub.CurUserName = user;
                ListModels oListModels = new ListModels();
                DAL.ClsGy_SOPBill oBill = new DAL.ClsGy_SOPBill();
                List<Model.ClsGy_SOPBillMain> lsmain = new List<Model.ClsGy_SOPBillMain>();
                msgMain = msgMain.Replace("\\", "");
                msgMain = msgMain.Replace("\n", "");  //\n
                lsmain = oListModels.getObjectByJson_Gy_SOPBillMain(msgMain);
                foreach (Model.ClsGy_SOPBillMain oItem in lsmain)
                {
                    oBill.omodel = oItem;
                }
                //表体数据
                //按 },{来拆分数组 //去掉【和】
                msgSub = msgSub.Substring(1, msgSub.Length - 2);
                msgSub = msgSub.Replace("\\", "");
                msgSub = msgSub.Replace("\n", "");  //\n
                //msg2 = msg2.Replace("'", "’");
                List<Model.ClsGy_SOPBillSub> ls = new List<Model.ClsGy_SOPBillSub>();
                ls = oListModels.getObjectByJson_Gy_SOPBillSub(msgSub);
                int i = 0;
                foreach (Model.ClsGy_SOPBillSub oItemSub in ls)
                {
                    i++;
                    oItemSub.HEntryID = i;
                    oBill.DetailColl.Add(oItemSub);
                }
                //保存
                //保存完毕后处理
                bool bResult;
                if (OperationType == "1" || OperationType == "2")
                {
                    // 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)
                {
                    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)
            {
                oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.Message;
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        [Route("Gy_SOPBill/Use")]
        [HttpGet]
        public object sy_Click()
@@ -288,14 +377,26 @@
        [HttpPost]
        public object UploadFile1()
        {
            string path="";
            string HBillNo = HttpContext.Current.Request.Params["HBillNo"];  //单据号
            string HRemark = HttpContext.Current.Request.Params["HRemark"];  //备注
            string HUserName = HttpContext.Current.Request.Params["HUserName"];  //创建人
            HttpPostedFile files = HttpContext.Current.Request.Files["file"];
            string path = HttpContext.Current.Server.MapPath("~/../Files/" + HBillNo);
            string HInterID = HttpContext.Current.Request.Params["HInterID"];  //单据内码
            HttpPostedFile files = HttpContext.Current.Request.Files["file"]; //文件
            string Ret = "";
            if (oSystemParameter.ShowBill(ref Ret))
            {
                if (oSystemParameter.omodel.WMS_CampanyName == "杭州斯莫尔")
                {
                    path = "D:/网站发布/MES/MES测试/LAYUI/Files/SOP/" + HBillNo;
                }
                else
                {
                    path = HttpContext.Current.Server.MapPath("~/../Files/SOP/" + HBillNo);
                }
            }
            //string path = @"D:\\Files\\"+ HBillNo;
            dynamic dyResult = UpLoadFile(files, path, HBillNo, HRemark, HUserName);
            Int64 HEntryID = Convert.ToInt64(HttpContext.Current.Request.Params["HEntryID"]);  //子内码
            dynamic dyResult = UpLoadFile(files, path, HBillNo, HInterID, HUserName, HEntryID);
            if (dyResult != null && dyResult.result == 1)
            {
                objJsonResult.code = "1";
@@ -311,11 +412,10 @@
                objJsonResult.Message = dyResult.returnval;
                objJsonResult.data = null;
                return objJsonResult;
            }
            }
        }
        public dynamic UpLoadFile(HttpPostedFile files, string path, string HBillNo, string HRemark, string HUserName)
        public dynamic UpLoadFile(HttpPostedFile files, string path, string HBillNo, string HInterID, string HUserName,Int64 HEntryID)
        {
            dynamic Result_Ob = new { result = 1, returnval = "上传成功!" };
            string filePath = Path.GetFullPath(files.FileName);//文件上传路径
@@ -369,7 +469,20 @@
                {
                    File.Delete(fileurl);      //删除指定文件
                    files.SaveAs(fileurl);
                    string StrPath = "/files/" + HBillNo + "/" + filename;
                    string StrPath = "";
                    string Ret = "";
                    if (oSystemParameter.ShowBill(ref Ret))
                    {
                        if (oSystemParameter.omodel.WMS_CampanyName == "杭州斯莫尔")
                        {
                            StrPath = "D:/网站发布/MES/MES测试/LAYUI/Files/SOP/" + HBillNo + "/" + filename;
                        }
                        else
                        {
                            StrPath = "/files/SOP/" + HBillNo + "/" + filename;
                        }
                    }
                    if (File.Exists(fileurl))
                    {
                        //这里可以执行一些其它的操作,比如更新数据库
@@ -377,8 +490,8 @@
                        oCN.RunProc("Insert into Gy_SOPBillSub2 (HFileName,HPath,HFileType" +
                               ",HUpMan,HUpTime,HInterID,HEntryID,HSno,HFileID,HFileSize" +
                              ") values('"
                               + filename.ToString() + "','" + filePath.ToString() + "','" +  fileExtension.ToString() + "'" +
                               ",'" + HUserName + "',getdate()"  + ",'" + Sno + "','" + 0 + "','" + Sno + "','" + lID + "','" + 0 +
                               + filename.ToString() + "','" + StrPath.ToString() + "','" +  fileExtension.ToString() + "'" +
                               ",'" + HUserName + "',getdate()"  + ",'" + HInterID + "','" + HEntryID + "','" + Sno + "','" + lID + "','" + filesize +
                        "') ");
                    }
                    else
@@ -389,8 +502,22 @@
                else
                {
                    Directory.CreateDirectory(fileSavePath); //添加文件夹
                    files.SaveAs(fileurl);
                    string StrPath = "/files/" + HBillNo + "/" + filename;
                    files.SaveAs(fileurl);
                    string StrPath = "";
                    string Ret = "";
                    //if (oSystemParameter.ShowBill(ref Ret))
                    //{
                    //    if (oSystemParameter.omodel.WMS_CampanyName == "杭州斯莫尔")
                    //    {
                    //        StrPath = "D:/网站发布/MES/MES测试/LAYUI/Files/SOP/" + HBillNo + "/" + filename;
                    //    }
                    //    else
                    //    {
                    //        StrPath = "/files/SOP/" + HBillNo + "/" + filename;
                    //    }
                    //}
                    StrPath = "/files/SOP/" + HBillNo + "/" + filename;
                    if (File.Exists(fileurl))
                    {
                        //这里可以执行一些其它的操作,比如更新数据库
@@ -398,8 +525,8 @@
                        oCN.RunProc("Insert into Gy_SOPBillSub2 (HFileName,HPath,HFileType" +
                                     ",HUpMan,HUpTime,HInterID,HEntryID,HSno,HFileID,HFileSize" +
                                    ") values('"
                                     + filename.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" +
                                     ",'" + HUserName + "',getdate()" + ",'" + 111 + "','" + 222 + "','" + 333 + "','" + 444 + "','" + 555 +
                                     + filename.ToString() + "','" + StrPath.ToString() + "','" + fileExtension.ToString() + "'" +
                                     ",'" + HUserName + "',getdate()" + ",'" + HInterID + "','" + HEntryID + "','" + Sno + "','" + lID + "','" + filesize +
                                    "') ");
                    }
                    else
@@ -416,5 +543,129 @@
            return Result_Ob;
        }
        #region ä½œä¸šæŒ‡å¯¼ä¹¦ç¼–辑
        [Route("Gy_SOPBill/GetGy_SOPEdit")]
        [HttpGet]
        public object GetSB_EquipICMOTechParamBill_Json(Int64 HInterID, string HMaker)
        {
            try
            {
                //判断权限
                if (!DBUtility.ClsPub.Security_Log("Gy_SOPBill_Edit", 3, false, HMaker))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "您没有该模块编辑权限,请与管理员联系!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //返回列表信息
                ds = oCN.RunProcReturn("exec h_p_Gy_SOPBill_Edit " + HInterID, "h_p_Gy_SOPBill_Edit");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "未查询到作业指导书,请刷新数据后重新选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "成功!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "返回作业指导书信息失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        /// <summary>
        /// æ ¹æ®å•据号查找上传文件列表
        /// </summary>
        /// <param name="sWhere"></param>
        /// <returns></returns>
        [Route("Gy_SOPBill/GetFilelist")]
        [HttpGet]
        public object GetFilelist(string HBillNo,string HInterID)
        {
            string Ret = "";
            var url = "";
            if (oSystemParameter.ShowBill(ref Ret))
            {
                if (oSystemParameter.omodel.WMS_CampanyName == "杭州斯莫尔")
                {
                    url = "D:/网站发布/MES/MES测试/LAYUI/Files/SOP/" + HBillNo + "/" ;
                }
                else
                {
                    url = "/files/SOP/" + HBillNo + "/";
                }
            }
            try
            {
                ds = oCN.RunProcReturn("select *,'" + url + "'+CAST(HFileName as varchar(200))as url  from Gy_SOPBillSub2 where HInterID='" + HInterID + "'", "Gy_SOPBillSub2");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                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;
            }
        }
        /// <summary>
        /// æ ¹æ®ID,删除文件
        /// </summary>
        /// <param name="sWhere"></param>
        /// <returns></returns>
        [Route("Gy_SOPBillEditController/DeleteFile")]
        [HttpGet]
        public object DeleteFile(string HFileID, string HPath)
        {
            try
            {
                // åˆ é™¤æ•°æ®åº“记录
                oCN.RunProc("delete from Gy_SOPBillSub2 where HItemID =" + HFileID);
                //File.Delete(HPath);      //删除指定文件
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "删除成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
    }
}