yanjinhui
2025-03-11 cdd170dd9008d8124d63c76ba186e34cfe61a619
ÏîÄ¿´úÂë/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;
@@ -37,23 +38,27 @@
            
        }
        public WebResponseContent Fuzzyquery(string trainkind, string trainnum, string track, string coachnum, string bogie, string processdept)
        //模糊查询
        public WebResponseContent Fuzzyquery(MhuNjtakeTDO mhuNjtakeTDO)
        {
            try
            {
                var query = BaseDal.Db.Queryable<Dt_NjTask>();
            {
                var query = BaseDal.QueryData();
                // ç”Ÿæˆ OR æŸ¥è¯¢æ¡ä»¶ å³ä»»æ„å­—段都可以查看
                if (!string.IsNullOrEmpty(trainkind) || !string.IsNullOrEmpty(trainnum) ||
                    !string.IsNullOrEmpty(track) || !string.IsNullOrEmpty(coachnum) ||
                    !string.IsNullOrEmpty(bogie) || !string.IsNullOrEmpty(processdept))
                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))
                {
                    query = query.Where(x =>
                        (!string.IsNullOrEmpty(trainkind) && x.trainKind.Contains(trainkind)) ||
                        (!string.IsNullOrEmpty(trainnum) && x.trainNum.Contains(trainnum)) ||
                        (!string.IsNullOrEmpty(track) && x.track.Contains(track)) ||
                        (!string.IsNullOrEmpty(coachnum) && x.coachNum.Contains(coachnum)) ||
                        (!string.IsNullOrEmpty(bogie) && x.bogie.Contains(bogie)) ||
                        (!string.IsNullOrEmpty(processdept) && x.processDept.Contains(processdept))
                    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))
                    );
                }
@@ -73,35 +78,7 @@
        public WebResponseContent Submtandsave(NjtakeDTO njtakeDTO)
        {
            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 lastNumberPart = lastTask.NJtaskID.Substring(6, 2);
                    if (int.TryParse(lastNumberPart, out int lastNumber))
                    {
                        nextNumber = lastNumber + 1;
                    }
                }
                // ç”Ÿæˆ NJtaskID,例如 KH030601, KH030602...
                string CustomizeID = $"{todayPrefix}{nextNumber:D2}";
                #endregion
            {
                //更具模板id来查询是否存在该条数据
                var existtepm = _templateRepository.QueryFirst(i => i.TemplateID == njtakeDTO.Tpid);
                var Temp = new Dt_Template(); //如果你要更新那么要先找到,否则你这样是创建一个新的对象      
@@ -116,15 +93,13 @@
                        Temp.zhiJianYuan_Dq = njtakeDTO.zhijianyuan_dq;
                        Temp.zhiJianYuan_Lc = njtakeDTO.zhijianyuan_lc;
                        Temp.zhiJianYuan_Dg = njtakeDTO.zhijianyuan_dg;
                        Temp.liJu_Dg = njtakeDTO.liju_dq;
                        Temp.liJu_Dg = njtakeDTO.liju_dg;
                        Temp.liJu_Dq = njtakeDTO.liju_dq;
                        Temp.liJu_Lc = njtakeDTO.liju_lc;
                        Temp.fuZhu_Dg = njtakeDTO.fuzhu_dg;
                        Temp.fuZhu_Dq = njtakeDTO.fuzhu_dq;
                        Temp.fuZhu_Lc = njtakeDTO.fuzhu_lc;
                }
                //如果有就在模板上进行更改
                else
@@ -132,7 +107,7 @@
                    existtepm.zhiJianYuan_Dq = njtakeDTO.zhijianyuan_dq;
                    existtepm.zhiJianYuan_Lc = njtakeDTO.zhijianyuan_lc;
                    existtepm.zhiJianYuan_Dg = njtakeDTO.zhijianyuan_dg;
                    existtepm.liJu_Dg = njtakeDTO.liju_dq;
                    existtepm.liJu_Dg = njtakeDTO.liju_dg;
                    existtepm.liJu_Dq = njtakeDTO.liju_dq;
                    existtepm.liJu_Lc = njtakeDTO.liju_lc;
                    existtepm.fuZhu_Dg = njtakeDTO.fuzhu_dg;
@@ -147,11 +122,11 @@
                    return new WebResponseContent { Status = false, Message = "没有找到" };
                }
                task.Taskstatus = "已派工";
                task.Taskstatus = 1;//已派工
                if (existtepm == null)
                {
                    task.NJtaskID = CustomizeID;
                    task.TakeName = njtakeDTO.takename;
                    task.jiShuYuan = njtakeDTO.jishuyuan;
                    task.zhiJianYuan_DG = njtakeDTO.zhijianyuan_dg;
@@ -165,6 +140,7 @@
                    task.fuZhu_DQ = njtakeDTO.fuzhu_dq;
                    task.fuZhu_LC = njtakeDTO.fuzhu_lc;
                    task.dispatchTime = DateTime.Now;
                    task.startTime = DateTime.Now;
                }
                else
                {
@@ -181,6 +157,7 @@
                    task.fuZhu_DQ = njtakeDTO.fuzhu_dq;
                    task.fuZhu_LC = njtakeDTO.fuzhu_lc;
                    task.dispatchTime = DateTime.Now;
                    task.startTime = DateTime.Now;
                }
