| | |
| | | using MES.Service.Dto.service; |
| | | using MES.Service.Modes; |
| | | using MES.Service.util; |
| | | using Newtonsoft.Json.Linq; |
| | | using SqlSugar; |
| | | using static Microsoft.EntityFrameworkCore.DbLoggerCategory; |
| | | |
| | |
| | | private readonly BaseService _baseService = new(); |
| | | |
| | | |
| | | private readonly string[] statusArray = ["开工", "待开工"]; |
| | | private readonly string[] statusArray = ["开工", "待开工","已开工" ,"未开工"]; |
| | | |
| | | //生成最新的检验单号 |
| | | public string getMaxReleaseNo() |
| | |
| | | return "XJN" + date + number; |
| | | } |
| | | |
| | | public List<Womdaa> getItem(string daa001) |
| | | public class DaaInfoDto |
| | | { |
| | | public decimal? Id { get; set; } |
| | | public string Daa001 { get; set; } |
| | | public string? Daa003 { get; set; } |
| | | public string? Daa004 { get; set; } |
| | | public decimal? Daa008 { get; set; } |
| | | public string? Daa015 { get; set; } |
| | | public string? Daa020 { get; set; } |
| | | public string? ItemNo { get; set; } // 来自关联表 |
| | | public string? ItemName { get; set; } |
| | | } |
| | | |
| | | public List<DaaInfoDto> getItem(string daa001) |
| | | { |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | |
| | | //in的写法 https://www.donet5.com/Home/Doc?typeId=1187 |
| | | |
| | | return db.Queryable<Womdaa>() |
| | | return db.Queryable<Womdaa,MesItems>((a, b) => new JoinQueryInfos( |
| | | JoinType.Inner, a.Daa002 == b.Id.ToString())) |
| | | .Where(a => |
| | | a.Daa001 == daa001 && |
| | | statusArray.Contains(a.Daa018)) |
| | | .Select((a, b) => new DaaInfoDto |
| | | { |
| | | Daa001= daa001, |
| | | Daa003=a.Daa003, |
| | | Daa004=a.Daa004, |
| | | Daa008=a.Daa008, |
| | | Daa015=a.Daa015, |
| | | Daa020=a.Daa020, |
| | | ItemNo=b.ItemNo, |
| | | ItemName = b.ItemName, |
| | | Id =a.Id |
| | | }) |
| | | .ToList(); |
| | | } |
| | | |
| | | public List<MesLine> getLineAll() |
| | | public List<QCUserLine> getLineAll(string UserNo) |
| | | { |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | |
| | | return db.Queryable<Womdaa, MesLine>((a, b) => |
| | | new JoinQueryInfos(JoinType.Left, a.Daa015 == b.LineNo)) |
| | | .Where((a, b) => b.LineName != null && |
| | | statusArray.Contains(a.Daa018)) |
| | | .GroupBy((a, b) => new |
| | | |
| | | return db.Queryable<QCUserLine>() |
| | | .Where(a => a.UserCode == UserNo) |
| | | .Select(a => new QCUserLine |
| | | { |
| | | b.LineNo, b.LineName |
| | | }) |
| | | .Select((a, b) => new MesLine |
| | | { |
| | | LineNo = b.LineNo, |
| | | LineName = b.LineName |
| | | }).OrderBy("b.LINE_NO").ToList(); |
| | | LineNo = a.LineNo, |
| | | LineName = a.LineName |
| | | }).OrderBy("LINENO").ToList(); |
| | | } |
| | | |
| | | public List<Womdaa> getDaa001(string daa020, string item) |
| | | |
| | | |
| | | public List<Womdaa> getDaa001(JObject data) |
| | | { |
| | | var daa020 = data["daa020"]?.ToString(); |
| | | var item = data["item"]?.ToString(); |
| | | |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | return db.Queryable<Womdaa, MesItems>((a, b) => |
| | | new JoinQueryInfos(JoinType.Inner, a.Daa002 == b.Id.ToString())) |
| | | .Where((a, b) => |
| | | a.Daa015 == daa020 && |
| | | b.ItemNo == item && |
| | | statusArray.Contains(a.Daa018)) |
| | | .WhereIF(!string.IsNullOrEmpty(daa020), (a, b) => a.Daa015 == daa020) |
| | | .WhereIF(!string.IsNullOrEmpty(item), (a, b) => b.ItemNo == item) |
| | | .Where((a, b) => statusArray.Contains(a.Daa018)) |
| | | .Select<Womdaa>(a => new Womdaa |
| | | { |
| | | Id = a.Id, |
| | |
| | | .ExecuteCommand(); |
| | | }); |
| | | |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | // 创建参数 |
| | | var FID = new SugarParameter("P_ID", rkjDto.gid); |
| | | |
| | | |
| | | var FRes = new SugarParameter("c_result", null, true); // 输出参数 |
| | | var FMsg = new SugarParameter("c_msg", null, true); |
| | | |
| | | // 执行存储过程 |
| | | db.Ado.UseStoredProcedure().GetDataTable("PRC_XJ_UPDATE_RES_JK", FID, FRes, FMsg); |
| | | |
| | | int result = int.Parse((string)FRes.Value); |
| | | string message = FMsg.Value == DBNull.Value ? string.Empty : (string)FMsg.Value; |
| | | if (result == 1) |
| | | { |
| | | //存储过程失败则事务进行回滚 |
| | | //db.Ado.RollbackTran(); |
| | | throw new Exception(message); |
| | | } |
| | | |
| | | |
| | | return useTransactionWithOracle > 0; |
| | | } |
| | | |