yangle
2024-05-13 f390fcffbe653866298e4061c19a2a3d5957aa49
WebAPI/Controllers/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/Gy_SOPBillEditController.cs
@@ -27,7 +27,7 @@
        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();
        //定义
        public const Int16 HTagCol = 0;
@@ -139,7 +139,7 @@
                string msg1 = _value.ToString();
                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg2 = sArray[0].ToString();
                string msg3 = sArray[1].ToString();//当前人
                string msg3 = sArray[2].ToString();//当前人
                //反序列化
                msg2 = "[" + msg2.ToString() + "]";
@@ -147,6 +147,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;
@@ -159,6 +160,17 @@
                string HRemark = list[0].HRemark;
                bool HStandard = list[0].HStandard;
                bool HUse = list[0].HUse;
                string HMaker = msg3;
                int HMaterTypeID = list[0].HMaterTypeID;
                //子表
                List<SOPBillSub> list2 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SOPBillSub>>(msg2);
                int HProcNo = list2[0].HProcNo;
                long HProcID = list2[0].HProcID;
                long HWorkStationID = list2[0].HWorkStationID;
                long HCenterID = list2[0].HCenterID;
                string HRemark2 = list2[0].HRemark;
                //判断权限
                //if (!ClsPub.Security_Log("Gy_Repair_Edit", 1, false, msg3))
@@ -170,6 +182,17 @@
                //    return objJsonResult;
                //}
                DataSet CS;
                Int64 lID = 0;
                string BillType = "";
                CS = oCN.RunProcReturn("select * from Gy_BillNumber with (nolock) where BillCode='" + 3305 + "'", "Gy_BillNumber");
                if (CS.Tables[0].Rows.Count != 0)
                {
                    lID = ClsPub.isLong(CS.Tables[0].Rows[0]["IDNow"].ToString());
                    BillType = CS.Tables[0].Rows[0]["BillType"].ToString().Trim();
                }
                //若MAINDI重复则重新获取
                oCN.BeginTran();
                //主表
@@ -178,16 +201,28 @@
                 ",HYear,HPeriod,HRemark,HMaker,Hmakedate,HMaterID,HName,HMaterTypeID" +
                 ",HUnitID,HMaterNumber,HUnitNumber,HStandard" +
                 ") " +
                  " values('" + 3305 + "'," + HMaterID + ",'" + HMaterID + "','" + "2022-11-04" + "'" +
                "," + 2022 + "," + 11 + ",'" + HRemark + "','" + "Test" + "'," + "2022-11-04" + "," + HMaterID.ToString() + ",'" + HName + "'," + 656 +
                  " 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() + "'");
                //" values(" + 3305 + "','" + 12333 + "','" + "test" + "','" + HDate + "','" +
                //2022 + "','" + 11 + "','" + HRemark + "','" + "Test" + "','" + "2022-11-04" + "','" + HMaterID.ToString() + "','" + HName + "','" + "656" +
                //"','" + HUnitID.ToString() + "','" + HMaterNumber + "','" + HUnitNumber + "','" + HStandard.ToString() +
                //") ");
                //修改上级为非末级代码
                //oCN.RunProc("Update Gy_MouldType set HEndflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                //插入子表
              oCN.RunProc("Insert into Gy_SOPBillSub " +
                "(HInterID,HEntryID,HProcID,HProcNO" +
                ",HWorkStationID,HCenterID,HRemark" +
                ") values("
                + HInterID + "," + 1 + "," + HProcID + "," + HProcNo +
                "," + HWorkStationID + "," + HCenterID + ",'" + HRemark2 + "'" +
                ") ");
                oCN.Commit();
                objJsonResult.code = "1";
@@ -206,6 +241,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(); //用户
                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 = "保存成功!";
                    //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)
            {
                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()
@@ -256,12 +377,13 @@
        {
            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 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";
@@ -277,11 +399,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);//文件上传路径
@@ -290,6 +411,25 @@
            string fileSavePath = path;// ä¸Šä¼ ä¿å­˜è·¯å¾„
            int filesize = files.ContentLength;//获取上传文件的大小单位为字节byte
            int Maxsize = 40000 * 1024;//定义上传文件的最大空间大小为40M
            DataSet CS;
            Int64 lID = 0;
            string BillType = "";
            CS = oCN.RunProcReturn("select * from Gy_BillNumber with (nolock) where BillCode='" + 3305 + "'", "Gy_BillNumber");
            if (CS.Tables[0].Rows.Count != 0)
            {
                lID = ClsPub.isLong(CS.Tables[0].Rows[0]["IDNow"].ToString())-1;
                BillType = CS.Tables[0].Rows[0]["BillType"].ToString().Trim();
            }
            DataSet Ds;
            Int64 Sno = 1;
            Ds = oCN.RunProcReturn("select MAX(HSno) HSno from Gy_SOPBillSub2" , "Gy_SOPBillSub2");
            if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HSno"].ToString())!= 0)
            {
                Sno = ClsPub.isLong(Ds.Tables[0].Rows[0]["HSno"].ToString());
                Sno += 1;
            }
            try
            {
@@ -316,17 +456,17 @@
                {
                    File.Delete(fileurl);      //删除指定文件
                    files.SaveAs(fileurl);
                    string StrPath = "/files/" + HBillNo + "/" + filename;
                    string StrPath = "/files/SOP/" + HBillNo + "/" + filename;
                    if (File.Exists(fileurl))
                    {
                        //这里可以执行一些其它的操作,比如更新数据库
                        //写入数据表
                        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()"  + ",'" + 0 + "','" + 0 + "','" + 0 + "','" + 0 + "','" + 0 +
                                   "') ");
                               ",HUpMan,HUpTime,HInterID,HEntryID,HSno,HFileID,HFileSize" +
                              ") values('"
                               + filename.ToString() + "','" + StrPath.ToString() + "','" +  fileExtension.ToString() + "'" +
                               ",'" + HUserName + "',getdate()"  + ",'" + HInterID + "','" + HEntryID + "','" + Sno + "','" + lID + "','" + filesize +
                        "') ");
                    }
                    else
                    {
@@ -337,7 +477,7 @@
                {
                    Directory.CreateDirectory(fileSavePath); //添加文件夹
                    files.SaveAs(fileurl);
                    string StrPath = "/files/" + HBillNo + "/" + filename;
                    string StrPath = "/files/SOP/" + HBillNo + "/" + filename;
                    if (File.Exists(fileurl))
                    {
                        //这里可以执行一些其它的操作,比如更新数据库
@@ -345,8 +485,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