diff --git a/ConsoleApp/MainCentralControl.cs b/ConsoleApp/MainCentralControl.cs index 120fe4e..adeb2b3 100644 --- a/ConsoleApp/MainCentralControl.cs +++ b/ConsoleApp/MainCentralControl.cs @@ -192,7 +192,7 @@ namespace ConsoleApp private async void SaveStationDataTask(PlcAbsractFactory Plc) { try - { //主线码 + { //转子码 byte[] SemBarCode = Plc.readValueByAddress(_semiBarcode1, 20); string barcode = ByteTransform.TransString(SemBarCode, 0, 20, Encoding.ASCII); partsns partsns = new partsns(); @@ -262,12 +262,13 @@ namespace ConsoleApp datastation.Ng = Plc.readFloatByAddress("D7708").ToString() == "1" ? 0 : 1; datastation.Partsns = jsonString; datastation.Paratemp = datastring; - int LockFlag = SqlSugarClient.Updateable(datastation).ExecuteCommand(); - Console.WriteLine(StringChange.ModeToJson(datastation)); + int InsertFlag = SqlSugarClient.Updateable(datastation).ExecuteCommand(); + //Console.WriteLine(StringChange.ModeToJson(datastation)); _logger.Info(StringChange.ModeToJson(datastation)); } else { + SqlSugarClient.AsTenant().BeginTran(); datastation = new Datastation() { Stime = DateTime.Now, @@ -291,13 +292,88 @@ namespace ConsoleApp //存盘 int id = SqlSugarClient.Insertable(datastation).ExecuteReturnIdentity(); Plc.writeInt16ByAddress("D7704", 1); - Console.WriteLine(StringChange.ModeToJson(datastation)); + //Console.WriteLine(StringChange.ModeToJson(datastation)); _logger.Info(StringChange.ModeToJson(datastation)); + + var datastationid = SqlSugarClient.Queryable().First(it => it.Partsns.Contains(barcode)); + //datastationparam数据存表 + Datastationparam datastationparam1 = new Datastationparam() + { + Dsid = datastationid.Id, + Stationid = StationCode, + N = data1.n, + T = false, + V = data1.v, + Ng = data1.ng == 0?1:0, + Max = data1.max, + Min = data1.min, + Stime = datastation.Stime, + Ngcode = "OK" + }; + Datastationparam datastationparam2 = new Datastationparam() + { + Dsid = datastationid.Id, + Stationid = StationCode, + N = data2.n, + T = false, + V = data2.v, + Ng = data2.ng == 0 ? 1 : 0, + Max = data2.max, + Min = data2.min, + Stime = datastation.Stime, + Ngcode = "OK" + }; + Datastationparam datastationparam3 = new Datastationparam() + { + Dsid = datastationid.Id, + Stationid = StationCode, + N = data3.n, + T = false, + V = data3.v, + Ng = data3.ng == 0 ? 1 : 0, + Max = data3.max, + Min = data3.min, + Stime = datastation.Stime, + Ngcode = "OK" + }; + Datastationparam datastationparam4 = new Datastationparam() + { + Dsid = datastationid.Id, + Stationid = StationCode, + N = data4.n, + T = false, + V = data4.v, + Ng = data4.ng == 0 ? 1 : 0, + Max = data4.max, + Min = data4.min, + Stime = datastation.Stime, + Ngcode = "OK" + }; + Datastationparam datastationparam5 = new Datastationparam() + { + Dsid = datastationid.Id, + Stationid = StationCode, + N = data5.n, + T = false, + V = data5.v, + Ng = data5.ng == 0 ? 1 : 0, + Max = data5.max, + Min = data5.min, + Stime = datastation.Stime, + Ngcode = "OK" + }; + int flag1 = SqlSugarClient.Insertable(datastationparam1).ExecuteReturnIdentity(); + int flag2 = SqlSugarClient.Insertable(datastationparam2).ExecuteReturnIdentity(); + int flag3 = SqlSugarClient.Insertable(datastationparam3).ExecuteReturnIdentity(); + int flag4 = SqlSugarClient.Insertable(datastationparam4).ExecuteReturnIdentity(); + int flag5 = SqlSugarClient.Insertable(datastationparam5).ExecuteReturnIdentity(); + SqlSugarClient.AsTenant().CommitTran(); } - + } catch (Exception ex) { + SqlSugarClient.AsTenant().RollbackTran(); _logger.Error($"存盘异常{ex.Message}"); } } @@ -328,16 +404,41 @@ namespace ConsoleApp byte[] _QGBarcode = Plc.readValueByAddress(_semiBarcode2, 20); string QGBarCode = ByteTransform.TransString(_QGBarcode, 0, 20, Encoding.ASCII); _logger.Info("前盖码:" + QGBarCode); + #region 根据前盖码查询Productid //根据前盖码查询Productid - SqlSugarClient.Queryable().Any(x => x.Sn == QGBarCode); var Dipsn = SqlSugarClient.Queryable().First(it => it.Sn == QGBarCode); if (Dipsn != null) { - - int id = SqlSugarClient.Insertable(datastation).ExecuteReturnIdentity(); + Dipsn dipsn = new Dipsn() + { + Type = Dipsn.Type, + Stime = DateTime.Now, + Sn = ZZBarCode, + Productid = Dipsn.Productid, + }; + int id = SqlSugarClient.Insertable(dipsn).ExecuteReturnIdentity(); } + #endregion + #region 查询datastation表,更新Productid + var zzdata = SqlSugarClient.Queryable().First(it => it.Partsns.Contains(ZZBarCode)); + if (zzdata != null) + { + zzdata.Productid = Dipsn.Productid; + int UpdateDatastationFlag = SqlSugarClient.Updateable(zzdata).ExecuteCommand(); + //更新datastationparam表Productid字段 - + List AllDatastationparamList = await SqlSugarClient.Queryable().Where(x => x.Dsid == zzdata.Id).ToListAsync(); + if (AllDatastationparamList != null) + { + foreach (var param in AllDatastationparamList) + { + param.Productid = zzdata.Productid; + int UpdateDatastationparamFlag = SqlSugarClient.Updateable(param).ExecuteCommand(); + } + + } + } + #endregion //下发PLC上工位合格 Plc.writeInt16ByAddress(_completeAskAddress, 1); //BarCodeRelationShipBinding(Plc); diff --git a/ConsoleApp/appsettings.json b/ConsoleApp/appsettings.json index 21cd226..a27a073 100644 --- a/ConsoleApp/appsettings.json +++ b/ConsoleApp/appsettings.json @@ -14,7 +14,7 @@ "configId": "mes", "dbType": 0, //"connStr": "Data Source=119.45.202.115;Port=3306;Initial Catalog=db_iems;uid=root;pwd=haiwei@123;Charset=utf8mb4;SslMode=none;Connect Timeout=100" - "connStr": "Data Source=127.0.0.1;Port=3306;Initial Catalog=test;uid=root;pwd=123456;Charset=utf8mb4;SslMode=none;Connect Timeout=100" + "connStr": "Data Source=192.168.0.251;Port=3306;Initial Catalog=backup;uid=root;pwd=123456;Charset=utf8mb4;SslMode=none;Connect Timeout=100" } //{ // "configId": "mcs", diff --git a/SlnMesnac.Model/domain/Datastation.cs b/SlnMesnac.Model/domain/Datastation.cs index df23926..8a6ab36 100644 --- a/SlnMesnac.Model/domain/Datastation.cs +++ b/SlnMesnac.Model/domain/Datastation.cs @@ -52,7 +52,7 @@ namespace SlnMesnac.Model.domain /// 默认值: /// [SugarColumn(ColumnName="stime" ) ] - public DateTime? Stime { get; set; } + public DateTime Stime { get; set; } /// /// 备 注:是否NG:0 非NG;1 NG品 diff --git a/SlnMesnac.Model/domain/Datastationparam.cs b/SlnMesnac.Model/domain/Datastationparam.cs index 9ef060c..e8d085a 100644 --- a/SlnMesnac.Model/domain/Datastationparam.cs +++ b/SlnMesnac.Model/domain/Datastationparam.cs @@ -80,7 +80,7 @@ namespace SlnMesnac.Model.domain /// 默认值: /// [SugarColumn(ColumnName="ng" ) ] - public bool? Ng { get; set; } + public int? Ng { get; set; } /// /// 备 注:记录时间