a
qiuyao
2025-03-24 72942308915441381c5753057585677ce22b8032
a
已修改4个文件
125 ■■■■ 文件已修改
项目代码/WIDESEAWCS_Server 正式/SerialPortService/NjTaskServer.cs 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Model/Models/SerialPort/Dt_ArticleInfom.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Server/appsettings.json 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_Tasks/SerialPort/SerialPortJob.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/SerialPortService/NjTaskServer.cs
@@ -248,43 +248,44 @@
                // æ’入到任务历史表
                var history = new Dt_NJtakeHistory
                {
                    taskID = task.id,
                    trainKind = task.trainKind,
                    TakeName = task.TakeName,
                    trainNum = task.trainNum,
                    track = task.track,
                    coachNum = task.coachNum,
                    bogie = task.bogie,
                    processDept = task.processDept,
                    jiShuYuan = task.jiShuYuan,
                    zhiJianYuan_LC = task.zhiJianYuan_LC,
                    zhiJianYuan_DG = task.zhiJianYuan_DG,
                    zhiJianYuan_DQ = task.zhiJianYuan_DQ,
                    gongZhang = task.gongZhang,
                    liJu_LC = task.liJu_LC,
                    liJu_DG = task.liJu_DG,
                    liJu_DQ = task.liJu_DQ,
                    fuZhu_LC = task.fuZhu_LC,
                    fuZhu_DQ = task.fuZhu_DQ,
                    fuZhu_DG = task.fuZhu_DG,
                    createTime = (DateTime)task.createTime,
                    dispatchTime = (DateTime)task.dispatchTime,
                    startTime = (DateTime)task.startTime,
                    startTime_LC = (DateTime)task.startTime_LC,
                    endTime_LC = (DateTime)task.endTime_LC,
                    startTime_DG = (DateTime)task.startTime_DG,
                    endTime_DG = (DateTime)task.endTime_DG,
                    startTime_DQ = (DateTime)task.startTime_DQ,
                    endTime_DQ = (DateTime)task.endTime_DQ,
                    endTime = (DateTime)task.endTime,
                    confirmTime_JS = (DateTime)task.confirmTime_JS,
                    confirmTime_GZ = (DateTime)task.confirmTime_GZ,
                    confirmTime_LC = (DateTime)task.confirmTime_LC,
                    confirmTime_DG = (DateTime)task.confirmTime_DG,
                    confirmTime_DQ = (DateTime)task.confirmTime_DQ
                };
                //var history = new Dt_NJtakeHistory
                //{
                //    taskID = task.id,
                //    trainKind = task.trainKind,
                //    TakeName = task.TakeName,
                //    trainNum = task.trainNum,
                //    track = task.track,
                //    coachNum = task.coachNum,
                //    bogie = task.bogie,
                //    processDept = task.processDept,
                //    jiShuYuan = task.jiShuYuan,
                //    zhiJianYuan_LC = task.zhiJianYuan_LC,
                //    zhiJianYuan_DG = task.zhiJianYuan_DG,
                //    zhiJianYuan_DQ = task.zhiJianYuan_DQ,
                //    gongZhang = task.gongZhang,
                //    liJu_LC = task.liJu_LC,
                //    liJu_DG = task.liJu_DG,
                //    liJu_DQ = task.liJu_DQ,
                //    fuZhu_LC = task.fuZhu_LC,
                //    fuZhu_DQ = task.fuZhu_DQ,
                //    fuZhu_DG = task.fuZhu_DG,
                //    createTime = (DateTime)task.createTime,
                //    dispatchTime = (DateTime)task.dispatchTime,
                //    startTime = (DateTime)task.startTime,
                //    startTime_LC = (DateTime)task.startTime_LC,
                //    endTime_LC = (DateTime)task.endTime_LC,
                //    startTime_DG = (DateTime)task.startTime_DG,
                //    endTime_DG = (DateTime)task.endTime_DG,
                //    startTime_DQ = (DateTime)task.startTime_DQ,
                //    endTime_DQ = (DateTime)task.endTime_DQ,
                //    endTime = (DateTime)task.endTime,
                //    confirmTime_JS = (DateTime)task.confirmTime_JS,
                //    confirmTime_GZ = (DateTime)task.confirmTime_GZ,
                //    confirmTime_LC = (DateTime)task.confirmTime_LC,
                //    confirmTime_DG = (DateTime)task.confirmTime_DG,
                //    confirmTime_DQ = (DateTime)task.confirmTime_DQ
                //};
@@ -314,7 +315,8 @@
                        Grouptype = g.Grouptype,
                        Pustatus = g.Pustatus,
                        Dispatchtime = task.dispatchTime,
                        Creater="",
                        CreateDate=new DateTime()
                    });
                }
