From 2914a3a86ce976e5b397ee41bd1553e45fe68831 Mon Sep 17 00:00:00 2001
From: zjh <2207896513@qq.com>
Date: 星期三, 12 十一月 2025 23:36:10 +0800
Subject: [PATCH] 产线提交代码上传
---
StandardPda/MES.Service/MES.Service.csproj | 10
StandardPda/MES.Service/service/QC/ProductionLineService.cs | 398 +++++++++++++++++++++++++++++++++++++++
StandardPda/MES.Service/Dto/service/ProductionLineDot.cs | 92 +++++++++
StandardPda/MESApplication/Controllers/QC/ProductionLineController.cs | 86 ++++++++
4 files changed, 583 insertions(+), 3 deletions(-)
diff --git a/StandardPda/MES.Service/Dto/service/ProductionLineDot.cs b/StandardPda/MES.Service/Dto/service/ProductionLineDot.cs
new file mode 100644
index 0000000..82aed2c
--- /dev/null
+++ b/StandardPda/MES.Service/Dto/service/ProductionLineDot.cs
@@ -0,0 +1,92 @@
+锘縰sing SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+
+#region DTO 绫诲畾涔�
+
+namespace MES.Service.Dto.service;
+
+/// <summary>
+/// 浜х嚎鎻愪氦鏌ヨ鍙傛暟
+/// </summary>
+public class ProductionLineQueryDto
+{
+ public int PageIndex { get; set; } = 1;
+ public int Limit { get; set; } = 20;
+ public string StatusUser { get; set; }
+ public int Status { get; set; } // 0: 鏈彁浜�, 1: 宸叉彁浜�
+ public string SearchValue { get; set; }
+}
+
+/// <summary>
+/// 浜х嚎鎻愪氦鍒嗛〉缁撴灉
+/// </summary>
+public class ProductionLinePageResult
+{
+ public decimal? ID { get; set; }
+ public string DAA001 { get; set; }
+ public string ItemNo { get; set; }
+ public string DAA003 { get; set; }
+ public string DAA004 { get; set; }
+ public decimal? DAA008 { get; set; }
+ public string DAA018 { get; set; }
+ public string? DaA019 { get; set; }
+ public string Line { get; set; }
+ public DateTime? DAA024 { get; set; }
+ public string BillNo { get; set; }
+ public string Result { get; set; }
+ public string StatusUser { get; set; }
+ public DateTime? CreateTime { get; set; }
+ public decimal? InspectionId { get; set; }
+ public string? Pbaid { get; set; }
+ public string ProjecT_CODE { get; set; }
+ public string FName { get; set; }
+ public int Urgent { get; set; }
+ public int IsFirst { get; set; }
+ public int SortOrder { get; set; }
+}
+
+public class WorkOrderQueryResult
+{
+ public decimal? ID { get; set; }
+ public string DAA001 { get; set; }
+ public string ItemNo { get; set; }
+ public string DAA003 { get; set; }
+ public string DAA004 { get; set; }
+ public decimal? DAA008 { get; set; }
+ public string DAA018 { get; set; }
+ public string DaA019 { get; set; } // 鏀逛负 string
+ public string Line { get; set; }
+ public DateTime? DAA024 { get; set; }
+ public string Pbaid { get; set; } // 鏀逛负 string
+ public string ProjecT_CODE { get; set; }
+ public string FName { get; set; }
+ public int Urgent { get; set; }
+ public int IsFirst { get; set; }
+ public string BillNo { get; set; }
+ public string Result { get; set; }
+ public string StatusUser { get; set; }
+ public DateTime? CreateTime { get; set; }
+ public decimal? InspectionId { get; set; }
+}
+
+
+/// <summary>
+/// 妫�楠岀粨鏋淒TO
+/// </summary>
+public class InspectionResultDto
+{
+ public decimal? ID { get; set; }
+ public decimal Pbaid { get; set; }
+ public string BillNo { get; set; }
+ public string StatusUser { get; set; }
+ public DateTime? CreateTime { get; set; }
+ public string Result { get; set; }
+}
+
+#endregion
+
diff --git a/StandardPda/MES.Service/MES.Service.csproj b/StandardPda/MES.Service/MES.Service.csproj
index fa6e727..5333662 100644
--- a/StandardPda/MES.Service/MES.Service.csproj
+++ b/StandardPda/MES.Service/MES.Service.csproj
@@ -7,9 +7,13 @@
</PropertyGroup>
<ItemGroup>
- <PackageReference Include="Masuit.Tools.Core" Version="2024.3.4"/>
- <PackageReference Include="RestSharp" Version="112.1.0"/>
- <PackageReference Include="SqlSugarCore" Version="5.1.4.158"/>
+ <Compile Remove="service\QC\ProductionLineController.cs" />
+ </ItemGroup>
+
+ <ItemGroup>
+ <PackageReference Include="Masuit.Tools.Core" Version="2024.3.4" />
+ <PackageReference Include="RestSharp" Version="112.1.0" />
+ <PackageReference Include="SqlSugarCore" Version="5.1.4.158" />
</ItemGroup>
</Project>
diff --git a/StandardPda/MES.Service/service/QC/ProductionLineService.cs b/StandardPda/MES.Service/service/QC/ProductionLineService.cs
new file mode 100644
index 0000000..e3c1202
--- /dev/null
+++ b/StandardPda/MES.Service/service/QC/ProductionLineService.cs
@@ -0,0 +1,398 @@
+锘縰sing Masuit.Tools;
+using MES.Service.DB;
+using MES.Service.Dto.service;
+using MES.Service.util;
+using SqlSugar;
+
+namespace MES.Service.service.QC;
+
+/// <summary>
+/// 浜х嚎鎻愪氦鏈嶅姟
+/// </summary>
+public class ProductionLineService
+{
+ private readonly BaseService _baseService = new();
+
+ /// <summary>
+ /// 鑾峰彇浜х嚎鎻愪氦椤甸潰鏁版嵁锛堟湭鎻愪氦/宸叉彁浜わ級
+ /// </summary>
+ /// <param name="queryObj">鏌ヨ鍙傛暟</param>
+ /// <returns></returns>
+ public (List<ProductionLinePageResult> item, int TotalCount) GetProductionLinePage(ProductionLineQueryDto queryObj)
+ {
+ var db = SqlSugarHelper.GetInstance();
+
+ if (queryObj.Status == 0)
+ {
+ // 鏈彁浜ら〉闈㈡煡璇�
+ return GetUnsubmittedData(queryObj, db);
+ }
+ else
+ {
+ // 宸叉彁浜ら〉闈㈡煡璇�
+ return GetSubmittedData(queryObj, db);
+ }
+ }
+
+ /// <summary>
+ /// 鑾峰彇鏈彁浜ゆ暟鎹紙浠庡伐鍗曡〃鏌ヨ锛屽寘鍚笉鍚堟牸鐨勯妫�鍗曪級
+ /// </summary>
+ private (List<ProductionLinePageResult> item, int TotalCount) GetUnsubmittedData(ProductionLineQueryDto queryObj, SqlSugarClient db)
+ {
+ var totalCount = 0;
+
+ //// 绗竴姝ワ細鏌ヨ宸ュ崟鍩虹鏁版嵁
+ //var workOrderSql = @"
+ //SELECT
+ // A.ID,
+ // A.DAA001,
+ // A.DAA002 AS ItemNo,
+ // A.DAA003,
+ // A.DAA004,
+ // A.DAA008,
+ // A.DAA018,
+ // A.DAA019 AS DaA019,
+ // A.DAA020 AS Line,
+ // A.DAA024,
+ // A.PID AS Pbaid,
+ // T.PROJECT_CODE AS ProjecT_CODE,
+ // u.FNAME AS FName,
+ // 0 AS Urgent,
+ // 0 AS IsFirst,
+ // CAST(NULL AS VARCHAR2(50)) AS BillNo,
+ // CAST(NULL AS VARCHAR2(50)) AS Result,
+ // CAST(NULL AS VARCHAR2(50)) AS StatusUser,
+ // CAST(NULL AS DATE) AS CreateTime,
+ // CAST(NULL AS NUMBER) AS InspectionId
+ //FROM WOMDAA A
+ //LEFT JOIN WOMCAA c ON c.CAA001 = A.DAA021
+ //LEFT JOIN MES_PROJECT T ON C.PROJECT = T.ID
+ //LEFT JOIN MES_UNIT u ON TO_CHAR(u.ID) = TO_CHAR(A.DAA005)
+ //WHERE A.DAA018 LIKE '%宸插紑宸�%'
+ // AND A.FSTATUS = 1
+ // AND A.F_TYPE = 0
+ // AND CASE
+ // WHEN C.CAA023 = '0' THEN '寮�绔�'
+ // WHEN C.CAA023 = '1' THEN '宸叉牳鍑�'
+ // WHEN C.CAA023 = '2' THEN '寮�宸�'
+ // WHEN C.CAA023 = '3' THEN '瀹屽伐'
+ // WHEN C.CAA023 = '4' THEN '鏍稿噯涓�'
+ // END LIKE '%寮�宸�%'";
+
+ // 绗竴姝ワ細鏌ヨ宸ュ崟鍩虹鏁版嵁
+ // 绗竴姝ワ細鏌ヨ宸ュ崟鍩虹鏁版嵁
+ var workOrderSql = @"
+ SELECT
+ A.ID,
+ A.DAA001,
+ item.ITEM_NO AS ItemNo,
+ A.DAA003,
+ A.DAA004,
+ A.DAA008,
+ A.DAA018,
+ A.DAA019 AS DaA019,
+ A.DAA020 AS Line,
+
+ A.PID AS Pbaid,
+ T.PROJECT_CODE AS ProjecT_CODE,
+ u.FNAME AS FName,
+ 0 AS Urgent,
+ 0 AS IsFirst,
+ CAST(NULL AS VARCHAR2(50)) AS BillNo,
+ CAST(NULL AS VARCHAR2(50)) AS Result,
+ CAST(BE1.FNAME AS VARCHAR2(50)) AS StatusUser,
+ CAST(NULL AS DATE) AS CreateTime,
+ CAST(NULL AS NUMBER) AS InspectionId
+ FROM WOMDAA A
+ LEFT JOIN WOMCAA c ON c.CAA001 = A.DAA021
+ LEFT JOIN MES_PROJECT T ON C.PROJECT = T.ID
+ LEFT JOIN MES_UNIT u ON TO_CHAR(u.ID) = TO_CHAR(A.DAA005)
+ left join MES_ITEMS item on item.ITEM_ID=c.CAA006
+ LEFT JOIN IQC_BEFORE_SJ BE ON BE.ITEM_ID = item.ITEM_ID
+ LEFT JOIN IQC_BEFORE_FROM_SJ BE2 ON BE.PID = BE2.ID
+ LEFT JOIN SYS_USER BE1 ON BE2.SID = BE1.FID
+ WHERE A.DAA018 LIKE '%宸插紑宸�%'
+ AND A.FSTATUS = 1
+ AND A.F_TYPE = 0
+ AND CASE
+ WHEN C.CAA023 = '0' THEN '寮�绔�'
+ WHEN C.CAA023 = '1' THEN '宸叉牳鍑�'
+ WHEN C.CAA023 = '2' THEN '寮�宸�'
+ WHEN C.CAA023 = '3' THEN '瀹屽伐'
+ WHEN C.CAA023 = '4' THEN '鏍稿噯涓�'
+ END LIKE '%寮�宸�%'";
+
+ // 娣诲姞鎼滅储鏉′欢
+ if (StringUtil.IsNotNullOrEmpty(queryObj.SearchValue))
+ {
+ workOrderSql += " AND (A.DAA001 LIKE :SearchValue OR A.DAA002 LIKE :SearchValue)";
+ }
+
+ var workOrders = db.SqlQueryable<ProductionLinePageResult>(workOrderSql)
+ .AddParameters(new { SearchValue = $"%{queryObj.SearchValue}%" })
+ .ToList();
+
+ if (!workOrders.Any())
+ {
+ return (new List<ProductionLinePageResult>(), 0);
+ }
+
+ // 杞崲涓哄瓧绗︿覆鐢ㄤ簬IN鏌ヨ
+ var workOrderIdStrings = workOrders
+ .Where(w => !string.IsNullOrEmpty(w.ID.ToString()))
+ .Select(w => w.ID)
+ .ToList();
+
+ if (!workOrderIdStrings.Any())
+ {
+ return (new List<ProductionLinePageResult>(), 0);
+ }
+
+ // 绗簩姝ワ細鏌ヨ杩欎簺宸ュ崟瀵瑰簲鐨勯妫�鍗曞強妫�楠岀粨鏋�
+ var inspectionResultSql = $@"
+ SELECT
+ A.ID,
+ A.BILL_NO AS BillNo,
+ A.PBAID,
+ A.STATUS_USER AS StatusUser,
+ A.CREATE_TIME AS CreateTime,
+ CASE
+ WHEN RES.妫�楠岀粨鏋� IS NULL THEN '鏈畬鎴�'
+ ELSE RES.妫�楠岀粨鏋�
+ END AS Result
+FROM (
+ -- 鍙彇姣忎釜宸ュ崟(PBAID)鏈�鏂颁竴鏉¢妫�鍗�
+ SELECT *
+ FROM (
+ SELECT
+ R.*,
+ ROW_NUMBER() OVER(PARTITION BY R.PBAID ORDER BY R.CREATE_TIME DESC) AS RN
+ FROM QS_ITEM_IPI_REQ R
+ ) WHERE RN = 1
+) A
+LEFT JOIN (
+ SELECT
+ PID,
+ CASE
+ WHEN (COUNT(CASE WHEN PASSED = -1 THEN 1 END) > 0) THEN NULL
+ WHEN (COUNT(CASE WHEN PASSED = 1 THEN 1 END) = COUNT(*)) THEN '鍚堟牸'
+ ELSE '涓嶅悎鏍�'
+ END AS 妫�楠岀粨鏋�
+ FROM (
+ SELECT
+ A.PID,
+ CASE
+ WHEN (A.IS_PASS IS NULL OR B.瀹屾垚鐘舵�� IS NULL) THEN -1
+ WHEN (NVL(A.IS_PASS, -1) = NVL(B.瀹屾垚鐘舵��, -1) AND A.IS_PASS = 1) THEN 1
+ WHEN (NVL(A.IS_PASS, -1) = NVL(B.瀹屾垚鐘舵��, -1) AND A.IS_PASS = 0) THEN 0
+ ELSE -1
+ END AS PASSED
+ FROM QS_ITEM_IPI_ITEM A
+ LEFT JOIN (
+ SELECT
+ PID,
+ CASE
+ WHEN (COUNT(CASE WHEN FSTAND IS NULL THEN 1 END) > 0) THEN NULL
+ WHEN (COUNT(CASE WHEN FSTAND = '鈭�' THEN 1 END) = COUNT(1)) THEN 1
+ ELSE 0
+ END AS 瀹屾垚鐘舵��
+ FROM QS_ITEM_IPI_ITEM_DETAIL
+ GROUP BY PID
+ ) B ON A.ID = B.PID
+ )
+ GROUP BY PID
+) RES ON RES.PID = A.ID
+ WHERE A.PBAID IN ({string.Join(",", workOrderIdStrings)})";
+
+ var inspections = db.SqlQueryable<InspectionResultDto>(inspectionResultSql).ToList();
+
+ // 绗笁姝ワ細鍚堝苟鏁版嵁骞惰繃婊�
+ var result = (from wo in workOrders
+ join ins in inspections on wo.ID.ToString() equals ins.Pbaid.ToString() into insGroup
+ from ins in insGroup.DefaultIfEmpty()
+ where ins == null || ins.Result == "涓嶅悎鏍�" // 鏈彁浜ゆ垨涓嶅悎鏍肩殑鏄剧ず
+ select new ProductionLinePageResult
+ {
+ ID = wo.ID,
+ DAA001 = wo.DAA001,
+ ItemNo = wo.ItemNo,
+ DAA003 = wo.DAA003,
+ DAA004 = wo.DAA004,
+ DAA008 = wo.DAA008,
+ DAA018 = wo.DAA018,
+ DaA019 = wo.DaA019,
+ Line = wo.Line,
+ DAA024 = wo.DAA024,
+ ProjecT_CODE = wo.ProjecT_CODE,
+ FName = wo.FName,
+ BillNo = ins?.BillNo,
+ Result = ins?.Result,
+ StatusUser = wo?.StatusUser,
+ CreateTime = ins?.CreateTime,
+ InspectionId = ins?.ID,
+ Pbaid = wo.Pbaid,
+ Urgent = wo.Urgent,
+ IsFirst = wo.IsFirst,
+ SortOrder = ins?.Result == "涓嶅悎鏍�" ? 1 : 0 // 涓嶅悎鏍肩疆椤�
+ })
+ .OrderByDescending(x => x.SortOrder)
+ .ThenByDescending(x => x.DAA024)
+ .ToList();
+
+ totalCount = result.Count;
+
+ // 鍒嗛〉
+ var pagedData = result
+ .Skip((queryObj.PageIndex - 1) * queryObj.Limit)
+ .Take(queryObj.Limit)
+ .ToList();
+
+ return (pagedData, totalCount);
+ }
+
+ /// <summary>
+ /// 鑾峰彇宸叉彁浜ゆ暟鎹紙浠庨妫�鍗曡〃鏌ヨ锛�
+ /// </summary>
+ private (List<ProductionLinePageResult> item, int TotalCount) GetSubmittedData(ProductionLineQueryDto queryObj, SqlSugarClient db)
+ {
+ var totalCount = 0;
+
+ var sql = @"
+ SELECT
+ A.ID AS InspectionId,
+ A.BILL_NO AS BillNo,
+ A.PBAID AS Pbaid,
+ DA.DAA001,
+ item.ITEM_NO AS ItemNo,
+ DA.DAA003,
+ DA.DAA004,
+ DA.DAA008,
+ DA.DAA018,
+ DA.DAA019 AS DaA019,
+ DA.DAA020 AS Line,
+ A.CREATE_TIME AS CreateTime,
+ NVL(BE3.FNAME, BE1.FNAME) AS StatusUser,
+ A.FSUBMIT,
+ A.CREATE_BY,
+ 0 AS Urgent,
+ 0 AS IsFirst,
+ T.PROJECT_CODE AS ProjecT_CODE,
+ CASE
+ WHEN 妫�楠岀粨鏋� IS NULL THEN '鏈畬鎴�'
+ ELSE 妫�楠岀粨鏋�
+ END AS Result
+ FROM QS_ITEM_IPI_REQ A
+ LEFT JOIN WOMDAA DA ON DA.ID = A.PBAID
+ LEFT JOIN WOMCAA c ON c.CAA001 = DA.DAA021
+ LEFT JOIN MES_PROJECT T ON C.PROJECT = T.ID
+ left join MES_ITEMS item on item.ITEM_ID=c.CAA006
+--鍙樻洿鍚�
+LEFT JOIN INSPECTOR_CHANGE_SJ_LOG chlog
+ ON chlog.INSPECTION_NO = a.BILL_NO AND chlog.IS_VALID = 'Y'
+ LEFT JOIN SYS_USER BE3 ON chlog.INSPECTOR = BE3.FCODE
+--鍙樻洿鍓�
+ LEFT JOIN IQC_BEFORE_SJ BE ON BE.ITEM_ID = item.ITEM_ID
+ LEFT JOIN IQC_BEFORE_FROM_SJ BE2 ON BE.PID = BE2.ID
+ LEFT JOIN SYS_USER BE1 ON BE2.SID = BE1.FID
+ LEFT JOIN (
+ SELECT
+ PID,
+ CASE
+ WHEN (COUNT(CASE WHEN PASSED = -1 THEN 1 END) > 0) THEN NULL
+ WHEN (COUNT(CASE WHEN PASSED = 1 THEN 1 END) = COUNT(*)) THEN '鍚堟牸'
+ ELSE '涓嶅悎鏍�'
+ END AS 妫�楠岀粨鏋�
+ FROM (
+ SELECT
+ A.PID,
+ CASE
+ WHEN (A.IS_PASS IS NULL OR B.瀹屾垚鐘舵�� IS NULL) THEN -1
+ WHEN (NVL(A.IS_PASS, -1) = NVL(B.瀹屾垚鐘舵��, -1) AND A.IS_PASS = 1) THEN 1
+ WHEN (NVL(A.IS_PASS, -1) = NVL(B.瀹屾垚鐘舵��, -1) AND A.IS_PASS = 0) THEN 0
+ ELSE -1
+ END AS PASSED
+ FROM QS_ITEM_IPI_ITEM A
+ LEFT JOIN (
+ SELECT
+ PID,
+ CASE
+ WHEN (COUNT(CASE WHEN FSTAND IS NULL THEN 1 END) > 0) THEN NULL
+ WHEN (COUNT(CASE WHEN FSTAND = '鈭�' THEN 1 END) = COUNT(1)) THEN 1
+ ELSE 0
+ END AS 瀹屾垚鐘舵��
+ FROM QS_ITEM_IPI_ITEM_DETAIL
+ GROUP BY PID
+ ) B ON A.ID = B.PID
+ )
+ GROUP BY PID
+ ) RES ON RES.PID = A.ID
+ WHERE A.ID IS NOT NULL";
+
+ // 娣诲姞鎼滅储鏉′欢
+ if (StringUtil.IsNotNullOrEmpty(queryObj.SearchValue))
+ {
+ sql += " AND (A.BILL_NO LIKE :SearchValue OR DA.DAA001 LIKE :SearchValue OR DA.DAA002 LIKE :SearchValue)";
+ }
+
+ sql += " ORDER BY A.CREATE_TIME DESC";
+
+ var data = db.SqlQueryable<ProductionLinePageResult>(sql)
+ .AddParameters(new { SearchValue = $"%{queryObj.SearchValue}%" })
+ .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
+
+ return (data, totalCount);
+ }
+
+
+
+ /// <summary>
+ /// 鎻愪氦妫�楠岋紙璋冪敤瀛樺偍杩囩▼鐢熸垚棣栨鍗曪級
+ /// </summary>
+ /// <param name="workOrderId">宸ュ崟ID</param>
+ /// <param name="userNo">鐢ㄦ埛璐﹀彿</param>
+ /// <returns></returns>
+ public (bool success, string message) SubmitInspection(decimal workOrderId, string userNo)
+ {
+ var db = SqlSugarHelper.GetInstance();
+
+ try
+ {
+ // 瀹氫箟瀛樺偍杩囩▼鍙傛暟
+ var pId = new SugarParameter("P_ID", workOrderId);
+ var pUser = new SugarParameter("P_USER", userNo);
+ var pIsh = new SugarParameter("P_ISH", 0); // 0琛ㄧず棣栨
+ var pFlag = new SugarParameter("P_FLAG", null, true) { Direction = System.Data.ParameterDirection.Output };
+ var pText = new SugarParameter("P_TEXT", null, true)
+ {
+ Direction = System.Data.ParameterDirection.Output,
+ Size = 255
+ };
+
+ // 璋冪敤瀛樺偍杩囩▼
+ db.Ado.UseStoredProcedure().ExecuteCommand(
+ "PRC_SJ_GENERATE",
+ pId, pUser, pIsh, pFlag, pText
+ );
+
+ // 鑾峰彇杈撳嚭鍙傛暟
+ var flag = pFlag.Value != null ? Convert.ToInt32(pFlag.Value) : 1;
+ var text = pText.Value?.ToString() ?? "鏈煡閿欒";
+
+ if (flag == 0)
+ {
+ return (true, text);
+ }
+ else
+ {
+ return (false, text);
+ }
+ }
+ catch (Exception ex)
+ {
+ return (false, $"鎻愪氦妫�楠屽け璐�: {ex.Message}");
+ }
+ }
+
+
+
+}
diff --git a/StandardPda/MESApplication/Controllers/QC/ProductionLineController.cs b/StandardPda/MESApplication/Controllers/QC/ProductionLineController.cs
new file mode 100644
index 0000000..d497ca8
--- /dev/null
+++ b/StandardPda/MESApplication/Controllers/QC/ProductionLineController.cs
@@ -0,0 +1,86 @@
+using MES.Service.DB;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using MES.Service.service.QC;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json.Linq;
+using SqlSugar;
+using System.Data;
+using System.Dynamic;
+
+
+namespace MESApplication.Controllers.QC;
+
+/// <summary>
+/// 浜х嚎鎻愪氦鎺ュ彛鎺у埗鍣�
+/// </summary>
+[Route("api/[controller]")]
+[ApiController]
+public class ProductionLineController : ControllerBase
+{
+ /// <summary>
+ /// 鑾峰彇浜х嚎鎻愪氦椤甸潰鏁版嵁
+ /// </summary>
+ [HttpPost("GetProductionLinePage")]
+ public ResponseResult GetProductionLinePage([FromBody] ProductionLineQueryDto queryObj)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var (item, totalCount) = new ProductionLineService().GetProductionLinePage(queryObj);
+ resultInfos.tbBillList = item;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos,
+ TotalCount = totalCount
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+ /// <summary>
+ /// 鎻愪氦妫�楠岋紙鐢熸垚棣栨鍗曪級
+ /// </summary>
+ [HttpPost("SubmitInspection")]
+ public ResponseResult SubmitInspection([FromBody] JObject data)
+ {
+ try
+ {
+ var gid = data["gid"]?.ToString();
+ var userNo = data["userNo"]?.ToString();
+
+ if (string.IsNullOrEmpty(gid) || string.IsNullOrEmpty(userNo))
+ {
+ return new ResponseResult
+ {
+ status = 1,
+ message = "鍙傛暟閿欒锛歡id鍜寀serNo涓嶈兘涓虹┖",
+ data = null
+ };
+ }
+
+ var workOrderId = Convert.ToDecimal(gid);
+ var (success, message) = new ProductionLineService().SubmitInspection(workOrderId, userNo);
+
+ dynamic resultInfos = new ExpandoObject();
+ resultInfos.tbBillList = success;
+
+ return new ResponseResult
+ {
+ status = success ? 0 : 1,
+ message = message,
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+}
+
--
Gitblit v1.9.3