@@ -231,9 +208,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 }
                 };
@@ -313,30 +290,7 @@
        {
            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 lastNumberPart = lastTask.NJtaskID.Substring(6, 2);
                    if (int.TryParse(lastNumberPart, out int lastNumber))
                    {
                        nextNumber = lastNumber + 1;
                    }
                }
                // ç”Ÿæˆ NJtaskID,例如 KH030601, KH030602...
                string CustomizeID = $"{todayPrefix}{nextNumber:D2}";
                #endregion
                //先根据id判断是否有该任务
@@ -346,10 +300,10 @@
                    return new WebResponseContent { Status = false, Message = "没有找到" };
                }
                task.Taskstatus = "已派工";
                task.Taskstatus = 1;//已派工
                     task.NJtaskID = CustomizeID;
                    task.TakeName = notempDTO.takename;
                task.TakeName = notempDTO.takename;
                    task.jiShuYuan = notempDTO.jishuyuan;
                    task.zhiJianYuan_DG = notempDTO.zhijianyuan_dg;
                    task.zhiJianYuan_DQ = notempDTO.zhijianyuan_dq;
@@ -362,8 +316,7 @@
                    task.fuZhu_DQ = notempDTO.fuzhu_dq;
                    task.fuZhu_LC = notempDTO.fuzhu_lc;
                    task.dispatchTime=DateTime.Now;
                    //task.NJtaskID=
                   // task.startTime =DateTime.Now;
                    task.startTime = DateTime.Now;
               
@@ -414,9 +367,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 }
                 };
                // é€šè¿‡å¾ªçŽ¯åˆ›å»ºå¯¹è±¡
@@ -461,6 +414,112 @@
            }
        }
        //添加信息
        public WebResponseContent AddNJinfom(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 lastNumberPart = lastTask.NJtaskID.Substring(6, 2);
                    if (int.TryParse(lastNumberPart, out int lastNumber))
                    {
                        nextNumber = lastNumber + 1;
                    }
                }
                // ç”Ÿæˆ NJtaskID,例如 KH0306001, KH0306002...
                string CustomizeID = $"{todayPrefix}{nextNumber:D3}";//D3表示 3位数,不足补0
                #endregion
                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,
                };
                _unitOfWorkManage.BeginTran();
                BaseDal.AddData(addnj);
                _unitOfWorkManage.CommitTran();
                return new WebResponseContent { Status = true, Data = addnj };
            }
            catch (Exception ex)
            {
                _unitOfWorkManage.RollbackTran();
                return new WebResponseContent { Status = false, Message = "失败" + ex.Message };
            }
        }
        //查看详情 è¿”回整个表的数据(更具id)
        public WebResponseContent GetNjdetail(string  njtaskID)
        {
            try
            {
                _unitOfWorkManage.BeginTran();
                var datatail = BaseDal.QueryData(x => x.NJtaskID == njtaskID).FirstOrDefault();
                if (datatail == null)
                {
                    return new WebResponseContent { Status = false, Message = "没有找到" };
                }
                _unitOfWorkManage.CommitTran();
                return new WebResponseContent { Status = true,Data = datatail };
            }
            catch (Exception ex)
            {
                _unitOfWorkManage.RollbackTran();
                return new WebResponseContent() { Status = false, Message ="失败"+ ex.Message };
            }
        }
        //更具id更新
        public WebResponseContent PuNjtake(PutNjtDTO putNjtDTO)
        {
            try
            {
                var putake = BaseDal.QueryData(x => x.id==putNjtDTO.id).FirstOrDefault();
                if (putake == null)
                {
                    return new WebResponseContent { Status = false, Message = "没有找到" };
                }
                putake.trainKind= putNjtDTO.trainkind;
                putake.trainNum= putNjtDTO.trainNum;
                putake.track=putNjtDTO.track;
                putake.coachNum=putake.coachNum;
                putake.bogie=putNjtDTO.bogie;
                putake.processDept=putake.processDept;
                _unitOfWorkManage.BeginTran();
                BaseDal.UpdateData(putake);
                _unitOfWorkManage.CommitTran();
                return new WebResponseContent { Status = true, Data = putake };
            }
            catch (Exception ex)
            {
                _unitOfWorkManage.RollbackTran();
                return new WebResponseContent { Status = false, Message = "查询失败:" + ex.Message };
            }
        }
    }
}