yanjinhui
2025-03-13 d3ae2e67d8237e8474c7b88f526619550608b933
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/SerialPortService/NjTaskServer.cs
@@ -5,6 +5,7 @@
using System.Net.NetworkInformation;
using System.Text;
using System.Threading.Tasks;
using StackExchange.Profiling.Internal;
using WIDESEA_ISerialPortRepository;
using WIDESEA_SerialPortRepository;
using WIDESEAWCS_Core;
@@ -22,7 +23,6 @@
        private readonly ITemplateRepository _templateRepository;
        private readonly INJtakeHistoryRepository _nJtakeHistoryRepository;
        private readonly IPutakeRepository _putakeRepository;
        private IUnitOfWorkManage _unitOfWorkManage;
@@ -37,39 +37,16 @@
            
        }
        //模糊查询
        public WebResponseContent Fuzzyquery(MhuNjtakeTDO mhuNjtakeTDO)
        public override PageGridData<Dt_NjTask> GetPageData(PageDataOptions options)
        {
            try
            {
                var query = BaseDal.Db.Queryable<Dt_NjTask>();
                // ç”Ÿæˆ 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))
            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))
                    );
                }
                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)
        {
@@ -118,7 +95,7 @@
                    return new WebResponseContent { Status = false, Message = "没有找到" };
                }
                task.Taskstatus = "已派工";
                task.Taskstatus = 1;//已派工
                if (existtepm == null)
                {
@@ -204,9 +181,9 @@
                // å®šä¹‰ä»»åŠ¡æ‹†è§£çš„ç»„ä¿¡æ¯
                var groups = new[]
                {
                    new { Grouptype= "电气",Pustatus="待领筒",Zhijianyuan = task.zhiJianYuan_DQ, Lijuzouyeyuan = task.liJu_DQ, Fuzyuan = task.fuZhu_DQ },
                    new { Grouptype = "机械",Pustatus="待领筒", Zhijianyuan = task.zhiJianYuan_LC, Lijuzouyeyuan = task.liJu_LC, Fuzyuan = task.fuZhu_LC },
                    new { Grouptype = "地沟",Pustatus="待领筒", Zhijianyuan = task.zhiJianYuan_DG, Lijuzouyeyuan = task.liJu_DG, Fuzyuan = task.fuZhu_DG }
                    new { Grouptype= "电气",Pustatus=0,Zhijianyuan = task.zhiJianYuan_DQ, Lijuzouyeyuan = task.liJu_DQ, Fuzyuan = task.fuZhu_DQ },
                    new { Grouptype = "机械",Pustatus=0, Zhijianyuan = task.zhiJianYuan_LC, Lijuzouyeyuan = task.liJu_LC, Fuzyuan = task.fuZhu_LC },
                    new { Grouptype = "地沟",Pustatus=0, Zhijianyuan = task.zhiJianYuan_DG, Lijuzouyeyuan = task.liJu_DG, Fuzyuan = task.fuZhu_DG }
                 };
@@ -296,10 +273,10 @@
                    return new WebResponseContent { Status = false, Message = "没有找到" };
                }
                task.Taskstatus = "已派工";
                task.Taskstatus = 1;//已派工
                    task.TakeName = notempDTO.takename;
                task.TakeName = notempDTO.takename;
                    task.jiShuYuan = notempDTO.jishuyuan;
                    task.zhiJianYuan_DG = notempDTO.zhijianyuan_dg;
                    task.zhiJianYuan_DQ = notempDTO.zhijianyuan_dq;
@@ -363,9 +340,9 @@
                // å®šä¹‰ä»»åŠ¡æ‹†è§£çš„ç»„ä¿¡æ¯
                var groups = new[]
                {
                    new { Grouptype= "电气",Pustatus="待领筒",Zhijianyuan = task.zhiJianYuan_DQ, Lijuzouyeyuan = task.liJu_DQ, Fuzyuan = task.fuZhu_DQ },
                    new { Grouptype = "机械",Pustatus="待领筒", Zhijianyuan = task.zhiJianYuan_LC, Lijuzouyeyuan = task.liJu_LC, Fuzyuan = task.fuZhu_LC },
                    new { Grouptype = "地沟",Pustatus="待领筒", Zhijianyuan = task.zhiJianYuan_DG, Lijuzouyeyuan = task.liJu_DG, Fuzyuan = task.fuZhu_DG }
                    new { Grouptype= "电气",Pustatus=0,Zhijianyuan = task.zhiJianYuan_DQ, Lijuzouyeyuan = task.liJu_DQ, Fuzyuan = task.fuZhu_DQ },
                    new { Grouptype = "机械",Pustatus=0, Zhijianyuan = task.zhiJianYuan_LC, Lijuzouyeyuan = task.liJu_LC, Fuzyuan = task.fuZhu_LC },
                    new { Grouptype = "地沟",Pustatus=0, Zhijianyuan = task.zhiJianYuan_DG, Lijuzouyeyuan = task.liJu_DG, Fuzyuan = task.fuZhu_DG }
                 };
                // é€šè¿‡å¾ªçŽ¯åˆ›å»ºå¯¹è±¡
@@ -411,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,例如 KH030601, KH030602...
                string CustomizeID = $"{todayPrefix}{nextNumber:D2}";
                    // æŸ¥è¯¢æ•°æ®åº“,找出当天最大的 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="未派工",
                    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 };
            }
        }