| StandardPda/MES.Service/Dto/service/TestResultDto.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MES.Service/service/QC/LljService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MES.Service/service/Warehouse/WorkflowManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| StandardPda/MESApplication/Controllers/Warehouse/WorkflowController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
StandardPda/MES.Service/Dto/service/TestResultDto.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,30 @@ namespace MES.Service.Dto.service { /// <summary> /// å®éªå®¤æµè¯ç»æDTO /// </summary> public class TestResultDto { /// <summary> /// MES ID /// </summary> public string MesId { get; set; } /// <summary> /// ç¶æ0ï¼å·²åæ¶ 1:å¾ æäº¤ 2:å¾ å®¡æ ¸ 3:å¾ æ¥æ¶ 4:å¾ ææ 5:æµè¯ä¸ 6:å¾ å®¡æ ¸æ¥å 7:已宿 /// </summary> public string Status { get; set; } /// <summary> /// æµè¯ç»æ1ï¼åæ ¼ 2ï¼ä¸åæ ¼ /// </summary> public string TestResults { get; set; } /// <summary> /// æä»¶å表 /// </summary> public List<string> FileList { get; set; } } } StandardPda/MES.Service/service/QC/LljService.cs
@@ -6,6 +6,7 @@ using MES.Service.util; using Microsoft.Extensions.Configuration; using Newtonsoft.Json; using Oracle.ManagedDataAccess.Client; using SqlSugar; using System.Data; using System.Security.Cryptography; @@ -1502,29 +1503,97 @@ return SQLHelper.ExecuteQuery(sql1); } //public void saveYzxBDlist(string id, DataTable DB) //{ // OracleSQLHelper SQLHelper = new(); // //å æç»ææ¸ ç©º // var sql1 = // string.Format( // @"update MES_IQC_CONSISTENCY_ck set ISCHACK=0 where PID='" + // id + "' "); // SQLHelper.ExecuteQuery(sql1); // var rowId = ""; // for (var i = 0; i < DB.Rows.Count; i++) // rowId += "'" + DB.Rows[i]["id"] + "',"; // rowId = rowId.Substring(0, rowId.Length - 1); // //ä¿®æ¹ç»æ // var sql2 = // string.Format( // @"update MES_IQC_CONSISTENCY_ck set ISCHACK=1 where PID='" + // id + "'and id in(" + rowId + ") "); // SQLHelper.ExecuteQuery(sql2); //} public void saveYzxBDlist(string id, DataTable DB) { OracleSQLHelper SQLHelper = new(); //å æç»ææ¸ ç©º var sql1 = string.Format( @"update MES_IQC_CONSISTENCY_ck set ISCHACK=0 where PID='" + id + "' "); SQLHelper.ExecuteQuery(sql1); var rowId = ""; for (var i = 0; i < DB.Rows.Count; i++) rowId += "'" + DB.Rows[i]["id"] + "',"; rowId = rowId.Substring(0, rowId.Length - 1); var sqlHelper = new OracleSQLHelper(); using (var connection = new OracleConnection(AppsettingsUtility.Settings.DataBaseConn)) { connection.Open(); using (var transaction = connection.BeginTransaction()) { try { // 1. æ¸ ç©º ISCHACK var sql1 = @"UPDATE MES_IQC_CONSISTENCY_ck SET ISCHACK = 0 WHERE PID = :pid"; //ä¿®æ¹ç»æ var sql2 = string.Format( @"update MES_IQC_CONSISTENCY_ck set ISCHACK=1 where PID='" + id + "'and id in(" + rowId + ") "); SQLHelper.ExecuteQuery(sql2); using (var cmd1 = new OracleCommand(sql1, connection)) { cmd1.Transaction = transaction; cmd1.Parameters.Add(new OracleParameter(":pid", id)); cmd1.ExecuteNonQuery(); } // 2. 妿 DataTable éæè¦æ´æ°ç id if (DB != null && DB.Rows.Count > 0) { // æ¼æ¥ in æ¡ä»¶ï¼åæ°åï¼ var inParams = new List<string>(); var parameters = new List<OracleParameter> { new OracleParameter(":pid", id) }; for (int i = 0; i < DB.Rows.Count; i++) { string paramName = ":id" + i; inParams.Add(paramName); parameters.Add(new OracleParameter(paramName, DB.Rows[i]["id"])); } var sql2 = $@" UPDATE MES_IQC_CONSISTENCY_ck SET ISCHACK = 1 WHERE PID = :pid AND id IN ({string.Join(",", inParams)})"; using (var cmd2 = new OracleCommand(sql2, connection)) { cmd2.Transaction = transaction; cmd2.Parameters.AddRange(parameters.ToArray()); cmd2.ExecuteNonQuery(); } } // å ¨é¨æåï¼æäº¤ transaction.Commit(); } catch (Exception ex) { // åºéåæ» transaction.Rollback(); throw new Exception("æ§è¡ saveYzxBDlist åºé: " + ex.Message, ex); } } } } public string[] YzxImgVerify(string id) { var msgStr = new string[2]; StandardPda/MES.Service/service/Warehouse/WorkflowManager.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,89 @@ using Masuit.Tools; using MES.Service.DB; using MES.Service.Dto.service; using MES.Service.Modes; using MES.Service.service.BasicData; using Oracle.ManagedDataAccess.Client; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MES.Service.service.Warehouse { public class WorkflowManager { /// <summary> /// æ´æ°å®éªå®¤æµè¯å§æç¶æï¼å¹¶ä¿åæä»¶ä¿¡æ¯ /// </summary> public string[] SetTestResultDto(TestResultDto testResultDto) { var sqlHelper = new OracleSQLHelper(); string[] msg = new string[2]; msg[0] = "true"; var (connection, transaction) = sqlHelper.BeginTransaction(); try { // 1. æ´æ° MES_QA_ITEMS_DETECT_01 ç¶æä¸ç»æ var sqlUpdate = @" UPDATE MES_QA_ITEMS_DETECT_01 SET SYS_STATES = :status, SYS_TEST_RESULTS = :testResults WHERE ID = :mesid"; var updateParams = new[] { new OracleParameter(":status", testResultDto.Status), new OracleParameter(":testResults", testResultDto.TestResults), new OracleParameter(":mesid", testResultDto.MesId) }; sqlHelper.ExecuteNonQueryWithTransaction(sqlUpdate, updateParams, connection, transaction); // 2. ä¿åæä»¶ä¿¡æ¯ï¼TEST_RESULT_FILEï¼ if (testResultDto.FileList != null && testResultDto.FileList.Count > 0) { foreach (var fileUrl in testResultDto.FileList) { var sqlInsertFile = @" INSERT INTO TEST_RESULT_FILE ( ID, TESTRESULTID, FILE_URL ) VALUES ( SEQ_TEST_RESULT_FILE.NEXTVAL, :testResultId, :fileUrl )"; var insertParams = new[] { new OracleParameter(":testResultId", testResultDto.MesId), new OracleParameter(":fileUrl", fileUrl) }; sqlHelper.ExecuteNonQueryWithTransaction(sqlInsertFile, insertParams, connection, transaction); } } transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); msg[0] = "false"; msg[1] = ex.Message; throw; } finally { sqlHelper.CloseConnection(connection); } return msg; } } } StandardPda/MESApplication/Controllers/Warehouse/WorkflowController.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,86 @@ using AngleSharp.Text; using MES.Service.Dto.service; using MES.Service.Modes; using MES.Service.service; using MES.Service.service.Warehouse; using MES.Service.util; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore.Metadata.Internal; using System.Dynamic; namespace MESApplication.Controllers.Warehouse { [Route("api/[controller]")] [ApiController] public class WorkflowController : ControllerBase { private readonly WorkflowManager m = new(); private readonly MessageCenterManager _manager = new(); private readonly string METHOD = "POST"; private readonly string TableName = "Workflow"; private readonly string URL = "http://localhost:10054/api/Workflow/"; /// <summary> ///æ´æ°å®éªå®¤æµè¯å§æç¶æ /// </summary> /// <returns></returns> [HttpPost("TestResult")] public ResponseResult TestResult(TestResultDto testResultDto) { var entity = new MessageCenter(); entity.TableName = TableName; entity.Url = URL + "TestResult"; entity.Method = METHOD; entity.Data = Newtonsoft.Json.JsonConvert.SerializeObject(testResultDto); entity.Status = 1; entity.CreateBy = "PL017"; try { dynamic resultInfos = new ExpandoObject(); var result = m.SetTestResultDto(testResultDto); resultInfos.tbBillList = result; entity.Result = 0; if (result[0].ToBoolean()) entity.Result = 1; entity.DealWith = 1; _manager.save(entity); if (result[0].ToBoolean()) { return new ResponseResult { status = 0, message = "OK", data = resultInfos }; } else { return new ResponseResult { status = 1, message = result[1], data = resultInfos }; } } catch (Exception ex) { entity.Result = 0; entity.DealWith = 0; entity.ResultData = ex.Message; _manager.save(entity); return ResponseResult.ResponseError(ex); } } } }