yanjinhui
2025-03-13 d3ae2e67d8237e8474c7b88f526619550608b933
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/SerialPortService/NjTaskServer.cs
@@ -23,7 +23,6 @@
        private readonly ITemplateRepository _templateRepository;
        private readonly INJtakeHistoryRepository _nJtakeHistoryRepository;
        private readonly IPutakeRepository _putakeRepository;
        private IUnitOfWorkManage _unitOfWorkManage;
@@ -38,42 +37,16 @@
            
        }
        //模糊查询
        public WebResponseContent Fuzzyquery(MhuNjtakeTDO mhuNjtakeTDO)
        public override PageGridData<Dt_NjTask> GetPageData(PageDataOptions options)
        {
            try
            {
                var query = BaseDal.QueryData();
                // ç”Ÿæˆ OR æŸ¥è¯¢æ¡ä»¶ å³ä»»æ„å­—段都可以查看
                if (!string.IsNullOrEmpty(mhuNjtakeTDO.trainkind) || !string.IsNullOrEmpty(mhuNjtakeTDO.trainnum) ||
                    !string.IsNullOrEmpty(mhuNjtakeTDO.track) || !string.IsNullOrEmpty(mhuNjtakeTDO.coachnum) ||
                    !string.IsNullOrEmpty(mhuNjtakeTDO.bogie) || !string.IsNullOrEmpty(mhuNjtakeTDO.processdept)||
                    !string.IsNullOrEmpty(mhuNjtakeTDO.taskstatus) || !string.IsNullOrEmpty(mhuNjtakeTDO.createtime))
            OrderByParameters = new Dictionary<string, SqlSugar.OrderByType> {
                {
                    BaseDal.QueryData(x =>
                        (!string.IsNullOrEmpty(mhuNjtakeTDO.trainkind) && x.trainKind.Contains(mhuNjtakeTDO.trainkind)) ||
                        (!string.IsNullOrEmpty(mhuNjtakeTDO.trainnum) && x.trainNum.Contains(mhuNjtakeTDO.trainnum)) ||
                        (!string.IsNullOrEmpty(mhuNjtakeTDO.track) && x.track.Contains(mhuNjtakeTDO.track)) ||
                        (!string.IsNullOrEmpty(mhuNjtakeTDO.coachnum) && x.coachNum.Contains(mhuNjtakeTDO.coachnum)) ||
                        (!string.IsNullOrEmpty(mhuNjtakeTDO.bogie) && x.bogie.Contains(mhuNjtakeTDO.bogie)) ||
                        (!string.IsNullOrEmpty(mhuNjtakeTDO.processdept) && x.processDept.Contains(mhuNjtakeTDO.processdept))||
                        (!string.IsNullOrEmpty(mhuNjtakeTDO.taskstatus) && x.processDept.Contains(mhuNjtakeTDO.taskstatus))||
                        (!string.IsNullOrEmpty(mhuNjtakeTDO.createtime) && x.processDept.Contains(mhuNjtakeTDO.createtime))
                    );
                }
                var result = query.ToList(); // æ‰§è¡ŒæŸ¥è¯¢ .ToList()查询列表, .InSingle(1); // æ ¹æ®æŸ¥è¯¢å•个实体
                return new WebResponseContent { Status = true, Data = result };
            }
            catch (Exception ex)
            {
                return new WebResponseContent { Status = false, Message = "查看失败:" + ex.Message };
            }
                    nameof(Dt_NjTask.trainKind),SqlSugar.OrderByType.Asc
                } };
            return base.GetPageData(options);
        }
        //保存模板
        public WebResponseContent Submtandsave(NjtakeDTO njtakeDTO)
        {
@@ -415,59 +388,80 @@
        }
        //添加信息
        public WebResponseContent AddNJinfom(AddNjtDTO addNjtDTO)
        public WebResponseContent AddNjtake(AddNjtDTO addNjtDTO)
        {
            try
            {
                #region è‡ªå®šä¹‰å‘½åç»™Njtaskid
                // èŽ·å–ä»Šå¤©çš„æ—¥æœŸéƒ¨åˆ†ï¼Œå¦‚ "KH0306"
                string todayPrefix = $"KH{DateTime.Now:MMdd}";
                // æŸ¥è¯¢æ•°æ®åº“,找出当天最大的 NJtaskID
                var lastTask = BaseDal.QueryData(i => i.NJtaskID.StartsWith(todayPrefix))
                                      .OrderByDescending(i => i.NJtaskID)
                                      .FirstOrDefault();
                int nextNumber = 1; // é»˜è®¤ç¼–号
                if (lastTask != null)
                string CustomizeID = "";
                if (addNjtDTO.NJtaskID == 0)
                {
                    // èŽ·å–åŽä¸¤ä½åˆ†é’Ÿç¼–å·
                    string lastNumberPart = lastTask.NJtaskID.Substring(6, 2);
                    if (int.TryParse(lastNumberPart, out int lastNumber))
                    {
                        nextNumber = lastNumber + 1;
                    }
                }
                    // èŽ·å–ä»Šå¤©çš„æ—¥æœŸéƒ¨åˆ†ï¼Œå¦‚ "K20250306"
                    string todayPrefix = $"K{DateTime.Now:yyyyMMdd}";
                // ç”Ÿæˆ NJtaskID,例如 KH0306001, KH0306002...
                string CustomizeID = $"{todayPrefix}{nextNumber:D3}";//D3表示 3位数,不足补0
                    // æŸ¥è¯¢æ•°æ®åº“,找出当天最大的 NJtaskID
                    var lastTask = BaseDal.QueryData(i => i.NJtaskID.StartsWith(todayPrefix))
                                          .OrderByDescending(i => i.NJtaskID)
                                          .FirstOrDefault();
                    int nextNumber = 1; // é»˜è®¤ç¼–号
                    if (lastTask != null)
                    {
                        // èŽ·å–åŽä¸¤ä½åˆ†é’Ÿç¼–å·
                        string lastNumberPart = lastTask.NJtaskID.Substring(6, 2);
                        if (int.TryParse(lastNumberPart, out int lastNumber))
                        {
                            nextNumber = lastNumber + 1;
                        }
                    }
                    // ç”Ÿæˆ NJtaskID,例如 KH0306001, KH0306002...
                    CustomizeID = $"{todayPrefix}{nextNumber:D3}";//D3表示 3位数,不足补0
                }
                else
                {
                    CustomizeID = addNjtDTO.NJtaskID.ToString();
                }
                if (addNjtDTO.Creater=="")
                {
                    addNjtDTO.Creater = "admin";
                }
                #endregion
                var addnj = new Dt_NjTask ()
                var addnj = new Dt_NjTask()
                {
                    NJtaskID= CustomizeID,
                    trainKind=addNjtDTO.trainkind,
                    trainNum=addNjtDTO.trainNum,
                    track=addNjtDTO.track,
                    coachNum=addNjtDTO.coachnum,
                    bogie=addNjtDTO.bogie,
                   processDept=addNjtDTO.processdept,
                   Taskstatus=0,
                    createTime=DateTime.Now,
                    NJtaskID = CustomizeID,
                    trainKind = addNjtDTO.trainKind,
                    trainNum = addNjtDTO.trainNum,
                    track = addNjtDTO.track,
                    coachNum = addNjtDTO.coachNum,
                    bogie = addNjtDTO.bogie,
                    processDept = addNjtDTO.processDept,
                    jiShuYuan=addNjtDTO.jiShuYuan,
                    zhiJianYuan_LC=addNjtDTO.zhiJianYuan_LC,
                    zhiJianYuan_DG=addNjtDTO.zhiJianYuan_DG,
                    zhiJianYuan_DQ=addNjtDTO.zhiJianYuan_DQ,
                    gongZhang=addNjtDTO.gongZhang,
                    liJu_LC=addNjtDTO.liJu_LC,
                    liJu_DG=addNjtDTO.liJu_DG,
                    liJu_DQ=addNjtDTO.liJu_DQ,
                    fuZhu_LC=addNjtDTO.fuZhu_LC,
                    fuZhu_DG=addNjtDTO.fuZhu_DG,
                    fuZhu_DQ=addNjtDTO.fuZhu_DQ,
                    Taskstatus = 0,
                    createTime = DateTime.Now,
                };
                _unitOfWorkManage.BeginTran();
                BaseDal.AddData(addnj);
                _unitOfWorkManage.CommitTran();
                return new WebResponseContent { Status = true, Data = addnj };
                return new WebResponseContent { Status = true, Message = "成功", Code = 200, Data = addnj };
            }
            catch (Exception ex)
            {
                _unitOfWorkManage.RollbackTran();
                return new WebResponseContent { Status = false, Message = "失败" + ex.Message };
                return new WebResponseContent { Status = false, Message = "失败" + ex.Message,Code= 400 };
            }
        }