From d111f8edae7823e0cc700b3e090b828ac2116ed9 Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期三, 16 七月 2025 21:26:33 +0800
Subject: [PATCH] Add MesLaboratory API functionality
---
CLAUDE.md | 140 +++++++++++
MESApplication/bin/Debug/net8.0/MES.Service.pdb | 0
MESApplication/bin/Debug/net8.0/MESApplication.dll | 0
MES.Service/Dto/service/OQCDto.cs | 2
.claude/settings.local.json | 9
MES.Service/bin/Debug/net8.0/MES.Service.dll | 0
MESApplication/bin/Debug/net8.0/MESApplication.xml | 55 ++++
MES.Service/service/QC/MesLaboratoryService.cs | 94 +++++++
MES.Service/Modes/MesLaboratory.cs | 111 +++++++++
MES.Service/Modes/VLaboratory.cs | 72 ++++++
MESApplication/bin/Debug/net8.0/MES.Service.dll | 0
MESApplication/bin/Debug/net8.0/MESApplication.pdb | 0
MESApplication/bin/Debug/net8.0/MESApplication.exe | 0
MESApplication/Controllers/QC/MesLaboratoryController.cs | 231 +++++++++++++++++++
MES.Service/bin/Debug/net8.0/MES.Service.pdb | 0
15 files changed, 714 insertions(+), 0 deletions(-)
diff --git a/.claude/settings.local.json b/.claude/settings.local.json
new file mode 100644
index 0000000..825f692
--- /dev/null
+++ b/.claude/settings.local.json
@@ -0,0 +1,9 @@
+{
+ "permissions": {
+ "allow": [
+ "Bash(rm:*)",
+ "Bash(git add:*)"
+ ],
+ "deny": []
+ }
+}
\ No newline at end of file
diff --git a/CLAUDE.md b/CLAUDE.md
new file mode 100644
index 0000000..7fcf8b2
--- /dev/null
+++ b/CLAUDE.md
@@ -0,0 +1,140 @@
+# CLAUDE.md
+
+This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
+
+## Project Overview
+
+This is a Manufacturing Execution System (MES) API application built with .NET 8, consisting of:
+- **MESApplication**: Main Web API project with controllers and middleware
+- **MES.Service**: Service layer containing business logic, data models, and database operations
+
+The system manages manufacturing operations including quality control (QC), warehouse management, inventory tracking, PLM integration, and ERP connectivity.
+
+## Development Commands
+
+### Build and Run
+```bash
+# Build the solution
+dotnet build MESApplication.sln
+
+# Run the API (from MESApplication directory)
+cd MESApplication
+dotnet run
+
+# Run with specific environment
+dotnet run --environment Development
+```
+
+### Development Server
+- API runs on: `http://localhost:5184`
+- Swagger UI available at: `http://localhost:5184/swagger`
+- IIS Express: `http://localhost:10054`
+
+### Project Structure Commands
+```bash
+# Restore NuGet packages
+dotnet restore
+
+# Clean build artifacts
+dotnet clean
+
+# Build specific project
+dotnet build MESApplication/MESApplication.csproj
+dotnet build MES.Service/MES.Service.csproj
+```
+
+## Architecture
+
+### Database Layer
+- **ORM**: SqlSugar for Oracle database connectivity
+- **Database**: Oracle (connection configured in appsettings.json)
+- **Patterns**: Repository pattern with generic DbContext<T> and specific managers
+- **Key Classes**:
+ - `SqlSugarHelper.cs`: Database connection and transaction management
+ - `DbContext<T>.cs`: Generic repository for CRUD operations
+ - `Repository.cs`: Base repository implementation
+
+### Service Layer (MES.Service)
+Organized by business domains:
+- **BasicData/**: Core master data (customers, suppliers, items, departments)
+- **QC/**: Quality control operations (inspections, testing, suspensions)
+- **Warehouse/**: Inventory management (stock, moves, receipts, shipments)
+- **PLM/**: Product lifecycle management integration
+- **SpotCheck/**: Equipment maintenance and spot checking
+
+### API Layer (MESApplication)
+- **Controllers/**: REST endpoints organized by domain (matching service structure)
+- **Filter/**: Action filters for logging and error handling
+- **Authentication**: Not implemented (anonymous access)
+- **Serialization**: Newtonsoft.Json with camelCase naming
+
+### Key Configuration
+- **Database**: Oracle connection string in `AppSettings.DataBaseConn`
+- **CORS**: Enabled for all origins during development
+- **Swagger**: Auto-generated API documentation with XML comments
+- **Logging**: Console logging with SQL query debugging enabled
+
+### External Integrations
+- **Kingdee ERP**: Via WebService (configured URLs in AppSettings)
+- **PLM System**: Document and BOM management
+- **Real-time Inventory**: HTTP client for inventory queries
+
+### Domain Models
+Major entity categories:
+- **Inventory**: `MesInvItem*` classes for stock management
+- **Quality**: `MesQa*` classes for quality control processes
+- **Manufacturing**: `Wom*` classes for work orders
+- **Purchasing**: `Purd*` classes for procurement
+- **Sales**: `SalesOrder*` classes for order management
+
+### Data Transfer Objects (DTOs)
+- **service/**: Internal service communication DTOs
+- **webApi/**: External API integration DTOs (ERP, PLM)
+- **base/**: Common DTOs (pagination, login, settings)
+
+## Testing and Quality
+
+### Testing Commands
+```bash
+# No automated tests currently configured
+# Manual testing via Swagger UI at http://localhost:5184/swagger
+```
+
+### Common Development Tasks
+
+#### Adding New API Endpoints
+1. Create model class in `MES.Service/Modes/`
+2. Create service manager in `MES.Service/service/[Domain]/`
+3. Create controller in `MESApplication/Controllers/[Domain]/`
+4. Register dependencies in `Startup.cs` if needed
+
+#### Working with Database
+- All database operations use SqlSugar ORM with Oracle
+- Transaction support via `SqlSugarHelper.UseTransactionWithOracle()`
+- SQL queries are logged to console during development
+- Connection string configured in `appsettings.json`
+
+#### External System Integration
+- **ERP Integration**: Kingdee WebService calls configured in AppSettings
+- **PLM Integration**: Document management via HTTP clients
+- **Real-time Inventory**: Dedicated service for inventory queries
+
+### Key Files to Understand
+- `MES.Service/DB/SqlSugarHelper.cs`: Database connection management
+- `MES.Service/DB/DbContext.cs`: Generic repository pattern
+- `MES.Service/util/AppsettingsUtility.cs`: Configuration access
+- `MESApplication/Startup.cs`: Application configuration and DI setup
+- `MESApplication/Filter/ActionFilter.cs`: Request/response logging
+
+### Dependencies and Packages
+- **SqlSugarCore**: ORM for Oracle database operations
+- **Newtonsoft.Json**: JSON serialization with camelCase naming
+- **Swashbuckle.AspNetCore**: API documentation generation
+- **Oracle.EntityFrameworkCore**: Oracle database connectivity
+- **Kingdee.CDP.WebApi.SDK**: ERP system integration (local DLL)
+
+### Configuration Management
+- Environment-specific settings in `appsettings.json` and `appsettings.Development.json`
+- Database connection in `AppSettings.DataBaseConn`
+- ERP URLs in `AppSettings.TestErpUrl` and `AppSettings.ProductionErpUrl`
+- CORS enabled for all origins in development mode
\ No newline at end of file
diff --git a/MES.Service/Dto/service/OQCDto.cs b/MES.Service/Dto/service/OQCDto.cs
index 0afdc61..31dc87d 100644
--- a/MES.Service/Dto/service/OQCDto.cs
+++ b/MES.Service/Dto/service/OQCDto.cs
@@ -12,6 +12,8 @@
public decimal? MainId { get; set; }
public string? ReleaseNo { get; set; }
+
+ public string? OrderNo { get; set; }
public List<MesInvItemStocks>? ItemBarCodeData { get; set; }
diff --git a/MES.Service/Modes/MesLaboratory.cs b/MES.Service/Modes/MesLaboratory.cs
new file mode 100644
index 0000000..ea8da8c
--- /dev/null
+++ b/MES.Service/Modes/MesLaboratory.cs
@@ -0,0 +1,111 @@
+using SqlSugar;
+using System;
+
+namespace MES.Service.Modes
+{
+ /// <summary>
+ /// 瀹為獙瀹ゆ娴嬫暟鎹〃
+ /// </summary>
+ [SugarTable("MES_LABORATORY")]
+ public class MesLaboratory
+ {
+ /// <summary>
+ /// 涓婚敭ID
+ /// </summary>
+ [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_MES_LABORATORY",
+ IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 宸ュ崟鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "BILL_NO", Length = 100)]
+ public string? BillNo { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇绾夸綋缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_NO", Length = 100)]
+ public string? LineNo { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡id
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_ID")]
+ public int? ItemId { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_NO", Length = 64)]
+ public string? ItemNo { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鍚嶇О
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_NAME", Length = 500)]
+ public string? ItemName { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡瑙勬牸
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_MODEL", Length = 3000)]
+ public string? ItemModel { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇杞﹂棿id
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPARTMENTID")]
+ public int? DepartmentId { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇杞﹂棿缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPARTMENTCODE", Length = 32)]
+ public string? DepartmentCode { get; set; }
+
+ /// <summary>
+ /// 閿�鍞鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "SALE_ORDER_NOC", Length = 50)]
+ public string? SaleOrderNoc { get; set; }
+
+ /// <summary>
+ /// 妫�楠岀粨鏋�
+ /// </summary>
+ [SugarColumn(ColumnName = "INSPECTION_RESULT", Length = 20)]
+ public string? InspectionResult { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATE_TIME", InsertServerTime = true)]
+ public DateTime? CreateTime { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATE_BY", Length = 100)]
+ public string? CreateBy { get; set; }
+
+ /// <summary>
+ /// 妫�楠屾椂闂�
+ /// </summary>
+ [SugarColumn(ColumnName = "INSPECTION_TIME")]
+ public DateTime? InspectionTime { get; set; }
+
+ /// <summary>
+ /// 妫�楠屼汉
+ /// </summary>
+ [SugarColumn(ColumnName = "INSPECTION_BY", Length = 100)]
+ public string? InspectionBy { get; set; }
+
+
+ [SugarColumn(IsIgnore = true)]
+ public string? CreateUser { get; set; }
+
+ //inspection
+ [SugarColumn(IsIgnore = true)]
+ public string? InspectionUser { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/MES.Service/Modes/VLaboratory.cs b/MES.Service/Modes/VLaboratory.cs
new file mode 100644
index 0000000..56c1f77
--- /dev/null
+++ b/MES.Service/Modes/VLaboratory.cs
@@ -0,0 +1,72 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+
+/// <summary>
+/// 瀹為獙瀹ゆ娴嬫暟鎹〃
+/// </summary>
+[SugarTable("V_LABORATORY")]
+public class VLaboratory
+{
+ /// <summary>
+ /// 涓婚敭ID
+ /// </summary>
+ [SugarColumn(ColumnName = "ID",
+ IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 宸ュ崟鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "BILL_NO")]
+ public string? BillNo { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇绾夸綋缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_NO")]
+ public string? LineNo { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡id
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_ID")]
+ public int? ItemId { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_NO")]
+ public string? ItemNo { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鍚嶇О
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_NAME")]
+ public string? ItemName { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡瑙勬牸
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_MODEL")]
+ public string? ItemModel { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇杞﹂棿id
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPARTMENTID")]
+ public int? DepartmentId { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇杞﹂棿缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPARTMENTCODE")]
+ public string? DepartmentCode { get; set; }
+
+ /// <summary>
+ /// 閿�鍞鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "SALE_ORDER_NOC")]
+ public string? SaleOrderNoc { get; set; }
+}
\ No newline at end of file
diff --git a/MES.Service/bin/Debug/net8.0/MES.Service.dll b/MES.Service/bin/Debug/net8.0/MES.Service.dll
index 762d0d9..44af709 100644
--- a/MES.Service/bin/Debug/net8.0/MES.Service.dll
+++ b/MES.Service/bin/Debug/net8.0/MES.Service.dll
Binary files differ
diff --git a/MES.Service/bin/Debug/net8.0/MES.Service.pdb b/MES.Service/bin/Debug/net8.0/MES.Service.pdb
index 36a4fa5..aa15e32 100644
--- a/MES.Service/bin/Debug/net8.0/MES.Service.pdb
+++ b/MES.Service/bin/Debug/net8.0/MES.Service.pdb
Binary files differ
diff --git a/MES.Service/service/QC/MesLaboratoryService.cs b/MES.Service/service/QC/MesLaboratoryService.cs
new file mode 100644
index 0000000..8ab7d4f
--- /dev/null
+++ b/MES.Service/service/QC/MesLaboratoryService.cs
@@ -0,0 +1,94 @@
+锘縰sing System.Data;
+using MES.Service.DB;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using MES.Service.util;
+using SqlSugar;
+using DbType = System.Data.DbType;
+
+namespace MES.Service.service.QC;
+
+public class MesLaboratoryService : Repository<MesLaboratory>
+{
+ //OQCDto
+ public bool SaveLaboratory(OQCDto dto)
+ {
+ //1.鏍规嵁BillNo鏌ヨ瑙嗗浘VLaboratory锛岀敤dto鐨凮rderNo锛屼娇鐢�.First()鍙繑鍥炰竴涓璞�
+ var vLaboratory = Context.Queryable<VLaboratory>()
+ .Where(x => x.BillNo == dto.OrderNo)
+ .First();
+
+ //2.灏嗘煡璇㈠嚭鏉ョ殑VLaboratory杞崲涓篗esLaboratory
+ var mesLaboratory = new MesLaboratory
+ {
+ BillNo = vLaboratory.BillNo,
+ LineNo = vLaboratory.LineNo,
+ ItemId = vLaboratory.ItemId,
+ ItemNo = vLaboratory.ItemNo,
+ ItemName = vLaboratory.ItemName,
+ ItemModel = vLaboratory.ItemModel,
+ DepartmentId = vLaboratory.DepartmentId,
+ DepartmentCode = vLaboratory.DepartmentCode,
+ SaleOrderNoc = vLaboratory.SaleOrderNoc,
+ CreateBy = dto.CreateUser,
+ CreateTime = DateTime.Now
+ };
+
+ //3.鎻掑叆鍒版暟鎹簱涓�
+ return Context.Insertable(mesLaboratory)
+ .IgnoreColumns(ignoreNullColumn: true)
+ .ExecuteCommand() > 0;
+ }
+
+ public new object InsertReturnIdentity(MesLaboratory data)
+ {
+ return base.InsertReturnIdentity(data);
+ }
+
+ public (List<MesLaboratory> item, int TotalCount) GetPage(
+ XJPageResult queryObj)
+ {
+ if (queryObj == null)
+ throw new ArgumentNullException(nameof(queryObj));
+
+ var db = Db;
+ var totalCount = 0;
+
+ if (!decimal.TryParse(queryObj.id, out var id))
+ id = 0;
+
+ var pageList = db
+ .Queryable<MesLaboratory, SysUser, SysUser>((a, b, c) =>
+ new JoinQueryInfos(JoinType.Left, a.CreateBy == b.Fcode,
+ JoinType.Left, a.InspectionBy == c.Fcode
+ ))
+ .WhereIF(id > 0, (a, b, c) => a.Id == id)
+ .Select((a, b, c) => new MesLaboratory()
+ {
+ CreateUser = b.Fname,
+ InspectionUser = c.Fname,
+ DepartmentId = a.DepartmentId,
+ }, true)
+ .OrderByDescending(a => a.Id)
+ .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
+
+ return (pageList, totalCount);
+ }
+
+ /// <summary>
+ /// 褰曞叆妫�楠岀粨鏋�
+ /// </summary>
+ /// <param name="data">瀹為獙瀹ゆ娴嬫暟鎹�</param>
+ /// <returns></returns>
+ public bool UpdateInspectionResult(MesLaboratory data)
+ {
+ return Context.Updateable<MesLaboratory>()
+ .SetColumnsIF(!string.IsNullOrEmpty(data.InspectionResult),
+ x => x.InspectionResult == data.InspectionResult)
+ .SetColumnsIF(!string.IsNullOrEmpty(data.InspectionBy),
+ x => x.InspectionBy == data.InspectionBy)
+ .SetColumns(x => x.InspectionTime == DateTime.Now)
+ .Where(x => x.Id == data.Id)
+ .ExecuteCommand() > 0;
+ }
+}
\ No newline at end of file
diff --git a/MESApplication/Controllers/QC/MesLaboratoryController.cs b/MESApplication/Controllers/QC/MesLaboratoryController.cs
new file mode 100644
index 0000000..0275408
--- /dev/null
+++ b/MESApplication/Controllers/QC/MesLaboratoryController.cs
@@ -0,0 +1,231 @@
+using System.Dynamic;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using MES.Service.service.QC;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+
+namespace MESApplication.Controllers.QC;
+
+[Route("api/[controller]")]
+[ApiController]
+public class MesLaboratoryController : ControllerBase
+{
+ private readonly MesLaboratoryService m = new();
+
+ [HttpPost("saveLaboratory")]
+ public ResponseResult SaveLaboratory([FromBody] OQCDto dto)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var result = m.SaveLaboratory(dto);
+ resultInfos.result = result;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 鑾峰彇鎵�鏈�
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("GetList")]
+ public ResponseResult GetList()
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.GetList();
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 鏍规嵁涓婚敭鑾峰彇
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("GetById")]
+ public ResponseResult GetById(decimal id)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.GetById(id);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 鏍规嵁涓婚敭鍒犻櫎
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("DeleteByIds")]
+ public ResponseResult DeleteByIds([FromBody] object[] ids)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.DeleteByIds(ids);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 娣诲姞
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("Insert")]
+ public ResponseResult Add([FromBody] MesLaboratory data)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.Insert(data);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 娣诲姞杩斿洖鑷
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("InsertReturnIdentity")]
+ public ResponseResult InsertReturnIdentity([FromBody] MesLaboratory data)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.InsertReturnIdentity(data);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 淇敼
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("Update")]
+ public ResponseResult Update([FromBody] MesLaboratory data)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = m.Update(data);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 鍒嗛〉鏌ヨ
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("GetPage")]
+ public ResponseResult GetPage([FromBody] XJPageResult queryObj)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var (items, totalCount) = m.GetPage(queryObj);
+ resultInfos.tbBillList = items;
+ resultInfos.totalCount = totalCount;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 褰曞叆妫�楠岀粨鏋�
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("UpdateInspectionResult")]
+ public ResponseResult UpdateInspectionResult([FromBody] MesLaboratory data)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var result = m.UpdateInspectionResult(data);
+ resultInfos.result = result;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+}
\ No newline at end of file
diff --git a/MESApplication/bin/Debug/net8.0/MES.Service.dll b/MESApplication/bin/Debug/net8.0/MES.Service.dll
index 762d0d9..44af709 100644
--- a/MESApplication/bin/Debug/net8.0/MES.Service.dll
+++ b/MESApplication/bin/Debug/net8.0/MES.Service.dll
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MES.Service.pdb b/MESApplication/bin/Debug/net8.0/MES.Service.pdb
index 36a4fa5..aa15e32 100644
--- a/MESApplication/bin/Debug/net8.0/MES.Service.pdb
+++ b/MESApplication/bin/Debug/net8.0/MES.Service.pdb
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.dll b/MESApplication/bin/Debug/net8.0/MESApplication.dll
index 0e01dd8..d47871b 100644
--- a/MESApplication/bin/Debug/net8.0/MESApplication.dll
+++ b/MESApplication/bin/Debug/net8.0/MESApplication.dll
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.exe b/MESApplication/bin/Debug/net8.0/MESApplication.exe
index 6f410ed..9d71c13 100644
--- a/MESApplication/bin/Debug/net8.0/MESApplication.exe
+++ b/MESApplication/bin/Debug/net8.0/MESApplication.exe
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.pdb b/MESApplication/bin/Debug/net8.0/MESApplication.pdb
index 6e3d7db..bbbc96f 100644
--- a/MESApplication/bin/Debug/net8.0/MESApplication.pdb
+++ b/MESApplication/bin/Debug/net8.0/MESApplication.pdb
Binary files differ
diff --git a/MESApplication/bin/Debug/net8.0/MESApplication.xml b/MESApplication/bin/Debug/net8.0/MESApplication.xml
index 8bad08d..5dd1870 100644
--- a/MESApplication/bin/Debug/net8.0/MESApplication.xml
+++ b/MESApplication/bin/Debug/net8.0/MESApplication.xml
@@ -757,6 +757,61 @@
</summary>
<returns></returns>
</member>
+ <member name="M:MESApplication.Controllers.QC.BaseController.getLljAllImgByFid(Newtonsoft.Json.Linq.JObject)">
+ <summary>
+ 鑾峰彇鏉ユ枡妫�鍗曚釜妫�楠屽崟涓婁紶鐨勬墍鏈夊浘鐗�
+ </summary>
+ <param name="data"></param>
+ <returns></returns>
+ </member>
+ <member name="M:MESApplication.Controllers.QC.MesLaboratoryController.GetList">
+ <summary>
+ 鑾峰彇鎵�鏈�
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:MESApplication.Controllers.QC.MesLaboratoryController.GetById(System.Decimal)">
+ <summary>
+ 鏍规嵁涓婚敭鑾峰彇
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:MESApplication.Controllers.QC.MesLaboratoryController.DeleteByIds(System.Object[])">
+ <summary>
+ 鏍规嵁涓婚敭鍒犻櫎
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:MESApplication.Controllers.QC.MesLaboratoryController.Add(MES.Service.Modes.MesLaboratory)">
+ <summary>
+ 娣诲姞
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:MESApplication.Controllers.QC.MesLaboratoryController.InsertReturnIdentity(MES.Service.Modes.MesLaboratory)">
+ <summary>
+ 娣诲姞杩斿洖鑷
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:MESApplication.Controllers.QC.MesLaboratoryController.Update(MES.Service.Modes.MesLaboratory)">
+ <summary>
+ 淇敼
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:MESApplication.Controllers.QC.MesLaboratoryController.GetPage(MES.Service.Dto.service.XJPageResult)">
+ <summary>
+ 鍒嗛〉鏌ヨ
+ </summary>
+ <returns></returns>
+ </member>
+ <member name="M:MESApplication.Controllers.QC.MesLaboratoryController.UpdateInspectionResult(MES.Service.Modes.MesLaboratory)">
+ <summary>
+ 褰曞叆妫�楠岀粨鏋�
+ </summary>
+ <returns></returns>
+ </member>
<member name="M:MESApplication.Controllers.QC.MesLineUserController.GetList">
<summary>
鑾峰彇鎵�鏈�
--
Gitblit v1.9.3