using Microsoft.AspNetCore.Http; using QM.KJGH.CGGL.IRepository; using QM.KJGH.CGGL.Model.Ghxms; using QM.KJGH.Model.KJGH; using QM.OrmSqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using WS; using WS.IO; using WS.IO.Upload; namespace QM.KJGH.CGGL.Repository { public class GhbzGhxmJdRepository : SqlSugarRepository, IGhbzGhxmJdRepository { /// /// 添加进度 /// /// /// public bool Add(GhbzGhxmJd model, IFormFileCollection files) { var db = DbClient(); try { db.BeginTran(); model.BSM = Guid.NewGuid().ToString("N"); model.CTIME = DateTime.Now; db.Insertable(model).ExecuteCommand(); var dic = db.Queryable().Where(u => u.SORT == (db.Queryable().First(u => u.NAME == model.XMJD).SORT + 1)).First(); //最后流程更新流程状态 if (null == dic) { db.Updateable().SetColumns(it => new GhbzGhxm() { DQJD = model.XMJD, JDSTATUS = 1 }).Where(it => it.BSM == model.XM_BSM).ExecuteCommand(); } else { db.Updateable().SetColumns(it => it.DQJD == model.XMJD).Where(it => it.BSM == model.XM_BSM).ExecuteCommand(); } var list = new List(); foreach (var item in files) { string path = FileManage.Instance.ToFullPath(@$"UploadFiles"); var uFile = FileUpload.SaveFile(item, path); var ghbzGhxmJdfjbObj = new GhbzGhxmJdfjb { BSM = Guid.NewGuid().ToString("N"), GL_BSM = model.BSM, FJLJ = uFile.Path, FJMC = uFile.Name, FJKZM = System.IO.Path.GetExtension(uFile.Name), FJDX = (int)uFile.Size }; list.Add(ghbzGhxmJdfjbObj); } //添加附件 db.Insertable(list).ExecuteCommand(); db.CommitTran(); } catch (Exception ex) { db.RollbackTran(); WS.Log.RunLog.Error(ex); throw new UseArgumentException("服务器错误"); } return true; } /// /// 根据项目标识码查询当前和下一进度 /// /// /// public async Task QueryByXmBsm(string xmBsm) { var query = DbClient().Queryable().Where(t=>t.TYPE == "项目进度"); if (string.IsNullOrEmpty(xmBsm)) throw new UseArgumentException("请求参数错误"); var result = (await GetAsync(u => u.XM_BSM == xmBsm)); var dicdata = query.OrderBy(i => i.SORT, SqlSugar.OrderByType.Asc).ToList(); var ghbzGhxmJdView = new GhbzGhxmJdView(); if (result == null) { ghbzGhxmJdView.CurrJD = dicdata.FirstOrDefault(i => i.SORT == 1).ID; ghbzGhxmJdView.NextJD = dicdata.FirstOrDefault(i => i.SORT == 2).ID; } else { if (true) { } ghbzGhxmJdView.CurrJD = dicdata.FirstOrDefault(u => u.SORT == (dicdata.FirstOrDefault(u => u.NAME == result.XMJD).SORT + 1)).ID; ghbzGhxmJdView.NextJD = dicdata.FirstOrDefault(u => u.SORT == (dicdata.FirstOrDefault(u => u.NAME == result.XMJD).SORT + 2)).ID; } return ghbzGhxmJdView; } } }