@@ -324,7 +326,7 @@
                BaseDal.UpdateData(task);//将模板表中修改的插入进任务表中
                // db.Insertable(history).ExecuteCommand(); 
                _nJtakeHistoryRepository.AddData(history);// æ’入历史记录
                //_nJtakeHistoryRepository.AddData(history);// æ’入历史记录
                _putakeRepository.AddData(listp);//下发三条任务分解表数据
                                                 //  return new WebResponseContent { Status = true, Message = "下发了任务并保存了模板"};
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Model/Models/SerialPort/Dt_ArticleInfom.cs
@@ -9,7 +9,7 @@
namespace WIDESEAWCS_Model.Models
{
    [SugarTable("Dt_ArticleInfom", "套筒/信息表"), MultiTenant]
    [SugarTable("Dt_ArticleInfom", "套筒信息表"), MultiTenant]
    public class Dt_ArticleInfom:BaseEntity
    {
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "主键")]
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Server/appsettings.json
@@ -16,7 +16,7 @@
    "MainDB": "DB_WIDESEA", //当前项目的主库,所对应的连接字符串的Enabled必须为true
    //连接字符串
    //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
    "ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWCS_MXNL;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
  "ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWCS_MXNL;User ID=sa;Password=sa123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
    //跨域
    "Cors": {
        "PolicyName": "CorsIpAccess", //策略名称
@@ -30,5 +30,6 @@
    "QuartzJobAutoStart": true,
    "PrintSql": false,
    "WebSocketEnable": true,
    "WebSocketPort": 0
  "WebSocketPort": 0,
  "LogDeubgEnable": true
}
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_Tasks/SerialPort/SerialPortJob.cs
@@ -12,6 +12,7 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
using Quartz;
using SqlSugar;
using StackExchange.Profiling.Internal;
@@ -75,7 +76,6 @@
                SerialPortDevice serialPortDevice = (SerialPortDevice)context.JobDetail.JobDataMap.Get("JobParams");
                if (serialPortDevice != null)
                {
                    List<DeviceProDTO> deviceProDTOs = serialPortDevice.DeviceProDTOs;
                    foreach (var item in deviceProDTOs)
                    {
@@ -131,6 +131,7 @@
                                                    //格式化成整数
                                                    serialPortDevice.Communicator.Write(com);
                                                    WriteDebug("写入", com);
                                                }
                                                //第二种,第一个值扭完了,第二个没有扭完
                                                if (oponecount==onequantity&& optowcount < towquantity&& torquetwo!=0)
@@ -146,9 +147,7 @@
                                    }
                                }
                                #endregion
                                item.DeviceProParamName = CommandType.Set.ToString();
                                item.DeviceProParamName = CommandType.None.ToString();
                            }
                        }
@@ -159,28 +158,19 @@
                            if (deviceProtocolDetail != null)
                            {
                                serialPortDevice.Communicator.Write(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue, "\r");//打开串口时先设值
                            }
                        }
                        else if (CommandType.Set.ToString() == item.DeviceProParamName)
                        {
                            DeviceProtocolDetailDTO? deviceProtocolDetail = serialPortDevice.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(CommandType) && x.ProtocolDetailType == nameof(CommandType.Set));
                            //设值
                            if (deviceProtocolDetail != null)
                            {
                                serialPortDevice.Communicator.Write(item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue, "\r");//打开串口时先设值
                            }
                        }
                                WriteDebug("写入", item.DeviceChildCode + deviceProtocolDetail.ProtocalDetailValue);
                            }
                        }
                        if (serialPortDevice.Communicator.Buffers.Count > 0)
                        {
                            string? receiveData = serialPortDevice.Communicator.ToString(Encoding.Default);
                            if (!string.IsNullOrEmpty(receiveData))
                            {
                                Console.WriteLine(DateTime.Now.ToString("HH:mm:ss.fff") + receiveData);
                                Console.WriteLine("serialPortDevice:" + DateTime.Now.ToString("HH:mm:ss.fff") + receiveData);
                                if (item.DeviceProParamName == CommandType.Set.ToString())
                                if (item.DeviceProParamName == CommandType.Set.ToString() || item.DeviceProParamName == CommandType.None.ToString())
                                {
                                    DeviceProtocolDetailDTO? deviceProtocolDetail = serialPortDevice.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(CommandResult) && x.ProtocolDetailType == nameof(CommandResult.SetOK));
                                    //parseok 
@@ -242,17 +232,23 @@
                                            
                                                    #endregion
                                                    item.DeviceProParamName = CommandType.Set.ToString();
                                            item.DeviceProParamName = CommandType.None.ToString();
                                        }
                                      
                                    }
                                    DeviceProtocolDetailDTO? deviceProtocolDetail2 = serialPortDevice.DeviceProtocolDetailDTOs.FirstOrDefault(x => x.DeviceProParamName == nameof(CommandResult) && x.ProtocolDetailType == nameof(CommandResult.GetError));
                                    if (deviceProtocolDetail2 != null && receiveData.Contains(item.DeviceChildCode + deviceProtocolDetail2.ProtocalDetailValue))
                                    {
                                        item.DeviceProParamName = CommandType.None.ToString();
                                    }
                                }
                            }
                            //建一个对象将其传给前端
                            string data = JsonConvert.SerializeObject(serialPortDevice);//这里serialPortDevice是假设有这个对象
                            _webSocketContext.PublishAllClientPayload(data);
                            //string data = JsonConvert.SerializeObject(serialPortDevice);//这里serialPortDevice是假设有这个对象
                            //_webSocketContext.PublishAllClientPayload(data);
                        }
                    }