From 0cff826ea489a1faa5cbb320cad52d102530a9e0 Mon Sep 17 00:00:00 2001
From: zjh <2207896513@qq.com>
Date: 星期四, 13 三月 2025 10:53:42 +0800
Subject: [PATCH] 代码提交
---
StandardPda/MES.Service/service/QC/SJService.cs | 458 ++++
StandardPda/MES.Service/Modes/MesInvItemStocks.cs | 203 +
StandardPda/MES.Service/Modes/VLineUser.cs | 23
StandardPda/MES.Service/Modes/MesQa.cs | 73
StandardPda/MES.Service/Modes/MesInvItemIns.cs | 322 +++
StandardPda/MES.Service/Dto/service/XJDto.cs | 35
StandardPda/MES.Service/Modes/MesDeptUser.cs | 80
StandardPda/MES.Service/service/QC/SuspendService.cs | 119 +
StandardPda/MESApplication/Controllers/QC/RKJController.cs | 391 +++
StandardPda/MES.Service/Modes/MesInvItemInCDetails.cs | 362 +++
StandardPda/MES.Service/Modes/MesScgdGx.cs | 128 +
StandardPda/MES.Service/Modes/QsItemOqcReq.cs | 3
StandardPda/MES.Service/service/QC/RKJService.cs | 864 ++++++++
StandardPda/MES.Service/Modes/MesQsSuspend.cs | 89
StandardPda/MES.Service/Modes/MesQualityStandard.cs | 204 +
StandardPda/MES.Service/Modes/QsItemOqcItemDetail.cs | 2
StandardPda/MES.Service/service/QC/BaseService.cs | 20
StandardPda/MES.Service/Dto/service/RKJDaa001.cs | 2
StandardPda/MESApplication/Controllers/QC/SJController.cs | 322 +++
StandardPda/MES.Service/Modes/MesLineUser.cs | 40
StandardPda/MESApplication/Controllers/QC/XJController.cs | 445 ++++
StandardPda/MES.Service/Dto/service/RkDaa002.cs | 3
StandardPda/MES.Service/Modes/MesInvItemInCDetails2.cs | 368 +++
StandardPda/MESApplication/Controllers/QC/SuspendController.cs | 176 +
StandardPda/MES.Service/Modes/MesInvItemBarcodes.cs | 496 ++++
StandardPda/MES.Service/Modes/MesLine.cs | 167 +
StandardPda/MES.Service/Modes/MesQaItemsDetect02.cs | 487 ++++
StandardPda/MES.Service/service/QC/XJService.cs | 531 ++++
28 files changed, 6,403 insertions(+), 10 deletions(-)
diff --git a/StandardPda/MES.Service/Dto/service/RKJDaa001.cs b/StandardPda/MES.Service/Dto/service/RKJDaa001.cs
index e7a61de..53172d8 100644
--- a/StandardPda/MES.Service/Dto/service/RKJDaa001.cs
+++ b/StandardPda/MES.Service/Dto/service/RKJDaa001.cs
@@ -21,4 +21,6 @@
// 璁㈠崟鏁伴噺
[SugarColumn(ColumnName = "QUANTITY")]
public decimal? Quantity { get; set; }
+
+ [SugarColumn(ColumnName = "LOT_NO")] public string? LotNo { get; set; }
}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Dto/service/RkDaa002.cs b/StandardPda/MES.Service/Dto/service/RkDaa002.cs
index cd53487..2080108 100644
--- a/StandardPda/MES.Service/Dto/service/RkDaa002.cs
+++ b/StandardPda/MES.Service/Dto/service/RkDaa002.cs
@@ -24,4 +24,7 @@
[SugarColumn(ColumnName = "ITEM_NAME")]
public string? ItemName { get; set; }
+
+ [SugarColumn(ColumnName = "DAA020")]
+ public string? Daa020 { get; set; }
}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Dto/service/XJDto.cs b/StandardPda/MES.Service/Dto/service/XJDto.cs
new file mode 100644
index 0000000..f36a69b
--- /dev/null
+++ b/StandardPda/MES.Service/Dto/service/XJDto.cs
@@ -0,0 +1,35 @@
+锘縰sing MES.Service.Modes;
+
+namespace MES.Service.Dto.service;
+
+public class XJDto
+{
+ public string? userNo { get; set; }
+
+ //涓昏〃id
+ public int? gid { get; set; }
+
+ //瀛愯〃id
+ public int? pid { get; set; }
+
+ //瀛欒〃id
+ public int? id { get; set; }
+
+ //澶囨敞
+ public string? Remarks { get; set; }
+
+ //==========================================
+ //宸℃涓诲瓙琛ㄩ渶瑕佺殑鏁版嵁
+ public QsQaItemXj? from { get; set; }
+
+ public List<QsQaItemXj01>? items { get; set; }
+
+ //==========================================
+ //宸℃瀛愬瓩琛ㄩ渶瑕佺殑鏁版嵁
+
+ public QsQaItemXj01? ItemXj01 { get; set; }
+
+ public List<QsQaItemXj02>? ItemXj02s { get; set; }
+
+ public MesQsSuspend? entity { get; set; }
+}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Modes/MesDeptUser.cs b/StandardPda/MES.Service/Modes/MesDeptUser.cs
new file mode 100644
index 0000000..287728a
--- /dev/null
+++ b/StandardPda/MES.Service/Modes/MesDeptUser.cs
@@ -0,0 +1,80 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using SqlSugar;
+
+namespace MES.Service.Modes
+{
+ /// <summary>
+ ///
+ ///</summary>
+ [SugarTable("MES_DEPT_USER")]
+ public class MesDeptUser
+ {
+ /// <summary>
+ /// SEQ_USER
+ ///</summary>
+ [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 杞﹂棿
+ ///</summary>
+ [SugarColumn(ColumnName = "WORKSHOP")]
+ public string Workshop { get; set; }
+
+ /// <summary>
+ /// 缂栫爜
+ ///</summary>
+ [SugarColumn(ColumnName = "CODE")]
+ public string Code { get; set; }
+
+ /// <summary>
+ /// 鐢ㄦ埛
+ ///</summary>
+ [SugarColumn(ColumnName = "USER_NO")]
+ public string UserNo { get; set; }
+
+ /// <summary>
+ /// 宀椾綅
+ ///</summary>
+ [SugarColumn(ColumnName = "POST")]
+ public string Post { get; set; }
+
+ /// <summary>
+ /// 鐢佃瘽
+ ///</summary>
+ [SugarColumn(ColumnName = "PHONE")]
+ public string Phone { get; set; }
+
+ /// <summary>
+ /// 鏄惁绂昏亴
+ ///</summary>
+ [SugarColumn(ColumnName = "IS_DEPARTURE")]
+ public short? IsDeparture { get; set; }
+
+ /// <summary>
+ /// 0鏈鏍� 1瀹℃牳
+ ///</summary>
+ [SugarColumn(ColumnName = "STATUS")]
+ public decimal? Status { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳浜�
+ ///</summary>
+ [SugarColumn(ColumnName = "ISSUED_BY")]
+ public string IssuedBy { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳鏃堕棿
+ ///</summary>
+ [SugarColumn(ColumnName = "ISSUED_DATE")]
+ public DateTime? IssuedDate { get; set; }
+
+ /// <summary>
+ /// 鐢ㄦ埛鍚�
+ ///</summary>
+ [SugarColumn(ColumnName = "USER_NAME")]
+ public string UserName { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Modes/MesInvItemBarcodes.cs b/StandardPda/MES.Service/Modes/MesInvItemBarcodes.cs
new file mode 100644
index 0000000..fc6f2cc
--- /dev/null
+++ b/StandardPda/MES.Service/Modes/MesInvItemBarcodes.cs
@@ -0,0 +1,496 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 鐗╂枡鏉$爜琛�
+/// </summary>
+[SugarTable("MES_INV_ITEM_BARCODES")]
+public class MesInvItemBarcodes
+{
+ /// <summary>
+ /// SEQ_BARCODE_PSN_ID
+ /// </summary>
+ [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_EQBASE",
+ IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE")]
+ public string? ItemBarcode { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛鎴愬搧缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "C_PRODUCT_CODE")]
+ public string? CProductCode { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛鐗╂枡鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "C_ITEM_BARCODE")]
+ public string? CItemBarcode { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛鐗╂枡缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "C_ITEM_CODE")]
+ public string? CItemCode { get; set; }
+
+ /// <summary>
+ /// 鏈徃鐗╂枡缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_NO")]
+ public string? ItemNo { get; set; }
+
+ /// <summary>
+ /// 鍘傚鎵规
+ /// </summary>
+ [SugarColumn(ColumnName = "LOT_NO")]
+ public string? LotNo { get; set; }
+
+ /// <summary>
+ /// 鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "QUANTITY")]
+ public decimal? Quantity { get; set; }
+
+ /// <summary>
+ /// 鏄惁鐜繚(0:鍚�,1:鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "EP_FLAG")]
+ public short? EpFlag { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇宸ュ崟
+ /// </summary>
+ [SugarColumn(ColumnName = "TASK_NO")]
+ public string? TaskNo { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATE_BY")]
+ public string? CreateBy { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATE_DATE")]
+ public DateTime? CreateDate { get; set; }
+
+ /// <summary>
+ /// 鏈�鍚庢洿鏂颁汉
+ /// </summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_BY")]
+ public string? LastupdateBy { get; set; }
+
+ /// <summary>
+ /// 鏈�鍚庢洿鏂版椂闂�
+ /// </summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_DATE")]
+ public DateTime? LastupdateDate { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "CUST_NO")]
+ public string? CustNo { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鏉$爜娉ㄩ噴琛孾鍐椾綑锛屾潯鐮侀噸鎵撲娇鐢╙
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE_TEXT")]
+ public string? ItemBarcodeText { get; set; }
+
+ /// <summary>
+ /// 鍘烶SN鐗╂枡鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "OLD_ITEM_BARCODE")]
+ public string? OldItemBarcode { get; set; }
+
+ /// <summary>
+ /// SAP鏀惰揣鐗╂枡鍑瘉鍙� --閲囪喘鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "MBLNR")]
+ public string? Mblnr { get; set; }
+
+ /// <summary>
+ /// SAP鏀惰揣鐗╂枡鍑瘉琛屽彿 --閲囪喘鍗曡鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "ZEILE")]
+ public decimal? Zeile { get; set; }
+
+ /// <summary>
+ /// 鏀舵枡琛↖D
+ /// </summary>
+ [SugarColumn(ColumnName = "ROH_IN_ID")]
+ public decimal? RohInId { get; set; }
+
+ /// <summary>
+ /// 0涓烘湁鏁堟潯鐮侊紱1涓烘棤鏁堟潯鐮�
+ /// </summary>
+ [SugarColumn(ColumnName = "BARCODESTATUS")]
+ public short? Barcodestatus { get; set; }
+
+ /// <summary>
+ /// 鍘熷鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "OLDQTY")]
+ public decimal? Oldqty { get; set; }
+
+ /// <summary>
+ /// 浣跨敤鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "USEQTY")]
+ public decimal? Useqty { get; set; }
+
+ /// <summary>
+ /// 0鍦ㄥ簱锛�1鍦ㄧ嚎锛�2浣滃簾
+ /// </summary>
+ [SugarColumn(ColumnName = "LOCATION")]
+ public short? Location { get; set; }
+
+ /// <summary>
+ /// 鍗曚綅
+ /// </summary>
+ [SugarColumn(ColumnName = "UNIT")]
+ public string? Unit { get; set; }
+
+ /// <summary>
+ /// 閲嶉噺锛堝崟浣嶏細鍏枻锛�
+ /// </summary>
+ [SugarColumn(ColumnName = "WEIGHT_UNIT")]
+ public decimal? WeightUnit { get; set; }
+
+ /// <summary>
+ /// 鍗曚环
+ /// </summary>
+ [SugarColumn(ColumnName = "PRICE")]
+ public decimal? Price { get; set; }
+
+ /// <summary>
+ /// 鍘熸潯鐮佹暟閲�
+ /// </summary>
+ [SugarColumn(ColumnName = "OLD_BAR_QUANTITY")]
+ public decimal? OldBarQuantity { get; set; }
+
+ /// <summary>
+ /// 姹囨�绘潯鐮�
+ /// </summary>
+ [SugarColumn(ColumnName = "SUM_BARCODE")]
+ public string? SumBarcode { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "LOT_DATE")]
+ public string? LotDate { get; set; }
+
+ /// <summary>
+ /// 妯″彿
+ /// </summary>
+ [SugarColumn(ColumnName = "MOCODE")]
+ public string? Mocode { get; set; }
+
+ /// <summary>
+ /// 鏉ユ簮
+ /// </summary>
+ [SugarColumn(ColumnName = "MEMO")]
+ public string? Memo { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟嗙紪鐮�
+ /// </summary>
+ [SugarColumn(ColumnName = "SUPP_NO")]
+ public string? SuppNo { get; set; }
+
+ /// <summary>
+ /// 妗d綅浣庡��
+ /// </summary>
+ [SugarColumn(ColumnName = "SPOSTION")]
+ public string? Spostion { get; set; }
+
+ /// <summary>
+ /// 妗d綅楂樺��
+ /// </summary>
+ [SugarColumn(ColumnName = "EPOSTION")]
+ public string? Epostion { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡绠�绉�
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_SNAME")]
+ public string? ItemSname { get; set; }
+
+ /// <summary>
+ /// 鏄惁宸插喕缁�,1鍐荤粨
+ /// </summary>
+ [SugarColumn(ColumnName = "VISABLE")]
+ public short? Visable { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟嗘壒娆�
+ /// </summary>
+ [SugarColumn(ColumnName = "TR_LOTNO")]
+ public string? TrLotno { get; set; }
+
+ /// <summary>
+ /// 鍐荤粨鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "FLEZZ_DATE")]
+ public DateTime? FlezzDate { get; set; }
+
+ /// <summary>
+ /// 鍐荤粨鍘熷洜
+ /// </summary>
+ [SugarColumn(ColumnName = "FLEZZ_REASON")]
+ public string? FlezzReason { get; set; }
+
+ /// <summary>
+ /// 鍐荤粨浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "FLEZZ_BY")]
+ public string? FlezzBy { get; set; }
+
+ /// <summary>
+ /// 寤堕暱淇濊川鏈�
+ /// </summary>
+ [SugarColumn(ColumnName = "DELANY_MONTH")]
+ public decimal? DelanyMonth { get; set; }
+
+ /// <summary>
+ /// 鏈�灏忓寘瑁呮爣璇�
+ /// </summary>
+ [SugarColumn(ColumnName = "MINPACK_FLAG")]
+ public short? MinpackFlag { get; set; }
+
+ /// <summary>
+ /// 鎵撳嵃ID锛岀敤鏉ュ尯鍒嗘墦鍗版鏁�
+ /// </summary>
+ [SugarColumn(ColumnName = "PRINT_ID")]
+ public string? PrintId { get; set; }
+
+ /// <summary>
+ /// 鐜繚椤圭洰
+ /// </summary>
+ [SugarColumn(ColumnName = "EP_ITEM")]
+ public string? EpItem { get; set; }
+
+ /// <summary>
+ /// 宸ュ巶缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+ public string? Factory { get; set; }
+
+ /// <summary>
+ /// 鍏徃缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+ public string? Company { get; set; }
+
+ /// <summary>
+ /// 鍗℃澘缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "CB_NO")]
+ public string? CbNo { get; set; }
+
+ /// <summary>
+ /// 鍘傚鐢熶骇绾�
+ /// </summary>
+ [SugarColumn(ColumnName = "LINFLINE")]
+ public string? Linfline { get; set; }
+
+ /// <summary>
+ /// 鏈夋晥鏈�
+ /// </summary>
+ [SugarColumn(ColumnName = "VALID_TIME")]
+ public DateTime? ValidTime { get; set; }
+
+ /// <summary>
+ /// 璐ㄦ缁撴灉
+ /// </summary>
+ [SugarColumn(ColumnName = "IQC_STATUS")]
+ public string? IqcStatus { get; set; }
+
+ /// <summary>
+ /// 灏忚溅鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "FCAR")]
+ public string? Fcar { get; set; }
+
+ /// <summary>
+ /// 姣涢噸
+ /// </summary>
+ [SugarColumn(ColumnName = "GWEIGHT")]
+ public string? Gweight { get; set; }
+
+ /// <summary>
+ /// 鍑�閲�
+ /// </summary>
+ [SugarColumn(ColumnName = "NWEIGHT")]
+ public string? Nweight { get; set; }
+
+ /// <summary>
+ /// 淇濊川鏈�
+ /// </summary>
+ [SugarColumn(ColumnName = "EXT_DATE")]
+ public decimal? ExtDate { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟嗐�佽禒鍝併�佸渚涙枡銆佸澶�
+ /// </summary>
+ [SugarColumn(ColumnName = "BARCODETYPE")]
+ public string? Barcodetype { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟嗗悕绉�
+ /// </summary>
+ [SugarColumn(ColumnName = "SUPP_NAME")]
+ public string? SuppName { get; set; }
+
+ /// <summary>
+ /// 鍒拌揣鍗曞彿/鍏ュ簱鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BILL_NO")]
+ public string? BillNo { get; set; }
+
+ /// <summary>
+ /// 鎬ユ枡鏍囪瘑
+ /// </summary>
+ [SugarColumn(ColumnName = "URGENT_FLAG")]
+ public short? UrgentFlag { get; set; }
+
+ /// <summary>
+ /// 棰滆壊
+ /// </summary>
+ [SugarColumn(ColumnName = "COLOR_NAME")]
+ public string? ColorName { get; set; }
+
+ /// <summary>
+ /// 浜у搧鍨嬪彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BOARD_STYLE")]
+ public string? BoardStyle { get; set; }
+
+ /// <summary>
+ /// 鏉ユ枡鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "INS_DATE")]
+ public DateTime? InsDate { get; set; }
+
+ /// <summary>
+ /// 鍒拌揣鍗曡鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_LINE")]
+ public decimal? WorkLine { get; set; }
+
+ /// <summary>
+ /// 涓嶈壇鍘熷洜
+ /// </summary>
+ [SugarColumn(ColumnName = "MEMO_BAD")]
+ public string? MemoBad { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_NO")]
+ public string? WorkNo { get; set; }
+
+ /// <summary>
+ /// 鏉$爜鏉ユ簮鏍囪瘑锛�0-鍒濇湡鐗╂枡,1-閲囪喘鍏ュ簱锛�2銆佺敓浜ч��鏂欙紝3銆佸叾瀹冨叆搴擄紝4-瀹緵鏂�,5-鍦ㄥ簱鍒嗘枡锛�6-鍒剁▼鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "COME_FLG")]
+ public short? ComeFlg { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇绾夸綋
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_NO")]
+ public string? LineNo { get; set; }
+
+ /// <summary>
+ /// 涓濆嵃娆℃暟
+ /// </summary>
+ [SugarColumn(ColumnName = "SILK_PQTY")]
+ public decimal? SilkPqty { get; set; }
+
+ /// <summary>
+ /// 涓濆嵃娆℃暟姣�
+ /// </summary>
+ [SugarColumn(ColumnName = "SILK")]
+ public string? Silk { get; set; }
+
+ /// <summary>
+ /// 涓濆嵃娲惧伐浠庤〃ID
+ /// </summary>
+ [SugarColumn(ColumnName = "SILK_ID")]
+ public decimal? SilkId { get; set; }
+
+ /// <summary>
+ /// 宸叉姤宸ユ爣璇�
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_FLG")]
+ public decimal? WorkFlg { get; set; }
+
+ /// <summary>
+ /// 鏈�鍚庡伐搴�
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_LAST")]
+ public decimal? WorkLast { get; set; }
+
+ /// <summary>
+ /// 0-鏈悎骞舵墦鍗帮紝1-鍚堝苟鎵撳嵃
+ /// </summary>
+ [SugarColumn(ColumnName = "HBDY")]
+ public decimal? Hbdy { get; set; }
+
+ /// <summary>
+ /// 0-鏈夋晥鏉$爜锛�1-鍚堝苟鎷嗗垎鐨勬潯鐮侊紝鏃犳晥
+ /// </summary>
+ [SugarColumn(ColumnName = "HBDYTM")]
+ public decimal? Hbdytm { get; set; }
+
+ /// <summary>
+ /// 鎶ュ伐鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_FLGTIME")]
+ public string? WorkFlgtime { get; set; }
+
+ /// <summary>
+ /// 閲囪喘璁㈠崟ID
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN_K3ID")]
+ public decimal? EbelnK3id { get; set; }
+
+ /// <summary>
+ /// 閲囪喘璁㈠崟琛孖D
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_K3ID")]
+ public decimal? LineK3id { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_ID")]
+ public decimal? ItemId { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇宸ュ簭ID
+ /// </summary>
+ [SugarColumn(ColumnName = "GX_ID")]
+ public decimal? GxId { get; set; }
+
+ /// <summary>
+ /// 缁勭粐id
+ /// </summary>
+ [SugarColumn(ColumnName = "ORG_NAME")]
+ public string? OrgName { get; set; }
+
+ /// <summary>
+ /// 璐т富id
+ /// </summary>
+ [SugarColumn(ColumnName = "ORG_OWNER")]
+ public string? OrgOwner { get; set; }
+}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Modes/MesInvItemInCDetails.cs b/StandardPda/MES.Service/Modes/MesInvItemInCDetails.cs
new file mode 100644
index 0000000..0bf8253
--- /dev/null
+++ b/StandardPda/MES.Service/Modes/MesInvItemInCDetails.cs
@@ -0,0 +1,362 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 鐗╂枡鍏ュ簱鏉$爜鏄庣粏
+/// </summary>
+[SugarTable("MES_INV_ITEM_IN_C_DETAILS")]
+public class MesInvItemInCDetails
+{
+ /// <summary>
+ /// SEQ_OUT
+ /// </summary>
+ [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_INV_ID",
+ IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鍗昳d
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_IN_ID", IsPrimaryKey = true)]
+ public decimal ItemInId { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鏉$爜PSN
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE")]
+ public string ItemBarcode { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛鐗╂枡缂栫爜锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級
+ /// </summary>
+ [SugarColumn(ColumnName = "C_ITEM_CODE")]
+ public string CItemCode { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛鐗╂枡鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "C_ITEM_BARCODE")]
+ public string CItemBarcode { get; set; }
+
+ /// <summary>
+ /// 楠屾敹鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "QUANTITY")]
+ public decimal? Quantity { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鏂瑰紡(1:鏈夋潯鐮�,0:鏃犳潯鐮�)
+ /// </summary>
+ [SugarColumn(ColumnName = "BARCODE_FLAG")]
+ public short? BarcodeFlag { get; set; }
+
+ /// <summary>
+ /// 鐜繚鏍囧織锛�0-闈炵幆淇�,1-鐜繚.鏃犳潯鐮佹墜宸ュ綍鍏ワ紝鏈夋潯鐮佷负鍐椾綑瀛楁锛�
+ /// </summary>
+ [SugarColumn(ColumnName = "EP_FLAG")]
+ public short? EpFlag { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATE_BY")]
+ public string CreateBy { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATE_DATE")]
+ public DateTime? CreateDate { get; set; }
+
+ /// <summary>
+ /// 鏈�鍚庢洿鏂颁汉
+ /// </summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_BY")]
+ public string LastupdateBy { get; set; }
+
+ /// <summary>
+ /// 鏈�鍚庢洿鏂版椂闂�
+ /// </summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_DATE")]
+ public DateTime? LastupdateDate { get; set; }
+
+ /// <summary>
+ /// 浣滀笟鏂瑰紡0-鏈夌嚎鏉$爜鏋�1-鏃犵嚎鏉$爜鏋�
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_TYPE")]
+ public decimal? WorkType { get; set; }
+
+ /// <summary>
+ /// 鏈徃鐗╂枡缂栫爜锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_NO")]
+ public string ItemNo { get; set; }
+
+ /// <summary>
+ /// 鍘傚鎵规
+ /// </summary>
+ [SugarColumn(ColumnName = "LOT_NO")]
+ public string LotNo { get; set; }
+
+ /// <summary>
+ /// 鏄惁鍏辩鐗╂枡(0:鍚︼紝1:鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "COMANAGEMENT_FLAG")]
+ public short? ComanagementFlag { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "CUST_NO")]
+ public string CustNo { get; set; }
+
+ /// <summary>
+ /// 妫�楠岀粨鏋�
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_RES")]
+ public string CheckRes { get; set; }
+
+ /// <summary>
+ /// 杩涜揣鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_QTY")]
+ public decimal? CheckQty { get; set; }
+
+ /// <summary>
+ /// 妫�楠岀姸鎬�
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_STATES")]
+ public string CheckStates { get; set; }
+
+ /// <summary>
+ /// 寮哄埗鍏ュ簱鏍囪0鏃狅紝1-寮哄埗鍏ュ簱 閫�鏂欏崟浣跨敤
+ /// </summary>
+ [SugarColumn(ColumnName = "FORCE_IN_FLAG")]
+ public short? ForceInFlag { get; set; }
+
+ /// <summary>
+ /// 浠撳簱缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_CODE")]
+ public string DepotCode { get; set; }
+
+ /// <summary>
+ /// 璐т綅缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_SECTION_CODE")]
+ public string DepotSectionCode { get; set; }
+
+ /// <summary>
+ /// 鐗硅浜嬮」
+ /// </summary>
+ [SugarColumn(ColumnName = "REMARK")]
+ public string Remark { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE2")]
+ public string ItemBarcode2 { get; set; }
+
+ /// <summary>
+ /// 鏂版潯鐮�
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE3")]
+ public string ItemBarcode3 { get; set; }
+
+ /// <summary>
+ /// 浣跨敤鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "USE_QTY")]
+ public decimal? UseQty { get; set; }
+
+ /// <summary>
+ /// 棰嗘枡鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "OUT_QTY")]
+ public decimal? OutQty { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡绠�绉�
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_SNAME")]
+ public string ItemSname { get; set; }
+
+ /// <summary>
+ /// 妗d綅浣庡��
+ /// </summary>
+ [SugarColumn(ColumnName = "SPOSTION")]
+ public decimal? Spostion { get; set; }
+
+ /// <summary>
+ /// 妗d綅楂樺��
+ /// </summary>
+ [SugarColumn(ColumnName = "EPOSTION")]
+ public decimal? Epostion { get; set; }
+
+ /// <summary>
+ /// 妫�楠屾棩鏈�
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_DATE")]
+ public DateTime? CheckDate { get; set; }
+
+ /// <summary>
+ /// 鍗曚綅
+ /// </summary>
+ [SugarColumn(ColumnName = "UNIT")]
+ public string Unit { get; set; }
+
+ /// <summary>
+ /// 鏄惁妫�楠�
+ /// </summary>
+ [SugarColumn(ColumnName = "ISCHECK")]
+ public decimal? Ischeck { get; set; }
+
+ /// <summary>
+ /// 閲囪喘璁㈠崟
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN")]
+ public string Ebeln { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "LOT_DATE")]
+ public string LotDate { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BILL_NO")]
+ public string BillNo { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱瀹℃牳鏍囧織
+ /// </summary>
+ [SugarColumn(ColumnName = "STOCK_OK")]
+ public short? StockOk { get; set; }
+
+ /// <summary>
+ /// 鍒嗗巶缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+ public string Factory { get; set; }
+
+ /// <summary>
+ /// 鍏徃浠g爜
+ /// </summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+ public string Company { get; set; }
+
+ /// <summary>
+ /// 鍗℃澘缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "CB_NO")]
+ public string CbNo { get; set; }
+
+ /// <summary>
+ /// 绠卞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BOX_NO")]
+ public string BoxNo { get; set; }
+
+ /// <summary>
+ /// 浠撳簱ID
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_ID")]
+ public decimal? DepotId { get; set; }
+
+ /// <summary>
+ /// 璐т綅ID
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_SECTION_ID")]
+ public decimal? DepotSectionId { get; set; }
+
+ /// <summary>
+ /// 琛屽彿
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_NUM")]
+ public string LineNum { get; set; }
+
+ /// <summary>
+ /// 鎵爜鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "SM_QTY")]
+ public decimal? SmQty { get; set; }
+
+ /// <summary>
+ /// 閿�鍞鍗�
+ /// </summary>
+ [SugarColumn(ColumnName = "VGBEL")]
+ public string Vgbel { get; set; }
+
+ /// <summary>
+ /// 閿�鍞鍗曡鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "KDPOS")]
+ public decimal? Kdpos { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_NO")]
+ public string WorkNo { get; set; }
+
+ /// <summary>
+ /// 琛屽彿
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN_LINE_NO")]
+ public decimal? EbelnLineNo { get; set; }
+
+ /// <summary>
+ /// 鍒拌揣鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "CBILL_NO")]
+ public string CbillNo { get; set; }
+
+ /// <summary>
+ /// 鎬ユ枡鏍囪瘑
+ /// </summary>
+ [SugarColumn(ColumnName = "URGENT_FLAG")]
+ public decimal? UrgentFlag { get; set; }
+
+ /// <summary>
+ /// 浜у搧鍨嬪彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BOARD_STYLE")]
+ public string BoardStyle { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曡鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_LINE")]
+ public decimal? WorkLine { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇宸ュ崟
+ /// </summary>
+ [SugarColumn(ColumnName = "TASK_NO")]
+ public string TaskNo { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟�
+ /// </summary>
+ [SugarColumn(ColumnName = "SUPP_NO")]
+ public string SuppNo { get; set; }
+
+ /// <summary>
+ /// 浠诲姟姹囨姤鍗�
+ /// </summary>
+ [SugarColumn(ColumnName = "RBILL_NO")]
+ public string RbillNo { get; set; }
+
+ // 娣诲姞鐨勫瓧娈碉紝骞朵笖瀹冧滑涓嶅睘浜庢暟鎹簱琛�
+ [SugarColumn(IsIgnore = true)] public string? ItemName { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public string? ItemModel { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public string? ItemUnit { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public decimal? SumQuantity { get; set; }
+}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Modes/MesInvItemInCDetails2.cs b/StandardPda/MES.Service/Modes/MesInvItemInCDetails2.cs
new file mode 100644
index 0000000..4d50f32
--- /dev/null
+++ b/StandardPda/MES.Service/Modes/MesInvItemInCDetails2.cs
@@ -0,0 +1,368 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using SqlSugar;
+
+namespace MES.Service.Modes
+{
+ /// <summary>
+ /// 鐗╂枡鎴愬搧鍏ュ簱鐢宠鏉$爜鏄庣粏
+ ///</summary>
+ [SugarTable("MES_INV_ITEM_IN_C_DETAILS2")]
+ public class MesInvItemInCDetails2
+ {
+ /// <summary>
+ /// SEQ_OUT
+ ///</summary>
+ [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鍗昳d
+ ///</summary>
+ [SugarColumn(ColumnName = "ITEM_IN_ID", IsPrimaryKey = true)]
+ public decimal ItemInId { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鏉$爜PSN
+ ///</summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE")]
+ public string ItemBarcode { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛鐗╂枡缂栫爜锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級
+ ///</summary>
+ [SugarColumn(ColumnName = "C_ITEM_CODE")]
+ public string CItemCode { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛鐗╂枡鏉$爜
+ ///</summary>
+ [SugarColumn(ColumnName = "C_ITEM_BARCODE")]
+ public string CItemBarcode { get; set; }
+
+ /// <summary>
+ /// 楠屾敹鏁伴噺
+ ///</summary>
+ [SugarColumn(ColumnName = "QUANTITY")]
+ public decimal? Quantity { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鏂瑰紡(1:鏈夋潯鐮�,0:鏃犳潯鐮�)
+ ///</summary>
+ [SugarColumn(ColumnName = "BARCODE_FLAG")]
+ public short? BarcodeFlag { get; set; }
+
+ /// <summary>
+ /// 鐜繚鏍囧織锛�0-闈炵幆淇�,1-鐜繚.鏃犳潯鐮佹墜宸ュ綍鍏ワ紝鏈夋潯鐮佷负鍐椾綑瀛楁锛�
+ ///</summary>
+ [SugarColumn(ColumnName = "EP_FLAG")]
+ public short? EpFlag { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜�
+ ///</summary>
+ [SugarColumn(ColumnName = "CREATE_BY")]
+ public string CreateBy { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏃堕棿
+ ///</summary>
+ [SugarColumn(ColumnName = "CREATE_DATE")]
+ public DateTime? CreateDate { get; set; }
+
+ /// <summary>
+ /// 鏈�鍚庢洿鏂颁汉
+ ///</summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_BY")]
+ public string LastupdateBy { get; set; }
+
+ /// <summary>
+ /// 鏈�鍚庢洿鏂版椂闂�
+ ///</summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_DATE")]
+ public DateTime? LastupdateDate { get; set; }
+
+ /// <summary>
+ /// 浣滀笟鏂瑰紡0-鏈夌嚎鏉$爜鏋�1-鏃犵嚎鏉$爜鏋�
+ ///</summary>
+ [SugarColumn(ColumnName = "WORK_TYPE")]
+ public decimal? WorkType { get; set; }
+
+ /// <summary>
+ /// 鏈徃鐗╂枡缂栫爜锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級
+ ///</summary>
+ [SugarColumn(ColumnName = "ITEM_NO")]
+ public string ItemNo { get; set; }
+
+ /// <summary>
+ /// 鍘傚鎵规
+ ///</summary>
+ [SugarColumn(ColumnName = "LOT_NO")]
+ public string LotNo { get; set; }
+
+ /// <summary>
+ /// 鏄惁鍏辩鐗╂枡(0:鍚︼紝1:鏄�)
+ ///</summary>
+ [SugarColumn(ColumnName = "COMANAGEMENT_FLAG")]
+ public short? ComanagementFlag { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛缂栫爜
+ ///</summary>
+ [SugarColumn(ColumnName = "CUST_NO")]
+ public string CustNo { get; set; }
+
+ /// <summary>
+ /// 妫�楠岀粨鏋�
+ ///</summary>
+ [SugarColumn(ColumnName = "CHECK_RES")]
+ public string CheckRes { get; set; }
+
+ /// <summary>
+ /// 杩涜揣鏁伴噺
+ ///</summary>
+ [SugarColumn(ColumnName = "CHECK_QTY")]
+ public decimal? CheckQty { get; set; }
+
+ /// <summary>
+ /// 妫�楠岀姸鎬�
+ ///</summary>
+ [SugarColumn(ColumnName = "CHECK_STATES")]
+ public string CheckStates { get; set; }
+
+ /// <summary>
+ /// 寮哄埗鍏ュ簱鏍囪0鏃狅紝1-寮哄埗鍏ュ簱 閫�鏂欏崟浣跨敤
+ ///</summary>
+ [SugarColumn(ColumnName = "FORCE_IN_FLAG")]
+ public short? ForceInFlag { get; set; }
+
+ /// <summary>
+ /// 浠撳簱缂栫爜
+ ///</summary>
+ [SugarColumn(ColumnName = "DEPOT_CODE")]
+ public string DepotCode { get; set; }
+
+ /// <summary>
+ /// 璐т綅缂栫爜
+ ///</summary>
+ [SugarColumn(ColumnName = "DEPOT_SECTION_CODE")]
+ public string DepotSectionCode { get; set; }
+
+ /// <summary>
+ /// 鐗硅浜嬮」
+ ///</summary>
+ [SugarColumn(ColumnName = "REMARK")]
+ public string Remark { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鏉$爜
+ ///</summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE2")]
+ public string ItemBarcode2 { get; set; }
+
+ /// <summary>
+ /// 鏂版潯鐮�
+ ///</summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE3")]
+ public string ItemBarcode3 { get; set; }
+
+ /// <summary>
+ /// 浣跨敤鏁伴噺
+ ///</summary>
+ [SugarColumn(ColumnName = "USE_QTY")]
+ public decimal? UseQty { get; set; }
+
+ /// <summary>
+ /// 棰嗘枡鏁伴噺
+ ///</summary>
+ [SugarColumn(ColumnName = "OUT_QTY")]
+ public decimal? OutQty { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡绠�绉�
+ ///</summary>
+ [SugarColumn(ColumnName = "ITEM_SNAME")]
+ public string ItemSname { get; set; }
+
+ /// <summary>
+ /// 妗d綅浣庡��
+ ///</summary>
+ [SugarColumn(ColumnName = "SPOSTION")]
+ public decimal? Spostion { get; set; }
+
+ /// <summary>
+ /// 妗d綅楂樺��
+ ///</summary>
+ [SugarColumn(ColumnName = "EPOSTION")]
+ public decimal? Epostion { get; set; }
+
+ /// <summary>
+ /// 妫�楠屾棩鏈�
+ ///</summary>
+ [SugarColumn(ColumnName = "CHECK_DATE")]
+ public DateTime? CheckDate { get; set; }
+
+ /// <summary>
+ /// 鍗曚綅
+ ///</summary>
+ [SugarColumn(ColumnName = "UNIT")]
+ public string Unit { get; set; }
+
+ /// <summary>
+ /// 鏄惁妫�楠�
+ ///</summary>
+ [SugarColumn(ColumnName = "ISCHECK")]
+ public decimal? Ischeck { get; set; }
+
+ /// <summary>
+ /// 閲囪喘璁㈠崟
+ ///</summary>
+ [SugarColumn(ColumnName = "EBELN")]
+ public string Ebeln { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇鏃ユ湡
+ ///</summary>
+ [SugarColumn(ColumnName = "LOT_DATE")]
+ public string LotDate { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鍗曞彿
+ ///</summary>
+ [SugarColumn(ColumnName = "BILL_NO")]
+ public string BillNo { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱瀹℃牳鏍囧織
+ ///</summary>
+ [SugarColumn(ColumnName = "STOCK_OK")]
+ public short? StockOk { get; set; }
+
+ /// <summary>
+ /// 鍒嗗巶缂栫爜
+ ///</summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+ public string Factory { get; set; }
+
+ /// <summary>
+ /// 鍏徃浠g爜
+ ///</summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+ public string Company { get; set; }
+
+ /// <summary>
+ /// 鍗℃澘缂栫爜
+ ///</summary>
+ [SugarColumn(ColumnName = "CB_NO")]
+ public string CbNo { get; set; }
+
+ /// <summary>
+ /// 绠卞彿
+ ///</summary>
+ [SugarColumn(ColumnName = "BOX_NO")]
+ public string BoxNo { get; set; }
+
+ /// <summary>
+ /// 浠撳簱ID
+ ///</summary>
+ [SugarColumn(ColumnName = "DEPOT_ID")]
+ public decimal? DepotId { get; set; }
+
+ /// <summary>
+ /// 璐т綅ID
+ ///</summary>
+ [SugarColumn(ColumnName = "DEPOT_SECTION_ID")]
+ public decimal? DepotSectionId { get; set; }
+
+ /// <summary>
+ /// 琛屽彿
+ ///</summary>
+ [SugarColumn(ColumnName = "LINE_NUM")]
+ public string LineNum { get; set; }
+
+ /// <summary>
+ /// 鎵爜鏁伴噺
+ ///</summary>
+ [SugarColumn(ColumnName = "SM_QTY")]
+ public decimal? SmQty { get; set; }
+
+ /// <summary>
+ /// 閿�鍞鍗�
+ ///</summary>
+ [SugarColumn(ColumnName = "VGBEL")]
+ public string Vgbel { get; set; }
+
+ /// <summary>
+ /// 閿�鍞鍗曡鍙�
+ ///</summary>
+ [SugarColumn(ColumnName = "KDPOS")]
+ public decimal? Kdpos { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曞彿
+ ///</summary>
+ [SugarColumn(ColumnName = "WORK_NO")]
+ public string WorkNo { get; set; }
+
+ /// <summary>
+ /// 琛屽彿
+ ///</summary>
+ [SugarColumn(ColumnName = "EBELN_LINE_NO")]
+ public decimal? EbelnLineNo { get; set; }
+
+ /// <summary>
+ /// 鍒拌揣鍗曞彿
+ ///</summary>
+ [SugarColumn(ColumnName = "CBILL_NO")]
+ public string CbillNo { get; set; }
+
+ /// <summary>
+ /// 鎬ユ枡鏍囪瘑
+ ///</summary>
+ [SugarColumn(ColumnName = "URGENT_FLAG")]
+ public decimal? UrgentFlag { get; set; }
+
+ /// <summary>
+ /// 浜у搧鍨嬪彿
+ ///</summary>
+ [SugarColumn(ColumnName = "BOARD_STYLE")]
+ public string BoardStyle { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曡鍙�
+ ///</summary>
+ [SugarColumn(ColumnName = "WORK_LINE")]
+ public decimal? WorkLine { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇宸ュ崟
+ ///</summary>
+ [SugarColumn(ColumnName = "TASK_NO")]
+ public string TaskNo { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟�
+ ///</summary>
+ [SugarColumn(ColumnName = "SUPP_NO")]
+ public string SuppNo { get; set; }
+
+ /// <summary>
+ /// 浠诲姟姹囨姤鍗�
+ ///</summary>
+ [SugarColumn(ColumnName = "RBILL_NO")]
+ public string RbillNo { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡ID
+ ///</summary>
+ [SugarColumn(ColumnName = "ITEM_ID")]
+ public decimal? ItemId { get; set; }
+
+ /// <summary>
+ /// 宸ュ崟鎶ュ伐ID (鐢ㄤ簬妫�楠屽崟鏇存柊鎶ュ伐琛ㄤ笂鐨勬楠岀粨鏋�)
+ ///</summary>
+ [SugarColumn(ColumnName = "MES_SCGD_GX_ID")]
+ public decimal? MesScgdGxId { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Modes/MesInvItemIns.cs b/StandardPda/MES.Service/Modes/MesInvItemIns.cs
new file mode 100644
index 0000000..a65fee7
--- /dev/null
+++ b/StandardPda/MES.Service/Modes/MesInvItemIns.cs
@@ -0,0 +1,322 @@
+using SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 鐗╂枡鍏ュ簱涓昏〃
+/// </summary>
+[SugarTable("MES_INV_ITEM_INS")]
+public class MesInvItemIns
+{
+ /// <summary>
+ /// ID(SEQ_INV_ID)
+ /// </summary>
+ [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_INV_ID",
+ IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鍗曞彿
+ ///</summary>
+ [SugarColumn(ColumnName = "BILL_NO")]
+ public string BillNo { get; set; }
+
+ /// <summary>
+ /// 鐘舵�亅0-鏈鏍�1-瀹℃牳鍏ュ簱\缁撴
+ ///</summary>
+ [SugarColumn(ColumnName = "STATUS")]
+ public short? Status { get; set; }
+
+ /// <summary>
+ /// 浠撳簱
+ ///</summary>
+ [SugarColumn(ColumnName = "DEPOTS_ID")]
+ public decimal? DepotsId { get; set; }
+
+ /// <summary>
+ /// 鍘熷洜
+ ///</summary>
+ [SugarColumn(ColumnName = "REASON")]
+ public string Reason { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜�
+ ///</summary>
+ [SugarColumn(ColumnName = "CREATE_BY")]
+ public string CreateBy { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏃堕棿
+ ///</summary>
+ [SugarColumn(ColumnName = "CREATE_DATE")]
+ public DateTime? CreateDate { get; set; }
+
+ /// <summary>
+ /// 鏈�鍚庢洿鏂颁汉
+ ///</summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_BY")]
+ public string LastupdateBy { get; set; }
+
+ /// <summary>
+ /// 鏈�鍚庢洿鏂版椂闂�
+ ///</summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_DATE")]
+ public DateTime? LastupdateDate { get; set; }
+
+ /// <summary>
+ /// 鍗曟嵁绫诲瀷ID
+ ///</summary>
+ [SugarColumn(ColumnName = "BILL_TYPE_ID")]
+ public decimal? BillTypeId { get; set; }
+
+ /// <summary>
+ /// 浜嬪姟绫诲瀷ID
+ ///</summary>
+ [SugarColumn(ColumnName = "TRANSACTION_ID")]
+ public decimal? TransactionId { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ ///</summary>
+ [SugarColumn(ColumnName = "REMARK")]
+ public string Remark { get; set; }
+
+ /// <summary>
+ /// 閫佽揣鍗曞彿
+ ///</summary>
+ [SugarColumn(ColumnName = "PAPER_BILL_NO")]
+ public string PaperBillNo { get; set; }
+
+ /// <summary>
+ /// 閫�鏂欎汉宸ュ彿
+ ///</summary>
+ [SugarColumn(ColumnName = "USER_NO_BACK")]
+ public string UserNoBack { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳浜�
+ ///</summary>
+ [SugarColumn(ColumnName = "CHECK_USER")]
+ public string CheckUser { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳鏃ユ湡
+ ///</summary>
+ [SugarColumn(ColumnName = "CHECK_DATE")]
+ public DateTime? CheckDate { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇璁㈠崟鍙�
+ ///</summary>
+ [SugarColumn(ColumnName = "TASK_NO")]
+ public string TaskNo { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鏃ユ湡
+ ///</summary>
+ [SugarColumn(ColumnName = "INS_DATE")]
+ public DateTime? InsDate { get; set; }
+
+ /// <summary>
+ /// 妫�楠岀粨鏋�
+ ///</summary>
+ [SugarColumn(ColumnName = "CHECK_RES")]
+ public string CheckRes { get; set; }
+
+ /// <summary>
+ /// 宸叉崱鏁伴噺
+ ///</summary>
+ [SugarColumn(ColumnName = "CHECK_QTY")]
+ public decimal? CheckQty { get; set; }
+
+ /// <summary>
+ /// 棰嗘枡宸ユ
+ ///</summary>
+ [SugarColumn(ColumnName = "MMLIST")]
+ public string Mmlist { get; set; }
+
+ /// <summary>
+ /// SAP閲囪喘璁㈠崟鍙�
+ ///</summary>
+ [SugarColumn(ColumnName = "EBELN")]
+ public string Ebeln { get; set; }
+
+ /// <summary>
+ /// 浠撳簱缂栫爜
+ ///</summary>
+ [SugarColumn(ColumnName = "DEPOTS_CODE")]
+ public string DepotsCode { get; set; }
+
+ /// <summary>
+ /// 浜嬪姟绫诲瀷缂栫爜
+ ///</summary>
+ [SugarColumn(ColumnName = "TRANSCTION_NO")]
+ public string TransctionNo { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟嗙紪鐮�
+ ///</summary>
+ [SugarColumn(ColumnName = "SUPP_NO")]
+ public string SuppNo { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鐘舵��
+ ///</summary>
+ [SugarColumn(ColumnName = "FSTATUS")]
+ public short? Fstatus { get; set; }
+
+ /// <summary>
+ /// 宸ュ巶缂栫爜
+ ///</summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+ public string Factory { get; set; }
+
+ /// <summary>
+ /// 鏄惁宸插洖鍐橲AP
+ ///</summary>
+ [SugarColumn(ColumnName = "SAPSTATUS")]
+ public short? Sapstatus { get; set; }
+
+ /// <summary>
+ /// SAP杩斿洖鍗曟嵁
+ ///</summary>
+ [SugarColumn(ColumnName = "SAPNO")]
+ public string Sapno { get; set; }
+
+ /// <summary>
+ /// SAP杩斿洖骞翠唤
+ ///</summary>
+ [SugarColumn(ColumnName = "SAPYEAR")]
+ public short? Sapyear { get; set; }
+
+ /// <summary>
+ /// SAP杩斿洖淇℃伅
+ ///</summary>
+ [SugarColumn(ColumnName = "SAPTEXT")]
+ public string Saptext { get; set; }
+
+ /// <summary>
+ /// 纭鍏ュ簱鏃ユ湡
+ ///</summary>
+ [SugarColumn(ColumnName = "INSDATE")]
+ public DateTime? Insdate { get; set; }
+
+ /// <summary>
+ /// 鏄惁妫�楠�
+ ///</summary>
+ [SugarColumn(ColumnName = "ISCHECK")]
+ public decimal? Ischeck { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳鍏ュ簱浜�
+ ///</summary>
+ [SugarColumn(ColumnName = "INSBY")]
+ public string Insby { get; set; }
+
+ /// <summary>
+ /// 鏄惁鏄剧ず
+ ///</summary>
+ [SugarColumn(ColumnName = "IS_VISUAL")]
+ public decimal? IsVisual { get; set; }
+
+ /// <summary>
+ /// 鍏徃浠g爜
+ ///</summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+ public string Company { get; set; }
+
+ /// <summary>
+ /// 鎬ユ枡鏍囪瘑
+ ///</summary>
+ [SugarColumn(ColumnName = "URGENT_FLAG")]
+ public short? UrgentFlag { get; set; }
+
+ /// <summary>
+ /// 閲囪喘鍗曡鍙�
+ ///</summary>
+ [SugarColumn(ColumnName = "LINE_NO")]
+ public string LineNo { get; set; }
+
+ /// <summary>
+ /// 鍐查攢浜嬪姟绫诲瀷缂栫爜
+ ///</summary>
+ [SugarColumn(ColumnName = "MTTRANSCTION_NO")]
+ public decimal? MttransctionNo { get; set; }
+
+ /// <summary>
+ /// 宸ュ崟琛屽彿
+ ///</summary>
+ [SugarColumn(ColumnName = "TASK_LINO")]
+ public string TaskLino { get; set; }
+
+ /// <summary>
+ /// 鎶曟枡閫氱煡鍗曞崟鍙�
+ ///</summary>
+ [SugarColumn(ColumnName = "FBILLNO")]
+ public string Fbillno { get; set; }
+
+ /// <summary>
+ /// 鎶曟枡鍗曡鍙�
+ ///</summary>
+ [SugarColumn(ColumnName = "FBILL_LINO")]
+ public string FbillLino { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛缂栧彿
+ ///</summary>
+ [SugarColumn(ColumnName = "CUST_NO")]
+ public string CustNo { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛鍚嶇О
+ ///</summary>
+ [SugarColumn(ColumnName = "CUST_NAME")]
+ public string CustName { get; set; }
+
+ /// <summary>
+ /// IQC妫�楠屽崟鍙�
+ ///</summary>
+ [SugarColumn(ColumnName = "IQC_RELEASE_NO")]
+ public string IqcReleaseNo { get; set; }
+
+ /// <summary>
+ /// 鍒拌揣鍗曞彿
+ ///</summary>
+ [SugarColumn(ColumnName = "CBILL_NO")]
+ public string CbillNo { get; set; }
+
+ /// <summary>
+ /// 0 鐢宠鍗曪紝1鍏ュ簱鍗曟爣璇�
+ ///</summary>
+ [SugarColumn(ColumnName = "PICK_INS")]
+ public decimal? PickIns { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱瀹℃牳浜�
+ ///</summary>
+ [SugarColumn(ColumnName = "FCHECK_USER")]
+ public string FcheckUser { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱瀹℃牳鏃ユ湡
+ ///</summary>
+ [SugarColumn(ColumnName = "FCHECK_DATE")]
+ public DateTime? FcheckDate { get; set; }
+
+ /// <summary>
+ /// 浠诲姟姹囨姤鍗�/宸ュ崟鍙凤紙鎴愬搧鍏ュ簱锛�
+ ///</summary>
+ [SugarColumn(ColumnName = "RBILL_NO")]
+ public string RbillNo { get; set; }
+
+ /// <summary>
+ /// 鎶ュ伐浜�
+ ///</summary>
+ [SugarColumn(ColumnName = "BGR")]
+ public string Bgr { get; set; }
+
+ //鍦ㄦ暟鎹簱鏌ヨ鏃跺拷鐣ヨ繖涓瓧娈�
+ [SugarColumn(IsIgnore = true)] public string? DepotName { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public string? SuppName { get; set; }
+}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Modes/MesInvItemStocks.cs b/StandardPda/MES.Service/Modes/MesInvItemStocks.cs
new file mode 100644
index 0000000..2a5a4d1
--- /dev/null
+++ b/StandardPda/MES.Service/Modes/MesInvItemStocks.cs
@@ -0,0 +1,203 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 鐗╂枡搴撳瓨琛�
+/// </summary>
+[SugarTable("MES_INV_ITEM_STOCKS")]
+public class MesInvItemStocks
+{
+ /// <summary>
+ /// SEQ_ME_ID
+ /// </summary>
+ [SugarColumn(ColumnName = "ID", OracleSequenceName = "SEQ_ME_ID",
+ IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇璁㈠崟
+ /// </summary>
+ [SugarColumn(ColumnName = "TASK_NO")]
+ public string? TaskNo { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE")]
+ public string? ItemBarcode { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛鐗╂枡缂栫爜锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級
+ /// </summary>
+ [SugarColumn(ColumnName = "C_ITEM_CODE")]
+ public string? CItemCode { get; set; }
+
+ /// <summary>
+ /// 鏈徃鐗╂枡缂栫爜锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_NO")]
+ public string? ItemNo { get; set; }
+
+ /// <summary>
+ /// 瀛愬簱id
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOTS_ID")]
+ public decimal? DepotsId { get; set; }
+
+ /// <summary>
+ /// 璐т綅id
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_SECTIONS_ID")]
+ public decimal? DepotSectionsId { get; set; }
+
+ /// <summary>
+ /// 鍘傚鎵规
+ /// </summary>
+ [SugarColumn(ColumnName = "LOT_NO")]
+ public string? LotNo { get; set; }
+
+ /// <summary>
+ /// 鏁伴噺
+ /// </summary>
+ [SugarColumn(ColumnName = "QUANTITY")]
+ public decimal? Quantity { get; set; }
+
+ /// <summary>
+ /// 鐜繚鏍囧織锛堟棤鏉$爜鎵嬪伐褰曞叆锛屾湁鏉$爜涓哄啑浣欏瓧娈碉級(0-鍚︼紝1-鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "EP_FLAG")]
+ public short? EpFlag { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "CUSTOMER_NO")]
+ public string? CustomerNo { get; set; }
+
+ /// <summary>
+ /// 閲嶉噺
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_WT")]
+ public decimal? ItemWt { get; set; }
+
+ /// <summary>
+ /// 瀛愬簱CODE
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOTS_CODE")]
+ public string? DepotsCode { get; set; }
+
+ /// <summary>
+ /// 璐т綅CODE
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_SECTIONS_CODE")]
+ public string? DepotSectionsCode { get; set; }
+
+ /// <summary>
+ /// 妫�楠屾棩鏈�
+ /// </summary>
+ [SugarColumn(ColumnName = "CHECK_DATE")]
+ public DateTime? CheckDate { get; set; }
+
+ /// <summary>
+ /// 0 鐗╂枡 1 鍗婃垚鍝� 2 鎴愬搧
+ /// </summary>
+ [SugarColumn(ColumnName = "ITEM_TYPE")]
+ public short? ItemType { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "INDEP_DATE")]
+ public DateTime? IndepDate { get; set; }
+
+ /// <summary>
+ /// 宸ュ巶缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+ public string? Factory { get; set; }
+
+ /// <summary>
+ /// 鍏徃缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+ public string? Company { get; set; }
+
+ /// <summary>
+ /// 璐ㄦ鐘舵��
+ /// </summary>
+ [SugarColumn(ColumnName = "IQC_STATUS")]
+ public string? IqcStatus { get; set; }
+
+ /// <summary>
+ /// 灏忚溅鏉$爜
+ /// </summary>
+ [SugarColumn(ColumnName = "FCAR")]
+ public string? Fcar { get; set; }
+
+ /// <summary>
+ /// 鍐荤粨鎻愪氦閲嶆锛�0锛氬喕缁撴湭鎻愪氦閲嶆锛�1锛氬喕缁撳苟鎻愪氦閲嶆
+ /// </summary>
+ [SugarColumn(ColumnName = "VISABLE_SUBMIT")]
+ public short? VisableSubmit { get; set; }
+
+ /// <summary>
+ /// 鎻愪氦閲嶆浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "VISABLE_SUBMIT_BY")]
+ public string? VisableSubmitBy { get; set; }
+
+ /// <summary>
+ /// 鎻愪氦閲嶆鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "VISABLE_SUBMIT_DATE")]
+ public DateTime? VisableSubmitDate { get; set; }
+
+ /// <summary>
+ /// 浜у搧鍨嬪彿
+ /// </summary>
+ [SugarColumn(ColumnName = "BOARD_STYLE")]
+ public string? BoardStyle { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曞彿
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_NO")]
+ public string? WorkNo { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍗曡鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_LINE")]
+ public decimal? WorkLine { get; set; }
+
+ /// <summary>
+ /// 渚涘簲鍟�
+ /// </summary>
+ [SugarColumn(ColumnName = "SUPP_NO")]
+ public string? SuppNo { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇绾�
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_NO")]
+ public string? LineNo { get; set; }
+
+ /// <summary>
+ /// 鍗婃垚鍝佸叆搴撳崟鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "BILL_NO")]
+ public string? BillNo { get; set; }
+
+ /// <summary>
+ /// 閲囪喘璁㈠崟id
+ /// </summary>
+ [SugarColumn(ColumnName = "EBELN_K3ID")]
+ public decimal? EbelnK3id { get; set; }
+
+ /// <summary>
+ /// 閲囪喘璁㈠崟琛宨d
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_K3ID")]
+ public decimal? LineK3id { get; set; }
+}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Modes/MesLine.cs b/StandardPda/MES.Service/Modes/MesLine.cs
new file mode 100644
index 0000000..b1d8449
--- /dev/null
+++ b/StandardPda/MES.Service/Modes/MesLine.cs
@@ -0,0 +1,167 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 绾夸綋
+/// </summary>
+[SugarTable("MES_LINE")]
+public class MesLine
+{
+ /// <summary>
+ /// 涓婚敭
+ /// </summary>
+ [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 绾夸綋缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_NO")]
+ public string LineNo { get; set; }
+
+ /// <summary>
+ /// 绾夸綋鍚嶇О
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_NAME")]
+ public string LineName { get; set; }
+
+ /// <summary>
+ /// 宸ヤ綔涓績缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "WORKSHOP_CENTER_CODE")]
+ public string WorkshopCenterCode { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ [SugarColumn(ColumnName = "MEMO")]
+ public string Memo { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATE_BY")]
+ public string CreateBy { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏃ユ湡
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATE_DATE")]
+ public DateTime? CreateDate { get; set; }
+
+ /// <summary>
+ /// 鏈�鍚庝慨鏀逛汉
+ /// </summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_BY")]
+ public string LastupdateBy { get; set; }
+
+ /// <summary>
+ /// 鏈�鍚庝慨鏀规棩鏈�
+ /// </summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_DATE")]
+ public DateTime? LastupdateDate { get; set; }
+
+ /// <summary>
+ /// 鍗℃澘鍒嗙被
+ /// </summary>
+ [SugarColumn(ColumnName = "BK01")]
+ public string Bk01 { get; set; }
+
+ /// <summary>
+ /// 鏍囩鏄剧ず鍊�
+ /// </summary>
+ [SugarColumn(ColumnName = "LABEL")]
+ public string Label { get; set; }
+
+ /// <summary>
+ /// 杞﹂棿绠�鐮�
+ /// </summary>
+ [SugarColumn(ColumnName = "WORKHOMEJM")]
+ public string Workhomejm { get; set; }
+
+ /// <summary>
+ /// 绾跨畝鐮�
+ /// </summary>
+ [SugarColumn(ColumnName = "LINEJM")]
+ public string Linejm { get; set; }
+
+ /// <summary>
+ /// 鏉$爜绫诲瀷
+ /// </summary>
+ [SugarColumn(ColumnName = "BARTYPE")]
+ public string Bartype { get; set; }
+
+ /// <summary>
+ /// 寰俊鏄剧ず鍊�
+ /// </summary>
+ [SugarColumn(ColumnName = "WX_LABLE")]
+ public string WxLable { get; set; }
+
+ /// <summary>
+ /// 鍖哄垎閿傞敯閿備簹
+ /// </summary>
+ [SugarColumn(ColumnName = "WORKCENTERTYPE")]
+ public string Workcentertype { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "SIMPLENAME")]
+ public string Simplename { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "SHOW_INDEX")]
+ public decimal? ShowIndex { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+ public string Company { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+ public string Factory { get; set; }
+
+ /// <summary>
+ /// 绾胯竟浠撳簱
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_CODE")]
+ public string DepotCode { get; set; }
+
+ /// <summary>
+ /// 榛樿搴撲綅
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPOT_SECTION_CODE")]
+ public string DepotSectionCode { get; set; }
+
+ /// <summary>
+ /// 鎶ュ伐鏂瑰紡锛�0銆佺鏁f姤宸ワ紝1銆佹暣绾挎姤宸ワ級
+ /// </summary>
+ [SugarColumn(ColumnName = "WORK_TYPE")]
+ public decimal? WorkType { get; set; }
+
+ /// <summary>
+ /// 閮ㄩ棬缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "DEPARTMENTCODE")]
+ public string Departmentcode { get; set; }
+
+ /// <summary>
+ /// 鎵�灞炲伐搴�
+ /// </summary>
+ [SugarColumn(ColumnName = "PROC_NO")]
+ public string ProcNo { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_STYLE")]
+ public string LineStyle { get; set; }
+
+ /// <summary>
+ /// 缁勯暱缂栧彿
+ /// </summary>
+ [SugarColumn(ColumnName = "L_CODE")]
+ public string LCode { get; set; }
+}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Modes/MesLineUser.cs b/StandardPda/MES.Service/Modes/MesLineUser.cs
new file mode 100644
index 0000000..f96faf3
--- /dev/null
+++ b/StandardPda/MES.Service/Modes/MesLineUser.cs
@@ -0,0 +1,40 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 鏈哄彴涓庝汉鍛樺鐓�
+/// </summary>
+[SugarTable("MES_LINE_USER")]
+public class MesLineUser
+{
+ /// <summary>
+ /// 搴忓垪SEQ_LINE_US
+ /// </summary>
+ [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 鏈哄彴缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_NO")]
+ public string? LineNo { get; set; }
+
+ /// <summary>
+ /// 鏈哄彴涓枃
+ /// </summary>
+ [SugarColumn(ColumnName = "LINE_NAME")]
+ public string? LineName { get; set; }
+
+ /// <summary>
+ /// 浜哄憳缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "FCODE")]
+ public string? Fcode { get; set; }
+
+ /// <summary>
+ /// 浜哄憳鍚嶇О
+ /// </summary>
+ [SugarColumn(ColumnName = "FNAME")]
+ public string? Fname { get; set; }
+}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Modes/MesQa.cs b/StandardPda/MES.Service/Modes/MesQa.cs
new file mode 100644
index 0000000..198761e
--- /dev/null
+++ b/StandardPda/MES.Service/Modes/MesQa.cs
@@ -0,0 +1,73 @@
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 妫�楠岄」鐩富琛�
+/// </summary>
+[Table("MES_QA")]
+[SugarTable("MES_QA")] //鐢ㄤ簬SqlSugar
+public class MesQa
+{
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ [Column("CREATE_BY")]
+ [SugarColumn(ColumnName = "CREATE_BY")] //鐢ㄤ簬SqlSugar
+ [StringLength(20, ErrorMessage = "鍒涘缓浜洪暱搴︿笉鑳借秴鍑�20")]
+ public string? CreateBy { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏃堕棿
+ /// </summary>
+ [Column("CREATE_DATE")]
+ [SugarColumn(ColumnName = "CREATE_DATE")] //鐢ㄤ簬SqlSugar
+ public DateTime? CreateDate { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳鐘舵��
+ /// </summary>
+ [Column("FSUBMIT")]
+ [SugarColumn(ColumnName = "FSUBMIT")] //鐢ㄤ簬SqlSugar
+ public decimal? Fsubmit { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳浜�
+ /// </summary>
+ [Column("FSUBMIT_BY")]
+ [SugarColumn(ColumnName = "FSUBMIT_BY")] //鐢ㄤ簬SqlSugar
+ [StringLength(50, ErrorMessage = "瀹℃牳浜洪暱搴︿笉鑳借秴鍑�50")]
+ public string? FsubmitBy { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳鏃堕棿
+ /// </summary>
+ [Column("FSUBMIT_DATE")]
+ [SugarColumn(ColumnName = "FSUBMIT_DATE")] //鐢ㄤ簬SqlSugar
+ public DateTime? FsubmitDate { get; set; }
+
+ /// <summary>
+ /// 搴忓垪SEQ_QS
+ /// </summary>
+ [Column("ID")]
+ [SugarColumn(ColumnName = "ID")] //鐢ㄤ簬SqlSugar
+ public decimal? Id { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡缂栧彿
+ /// </summary>
+ [Column("ITEM_NO")]
+ [SugarColumn(ColumnName = "ITEM_NO")] //鐢ㄤ簬SqlSugar
+ [StringLength(50, ErrorMessage = "鐗╂枡缂栧彿闀垮害涓嶈兘瓒呭嚭50")]
+ public string? ItemNo { get; set; }
+
+ /// <summary>
+ /// 1涓洪妫�锛�2涓哄贰妫�锛�3涓哄叆搴撴
+ /// </summary>
+ [Column("QS_TYPE")]
+ [SugarColumn(ColumnName = "QS_TYPE")] //鐢ㄤ簬SqlSugar
+ [StringLength(1, ErrorMessage = "1涓洪妫�锛�2涓哄贰妫�锛�3涓哄叆搴撴闀垮害涓嶈兘瓒呭嚭1")]
+ public string? QsType { get; set; }
+}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Modes/MesQaItemsDetect02.cs b/StandardPda/MES.Service/Modes/MesQaItemsDetect02.cs
new file mode 100644
index 0000000..d5e1b35
--- /dev/null
+++ b/StandardPda/MES.Service/Modes/MesQaItemsDetect02.cs
@@ -0,0 +1,487 @@
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// IQC鎶芥琛ㄥご
+/// </summary>
+[Table("MES_QA_ITEMS_DETECT_02")]
+[SugarTable("MES_QA_ITEMS_DETECT_02")] //鐢ㄤ簬SqlSugar
+public class MesQaItemsDetect02
+{
+ /// <summary>
+ /// SEQ_QM_ID
+ /// </summary>
+ [Key]
+ [Column("ID")]
+ [SugarColumn(IsPrimaryKey = true, OracleSequenceName = "SEQ_QM_ID",
+ ColumnName = "ID")] //鐢ㄤ簬SqlSugar
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 鍏ュ簱鍗曞彿
+ /// </summary>
+ [Column("AUFNR")]
+ [SugarColumn(ColumnName = "AUFNR")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "鍏ュ簱鍗曞彿闀垮害涓嶈兘瓒呭嚭100")]
+ public string? Aufnr { get; set; }
+
+ /// <summary>
+ /// 鏉$爜
+ /// </summary>
+ [Column("BARCODE_A")]
+ [SugarColumn(ColumnName = "BARCODE_A")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "鏉$爜闀垮害涓嶈兘瓒呭嚭100")]
+ public string? BarcodeA { get; set; }
+
+ /// <summary>
+ /// 鏉$爜
+ /// </summary>
+ [Column("BARCODE_B")]
+ [SugarColumn(ColumnName = "BARCODE_B")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "鏉$爜闀垮害涓嶈兘瓒呭嚭100")]
+ public string? BarcodeB { get; set; }
+
+ /// <summary>
+ /// 浜у搧缂栫爜
+ /// </summary>
+ [Column("BOARD_ITEM")]
+ [SugarColumn(ColumnName = "BOARD_ITEM")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "浜у搧缂栫爜闀垮害涓嶈兘瓒呭嚭100")]
+ public string? BoardItem { get; set; }
+
+ /// <summary>
+ /// 璁よ瘉瑕佹眰
+ /// </summary>
+ [Column("CARD")]
+ [SugarColumn(ColumnName = "CARD")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "璁よ瘉瑕佹眰闀垮害涓嶈兘瓒呭嚭100")]
+ public string? Card { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [Column("CLASS_NAME")]
+ [SugarColumn(ColumnName = "CLASS_NAME")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "ClassName闀垮害涓嶈兘瓒呭嚭100")]
+ public string? ClassName { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [Column("CLASS_NO")]
+ [SugarColumn(ColumnName = "CLASS_NO")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "ClassNo闀垮害涓嶈兘瓒呭嚭100")]
+ public string? ClassNo { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [Column("COMPANY")]
+ [SugarColumn(ColumnName = "COMPANY")] //鐢ㄤ簬SqlSugar
+ [StringLength(20, ErrorMessage = "Company闀垮害涓嶈兘瓒呭嚭20")]
+ public string? Company { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ [Column("CREATE_BY")]
+ [SugarColumn(ColumnName = "CREATE_BY")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "鍒涘缓浜洪暱搴︿笉鑳借秴鍑�100")]
+ public string? CreateBy { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏃ユ湡
+ /// </summary>
+ [Column("CREATE_DATE")]
+ [SugarColumn(ColumnName = "CREATE_DATE")] //鐢ㄤ簬SqlSugar
+ public DateTime? CreateDate { get; set; }
+
+ /// <summary>
+ /// 瀹㈡埛
+ /// </summary>
+ [Column("CUST_NAME")]
+ [SugarColumn(ColumnName = "CUST_NAME")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "瀹㈡埛闀垮害涓嶈兘瓒呭嚭100")]
+ public string? CustName { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [Column("FAC_LEVEL")]
+ [SugarColumn(ColumnName = "FAC_LEVEL")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "FacLevel闀垮害涓嶈兘瓒呭嚭100")]
+ public string? FacLevel { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [Column("FACTORY")]
+ [SugarColumn(ColumnName = "FACTORY")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "Factory闀垮害涓嶈兘瓒呭嚭100")]
+ public string? Factory { get; set; }
+
+ /// <summary>
+ /// 閿�鍞柟鍚�
+ /// </summary>
+ [Column("FANG")]
+ [SugarColumn(ColumnName = "FANG")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "閿�鍞柟鍚戦暱搴︿笉鑳借秴鍑�100")]
+ public string? Fang { get; set; }
+
+ /// <summary>
+ /// 閫佹鏁伴噺
+ /// </summary>
+ [Column("FBATCH_QTY")]
+ [SugarColumn(ColumnName = "FBATCH_QTY")] //鐢ㄤ簬SqlSugar
+ public decimal? FbatchQty { get; set; }
+
+ /// <summary>
+ /// 浣滃簾鏍囪瘑
+ /// </summary>
+ [Column("FCANCEL")]
+ [SugarColumn(ColumnName = "FCANCEL")] //鐢ㄤ簬SqlSugar
+ [StringLength(2, ErrorMessage = "浣滃簾鏍囪瘑闀垮害涓嶈兘瓒呭嚭2")]
+ public string? Fcancel { get; set; }
+
+ /// <summary>
+ /// 浜х嚎鑷鍛�
+ /// </summary>
+ [Column("FCHECK_BY")]
+ [SugarColumn(ColumnName = "FCHECK_BY")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "浜х嚎鑷鍛橀暱搴︿笉鑳借秴鍑�100")]
+ public string? FcheckBy { get; set; }
+
+ /// <summary>
+ /// 妫�楠屾棩鏈�
+ /// </summary>
+ [Column("FCHECK_DATE")]
+ [SugarColumn(ColumnName = "FCHECK_DATE")] //鐢ㄤ簬SqlSugar
+ public DateTime? FcheckDate { get; set; }
+
+ /// <summary>
+ /// 涓嶅悎鏍肩▼搴�
+ /// </summary>
+ [Column("FCHECK_LEVEL")]
+ [SugarColumn(ColumnName = "FCHECK_LEVEL")] //鐢ㄤ簬SqlSugar
+ [StringLength(50, ErrorMessage = "涓嶅悎鏍肩▼搴﹂暱搴︿笉鑳借秴鍑�50")]
+ public string? FcheckLevel { get; set; }
+
+ /// <summary>
+ /// 鐗硅浜嬮」
+ /// </summary>
+ [Column("FCHECK_MEMO")]
+ [SugarColumn(ColumnName = "FCHECK_MEMO")] //鐢ㄤ簬SqlSugar
+ [StringLength(500, ErrorMessage = "鐗硅浜嬮」闀垮害涓嶈兘瓒呭嚭500")]
+ public string? FcheckMemo { get; set; }
+
+ /// <summary>
+ /// IPQC妫�楠屽憳
+ /// </summary>
+ [Column("FCHECK_RESU")]
+ [SugarColumn(ColumnName = "FCHECK_RESU")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "IPQC妫�楠屽憳闀垮害涓嶈兘瓒呭嚭100")]
+ public string? FcheckResu { get; set; }
+
+ /// <summary>
+ /// 璁惧缂栧彿
+ /// </summary>
+ [Column("FEQP")]
+ [SugarColumn(ColumnName = "FEQP")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "璁惧缂栧彿闀垮害涓嶈兘瓒呭嚭100")]
+ public string? Feqp { get; set; }
+
+ /// <summary>
+ /// 涓嶈壇鎻忚堪
+ /// </summary>
+ [Column("FNG_DESC")]
+ [SugarColumn(ColumnName = "FNG_DESC")] //鐢ㄤ簬SqlSugar
+ [StringLength(2000, ErrorMessage = "涓嶈壇鎻忚堪闀垮害涓嶈兘瓒呭嚭2000")]
+ public string? FngDesc { get; set; }
+
+ /// <summary>
+ /// 澶勭悊鏂规硶
+ /// </summary>
+ [Column("FNG_HANDLE")]
+ [SugarColumn(ColumnName = "FNG_HANDLE")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "澶勭悊鏂规硶闀垮害涓嶈兘瓒呭嚭100")]
+ public string? FngHandle { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇鏃ユ湡
+ /// </summary>
+ [Column("FPROD_DATE")]
+ [SugarColumn(ColumnName = "FPROD_DATE")] //鐢ㄤ簬SqlSugar
+ public DateTime? FprodDate { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇绫诲瀷
+ /// </summary>
+ [Column("FPROD_TYPE")]
+ [SugarColumn(ColumnName = "FPROD_TYPE")] //鐢ㄤ簬SqlSugar
+ [StringLength(200, ErrorMessage = "鐢熶骇绫诲瀷闀垮害涓嶈兘瓒呭嚭200")]
+ public string? FprodType { get; set; }
+
+ /// <summary>
+ /// 浜屾鍒ゅ畾缁撴灉
+ /// </summary>
+ [Column("FSECOND_RESU")]
+ [SugarColumn(ColumnName = "FSECOND_RESU")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "浜屾鍒ゅ畾缁撴灉闀垮害涓嶈兘瓒呭嚭100")]
+ public string? FsecondResu { get; set; }
+
+ /// <summary>
+ /// 1涓洪妫�锛�2涓哄畬宸ユ楠�
+ /// </summary>
+ [Column("FSTATUS")]
+ [SugarColumn(ColumnName = "FSTATUS")] //鐢ㄤ簬SqlSugar
+ public decimal? Fstatus { get; set; }
+
+ /// <summary>
+ /// 鎻愪氦鏍囪瘑锛堜骇绾匡級
+ /// </summary>
+ [Column("FSUBMIT")]
+ [SugarColumn(ColumnName = "FSUBMIT")] //鐢ㄤ簬SqlSugar
+ public decimal? Fsubmit { get; set; }
+
+ /// <summary>
+ /// 鎻愪氦浜�
+ /// </summary>
+ [Column("FSUBMIT_BY")]
+ [SugarColumn(ColumnName = "FSUBMIT_BY")] //鐢ㄤ簬SqlSugar
+ [StringLength(50, ErrorMessage = "鎻愪氦浜洪暱搴︿笉鑳借秴鍑�50")]
+ public string? FsubmitBy { get; set; }
+
+ /// <summary>
+ /// 鎻愪氦鏃ユ湡
+ /// </summary>
+ [Column("FSUBMIT_DATE")]
+ [SugarColumn(ColumnName = "FSUBMIT_DATE")] //鐢ㄤ簬SqlSugar
+ public DateTime? FsubmitDate { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [Column("FTYPE")]
+ [SugarColumn(ColumnName = "FTYPE")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "Ftype闀垮害涓嶈兘瓒呭嚭100")]
+ public string? Ftype { get; set; }
+
+ /// <summary>
+ /// 鐗堟湰
+ /// </summary>
+ [Column("FVERSION")]
+ [SugarColumn(ColumnName = "FVERSION")] //鐢ㄤ簬SqlSugar
+ public decimal? Fversion { get; set; }
+
+ /// <summary>
+ /// 澶勭疆浜�
+ /// </summary>
+ [Column("IPQC_BY")]
+ [SugarColumn(ColumnName = "IPQC_BY")] //鐢ㄤ簬SqlSugar
+ [StringLength(50, ErrorMessage = "澶勭疆浜洪暱搴︿笉鑳借秴鍑�50")]
+ public string? IpqcBy { get; set; }
+
+ /// <summary>
+ /// 澶勭疆鏃ユ湡
+ /// </summary>
+ [Column("IPQC_DATE")]
+ [SugarColumn(ColumnName = "IPQC_DATE")] //鐢ㄤ簬SqlSugar
+ public DateTime? IpqcDate { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳鏍囪瘑
+ /// </summary>
+ [Column("IPQC_STATUS")]
+ [SugarColumn(ColumnName = "IPQC_STATUS")] //鐢ㄤ簬SqlSugar
+ public decimal? IpqcStatus { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [Column("ISMODIFY1")]
+ [SugarColumn(ColumnName = "ISMODIFY1")] //鐢ㄤ簬SqlSugar
+ public decimal? Ismodify1 { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [Column("ITEM_NO")]
+ [SugarColumn(ColumnName = "ITEM_NO")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "ItemNo闀垮害涓嶈兘瓒呭嚭100")]
+ public string? ItemNo { get; set; }
+
+ /// <summary>
+ /// 鏇存柊浜�
+ /// </summary>
+ [Column("LASTUPDATE_BY")]
+ [SugarColumn(ColumnName = "LASTUPDATE_BY")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "鏇存柊浜洪暱搴︿笉鑳借秴鍑�100")]
+ public string? LastupdateBy { get; set; }
+
+ /// <summary>
+ /// 鏇存柊鏃ユ湡
+ /// </summary>
+ [Column("LASTUPDATE_DATE")]
+ [SugarColumn(ColumnName = "LASTUPDATE_DATE")] //鐢ㄤ簬SqlSugar
+ public DateTime? LastupdateDate { get; set; }
+
+ /// <summary>
+ /// 宸ヤ綅ID
+ /// </summary>
+ [Column("LINEINFO_ID")]
+ [SugarColumn(ColumnName = "LINEINFO_ID")] //鐢ㄤ簬SqlSugar
+ [StringLength(20, ErrorMessage = "宸ヤ綅ID闀垮害涓嶈兘瓒呭嚭20")]
+ public string? LineinfoId { get; set; }
+
+ /// <summary>
+ /// 绾夸綋缂栧彿
+ /// </summary>
+ [Column("LINE_NO")]
+ [SugarColumn(ColumnName = "LINE_NO")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "绾夸綋缂栧彿闀垮害涓嶈兘瓒呭嚭100")]
+ public string? LineNo { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [Column("LOT_NO")]
+ [SugarColumn(ColumnName = "LOT_NO")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "LotNo闀垮害涓嶈兘瓒呭嚭100")]
+ public string? LotNo { get; set; }
+
+ /// <summary>
+ /// 澶勭疆浜�
+ /// </summary>
+ [Column("MANAGE_BY")]
+ [SugarColumn(ColumnName = "MANAGE_BY")] //鐢ㄤ簬SqlSugar
+ [StringLength(50, ErrorMessage = "澶勭疆浜洪暱搴︿笉鑳借秴鍑�50")]
+ public string? ManageBy { get; set; }
+
+ /// <summary>
+ /// 澶勭疆鏃ユ湡
+ /// </summary>
+ [Column("MANAGE_DATE")]
+ [SugarColumn(ColumnName = "MANAGE_DATE")] //鐢ㄤ簬SqlSugar
+ public DateTime? ManageDate { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [Column("MAX_CHECK_QTY")]
+ [SugarColumn(ColumnName = "MAX_CHECK_QTY")] //鐢ㄤ簬SqlSugar
+ public decimal? MaxCheckQty { get; set; }
+
+ /// <summary>
+ /// 鍘熷洜鍒嗘瀽
+ /// </summary>
+ [Column("MEMO_A")]
+ [SugarColumn(ColumnName = "MEMO_A")] //鐢ㄤ簬SqlSugar
+ [StringLength(4000, ErrorMessage = "鍘熷洜鍒嗘瀽闀垮害涓嶈兘瓒呭嚭4000")]
+ public string? MemoA { get; set; }
+
+ /// <summary>
+ /// 涓存椂瀵圭瓥
+ /// </summary>
+ [Column("MEMO_B")]
+ [SugarColumn(ColumnName = "MEMO_B")] //鐢ㄤ簬SqlSugar
+ [StringLength(4000, ErrorMessage = "涓存椂瀵圭瓥闀垮害涓嶈兘瓒呭嚭4000")]
+ public string? MemoB { get; set; }
+
+ /// <summary>
+ /// 闀挎湡瀵圭瓥
+ /// </summary>
+ [Column("MEMO_C")]
+ [SugarColumn(ColumnName = "MEMO_C")] //鐢ㄤ簬SqlSugar
+ [StringLength(4000, ErrorMessage = "闀挎湡瀵圭瓥闀垮害涓嶈兘瓒呭嚭4000")]
+ public string? MemoC { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [Column("MENU_ID")]
+ [SugarColumn(ColumnName = "MENU_ID")] //鐢ㄤ簬SqlSugar
+ public decimal? MenuId { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳浜�
+ /// </summary>
+ [Column("MODIFY1_BY")]
+ [SugarColumn(ColumnName = "MODIFY1_BY")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "瀹℃牳浜洪暱搴︿笉鑳借秴鍑�100")]
+ public string? Modify1By { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳鏃ユ湡
+ /// </summary>
+ [Column("MODIFY1_DATE")]
+ [SugarColumn(ColumnName = "MODIFY1_DATE")] //鐢ㄤ簬SqlSugar
+ public DateTime? Modify1Date { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳鏍囪瘑
+ /// </summary>
+ [Column("MODIFY1_FLAG")]
+ [SugarColumn(ColumnName = "MODIFY1_FLAG")] //鐢ㄤ簬SqlSugar
+ public decimal? Modify1Flag { get; set; }
+
+ /// <summary>
+ /// 鍝佺増
+ /// </summary>
+ [Column("PINGPAI")]
+ [SugarColumn(ColumnName = "PINGPAI")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "鍝佺増闀垮害涓嶈兘瓒呭嚭100")]
+ public string? Pingpai { get; set; }
+
+ /// <summary>
+ /// 璁″垝鏁伴噺
+ /// </summary>
+ [Column("PLAN_QTY")]
+ [SugarColumn(ColumnName = "PLAN_QTY")] //鐢ㄤ簬SqlSugar
+ public decimal? PlanQty { get; set; }
+
+ /// <summary>
+ /// PQC绫诲瀷璇存槑
+ /// </summary>
+ [Column("PQC_TEXT")]
+ [SugarColumn(ColumnName = "PQC_TEXT")] //鐢ㄤ簬SqlSugar
+ [StringLength(200, ErrorMessage = "PQC绫诲瀷璇存槑闀垮害涓嶈兘瓒呭嚭200")]
+ public string? PqcText { get; set; }
+
+ /// <summary>
+ /// PQC妫�楠岀被鍨�
+ /// </summary>
+ [Column("PQC_TYPE")]
+ [SugarColumn(ColumnName = "PQC_TYPE")] //鐢ㄤ簬SqlSugar
+ [StringLength(30, ErrorMessage = "PQC妫�楠岀被鍨嬮暱搴︿笉鑳借秴鍑�30")]
+ public string? PqcType { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [Column("PROC_NAME")]
+ [SugarColumn(ColumnName = "PROC_NAME")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "ProcName闀垮害涓嶈兘瓒呭嚭100")]
+ public string? ProcName { get; set; }
+
+ /// <summary>
+ /// </summary>
+ [Column("PROC_NO")]
+ [SugarColumn(ColumnName = "PROC_NO")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "ProcNo闀垮害涓嶈兘瓒呭嚭100")]
+ public string? ProcNo { get; set; }
+
+ /// <summary>
+ /// 妫�楠屽崟鍙�
+ /// </summary>
+ [Column("RELEASE_NO")]
+ [SugarColumn(ColumnName = "RELEASE_NO")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "妫�楠屽崟鍙烽暱搴︿笉鑳借秴鍑�100")]
+ public string? ReleaseNo { get; set; }
+
+ /// <summary>
+ /// 宸ヤ綔涓績
+ /// </summary>
+ [Column("WORKSHOP_CENTER_CODE")]
+ [SugarColumn(ColumnName = "WORKSHOP_CENTER_CODE")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "宸ヤ綔涓績闀垮害涓嶈兘瓒呭嚭100")]
+ public string? WorkshopCenterCode { get; set; }
+
+ /// <summary>
+ /// 宸ヤ綔涓績
+ /// </summary>
+ [Column("GID")]
+ [SugarColumn(ColumnName = "GID")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "GID100")]
+ public decimal? Gid { get; set; }
+}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Modes/MesQsSuspend.cs b/StandardPda/MES.Service/Modes/MesQsSuspend.cs
new file mode 100644
index 0000000..23ff075
--- /dev/null
+++ b/StandardPda/MES.Service/Modes/MesQsSuspend.cs
@@ -0,0 +1,89 @@
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// </summary>
+[Table("MES_QS_SUSPEND")]
+[SugarTable("MES_QS_SUSPEND")] //鐢ㄤ簬SqlSugar
+public class MesQsSuspend
+{
+ /// <summary>
+ /// SEQ_QS_IMG
+ /// </summary>
+ [Key]
+ [Column("ID")]
+ [SugarColumn(IsPrimaryKey = true, OracleSequenceName = "SEQ_QS_IMG",
+ ColumnName = "ID")] //鐢ㄤ簬SqlSugar
+ public decimal? Id { get; set; }
+
+ /// <summary>
+ /// 閮ㄩ棬鍚嶇О
+ /// </summary>
+ [Column("DEPT_NAME")]
+ [SugarColumn(ColumnName = "DEPT_NAME")] //鐢ㄤ簬SqlSugar
+ [StringLength(50, ErrorMessage = "閮ㄩ棬鍚嶇О闀垮害涓嶈兘瓒呭嚭50")]
+ public string? DeptName { get; set; }
+
+ /// <summary>
+ /// 閮ㄩ棬缂栧彿
+ /// </summary>
+ [Column("DEPT_NO")]
+ [SugarColumn(ColumnName = "DEPT_NO")] //鐢ㄤ簬SqlSugar
+ [StringLength(50, ErrorMessage = "閮ㄩ棬缂栧彿闀垮害涓嶈兘瓒呭嚭50")]
+ public string? DeptNo { get; set; }
+
+ /// <summary>
+ /// 鏄惁鍋滄満
+ /// </summary>
+ [Column("IS_SUSPEND")]
+ [SugarColumn(ColumnName = "IS_SUSPEND")] //鐢ㄤ簬SqlSugar
+ public decimal? IsSuspend { get; set; }
+
+ /// <summary>
+ /// 浜х嚎鍚嶇О
+ /// </summary>
+ [Column("LINE_NAME")]
+ [SugarColumn(ColumnName = "LINE_NAME")] //鐢ㄤ簬SqlSugar
+ [StringLength(50, ErrorMessage = "浜х嚎鍚嶇О闀垮害涓嶈兘瓒呭嚭50")]
+ public string? LineName { get; set; }
+
+ /// <summary>
+ /// 浜х嚎缂栧彿
+ /// </summary>
+ [Column("LINE_NO")]
+ [SugarColumn(ColumnName = "LINE_NO")] //鐢ㄤ簬SqlSugar
+ [StringLength(50, ErrorMessage = "浜х嚎缂栧彿闀垮害涓嶈兘瓒呭嚭50")]
+ public string? LineNo { get; set; }
+
+ /// <summary>
+ /// 鏆傚仠鏃ユ湡
+ /// </summary>
+ [Column("CREATE_DATE")]
+ [SugarColumn(ColumnName = "CREATE_DATE")] //鐢ㄤ簬SqlSugar
+ public DateTime? CreateDate { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ [Column("REMARKS")]
+ [SugarColumn(ColumnName = "REMARKS")] //鐢ㄤ簬SqlSugar
+ [StringLength(500, ErrorMessage = "澶囨敞闀垮害涓嶈兘瓒呭嚭500")]
+ public string? Remarks { get; set; }
+
+ /// <summary>
+ /// 寮�鍚椂闂�
+ /// </summary>
+ [Column("OPEN_DATE")]
+ [SugarColumn(ColumnName = "OPEN_DATE")] //鐢ㄤ簬SqlSugar
+ public DateTime? OpenDate { get; set; }
+
+ /// <summary>
+ /// 鏃跺樊闂撮殧(鍒�)
+ /// </summary>
+ [Column("TIME_DIFFERENCE")]
+ [SugarColumn(ColumnName = "TIME_DIFFERENCE")] //鐢ㄤ簬SqlSugar
+ public decimal? TimeDifference { get; set; }
+}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Modes/MesQualityStandard.cs b/StandardPda/MES.Service/Modes/MesQualityStandard.cs
new file mode 100644
index 0000000..bf414fa
--- /dev/null
+++ b/StandardPda/MES.Service/Modes/MesQualityStandard.cs
@@ -0,0 +1,204 @@
+using System.ComponentModel.DataAnnotations;
+using System.ComponentModel.DataAnnotations.Schema;
+using SqlSugar;
+
+namespace MES.Service.Modes;
+
+/// <summary>
+/// 璐ㄩ噺鏍囧噯琛�
+/// </summary>
+[Table("MES_QUALITY_STANDARD")]
+[SugarTable("MES_QUALITY_STANDARD")] //鐢ㄤ簬SqlSugar
+public class MesQualityStandard
+{
+ /// <summary>
+ /// 搴忓垪SEQ_QS
+ /// </summary>
+ [Key]
+ [Column("ID")]
+ [SugarColumn(ColumnName = "ID")] //鐢ㄤ簬SqlSugar
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ [Column("CREATE_BY")]
+ [SugarColumn(ColumnName = "CREATE_BY")] //鐢ㄤ簬SqlSugar
+ [StringLength(20, ErrorMessage = "鍒涘缓浜洪暱搴︿笉鑳借秴鍑�20")]
+ public string CreateBy { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏃堕棿
+ /// </summary>
+ [Column("CREATE_DATE")]
+ [SugarColumn(ColumnName = "CREATE_DATE")] //鐢ㄤ簬SqlSugar
+ public DateTime? CreateDate { get; set; }
+
+ /// <summary>
+ /// 鎺ユ敹姘村钩
+ /// </summary>
+ [Column("FAC_LEVEL")]
+ [SugarColumn(ColumnName = "FAC_LEVEL")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "鎺ユ敹姘村钩闀垮害涓嶈兘瓒呭嚭100")]
+ public string FacLevel { get; set; }
+
+ /// <summary>
+ /// 妫�楠屾按骞�
+ /// </summary>
+ [Column("FCHECK_LEVEL")]
+ [SugarColumn(ColumnName = "FCHECK_LEVEL")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "妫�楠屾按骞抽暱搴︿笉鑳借秴鍑�100")]
+ public string FcheckLevel { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳鐘舵��
+ /// </summary>
+ [Column("FSUBMIT")]
+ [SugarColumn(ColumnName = "FSUBMIT")] //鐢ㄤ簬SqlSugar
+ public decimal? Fsubmit { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳浜�
+ /// </summary>
+ [Column("FSUBMIT_BY")]
+ [SugarColumn(ColumnName = "FSUBMIT_BY")] //鐢ㄤ簬SqlSugar
+ [StringLength(50, ErrorMessage = "瀹℃牳浜洪暱搴︿笉鑳借秴鍑�50")]
+ public string FsubmitBy { get; set; }
+
+ /// <summary>
+ /// 瀹℃牳鏃堕棿
+ /// </summary>
+ [Column("FSUBMIT_DATE")]
+ [SugarColumn(ColumnName = "FSUBMIT_DATE")] //鐢ㄤ簬SqlSugar
+ public DateTime? FsubmitDate { get; set; }
+
+ /// <summary>
+ /// 妯℃暟
+ /// </summary>
+ [Column("INSPECTION_LEVEL")]
+ [SugarColumn(ColumnName = "INSPECTION_LEVEL")] //鐢ㄤ簬SqlSugar
+ public decimal? InspectionLevel { get; set; }
+
+ /// <summary>
+ /// 妫�楠屾柟娉�
+ /// </summary>
+ [Column("INSPECTION_METHOD")]
+ [SugarColumn(ColumnName = "INSPECTION_METHOD")] //鐢ㄤ簬SqlSugar
+ [StringLength(50, ErrorMessage = "妫�楠屾柟娉曢暱搴︿笉鑳借秴鍑�50")]
+ public string InspectionMethod { get; set; }
+
+ /// <summary>
+ /// 璐ㄩ噺瑕佹眰
+ /// </summary>
+ [Column("ITEM_MOD")]
+ [SugarColumn(ColumnName = "ITEM_MOD")] //鐢ㄤ簬SqlSugar
+ [StringLength(500, ErrorMessage = "璐ㄩ噺瑕佹眰闀垮害涓嶈兘瓒呭嚭500")]
+ public string ItemMod { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡缂栧彿
+ /// </summary>
+ [Column("ITEM_NO")]
+ [SugarColumn(ColumnName = "ITEM_NO")] //鐢ㄤ簬SqlSugar
+ [StringLength(50, ErrorMessage = "鐗╂枡缂栧彿闀垮害涓嶈兘瓒呭嚭50")]
+ public string ItemNo { get; set; }
+
+ /// <summary>
+ /// 姣忔ā澶氬皯涓�
+ /// </summary>
+ [Column("LEVEL_NUM")]
+ [SugarColumn(ColumnName = "LEVEL_NUM")] //鐢ㄤ簬SqlSugar
+ public decimal? LevelNum { get; set; }
+
+ /// <summary>
+ /// 鏈�澶у��
+ /// </summary>
+ [Column("MAX_VALUE")]
+ [SugarColumn(ColumnName = "MAX_VALUE")] //鐢ㄤ簬SqlSugar
+ public decimal? MaxValue { get; set; }
+
+ /// <summary>
+ /// 鏈�灏忓��
+ /// </summary>
+ [Column("MIN_VALUE")]
+ [SugarColumn(ColumnName = "MIN_VALUE")] //鐢ㄤ簬SqlSugar
+ public decimal? MinValue { get; set; }
+
+ /// <summary>
+ /// 妯″叿鍙�
+ /// </summary>
+ [Column("MOID_NUM")]
+ [SugarColumn(ColumnName = "MOID_NUM")] //鐢ㄤ簬SqlSugar
+ [StringLength(50, ErrorMessage = "妯″叿鍙烽暱搴︿笉鑳借秴鍑�50")]
+ public string MoidNum { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ [Column("NOTES")]
+ [SugarColumn(ColumnName = "NOTES")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "澶囨敞闀垮害涓嶈兘瓒呭嚭100")]
+ public string Notes { get; set; }
+
+ /// <summary>
+ /// 鍥剧墖鍦板潃
+ /// </summary>
+ [Column("PICTURE")]
+ [SugarColumn(ColumnName = "PICTURE")] //鐢ㄤ簬SqlSugar
+ public byte[]? Picture { get; set; }
+
+ /// <summary>
+ /// 鍥剧墖鍚嶇О
+ /// </summary>
+ [Column("PICTURENAME")]
+ [SugarColumn(ColumnName = "PICTURENAME")] //鐢ㄤ簬SqlSugar
+ [StringLength(32, ErrorMessage = "Picturename闀垮害涓嶈兘瓒呭嚭32")]
+ public string? Picturename { get; set; }
+
+ /// <summary>
+ /// 椤圭洰鍚嶇О
+ /// </summary>
+ [Column("PROJ_NAME")]
+ [SugarColumn(ColumnName = "PROJ_NAME")] //鐢ㄤ簬SqlSugar
+ [StringLength(50, ErrorMessage = "椤圭洰鍚嶇О闀垮害涓嶈兘瓒呭嚭50")]
+ public string ProjName { get; set; }
+
+ /// <summary>
+ /// 妫�楠屾爣鍑嗙紪鐮�
+ /// </summary>
+ [Column("QS_CODE")]
+ [SugarColumn(ColumnName = "QS_CODE")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "妫�楠屾爣鍑嗙紪鐮侀暱搴︿笉鑳借秴鍑�100")]
+ public string QsCode { get; set; }
+
+ /// <summary>
+ /// 妫�楠屾爣鍑嗗悕绉�
+ /// </summary>
+ [Column("QS_NAME")]
+ [SugarColumn(ColumnName = "QS_NAME")] //鐢ㄤ簬SqlSugar
+ [StringLength(100, ErrorMessage = "妫�楠屾爣鍑嗗悕绉伴暱搴︿笉鑳借秴鍑�100")]
+ public string QsName { get; set; }
+
+ /// <summary>
+ /// 1涓洪妫�锛�2涓哄贰妫�锛�3涓哄叆搴撴
+ /// </summary>
+ [Column("QS_TYPE")]
+ [SugarColumn(ColumnName = "QS_TYPE")] //鐢ㄤ簬SqlSugar
+ [StringLength(1, ErrorMessage = "1涓洪妫�锛�2涓哄贰妫�锛�3涓哄叆搴撴闀垮害涓嶈兘瓒呭嚭1")]
+ public string QsType { get; set; }
+
+ /// <summary>
+ /// 鏍囧噯鍊�
+ /// </summary>
+ [Column("STANDARD_VALUE")]
+ [SugarColumn(ColumnName = "STANDARD_VALUE")] //鐢ㄤ簬SqlSugar
+ public decimal? StandardValue { get; set; }
+
+ /// <summary>
+ /// 浣跨敤浠〃
+ /// </summary>
+ [Column("USING_INSTRUMENTS")]
+ [SugarColumn(ColumnName = "USING_INSTRUMENTS")] //鐢ㄤ簬SqlSugar
+ [StringLength(50, ErrorMessage = "浣跨敤浠〃闀垮害涓嶈兘瓒呭嚭50")]
+ public string UsingInstruments { get; set; }
+}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Modes/MesScgdGx.cs b/StandardPda/MES.Service/Modes/MesScgdGx.cs
new file mode 100644
index 0000000..783ac1e
--- /dev/null
+++ b/StandardPda/MES.Service/Modes/MesScgdGx.cs
@@ -0,0 +1,128 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using SqlSugar;
+
+namespace MES.Service.Modes
+{
+ /// <summary>
+ /// 宸ュ崟鎶ュ伐淇℃伅琛�
+ ///</summary>
+ [SugarTable("MES_SCGD_GX")]
+ public class MesScgdGx
+ {
+ /// <summary>
+ ///
+ ///</summary>
+ [SugarColumn(ColumnName = "ID", IsPrimaryKey = true)]
+ public decimal? Id { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇宸ュ崟
+ ///</summary>
+ [SugarColumn(ColumnName = "TASK_NO")]
+ public string TaskNo { get; set; }
+
+ /// <summary>
+ /// 鐢熶骇鏉$爜
+ ///</summary>
+ [SugarColumn(ColumnName = "ITEM_BARCODE")]
+ public string ItemBarcode { get; set; }
+
+ /// <summary>
+ /// 鏉$爜鏁伴噺
+ ///</summary>
+ [SugarColumn(ColumnName = "QUANTITY")]
+ public decimal? Quantity { get; set; }
+
+ /// <summary>
+ /// 鎶ュ伐鏁伴噺
+ ///</summary>
+ [SugarColumn(ColumnName = "QUANT")]
+ public decimal? Quant { get; set; }
+
+ /// <summary>
+ /// 宸ュ簭
+ ///</summary>
+ [SugarColumn(ColumnName = "GX")]
+ public string Gx { get; set; }
+
+ /// <summary>
+ /// 宸ュ簭ID
+ ///</summary>
+ [SugarColumn(ColumnName = "GX_ID")]
+ public string GxId { get; set; }
+
+ /// <summary>
+ /// 鎶ュ伐浜�
+ ///</summary>
+ [SugarColumn(ColumnName = "CREATE_BY")]
+ public string CreateBy { get; set; }
+
+ /// <summary>
+ /// 鎶ュ伐鏃堕棿
+ ///</summary>
+ [SugarColumn(ColumnName = "CREATE_BY_DATE")]
+ public DateTime? CreateByDate { get; set; }
+
+ /// <summary>
+ /// 鍒拌揣鍗曞彿/鍏ュ簱鍗曞彿
+ ///</summary>
+ [SugarColumn(ColumnName = "BILL_NO")]
+ public string BillNo { get; set; }
+
+ /// <summary>
+ /// 鐝
+ ///</summary>
+ [SugarColumn(ColumnName = "F_BC")]
+ public string FBc { get; set; }
+
+ /// <summary>
+ /// 宸ュ簭瀹屾瘯鏍囪瘑
+ ///</summary>
+ [SugarColumn(ColumnName = "GX_FLAE")]
+ public decimal? GxFlae { get; set; }
+
+ /// <summary>
+ /// 鎶ュ伐鏃堕棿锛堝勾鏈堟棩锛�
+ ///</summary>
+ [SugarColumn(ColumnName = "CREATE_BY1")]
+ public string CreateBy1 { get; set; }
+
+ /// <summary>
+ /// 鎷嗗垎鏁�
+ ///</summary>
+ [SugarColumn(ColumnName = "C_QUANT")]
+ public decimal? CQuant { get; set; }
+
+ /// <summary>
+ /// 寮�宸ユ椂闂�
+ ///</summary>
+ [SugarColumn(ColumnName = "KG_TIME")]
+ public string KgTime { get; set; }
+
+ /// <summary>
+ /// 瀹屽伐鏃堕棿
+ ///</summary>
+ [SugarColumn(ColumnName = "WG_TIME")]
+ public string WgTime { get; set; }
+
+ /// <summary>
+ /// 鏈哄彴
+ ///</summary>
+ [SugarColumn(ColumnName = "JT")]
+ public string Jt { get; set; }
+
+ /// <summary>
+ /// 鎶ュ伐浜虹紪鐮�
+ ///</summary>
+ [SugarColumn(ColumnName = "CREATE_CODE")]
+ public string CreateCode { get; set; }
+
+ /// <summary>
+ ///
+ ///</summary>
+ [SugarColumn(ColumnName = "CHECK_FLAG")]
+ public string CheckFlag { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Modes/QsItemOqcItemDetail.cs b/StandardPda/MES.Service/Modes/QsItemOqcItemDetail.cs
index c0e169d..b661544 100644
--- a/StandardPda/MES.Service/Modes/QsItemOqcItemDetail.cs
+++ b/StandardPda/MES.Service/Modes/QsItemOqcItemDetail.cs
@@ -84,4 +84,6 @@
public string? Remarks { get; set; }
[SugarColumn(IsIgnore = true)] public int? count { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public decimal? ItemInId { get; set; }
}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Modes/QsItemOqcReq.cs b/StandardPda/MES.Service/Modes/QsItemOqcReq.cs
index b1fb7b6..4183733 100644
--- a/StandardPda/MES.Service/Modes/QsItemOqcReq.cs
+++ b/StandardPda/MES.Service/Modes/QsItemOqcReq.cs
@@ -135,4 +135,7 @@
[SugarColumn(IsIgnore = true)] public string? LineNo { get; set; }
[SugarColumn(IsIgnore = true)] public decimal? Quantity { get; set; }
+ [SugarColumn(IsIgnore = true)] public decimal? ItemInId { get; set; }
+
+ [SugarColumn(IsIgnore = true)] public string? Bgr { get; set; }
}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/Modes/VLineUser.cs b/StandardPda/MES.Service/Modes/VLineUser.cs
new file mode 100644
index 0000000..300b3bc
--- /dev/null
+++ b/StandardPda/MES.Service/Modes/VLineUser.cs
@@ -0,0 +1,23 @@
+锘縰sing SqlSugar;
+
+namespace MES.Service.Modes
+{
+ /// <summary>
+ /// 浜х嚎涓庣敤鎴峰鐓�
+ ///</summary>
+ [SugarTable("V_LINE_USER")]
+ public class VLineUser
+ {
+ /// <summary>
+ /// 浜х嚎鍚�
+ ///</summary>
+ [SugarColumn(ColumnName = "LINE_NO")]
+ public string? LineNo { get; set; }
+
+ /// <summary>
+ /// 鐢ㄦ埛鍚�
+ ///</summary>
+ [SugarColumn(ColumnName = "FNAME")]
+ public string? FName { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/service/QC/BaseService.cs b/StandardPda/MES.Service/service/QC/BaseService.cs
index d99828f..4c9af3a 100644
--- a/StandardPda/MES.Service/service/QC/BaseService.cs
+++ b/StandardPda/MES.Service/service/QC/BaseService.cs
@@ -5,16 +5,16 @@
public class BaseService
{
- // public string?[] getUserLineNo(string userNo)
- // {
- // //MesLineUser
- // var db = SqlSugarHelper.GetInstance();
- // var mesLineUsers = db.Queryable<MesLineUser>()
- // .Where(a => a.Fcode == userNo)
- // .ToList();
- // // 浣跨敤 Distinct 鏂规硶瀵� LineNo 杩涜鍘婚噸
- // return mesLineUsers.Select(s => s.LineNo).Distinct().ToArray();
- // }
+ public string?[] getUserLineNo(string userNo)
+ {
+ //MesLineUser
+ var db = SqlSugarHelper.GetInstance();
+ var mesLineUsers = db.Queryable<MesLineUser>()
+ .Where(a => a.Fcode == userNo)
+ .ToList();
+ // 浣跨敤 Distinct 鏂规硶瀵� LineNo 杩涜鍘婚噸
+ return mesLineUsers.Select(s => s.LineNo).Distinct().ToArray();
+ }
public int saveImage(List<MesQsImage> entity)
{
diff --git a/StandardPda/MES.Service/service/QC/RKJService.cs b/StandardPda/MES.Service/service/QC/RKJService.cs
new file mode 100644
index 0000000..6ad9bb9
--- /dev/null
+++ b/StandardPda/MES.Service/service/QC/RKJService.cs
@@ -0,0 +1,864 @@
+锘縰sing MES.Service.DB;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using MES.Service.util;
+using SqlSugar;
+
+namespace MES.Service.service.QC;
+
+public class RKJService
+{
+ private readonly BaseService _baseService = new();
+
+ //鎵嬪姩鎵цsql
+ //鐢熸垚妫�楠屽崟鍙�
+ public string getMaxBillNo()
+ {
+ var db = SqlSugarHelper.GetInstance();
+ var date = DateTime.Now.ToString("yyyy-MM-dd");
+ var sql =
+ "select max(RELEASE_NO) from QS_ITEM_OQC_REQ where RELEASE_NO like 'RKJN%' and to_char(CREATE_DATE,'yyyy-mm-dd') ='" +
+ date + "'";
+
+ var maxBillNo = db.Ado.SqlQuerySingle<string>(sql);
+
+ var number = "0001";
+ if (maxBillNo != null)
+ {
+ maxBillNo = maxBillNo.Substring(12);
+ var no = Convert.ToInt32(maxBillNo);
+ no++;
+ number = no.ToString().PadLeft(4, '0');
+ }
+
+ return "RKJN" + date.Replace("-", "") + number;
+ }
+
+ //閫夋嫨浜х嚎
+ public List<MesLine> getLineNo()
+ {
+ var db = SqlSugarHelper.GetInstance();
+ return db.Queryable<MesLine>()
+ .Where(t =>
+ t.LineStyle == "鍖呰" ||
+ SqlFunc.ContainsArray(new[] { "V1", "V3", "V5", "V6" },
+ t.LineNo))
+ .OrderBy(t => t.LineNo)
+ .Select(t => new MesLine
+ {
+ LineNo = t.LineNo,
+ LineName = t.LineName
+ }).OrderBy("LINE_NO")
+ .ToList();
+ }
+
+
+ //鑾峰彇宸ュ崟鍙�
+ public List<RkDaa002> GetDaa001s(string lineNo)
+ {
+ var db = SqlSugarHelper.GetInstance();
+ return db.Queryable<RkDaa002>()
+ .Where(t => lineNo.Contains(t.Daa020))
+ .OrderBy(t => t.BillNo, OrderByType.Desc)
+ .ToList();
+ }
+
+ //鏍规嵁妫�楠屾爣鍑嗘潵璁$畻妫�楠屼釜鏁�
+ public List<QsItemOqcItem> SetItems(string itemNo, decimal quantity)
+ {
+ var db = SqlSugarHelper.GetInstance();
+
+ var count = db.Queryable<MesQa>().Where(s => s.QsType == "3"
+ && s.ItemNo == itemNo && s.Fsubmit == 1).Count();
+
+ if (count <= 0) return [];
+
+ var qsItemOqcItems = db
+ .Queryable<MesQualityStandard>()
+ .Where(b => b.QsType == "3"
+ && b.ItemNo == itemNo).Select(
+ b => new QsItemOqcItem
+ {
+ ProjName = b.ProjName,
+ ItemMod = b.ItemMod,
+ InspectionMethod = b.InspectionMethod,
+ UsingInstruments = b.UsingInstruments,
+ LevelNum = SqlFunc.IsNull(
+ SqlFunc.IsNull(b.LevelNum * b.InspectionLevel, 1),
+ b.InspectionLevel),
+ MaxValue = b.MaxValue,
+ StandardValue = b.StandardValue,
+ MinValue = b.MinValue,
+ Notes = b.Notes,
+ FcheckLevel = b.FcheckLevel,
+ FacLevel = b.FacLevel,
+ QsCode = b.QsCode,
+ QsName = b.QsName,
+ Result = "鏈娴�",
+ isCheck = 0,
+ Picture = b.Picture,
+ Picturename = b.Picturename
+ }).ToList();
+
+ qsItemOqcItems.ForEach(item =>
+ {
+ string LEV = null;
+ switch (item.FcheckLevel)
+ {
+ case null:
+ LEV = ""; // 榛樿鍊�
+ break;
+ case { } s when s.Contains("S1"):
+ LEV = "B.FLEVEL_S1";
+ break;
+ case { } s when s.Contains("S2"):
+ LEV = "B.FLEVEL_S2";
+ break;
+ case { } s when s.Contains("S3"):
+ LEV = "B.FLEVEL_S3";
+ break;
+ case { } s when s.Contains("S4"):
+ LEV = "B.FLEVEL_S4";
+ break;
+ case { } s when s.Contains("(I)"):
+ LEV = "B.FLEVEL_I";
+ break;
+ case { } s when s.Contains("(II)"):
+ LEV = "B.FLEVEL_II";
+ break;
+ case { } s when s.Contains("(III)"):
+ LEV = "B.FLEVEL_III";
+ break;
+ default:
+ LEV = ""; // 榛樿鍊�
+ break;
+ }
+
+ if (string.IsNullOrEmpty(LEV))
+ throw new Exception(item.QsCode + "涓嬬殑妫�楠屾按骞崇淮鎶ょ殑涓嶆纭�");
+
+ var sql =
+ "SELECT " + LEV +
+ " FROM MES_QM_AQL1 A LEFT JOIN MES_QM_AQL2 B ON B.AQL1_ID=A.ID WHERE A.SAMPLE_SIZE_NO='" +
+ item.QsCode + "' AND B.LOT_FROM<= " + quantity + " AND " +
+ quantity + "<=B.LOT_TO";
+
+ var maxBillNo = db.Ado.SqlQuerySingle<string>(sql);
+
+ if (string.IsNullOrEmpty(maxBillNo))
+ throw new Exception(
+ item.QsCode + "涓嬫病鏈�" + quantity + "杩欎釜鑼冨洿鐨勬娊鏍峰熀鍑�");
+
+ var result = ExtractSubstring(item.FacLevel, '(', ')');
+
+ if (string.IsNullOrEmpty(result))
+ throw new Exception(item.QsCode +
+ "缁存姢鐨勬帴鏀舵按骞充笉姝g‘锛屽簲璇ユ槸0.010---(AQL_0_0010)杩欐牱");
+
+ sql = "SELECT FSAMPLE_SIZE_WORD, " + result +
+ " Result FROM MES_QM_AQL1 A LEFT JOIN MES_QM_AQL3 C ON C.AQL1_ID=A.ID WHERE A.SAMPLE_SIZE_NO= '" +
+ item.QsCode + "' AND SAMPLE_SIZE_WORD= '" + maxBillNo + "'";
+ var resultClass = db.Ado.SqlQuerySingle<ResultClass>(sql);
+
+ item.LevelNum = resultClass.FSAMPLE_SIZE_WORD;
+ item.FreQty = resultClass.Result;
+ });
+
+ return qsItemOqcItems;
+ }
+
+ private string ExtractSubstring(string input, char startChar, char endChar)
+ {
+ var startIndex = input.IndexOf(startChar);
+ var endIndex = input.IndexOf(endChar, startIndex);
+
+ if (startIndex == -1 || endIndex == -1)
+ // 濡傛灉鏈壘鍒拌捣濮嬪瓧绗︽垨缁撴潫瀛楃锛屽垯杩斿洖绌哄瓧绗︿覆鎴栬�呮姏鍑哄紓甯革紝鏍规嵁瀹為檯鎯呭喌閫夋嫨
+ return string.Empty;
+ // 鎴栬�呮姏鍑哄紓甯�
+ // throw new ArgumentException("Start or end character not found");
+ // 鎻愬彇瀛愬瓧绗︿覆
+ var length = endIndex - startIndex - 1;
+ return input.Substring(startIndex + 1, length);
+ }
+
+ public List<QsItemOqcItem> GetItems(decimal? pid, decimal? id)
+ {
+ var db = SqlSugarHelper.GetInstance();
+ return db.Queryable<QsItemOqcItem, QsItemOqcItemDetail>((a, b) =>
+ new JoinQueryInfos(JoinType.Left, a.Id == b.Pid))
+ .WhereIF(pid > 0, (a, b) => a.Pid == pid)
+ .WhereIF(id > 0, (a, b) => a.Id == id)
+ .GroupBy((a, b) => new
+ {
+ a.Id,
+ a.ProjName,
+ a.ItemMod,
+ a.InspectionMethod,
+ a.UsingInstruments,
+ a.LevelNum,
+ a.MaxValue,
+ a.StandardValue,
+ a.MinValue,
+ a.Notes,
+ a.IsPass,
+ a.FcheckLevel,
+ a.FacLevel,
+ a.QsCode,
+ a.QsName
+ }).Select((a, b) => new QsItemOqcItem
+ {
+ ProjName = a.ProjName,
+ Id = a.Id,
+ ItemMod = a.ItemMod,
+ InspectionMethod = a.InspectionMethod,
+ UsingInstruments = a.UsingInstruments,
+ LevelNum = a.LevelNum,
+ MaxValue = a.MaxValue,
+ StandardValue = a.StandardValue,
+ MinValue = a.MinValue,
+ Notes = a.Notes,
+ FcheckLevel = a.FcheckLevel,
+ FacLevel = a.FacLevel,
+ QsCode = a.QsCode,
+ QsName = a.QsName,
+ isCheck = SqlFunc.AggregateCount(b.Id),
+ Result = a.IsPass == 1 &&
+ a.LevelNum == SqlFunc.AggregateCount(b.Id) ? "鍚堟牸"
+ : a.IsPass == 0 &&
+ a.LevelNum == SqlFunc.AggregateCount(b.Id) ? "涓嶅悎鏍�"
+ : "鏈畬鎴�"
+ }).OrderBy("result desc").ToList();
+ }
+
+ public dynamic save(RKJDto rkjDto)
+ {
+ var xj = rkjDto.from;
+ var items = rkjDto.items;
+ var userNo = rkjDto.userNo;
+
+ SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ var commit = 0;
+
+ xj.CreateBy = userNo;
+ xj.CreateDate = DateTime.Now;
+
+ var pid = db.Insertable(xj).ExecuteReturnIdentity();
+
+ xj.Id = pid;
+
+ rkjDto.gid = pid;
+
+ foreach (var item in items) item.Pid = pid;
+
+ commit += db.Insertable(items).ExecuteCommand();
+
+ return commit;
+ });
+
+
+ // using (var connection =
+ // new OracleConnection(OracleSQLHelper.ConnectionString)) // connection.Open();
+ //
+ // var transaction = connection.BeginTransaction();
+ //
+ // try
+ // {
+ // using (var command = new OracleCommand())
+ // {
+ // command.Connection = connection;
+ // command.Transaction = transaction;
+ // command.CommandText = "insert_and_update_picture_RKJ";
+ // command.CommandType = CommandType.StoredProcedure;
+ //
+ // // Add parameters
+ // command.Parameters.Add("p_QS_TYPE", OracleDbType.Varchar2)
+ // .Value = "3";
+ // command.Parameters.Add("p_MOID_NUM", OracleDbType.Varchar2)
+ // .Value = rkjDto.moidNum;
+ // command.Parameters.Add("p_pid", OracleDbType.Int32).Value =
+ // xj.Id;
+ //
+ // command.ExecuteNonQuery();
+ // }
+ //
+ // transaction.Commit();
+ // }
+ // catch (Exception)
+ // {
+ // transaction.Rollback();
+ // throw;
+ // }
+ // }
+
+ rkjDto.items = GetItems(xj.Id, null);
+
+ rkjDto.items.ForEach(s =>
+ {
+ if (s.MaxValue != null || s.StandardValue != null ||
+ s.MinValue != null) return;
+ var detail = new QsItemOqcItemDetail();
+ detail.Pid = s.Id;
+ detail.Gid = rkjDto.gid;
+ detail.Fstand = "鈭�";
+ detail.FcheckResu = "1";
+ detail.UpdateBy = rkjDto.userNo;
+ detail.count = (int?)s.LevelNum;
+ SetQSItemDetail(detail);
+ });
+
+ return Convert.ToInt32(xj.Id);
+ }
+
+ public int SetQSItemDetail(QsItemOqcItemDetail detail)
+ {
+ var db = SqlSugarHelper.GetInstance();
+
+ var qsItemOqcReq = db.Queryable<QsItemOqcReq>()
+ .Where(o => o.Id == detail.Gid)
+ .First();
+
+ if (qsItemOqcReq == null)
+ {
+ throw new Exception("璇ユ楠屽崟涓嶅瓨鍦紝璇峰洖鍒板叆搴撴鍒楄〃閲嶆柊鏌ョ湅");
+ }
+
+ if (!string.IsNullOrEmpty(qsItemOqcReq.FcheckResu))
+ {
+ throw new Exception("璇ユ楠屽崟宸�" + qsItemOqcReq.FcheckResu + "锛屼笉杩愯淇敼缁撴灉");
+ }
+
+ var oracle = SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ List<QsItemOqcItemDetail> result = new();
+ for (var i = 0; i < detail.count; i++)
+ {
+ var item = new QsItemOqcItemDetail();
+ item.Gid = detail.Gid;
+ item.Pid = detail.Pid;
+ item.Fstand = detail.Fstand;
+ item.FcheckResu = detail.FcheckResu;
+ item.CreateBy = detail.UpdateBy;
+ item.CreateDate = DateTime.Now;
+ result.Add(item);
+ }
+
+ return db.Insertable(result).ExecuteCommand();
+ });
+
+ detail.CreateBy = detail.UpdateBy;
+
+ autoResult(detail);
+
+ return oracle;
+ }
+
+ private int autoResult(QsItemOqcItemDetail detail)
+ {
+ var db = SqlSugarHelper.GetInstance();
+
+ // Single 娌℃湁鏌ヨ鍒扮粨鏋滄椂杩斿洖Null锛屽鏋滅粨鏋滃ぇ浜�1鏉′細鎶涘嚭閿欒
+ var QsItemOqcItem = db.Queryable<QsItemOqcItem>()
+ .Single(s => s.Id == detail.Pid);
+
+ if (QsItemOqcItem == null) return 0;
+
+ //鏌ヨ杩欎釜妫�楠岄」鐩笅鐨勬楠岀粨鏋�
+ var count = db.Queryable<QsItemOqcItemDetail>()
+ .Where(s => s.Pid == detail.Pid).Count();
+
+
+ var result = 0;
+
+ //妫�楠屽疄闄呯粨鏋滀笉绛変簬搴旇妫�楠岀殑涓暟鏃剁洿鎺ユ帹鍑�
+ if (QsItemOqcItem.LevelNum != count) return 0;
+
+ //鍚堟牸鐨勬湁澶氬皯涓�
+ var passCount = db.Queryable<QsItemOqcItemDetail>()
+ .Where(s => s.Pid == detail.Pid && s.Fstand == "鈭�").Count();
+
+ if (count == passCount)
+ result = 1;
+ else if (count - passCount < QsItemOqcItem.FreQty) result = 1;
+
+ var useTransactionWithOracle = SqlSugarHelper.UseTransactionWithOracle(
+ db =>
+ {
+ var commit = 0;
+ commit += db.Updateable<QsItemOqcItem>()
+ .SetColumns(s => s.IsPass == result)
+ .Where(s => s.Id == detail.Pid)
+ .ExecuteCommand();
+
+ return commit;
+ });
+
+ var isNull = db.Queryable<QsItemOqcItem>()
+ .Where(s => s.Pid == detail.Gid && s.IsPass == null).Count();
+
+ if (isNull > 0) return 1;
+
+
+ //鑾峰彇妫�楠屽崟鐨勬楠岄」鐩殑涓暟
+ var sum = db.Queryable<QsItemOqcItem>()
+ .Where(s => s.Pid == detail.Gid).Count();
+
+ if (sum == 0) return 1;
+
+ //鑾峰彇妫�楠屽崟涓嬬殑鍚堟牸鐨勬楠岄」鐩釜鏁�
+ var icount = db.Queryable<QsItemOqcItem>()
+ .Where(s => s.Pid == detail.Gid && s.IsPass == 1).Count();
+
+ var FcheckResu = "涓嶅悎鏍�";
+
+ //瀹為檯涓暟绛変簬鐞嗚涓暟鏃跺妫�楠屽崟杩涜鍒ゅ畾
+ if (sum == icount)
+ //鍚堟牸鐨勬楠岀粨鏋滅瓑浜庢�绘楠屾暟瑙嗕负鍚堟牸
+ FcheckResu = "鍚堟牸";
+
+ SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ return db.Updateable<QsItemOqcReq>()
+ .SetColumns(s => s.FcheckResu == FcheckResu)
+ .SetColumns(s => s.FcheckDate == DateTime.Now)
+ .SetColumns(s => s.FcheckBy == detail.CreateBy)
+ .SetColumns(s => s.LastupdateBy == detail.CreateBy)
+ .SetColumns(s => s.LastupdateDate == DateTime.Now)
+ .Where(s => s.Id == detail.Gid)
+ .ExecuteCommand();
+ });
+
+ // if (FcheckResu.Equals("涓嶅悎鏍�"))
+ // //鑷姩鐢熸垚鍏ュ簱妫�寮傚父瀵圭瓥
+ // saveDetect02(detail.Gid, detail.CreateBy);
+
+ setBarCodes(FcheckResu, detail, db);
+
+ return useTransactionWithOracle;
+ }
+
+ /// <summary>
+ /// 褰撴楠屽崟涓嶅悎鏍兼椂锛�
+ /// 鍙栨秷mes_inv_item_barcodes 鐨勬姤宸ユ爣璇� WORK_FLG
+ /// womdaa 宸茬敓浜ч噺 DAA011鍔犲洖鏉$爜鎶ュ伐鏁伴噺
+ /// MES_SCGD_GX 妫�楠屾爣璇� CHECK_FLAG锛�('鈭�','脳')
+ /// 閫氳繃mes_inv_item_in_c_details2鐨凪ES_SCGD_GX_ID杩炴帴
+ ///</summary>
+ private void setBarCodes(string? FcheckResu, QsItemOqcItemDetail detail,
+ SqlSugarClient db)
+ {
+ var oqcReqList = db.Queryable<QsItemOqcReq, MesInvItemIns, Womdaa>(
+ (a, b, c) =>
+ new JoinQueryInfos(
+ JoinType.Left, a.BillNo == b.BillNo,
+ JoinType.Left, c.Daa001 == b.RbillNo
+ ))
+ .Where(a => a.Id == detail.Gid)
+ .Select((a, b, c) =>
+ new
+ {
+ a.Id, a.BillNo, c.Daa001
+ })
+ .ToList();
+
+ if (oqcReqList.Count <= 0)
+ {
+ return;
+ }
+
+ var qsItemOqcReq = oqcReqList.First(); // 鑾峰彇绗竴涓厓绱�
+
+ if (qsItemOqcReq.Id is null or 0) return;
+
+ var mesInvItemInsList = db
+ .Queryable<MesInvItemIns, MesInvItemInCDetails2>((a, b) =>
+ new JoinQueryInfos(
+ JoinType.Left, a.Id == b.ItemInId))
+ .Where((a, b) => a.BillNo == qsItemOqcReq.BillNo)
+ .Select((a, b) => new
+ { b.ItemBarcode, b.Quantity, b.MesScgdGxId })
+ .ToList();
+
+ var barCodes = mesInvItemInsList.Select(s => s.ItemBarcode).ToList();
+
+ var count = db.Queryable<MesInvItemBarcodes>()
+ .Where(s => barCodes.Contains(s.ItemBarcode) && s.WorkFlg == 0)
+ .Count();
+
+ var gxId = mesInvItemInsList.Select(s => s.MesScgdGxId).ToList();
+
+ var sumQty = mesInvItemInsList.Sum(s => s.Quantity);
+
+ if ("鍚堟牸".Equals(FcheckResu))
+ {
+ //鏍规嵁宸ュ簭id鏇存柊宸ュ簭琛ㄧ殑妫�楠岀粨鏋�
+ db.Updateable<MesScgdGx>()
+ .SetColumns(s => s.CheckFlag == "鈭�")
+ .Where(s => gxId.Contains(s.Id))
+ .ExecuteCommand();
+
+ if (count <= 0) return;
+
+ //鍙栨秷mes_inv_item_barcodes 鐨勬姤宸ユ爣璇� WORK_FLG 浣跨敤鏉$爜
+ var executeCommand = db.Updateable<MesInvItemBarcodes>()
+ .SetColumns(a => a.WorkFlg == 1)
+ .Where(a => barCodes.Contains(a.ItemBarcode))
+ .ExecuteCommand();
+
+ if (executeCommand > 0)
+ {
+ //womdaa 宸茬敓浜ч噺 DAA011鍔犲洖鏉$爜鎶ュ伐鏁伴噺
+ db.Updateable<Womdaa>()
+ .SetColumns(b => b.Daa011 == b.Daa011 + sumQty)
+ .Where(b => b.Daa001 == qsItemOqcReq.Daa001)
+ .ExecuteCommand();
+ }
+ }
+ else if ("涓嶅悎鏍�".Equals(FcheckResu))
+ {
+ //鏍规嵁宸ュ簭id鏇存柊宸ュ簭琛ㄧ殑妫�楠岀粨鏋�
+ db.Updateable<MesScgdGx>()
+ .SetColumns(s => s.CheckFlag == "脳")
+ .Where(s => gxId.Contains(s.Id))
+ .ExecuteCommand();
+
+ //鍙栨秷mes_inv_item_barcodes 鐨勬姤宸ユ爣璇� WORK_FLG 浣跨敤鏉$爜
+ var executeCommand = db.Updateable<MesInvItemBarcodes>()
+ .SetColumns(a => a.WorkFlg == 0)
+ .Where(a => barCodes.Contains(a.ItemBarcode))
+ .ExecuteCommand();
+
+ if (executeCommand > 0)
+ {
+ //womdaa 宸茬敓浜ч噺 DAA011鍔犲洖鏉$爜鎶ュ伐鏁伴噺
+ db.Updateable<Womdaa>()
+ .SetColumns(b => b.Daa011 == b.Daa011 - sumQty)
+ .Where(b => b.Daa001 == qsItemOqcReq.Daa001)
+ .ExecuteCommand();
+ }
+ }
+ }
+
+ public int saveDetect02(decimal? gid, string? createBy)
+ {
+ var db = SqlSugarHelper.GetInstance();
+
+ var qsItemOqcReq =
+ db.Queryable<QsItemOqcReq>().Single(s => s.Id == gid);
+
+ var mesInvItemIns = db.Queryable<MesInvItemIns>()
+ .Single(s => s.BillNo == qsItemOqcReq.BillNo);
+
+ var mesSchemeResult = db.Queryable<Womdaa>()
+ .Single(s => s.Daa001 == mesInvItemIns.CbillNo);
+
+ var entity = new MesQaItemsDetect02();
+ // entity.ItemNo = mesSchemeResult.BoardItem;
+ // entity.BoardItem = mesSchemeResult.BoardItem;
+ entity.LineNo = mesSchemeResult.Daa015;
+ // entity.Aufnr = mesSchemeResult.TaskNo;
+ entity.ReleaseNo = qsItemOqcReq.ReleaseNo;
+ entity.LotNo = qsItemOqcReq.BillNo;
+ entity.FcheckDate = qsItemOqcReq.FcheckDate;
+ entity.FcheckMemo = qsItemOqcReq.Remarks;
+ entity.Gid = qsItemOqcReq.Id;
+ // entity.PlanQty = qsItemOqcReq.FcheckDate;
+
+
+ entity.FcheckResu = "涓嶅悎鏍�";
+ entity.FcheckLevel = "涓ラ噸";
+ entity.CreateDate = DateTime.Now;
+ entity.Factory = "10000";
+ entity.Company = "1000";
+ entity.Ftype = "4";
+ entity.Fversion = 0;
+ entity.Modify1Flag = 0;
+ entity.IpqcStatus = 0;
+ entity.Fsubmit = 1;
+ entity.CreateBy = createBy;
+ entity.FcheckBy = createBy;
+
+ return SqlSugarHelper.UseTransactionWithOracle(db => db
+ .Insertable(entity)
+ .ExecuteCommand());
+ }
+
+
+ public (List<QsItemOqcReq> items, int TotalCount) getPage(
+ XJPageResult queryObj)
+ {
+ var db = SqlSugarHelper.GetInstance();
+
+ var totalCount = 0;
+
+ string[]? lineNo = null;
+
+ if (StringUtil.IsNotNullOrEmpty(queryObj.createUser))
+ lineNo = _baseService.getUserLineNo(queryObj.createUser);
+
+ var qsItemOqcReqs = db
+ .Queryable<QsItemOqcReq, MesItems, MesInvItemIns, MesInvTransaction,
+ RKJDaa001, Womdaa, VLineUser>(
+ (a, b, c, ca, m, da, z) => new JoinQueryInfos(
+ JoinType.Left, a.ItemNo == b.ItemNo,
+ JoinType.Left, a.BillNo == c.BillNo,
+ JoinType.Left,
+ c.TransctionNo == ca.TransactionNo.ToString() &&
+ c.Company == ca.Company &&
+ c.Factory == ca.Factory,
+ JoinType.Left, c.Id == m.ItemInId && a.ItemNo == m.ItemNo,
+ JoinType.Left, da.Daa001 == c.RbillNo,
+ JoinType.Left, da.Daa015 == z.LineNo//,
+ //JoinType.Left,c.Bgr == d.UserNo
+ ))
+ // .WhereIF(lineNo != null && lineNo.Length > 0,
+ // (a, b, c, ca, m, da) => lineNo.Contains(da.Daa015))
+ .WhereIF(!"PL017".Equals(queryObj.createUser),
+ (a, b, c, ca, m, da, z) => lineNo.Contains(da.Daa015))
+ .WhereIF(!string.IsNullOrEmpty(queryObj.id),
+ (a, b, c, ca, m, da, z) => a.Id.ToString() == queryObj.id)
+ .WhereIF(
+ StringUtil.IsNotNullOrEmpty(queryObj.result) &&
+ "鏈畬鎴�".Equals(queryObj.result),
+ (a, b, c, ca, m, da, z) => a.FcheckResu == null)
+ .WhereIF(
+ StringUtil.IsNotNullOrEmpty(queryObj.result) &&
+ !"鏈畬鎴�".Equals(queryObj.result),
+ (a, b, c, ca, m, da, z) => a.FcheckResu != null)
+ //鍔犵瓫閫夋潯浠�,鏍规嵁渚涘簲鍟嗭紝鐗╂枡缂栫爜锛岀墿鏂欏悕绉版悳绱�
+ //.WhereIF(queryObj.SearchValue!=null && queryObj.SearchValue!="", (a) => a.SuppName == queryObj.SearchValue|| a.ItemName == queryObj.SearchValue || a.ItemNo == queryObj.SearchValue )
+ .WhereIF(queryObj.SearchValue != null && queryObj.SearchValue != "",
+ (a, b, c, ca, m, da, z) => b.ItemName.ToLower().Contains(queryObj.SearchValue.ToLower())
+ || a.ItemNo.ToLower().Contains(queryObj.SearchValue.ToLower()))
+ .Select((a, b, c, ca, m, da, z) => new QsItemOqcReq
+ {
+ BillNo = a.BillNo,
+ Fsubmit = a.Fsubmit,
+ Remarks = a.Remarks,
+ Id = a.Id,
+ CreateDate = a.CreateDate,
+ CreateBy = a.CreateBy,
+ FcheckResu = a.FcheckResu,
+ ItemNo = a.ItemNo,
+ FcheckBy = a.FcheckBy,
+ FcheckDate = a.FcheckDate,
+ ReleaseNo = a.ReleaseNo,
+ ItemName = b.ItemName,
+ ItemModel = b.ItemModel,
+ //Dab001 = m.LotNo,
+ ItemInId = m.ItemInId,
+ Daa015 = da.Daa015,
+ LineNo = c.LineNo,
+ Quantity = m.Quantity,
+ //Bgr = d.UserName
+ })
+ .OrderBy(a => a.CreateDate, OrderByType.Desc)
+ .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
+
+ return (qsItemOqcReqs, totalCount);
+ }
+
+ //鍒犻櫎涓昏〃骞朵笖杩炵骇鍒犻櫎瀛愯〃鍜屽瓩琛�
+ public int removeXJ(decimal? id)
+ {
+ var withOracle = SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ var commit = 0;
+ //鍒犻櫎涓昏〃
+ commit += db.Deleteable<QsItemOqcReq>().Where(s => s.Id == id)
+ .ExecuteCommand();
+ //鍒犻櫎瀛愯〃
+ commit += db.Deleteable<QsItemOqcItem>().Where(s => s.Pid == id)
+ .ExecuteCommand();
+ //鍒犻櫎瀛欒〃
+ commit += db.Deleteable<QsItemOqcItemDetail>()
+ .Where(s => s.Gid == id)
+ .ExecuteCommand();
+ return commit;
+ });
+
+ return withOracle;
+ }
+
+
+ public RKJDto getXjDetail02ById(decimal? id)
+ {
+ var rkjDto = new RKJDto();
+
+ var db = SqlSugarHelper.GetInstance();
+ var qsItemOqcItem =
+ db.Queryable<QsItemOqcItem>().Single(s => s.Id == id);
+
+ if (qsItemOqcItem.IsPass == 0)
+ qsItemOqcItem.Result = "涓嶅悎鏍�";
+ else if (qsItemOqcItem.IsPass == 1)
+ qsItemOqcItem.Result = "鍚堟牸";
+ else
+ qsItemOqcItem.Result = "鏈畬鎴�";
+
+ if (qsItemOqcItem.Picture is { Length: > 0 })
+ qsItemOqcItem.imageData =
+ Convert.ToBase64String(qsItemOqcItem.Picture);
+
+ //鑾峰彇涓嶅悎鏍兼暟
+ var count = db.Queryable<QsItemOqcItemDetail>()
+ .Where(s => s.Fstand == "脳" && s.Pid == id).Count();
+
+ qsItemOqcItem.Unqualified = count;
+
+ rkjDto.ItemXj01 = qsItemOqcItem;
+
+
+ rkjDto.ItemXj02s = db.Queryable<QsItemOqcItemDetail>()
+ .Where(s => s.Pid == id)
+ .ToList();
+
+ return rkjDto;
+ }
+
+ public int UpdateQSItemDetail(QsItemOqcItemDetail detail)
+ {
+ if (isRk(detail.ItemInId)) throw new Exception("宸叉湁鏉$爜鍏ュ簱锛屼笉鍏佽淇敼妫�楠岀粨鏋�");
+
+ var db = SqlSugarHelper.GetInstance();
+
+ var qsItemOqcReq = db.Queryable<QsItemOqcReq>()
+ .Where(o => o.Id == detail.Gid)
+ .First();
+
+ if (qsItemOqcReq == null)
+ {
+ throw new Exception("璇ユ楠屽崟涓嶅瓨鍦紝璇峰洖鍒板叆搴撴鍒楄〃閲嶆柊鏌ョ湅");
+ }
+
+ if (!string.IsNullOrEmpty(qsItemOqcReq.FcheckResu))
+ {
+ throw new Exception("璇ユ楠屽崟宸�" + qsItemOqcReq.FcheckResu + "锛屼笉杩愯淇敼缁撴灉");
+ }
+
+ var withOracle = SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ return db.Updateable<QsItemOqcItemDetail>()
+ .SetColumns(s => s.UpdateBy == detail.UpdateBy)
+ .SetColumns(s => s.UpdateDate == DateTime.Now)
+ .SetColumnsIF(StringUtil.IsNotNullOrEmpty(detail.Fstand),
+ s => s.Fstand == detail.Fstand)
+ .SetColumnsIF(StringUtil.IsNotNullOrEmpty(detail.FcheckResu),
+ s => s.FcheckResu == detail.FcheckResu)
+ .Where(s => s.Id == detail.Id)
+ .ExecuteCommand();
+ });
+
+ detail.CreateBy = detail.UpdateBy;
+
+ withOracle += autoResult(detail);
+
+ return withOracle;
+ }
+
+ //淇敼缁撴灉鍓嶉獙璇佹槸鍚﹀叆搴�
+ private bool isRk(decimal? ItemInId)
+ {
+ var db = SqlSugarHelper.GetInstance();
+ return db.Queryable<MesInvItemInCDetails>()
+ .Where(s => s.ItemInId == ItemInId).Count() > 0;
+ }
+
+
+ //涓昏〃淇敼澶囨敞瀛楁
+ public int saveRemarksGid(RKJDto dto)
+ {
+ return SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ return db.Updateable<QsItemOqcReq>()
+ .SetColumns(it =>
+ it.Remarks == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊�
+ .Where(it => it.Id == dto.gid)
+ .ExecuteCommand();
+ });
+ }
+
+ //瀛愯〃淇敼澶囨敞瀛楁
+ public int saveRemarksPid(RKJDto dto)
+ {
+ return SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ return db.Updateable<QsItemOqcItem>()
+ .SetColumns(it =>
+ it.Remarks == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊�
+ .Where(it => it.Id == dto.pid)
+ .ExecuteCommand();
+ });
+ }
+
+ //瀛欒〃淇敼澶囨敞瀛楁
+ public int saveRemarksById(RKJDto dto)
+ {
+ return SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ return db.Updateable<QsItemOqcItemDetail>()
+ .SetColumns(it =>
+ it.Remarks == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊�
+ .Where(it => it.Id == dto.id)
+ .ExecuteCommand();
+ });
+ }
+
+ public int saveItem(RKJDto rkjDto)
+ {
+ var items = rkjDto.items;
+ var userNo = rkjDto.userNo;
+
+ SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ foreach (var item in items) item.Pid = rkjDto.gid;
+
+ return db.Insertable(items).ExecuteCommand();
+ });
+
+ rkjDto.items = GetItems(rkjDto.gid, null);
+
+ rkjDto.items.ForEach(s =>
+ {
+ if (s.MaxValue != null || s.StandardValue != null ||
+ s.MinValue != null) return;
+ var detail = new QsItemOqcItemDetail();
+ detail.Pid = s.Id;
+ detail.Gid = rkjDto.gid;
+ detail.Fstand = "鈭�";
+ detail.FcheckResu = "1";
+ detail.UpdateBy = rkjDto.userNo;
+ detail.count = (int?)s.LevelNum;
+ SetQSItemDetail(detail);
+ });
+
+ return Convert.ToInt32(rkjDto.gid);
+ }
+
+ public int cleanReqResult(RKJDto dto)
+ {
+ if (isRk(dto.gid)) throw new Exception("宸叉湁鏉$爜鍏ュ簱锛屼笉鍏佽娓呴櫎妫�楠岀粨鏋�");
+
+
+ return SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ return db.Updateable<QsItemOqcReq>()
+ .SetColumns(s => s.FcheckResu == null)
+ .Where(s => s.Id == dto.gid).ExecuteCommand();
+ });
+ }
+
+ private bool isRk(int? gid)
+ {
+ var db = SqlSugarHelper.GetInstance();
+ return db.Queryable<QsItemOqcReq, MesInvItemIns, MesInvItemInCDetails2,MesInvItemStocks>(
+ (a, b, c,d) => new JoinQueryInfos(
+ JoinType.Inner, a.BillNo == b.BillNo,
+ JoinType.Inner, b.Id == c.ItemInId,
+ JoinType.Inner,c.ItemBarcode == d.ItemBarcode
+ ))
+ .Where((a, b, c,d) => a.Id == gid)
+ .Count() > 0;
+ }
+}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/service/QC/SJService.cs b/StandardPda/MES.Service/service/QC/SJService.cs
new file mode 100644
index 0000000..db188ef
--- /dev/null
+++ b/StandardPda/MES.Service/service/QC/SJService.cs
@@ -0,0 +1,458 @@
+锘縰sing MES.Service.DB;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using MES.Service.util;
+using SqlSugar;
+
+namespace MES.Service.service.QC;
+
+public class SJService
+{
+ private readonly BaseService _baseService = new();
+
+ //鑾峰彇鏈�澶у崟鍙�
+ public string getMaxBillNo()
+ {
+ var db = SqlSugarHelper.GetInstance();
+ var date = DateTime.Now.ToString("yyyy-MM-dd");
+ var sql =
+ "select max(BILL_NO) from QS_ITEM_IPI_REQ where to_char(CREATE_TIME,'yyyy-mm-dd') = '" +
+ date + "'";
+
+ var maxBillNo = db.Ado.SqlQuerySingle<string>(sql);
+
+ var number = "0001";
+ if (maxBillNo != null)
+ {
+ maxBillNo = maxBillNo.Substring(12);
+ var no = Convert.ToInt32(maxBillNo);
+ no++;
+ number = no.ToString().PadLeft(4, '0');
+ }
+
+ return "SJN" + date.Replace("-", "") + number;
+ }
+
+ //鑾峰彇鎵�鏈夋暟鎹垎椤�
+ public List<SJPageResult> getPage(SJPageResult queryObj)
+ {
+ var db = SqlSugarHelper.GetInstance();
+
+ string[]? lineNo = null;
+
+ if (StringUtil.IsNotNullOrEmpty(queryObj.StatusUser))
+ lineNo = _baseService.getUserLineNo(queryObj.StatusUser);
+
+ var data = db.Queryable<SJPageResult>()
+ .WhereIF(lineNo != null && lineNo.Length > 0,
+ a => lineNo.Contains(a.line))
+ .WhereIF(queryObj.Id != null, a => a.Id == queryObj.Id)
+ .WhereIF(StringUtil.IsNotNullOrEmpty(queryObj.BillNo),
+ a => a.BillNo == queryObj.BillNo)
+ .WhereIF(
+ StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
+ "鏈畬鎴�".Equals(queryObj.Result),
+ a => a.Result == queryObj.Result)
+ .WhereIF(
+ StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
+ !"鏈畬鎴�".Equals(queryObj.Result),
+ a => a.Result != "鏈畬鎴�")
+ .OrderBy(a => a.BillNo, OrderByType.Desc)
+ .ToPageList(queryObj.PageIndex, queryObj.Limit);
+
+ return data;
+ }
+
+
+ //SetQSItem
+ // public List<QsItemIpiItem> SetQSItems(string itemNo)
+ // {
+ // var db = SqlSugarHelper.GetInstance();
+ // return db
+ // .Queryable<MoidToItem, MesQualityStandard>((a, b) =>
+ // new JoinQueryInfos(JoinType.Inner, a.MoidNum == b.MoidNum))
+ // .Where((a, b) => b.QsType == "1" && a.Fsubmit == 1 && a.ItemNo == itemNo).Select(
+ // (a, b) => new QsItemIpiItem
+ // {
+ // ProjName = b.ProjName,
+ // ItemMod = b.ItemMod,
+ // InspectionMethod = b.InspectionMethod,
+ // UsingInstruments = b.UsingInstruments,
+ // LevelNum = SqlFunc.IsNull(
+ // SqlFunc.IsNull(b.LevelNum * b.InspectionLevel, 1),
+ // b.InspectionLevel),
+ // MaxValue = b.MaxValue,
+ // StandardValue = b.StandardValue,
+ // MinValue = b.MinValue,
+ // Notes = b.Notes,
+ // FcheckLevel = b.FcheckLevel,
+ // FacLevel = b.FacLevel,
+ // QsCode = b.QsCode,
+ // QsName = b.QsName,
+ // result = "鏈娴�"
+ // }).ToList();
+ // }
+ public List<QsItemIpiItem> SetQSItems(string itemNo)
+ {
+ var db = SqlSugarHelper.GetInstance();
+
+ var count = db.Queryable<MesQa>().Where(s => s.QsType == "1"
+ && s.ItemNo == itemNo && s.Fsubmit == 1).Count();
+
+ if (count <= 0) return [];
+
+ return db
+ .Queryable<MesQualityStandard>()
+ .Where(b => b.QsType == "1" && b.ItemNo == itemNo).Select(
+ b => new QsItemIpiItem
+ {
+ ProjName = b.ProjName,
+ ItemMod = b.ItemMod,
+ InspectionMethod = b.InspectionMethod,
+ UsingInstruments = b.UsingInstruments,
+ LevelNum = SqlFunc.IsNull(
+ SqlFunc.IsNull(b.LevelNum * b.InspectionLevel, 1),
+ b.InspectionLevel),
+ MaxValue = b.MaxValue,
+ StandardValue = b.StandardValue,
+ MinValue = b.MinValue,
+ Notes = b.Notes,
+ FcheckLevel = b.FcheckLevel,
+ FacLevel = b.FacLevel,
+ QsCode = b.QsCode,
+ QsName = b.QsName,
+ Picture = b.Picture,
+ Picturename = b.Picturename,
+ result = "鏈娴�",
+ isCheck = 0
+ }).ToList();
+ }
+
+ public List<QsItemIpiItem> getQSItems(decimal? pid, decimal? id)
+ {
+ var db = SqlSugarHelper.GetInstance();
+ var qsItemIpiItems = db
+ .Queryable<QsItemIpiItem>()
+ .WhereIF(pid > 0, a => a.Pid == pid)
+ .WhereIF(id > 0, a => a.Id == id).ToList();
+
+ var array = qsItemIpiItems.Select(s => s.Id).ToArray();
+ var qsItemIpiItemDetails = db.Queryable<QsItemIpiItemDetail>()
+ .Where(s => array.Contains(s.Pid))
+ .GroupBy(s => s.Pid)
+ .Select(s => new
+ {
+ s.Pid,
+ count = SqlFunc.AggregateCount(s.Id)
+ }).ToList();
+
+ qsItemIpiItems.ForEach(s =>
+ {
+ var find = qsItemIpiItemDetails.Find(a => s.Id == a.Pid);
+ if (find == null)
+ {
+ s.isCheck = 0;
+ s.result = "鏈畬鎴�";
+ }
+ else
+ {
+ s.isCheck = find.count;
+ if (find.count == s.LevelNum && s.IsPass == 1)
+ s.result = "鍚堟牸";
+ else if (find.count == s.LevelNum && s.IsPass == 0)
+ s.result = "涓嶅悎鏍�";
+ else
+ s.result = "鏈畬鎴�";
+ }
+ });
+
+ //浣跨敤linq琛ㄨ揪寮忚繃婊ゅ嚭鍥剧墖id涓嶄负绌虹殑鏁版嵁
+ var itemIpiItems =
+ qsItemIpiItems.Where(s => s.Picture is { Length: > 0 })
+ .ToList();
+ if (itemIpiItems.Count > 0)
+ itemIpiItems.ForEach(s =>
+ {
+ var qsItemIpiItem = qsItemIpiItems.Find(t => t.Id == s.Id);
+ //灏嗗瓧鑺傛暟缁勮浆鎹负Base64缂栫爜鐨勫瓧绗︿覆
+ qsItemIpiItem.imageData = Convert.ToBase64String(s.Picture);
+ });
+
+ //鎺掑簭锛屾湭瀹屾垚鐨勬帓鍦ㄥ墠闈�
+ qsItemIpiItems = qsItemIpiItems.OrderBy(s => s.isCheck).ToList();
+
+ return qsItemIpiItems;
+ }
+
+ public QsItem Save(QsItem item)
+ {
+ var qsItemIpiReq = item.From;
+ var qsItemIpiItems = item.Items;
+ SqlSugarHelper.UseTransactionWithOracle(
+ db =>
+ {
+ qsItemIpiReq.StatusDate = DateTime.Now;
+ var pid = db.Insertable(qsItemIpiReq)
+ .ExecuteReturnIdentity();
+ qsItemIpiReq.Id = pid;
+
+ item.gid = pid;
+
+ qsItemIpiItems.ForEach(s => s.Pid = pid);
+
+ return db.Insertable(qsItemIpiItems)
+ .ExecuteCommand();
+ });
+ item.Items = getQSItems(qsItemIpiReq.Id, null);
+
+ //娌℃湁涓婁笅闄愮殑妫�楠岄」鐩嚜鍔ㄧ洏鐐逛负鍚堟牸
+ item.Items.ForEach(s =>
+ {
+ if (s.MaxValue != null || s.StandardValue != null ||
+ s.MinValue != null) return;
+ var detail = new QsItemIpiItemDetail();
+ detail.Pid = s.Id;
+ detail.Gid = item.gid;
+ detail.Fstand = "鈭�";
+ detail.FcheckResu = "1";
+ detail.UpdateBy = item.From.StatusUser;
+ detail.count = (int?)s.LevelNum;
+ SetQSItemDetail(detail);
+ });
+
+ item.Items = getQSItems(qsItemIpiReq.Id, null);
+ var sjPageResult = new SJPageResult
+ { Id = item.From.Id, Limit = 1, PageIndex = 1 };
+ item.Result = getPage(sjPageResult)[0];
+
+ return item;
+ }
+
+ public QsItem SaveItem(QsItem item)
+ {
+ var qsItemIpiItems = item.Items;
+ SqlSugarHelper.UseTransactionWithOracle(
+ db =>
+ {
+ qsItemIpiItems.ForEach(s => s.Pid = item.gid);
+
+ return db.Insertable(qsItemIpiItems)
+ .ExecuteCommand();
+ });
+ item.Items = getQSItems(item.gid, null);
+
+ //娌℃湁涓婁笅闄愮殑妫�楠岄」鐩嚜鍔ㄧ洏鐐逛负鍚堟牸
+ item.Items.ForEach(s =>
+ {
+ if (s.MaxValue != null || s.StandardValue != null ||
+ s.MinValue != null) return;
+ var detail = new QsItemIpiItemDetail();
+ detail.Pid = s.Id;
+ detail.Gid = item.gid;
+ detail.Fstand = "鈭�";
+ detail.FcheckResu = "1";
+ detail.UpdateBy = item.StatusUser;
+ detail.count = (int?)s.LevelNum;
+ SetQSItemDetail(detail);
+ });
+
+ item.Items = getQSItems(item.gid, null);
+
+ return item;
+ }
+
+ public int SetQSItemDetail(QsItemIpiItemDetail detail)
+ {
+ var oracle = SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ List<QsItemIpiItemDetail> result = new();
+ for (var i = 0; i < detail.count; i++)
+ {
+ var item = new QsItemIpiItemDetail();
+ item.Gid = detail.Gid;
+ item.Pid = detail.Pid;
+ item.Fstand = detail.Fstand;
+ item.FcheckResu = detail.FcheckResu;
+ item.CreateBy = detail.UpdateBy;
+ item.CreateDate = DateTime.Now;
+ result.Add(item);
+ }
+
+ return db.Insertable(result).ExecuteCommand();
+ });
+
+ detail.CreateBy = detail.UpdateBy;
+
+ autoResult(detail);
+
+ return oracle;
+ }
+
+ public List<QsItemIpiItemDetail> getQSItemDetail(decimal? pid, decimal? gid)
+ {
+ var db = SqlSugarHelper.GetInstance();
+ return db.Queryable<QsItemIpiItemDetail>()
+ .Where(s => s.Pid == pid)
+ .WhereIF(gid > 0, s => s.Gid == gid)
+ .ToList();
+ }
+
+
+ //鑷姩鍒ゅ畾鏄惁鍚堟牸
+ private int autoResult(QsItemIpiItemDetail detail)
+ {
+ var db = SqlSugarHelper.GetInstance();
+
+ // Single 娌℃湁鏌ヨ鍒扮粨鏋滄椂杩斿洖Null锛屽鏋滅粨鏋滃ぇ浜�1鏉′細鎶涘嚭閿欒
+ var qsItemIpiItem = db.Queryable<QsItemIpiItem>()
+ .Single(s => s.Id == detail.Pid);
+
+ if (qsItemIpiItem == null) return 0;
+
+ var count = db.Queryable<QsItemIpiItemDetail>()
+ .Where(s => s.Pid == detail.Pid).Count();
+
+
+ var result = 0;
+
+ if (qsItemIpiItem.LevelNum != count) return 0;
+
+ var passCount = db.Queryable<QsItemIpiItemDetail>()
+ .Where(s => s.Pid == detail.Pid && s.Fstand == "鈭�").Count();
+
+ if (count == passCount) result = 1;
+
+ var useTransactionWithOracle = SqlSugarHelper.UseTransactionWithOracle(
+ db =>
+ {
+ var commit = 0;
+ commit += db.Updateable<QsItemIpiItem>()
+ .SetColumns(s => s.IsPass == result)
+ .Where(s => s.Id == detail.Pid)
+ .ExecuteCommand();
+ return commit;
+ });
+
+
+ //鑷姩鍒ゅ畾鏄惁鍚堟牸
+ //鑾峰彇妫�楠屽崟鐨勬楠岄」鐩悊璁轰釜鏁�
+ var sum = db.Queryable<QsItemIpiItem>()
+ .Where(s => s.Pid == detail.Gid).Sum(it => it.LevelNum);
+ if (sum == null || sum == 0) return 1;
+
+ //鑾峰彇妫�楠屽崟涓嬬殑妫�楠岄」鐩疄闄呬釜鏁�
+ var icount = db.Queryable<QsItemIpiItemDetail>()
+ .Where(s => s.Gid == detail.Gid).Count();
+
+ if (icount == 0) return 1;
+
+ //瀹為檯涓暟绛変簬鐞嗚涓暟鏃跺妫�楠屽崟杩涜鍒ゅ畾
+ if (sum == icount)
+ {
+ result = 0;
+
+ //鑾峰彇杩欎釜妫�楠屽崟涓嬬殑鎵�鏈夊悎鏍肩殑妫�楠岀粨鏋�
+ passCount = db.Queryable<QsItemIpiItemDetail>()
+ .Where(s => s.Gid == detail.Gid && s.Fstand == "鈭�").Count();
+
+ //鍚堟牸鐨勬楠岀粨鏋滅瓑浜庢�绘楠屾暟瑙嗕负鍚堟牸
+ if (icount == passCount) result = 1;
+
+ useTransactionWithOracle += SqlSugarHelper.UseTransactionWithOracle(
+ db =>
+ {
+ return db.Updateable<QsItemIpiReq>()
+ .SetColumns(s => s.IsPass == result)
+ .SetColumns(s => s.StatusUser == detail.CreateBy)
+ .SetColumns(s => s.CompleteTime == DateTime.Now)
+ .Where(s => s.Id == detail.Gid)
+ .ExecuteCommand();
+ });
+ }
+
+ return useTransactionWithOracle;
+ }
+
+ public int UpdateQSItemDetail(QsItemIpiItemDetail detail)
+ {
+ var withOracle = SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ return db.Updateable<QsItemIpiItemDetail>()
+ .SetColumns(s => s.UpdateBy == detail.UpdateBy)
+ .SetColumns(s => s.UpdateDate == DateTime.Now)
+ .SetColumnsIF(StringUtil.IsNotNullOrEmpty(detail.Fstand),
+ s => s.Fstand == detail.Fstand)
+ .SetColumnsIF(StringUtil.IsNotNullOrEmpty(detail.FcheckResu),
+ s => s.FcheckResu == detail.FcheckResu)
+ .Where(s => s.Id == detail.Id)
+ .ExecuteCommand();
+ });
+
+ detail.CreateBy = detail.UpdateBy;
+
+ withOracle += autoResult(detail);
+
+ return withOracle;
+ }
+
+
+ //涓昏〃淇敼澶囨敞瀛楁
+ public int saveRemarksGid(QsItem dto)
+ {
+ return SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ return db.Updateable<QsItemIpiReq>()
+ .SetColumns(it =>
+ it.Remarks == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊�
+ .Where(it => it.Id == dto.gid)
+ .ExecuteCommand();
+ });
+ }
+
+ //瀛愯〃淇敼澶囨敞瀛楁
+ public int saveRemarksPid(QsItem dto)
+ {
+ return SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ return db.Updateable<QsItemIpiItem>()
+ .SetColumns(it =>
+ it.Remarks == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊�
+ .Where(it => it.Id == dto.pid)
+ .ExecuteCommand();
+ });
+ }
+
+ //瀛欒〃淇敼澶囨敞瀛楁
+ public int saveRemarksById(QsItem dto)
+ {
+ return SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ return db.Updateable<QsItemIpiItemDetail>()
+ .SetColumns(it =>
+ it.Remarks == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊�
+ .Where(it => it.Id == dto.id)
+ .ExecuteCommand();
+ });
+ }
+
+ public int removeXJ(decimal? id)
+ {
+ var withOracle = SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ var commit = 0;
+ //鍒犻櫎涓昏〃
+ commit += db.Deleteable<QsItemIpiReq>().Where(s => s.Id == id)
+ .ExecuteCommand();
+ //鍒犻櫎瀛愯〃
+ commit += db.Deleteable<QsItemIpiItem>().Where(s => s.Pid == id)
+ .ExecuteCommand();
+ //鍒犻櫎瀛欒〃
+ commit += db.Deleteable<QsItemIpiItemDetail>()
+ .Where(s => s.Gid == id)
+ .ExecuteCommand();
+ return commit;
+ });
+
+ return withOracle;
+ }
+}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/service/QC/SuspendService.cs b/StandardPda/MES.Service/service/QC/SuspendService.cs
new file mode 100644
index 0000000..ce48de9
--- /dev/null
+++ b/StandardPda/MES.Service/service/QC/SuspendService.cs
@@ -0,0 +1,119 @@
+锘縰sing MES.Service.DB;
+using MES.Service.Modes;
+using SqlSugar;
+
+namespace MES.Service.service.QC;
+
+public class SuspendService
+{
+ private readonly string[] statusArray = ["寮�宸�", "寰呭紑宸�"];
+
+ public List<SysDepartment> getDept()
+ {
+ var db = SqlSugarHelper.GetInstance();
+ //return db.Queryable<SysDepartment>().ToList();
+ return db
+ .Queryable<Womdaa, MesLine, QsQaItemXj, SysDepartment>(
+ (a, b, c, d) =>
+ new JoinQueryInfos(JoinType.Left,
+ a.Daa002 == b.Id.ToString(),
+ JoinType.Inner, a.Daa001 == c.BillNo,
+ JoinType.Left, b.Departmentcode == d.Departmentcode))
+ .Where((a, b, c, d) => b.LineName != null &&
+ statusArray.Contains(a.Daa018))
+ .GroupBy((a, b, c, d) => new
+ {
+ b.Departmentcode, d.Departmentname
+ })
+ .Select((a, b, c, d) => new SysDepartment
+ {
+ Departmentcode = b.Departmentcode,
+ Departmentname = d.Departmentname
+ }).ToList();
+ }
+
+ public List<MesLine> GetLines(string deptCode)
+ {
+ var db = SqlSugarHelper.GetInstance();
+ var mesLines = db.Queryable<Womdaa, MesLine, QsQaItemXj>(
+ (a, b, c) =>
+ new JoinQueryInfos(JoinType.Left,
+ a.Daa002 == b.Id.ToString(),
+ JoinType.Inner, a.Daa001 == c.BillNo))
+ .Where((a, b, c) => b.LineName != null &&
+ statusArray.Contains(a.Daa018)
+ && b.Departmentcode == deptCode)
+ .GroupBy((a, b, c) => new
+ {
+ b.LineNo, b.LineName
+ })
+ .Select((a, b, c) => new MesLine
+ {
+ LineNo = b.LineNo,
+ LineName = b.LineName
+ }).ToList();
+
+ var mesQsSuspends = db.Queryable<MesQsSuspend>()
+ .Where(s => s.IsSuspend == 0).ToList();
+
+ return mesLines.Where(p => mesQsSuspends.All(e => e.LineNo != p.LineNo))
+ .ToList();
+ }
+
+ public int save(MesQsSuspend entity)
+ {
+ entity.CreateDate = DateTime.Now;
+ return SqlSugarHelper.UseTransactionWithOracle(db =>
+ db.Insertable(entity).ExecuteCommand());
+ }
+
+ public List<MesQsSuspend> getAllByDeptNo(string deptNo)
+ {
+ var db = SqlSugarHelper.GetInstance();
+ return db.Queryable<MesQsSuspend>()
+ .Where(a => a.DeptNo == deptNo && a.IsSuspend == 0).ToList();
+ }
+
+ public List<MesQsSuspend> getOpenDept()
+ {
+ var db = SqlSugarHelper.GetInstance();
+ return db.Queryable<MesQsSuspend>().GroupBy(a => new
+ {
+ a.DeptNo,
+ a.DeptName
+ }).Select<MesQsSuspend>(a => new MesQsSuspend
+ {
+ DeptNo = a.DeptNo,
+ DeptName = a.DeptName
+ }).ToList();
+ }
+
+ public List<MesQsSuspend> getOpenLine(string deptNo)
+ {
+ var db = SqlSugarHelper.GetInstance();
+ return db.Queryable<MesQsSuspend>()
+ .Where(a => a.DeptNo == deptNo && a.IsSuspend == 0)
+ .GroupBy(a => new
+ {
+ a.LineNo,
+ a.LineName
+ }).Select<MesQsSuspend>(a => new MesQsSuspend
+ {
+ LineNo = a.LineNo,
+ LineName = a.LineName
+ }).ToList();
+ }
+
+ public int UpdateById(MesQsSuspend entity)
+ {
+ return SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ return db.Updateable<MesQsSuspend>()
+ .SetColumns(a => a.IsSuspend == entity.IsSuspend)
+ .SetColumns(a => a.OpenDate == DateTime.Now)
+ .SetColumns(a => a.TimeDifference == entity.TimeDifference)
+ .Where(a => a.Id == entity.Id)
+ .ExecuteCommand();
+ });
+ }
+}
\ No newline at end of file
diff --git a/StandardPda/MES.Service/service/QC/XJService.cs b/StandardPda/MES.Service/service/QC/XJService.cs
new file mode 100644
index 0000000..9ed2beb
--- /dev/null
+++ b/StandardPda/MES.Service/service/QC/XJService.cs
@@ -0,0 +1,531 @@
+锘縰sing MES.Service.DB;
+using MES.Service.Dto.service;
+using MES.Service.Modes;
+using MES.Service.util;
+using SqlSugar;
+
+namespace MES.Service.service.QC;
+
+public class XJService
+{
+ private static readonly OracleSQLHelper SQLHelper = new();
+
+ private readonly BaseService _baseService = new();
+
+
+ private readonly string[] statusArray = ["寮�宸�", "寰呭紑宸�"];
+
+ //鐢熸垚鏈�鏂扮殑妫�楠屽崟鍙�
+ public string getMaxReleaseNo()
+ {
+ var sql =
+ string.Format(
+ "select max(RELEASE_NO) from QS_QA_ITEM_XJ where RELEASE_NO like 'XJN%' and to_char(CREATE_DATE,'yyyy-mm-dd') = '{0}'",
+ DateTime.Now.ToString("yyyy-MM-dd"));
+
+ var executeScalar = SQLHelper.ExecuteScalar(sql);
+ var date = DateTime.Now.ToString("yyMMdd");
+ var number = "0001";
+ var olReleaseNo = executeScalar.ToString();
+ //鍒ゆ柇浠婂ぉ鏄惁鐢熸垚浜嗗贰妫�鍗�
+ if (string.IsNullOrEmpty(olReleaseNo)) return "XJN" + date + number;
+ //鎴彇鍚庡洓浣嶇殑娴佹按鍙风疮鍔�
+ var substring = Convert.ToInt32(olReleaseNo.Substring(10));
+ substring += 1;
+ number = substring.ToString("D4");
+
+ //濡傛灉涓虹┖鐩存帴杩斿洖0001
+ return "XJN" + date + number;
+ }
+
+ public List<Womdaa> getItem(string daa001)
+ {
+ var db = SqlSugarHelper.GetInstance();
+
+ //in鐨勫啓娉� https://www.donet5.com/Home/Doc?typeId=1187
+
+ return db.Queryable<Womdaa>()
+ .Where(a =>
+ a.Daa001 == daa001 &&
+ statusArray.Contains(a.Daa018))
+ .ToList();
+ }
+
+ public List<MesLine> getLineAll()
+ {
+ var db = SqlSugarHelper.GetInstance();
+
+ return db.Queryable<Womdaa, MesLine>((a, b) =>
+ new JoinQueryInfos(JoinType.Left, a.Daa015 == b.LineNo))
+ .Where((a, b) => b.LineName != null &&
+ statusArray.Contains(a.Daa018))
+ .GroupBy((a, b) => new
+ {
+ b.LineNo, b.LineName
+ })
+ .Select((a, b) => new MesLine
+ {
+ LineNo = b.LineNo,
+ LineName = b.LineName
+ }).OrderBy("b.LINE_NO").ToList();
+ }
+
+ public List<Womdaa> getDaa001(string daa020, string item)
+ {
+ var db = SqlSugarHelper.GetInstance();
+ return db.Queryable<Womdaa, MesItems>((a, b) =>
+ new JoinQueryInfos(JoinType.Inner, a.Daa002 == b.Id.ToString()))
+ .Where((a, b) =>
+ a.Daa015 == daa020 &&
+ b.ItemNo == item &&
+ statusArray.Contains(a.Daa018))
+ .Select<Womdaa>(a => new Womdaa
+ {
+ Id = a.Id,
+ Daa001 = a.Daa001,
+ Daa003 = a.Daa003,
+ Daa008 = a.Daa008
+ }).ToList();
+ }
+
+ public List<MesItems> getBoardItem(string lineNo)
+ {
+ var db = SqlSugarHelper.GetInstance();
+ return db.Queryable<Womdaa, MesItems>((a, b) =>
+ new JoinQueryInfos(JoinType.Inner, a.Daa002 == b.Id.ToString()))
+ .Where((a, b) => statusArray.Contains(a.Daa018) &&
+ a.Daa015 == lineNo)
+ .OrderBy((a, b) => b.ItemName)
+ .Select<MesItems>((a, b) =>
+ new MesItems
+ {
+ Id = b.Id,
+ ItemNo = b.ItemNo,
+ ItemName = b.ItemName,
+ ItemModel = b.ItemModel
+ }).ToList();
+ }
+
+ public List<QsQaItemXj> getPage(XJPageResult queryObj)
+ {
+ var db = SqlSugarHelper.GetInstance();
+
+ var id = Convert.ToDecimal(queryObj.id);
+
+ string[]? lineNo = null;
+
+ if (StringUtil.IsNotNullOrEmpty(queryObj.createUser))
+ lineNo = _baseService.getUserLineNo(queryObj.createUser);
+
+ return db
+ .Queryable<QsQaItemXj, Womdaa, MesLine,
+ MesItems>((s, a, c, b) =>
+ new JoinQueryInfos(
+ JoinType.Inner, s.BillNo == a.Daa001,
+ JoinType.Left, a.Daa015 == c.LineNo,
+ JoinType.Left, s.ItemId == b.Id
+ )
+ )
+ .WhereIF(lineNo != null && lineNo.Length > 0,
+ (s, a, c, b) => lineNo.Contains(c.LineNo))
+ .WhereIF(
+ StringUtil.IsNotNullOrEmpty(queryObj.result) &&
+ "鏈畬鎴�".Equals(queryObj.result),
+ (s, a, c, b) => s.FcheckResu == null)
+ .WhereIF(
+ StringUtil.IsNotNullOrEmpty(queryObj.result) &&
+ !"鏈畬鎴�".Equals(queryObj.result),
+ (s, a, c, b) => s.FcheckResu != null)
+ .WhereIF(id > 0, (s, a, c, b) => s.Id == id)
+ .Select((s, a, c, b) => new QsQaItemXj
+ {
+ Daa020 = c.LineNo,
+ Id = s.Id,
+ PlanQty = a.Daa008,
+ CreateBy = s.CreateBy,
+ CreateDate = s.CreateDate,
+ ReleaseNo = s.ReleaseNo,
+ ItemNo = s.ItemNo,
+ BillNo = s.BillNo,
+ ItemName = b.ItemName,
+ ItemModel = b.ItemModel,
+ FcheckBy = s.FcheckBy,
+ FcheckResu = s.FcheckResu,
+ Remarks = s.Remarks
+ }).OrderBy(s => s.CreateDate, OrderByType.Desc)
+ .ToPageList(queryObj.PageIndex, queryObj.Limit);
+ }
+
+
+ public List<QsQaItemXj01> setJYItem(string itemNo)
+ {
+ var db = SqlSugarHelper.GetInstance();
+
+ var count = db.Queryable<MesQa>().Where(s => s.QsType == "2"
+ && s.ItemNo == itemNo && s.Fsubmit == 1).Count();
+
+ if (count <= 0) return new List<QsQaItemXj01>();
+
+ return db
+ .Queryable<MesQualityStandard>()
+ .Where(b => b.QsType == "2"
+ && b.ItemNo == itemNo).Select(
+ b => new QsQaItemXj01
+ {
+ ProjName = b.ProjName,
+ ItemMod = b.ItemMod,
+ InspectionMethod = b.InspectionMethod,
+ UsingInstruments = b.UsingInstruments,
+ LevelNum = SqlFunc.IsNull(
+ SqlFunc.IsNull(b.LevelNum * b.InspectionLevel, 1),
+ b.InspectionLevel),
+ MaxValue = b.MaxValue,
+ StandardValue = b.StandardValue,
+ MinValue = b.MinValue,
+ Notes = b.Notes,
+ FcheckLevel = b.FcheckLevel,
+ FacLevel = b.FacLevel,
+ QsCode = b.QsCode,
+ QsName = b.QsName,
+ result = "鏈娴�",
+ isCheck = 0,
+ Picture = b.Picture,
+ Picturename = b.Picturename
+ }).ToList();
+ }
+
+ public List<QsQaItemXj01> getJYItem(decimal? pid, decimal? id)
+ {
+ var db = SqlSugarHelper.GetInstance();
+ var qsQaItemXj01s = db.Queryable<QsQaItemXj01>()
+ .WhereIF(pid > 0, a => a.Pid == pid)
+ .WhereIF(id > 0, a => a.Id == id)
+ .ToList();
+
+ var array = qsQaItemXj01s.Select(s => s.Id).ToArray();
+ var qsQaItemDetails = db.Queryable<QsQaItemXj02>()
+ .Where(s => array.Contains(s.Pid))
+ .GroupBy(s => s.Pid)
+ .Select(s => new
+ {
+ s.Pid,
+ count = SqlFunc.AggregateCount(s.Id)
+ }).ToList();
+
+ qsQaItemXj01s.ForEach(s =>
+ {
+ var find = qsQaItemDetails.Find(a => s.Id == a.Pid);
+ if (find == null)
+ {
+ s.isCheck = 0;
+ s.result = "鏈畬鎴�";
+ }
+ else
+ {
+ s.isCheck = find.count;
+ if (find.count == s.LevelNum && s.IsPass == 1)
+ s.result = "鍚堟牸";
+ else if (find.count == s.LevelNum && s.IsPass == 0)
+ s.result = "涓嶅悎鏍�";
+ else
+ s.result = "鏈畬鎴�";
+ }
+
+ //杩囨护鍑哄浘鐗噄d涓嶄负绌虹殑鏁版嵁杞负base64
+ if (s.Picture is { Length: > 0 })
+ s.imageData = Convert.ToBase64String(s.Picture);
+ });
+
+ //鎺掑簭锛屾湭瀹屾垚鐨勬帓鍦ㄥ墠闈�
+ qsQaItemXj01s = qsQaItemXj01s.OrderBy(s => s.isCheck).ToList();
+
+ return qsQaItemXj01s;
+ }
+
+
+ public int save(XJDto xjDto)
+ {
+ var xj = xjDto.from;
+ var items = xjDto.items;
+ var userNo = xjDto.userNo;
+
+ SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ var commit = 0;
+
+ xj.CreateBy = userNo;
+ xj.CreateDate = DateTime.Now;
+
+ var pid = db.Insertable(xj).ExecuteReturnIdentity();
+
+ xj.Id = pid;
+
+ xjDto.gid = pid;
+
+ foreach (var item in items) item.Pid = pid;
+
+ commit += db.Insertable(items).ExecuteCommand();
+
+ return commit;
+ });
+
+ xjDto.items = getJYItem(xj.Id, null);
+
+ xjDto.items.ForEach(s =>
+ {
+ if (s.MaxValue != null || s.StandardValue != null ||
+ s.MinValue != null) return;
+ var detail = new QsQaItemXj02();
+ detail.Pid = s.Id;
+ detail.Gid = xjDto.gid;
+ detail.Fstand = "鈭�";
+ detail.FcheckResu = "1";
+ detail.UpdateBy = xjDto.userNo;
+ detail.count = (int?)s.LevelNum;
+ SetQSItemDetail(detail);
+ });
+
+ return Convert.ToInt32(xj.Id);
+ }
+
+ public int saveItem(XJDto xjDto)
+ {
+ var items = xjDto.items;
+ var userNo = xjDto.userNo;
+
+ SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ foreach (var item in items) item.Pid = xjDto.gid;
+
+ return db.Insertable(items).ExecuteCommand();
+ });
+
+ xjDto.items = getJYItem(xjDto.gid, null);
+
+ xjDto.items.ForEach(s =>
+ {
+ if (s.MaxValue != null || s.StandardValue != null ||
+ s.MinValue != null) return;
+ var detail = new QsQaItemXj02();
+ detail.Pid = s.Id;
+ detail.Gid = xjDto.gid;
+ detail.Fstand = "鈭�";
+ detail.FcheckResu = "1";
+ detail.UpdateBy = xjDto.userNo;
+ detail.count = (int?)s.LevelNum;
+ SetQSItemDetail(detail);
+ });
+
+ return Convert.ToInt32(xjDto.gid);
+ }
+
+
+ public XJDto getXjDetail02ById(decimal? id)
+ {
+ var xjDto = new XJDto();
+
+ var db = SqlSugarHelper.GetInstance();
+ var qsQaItemXj01 =
+ db.Queryable<QsQaItemXj01>().Single(s => s.Id == id);
+
+ if (qsQaItemXj01.IsPass == 0)
+ qsQaItemXj01.result = "涓嶅悎鏍�";
+ else if (qsQaItemXj01.IsPass == 1)
+ qsQaItemXj01.result = "鍚堟牸";
+ else
+ qsQaItemXj01.result = "鏈畬鎴�";
+
+ if (qsQaItemXj01.Picture is { Length: > 0 })
+ qsQaItemXj01.imageData =
+ Convert.ToBase64String(qsQaItemXj01.Picture);
+
+ xjDto.ItemXj01 = qsQaItemXj01;
+
+
+ xjDto.ItemXj02s = db.Queryable<QsQaItemXj02>().Where(s => s.Pid == id)
+ .ToList();
+
+ return xjDto;
+ }
+
+ public int SetQSItemDetail(QsQaItemXj02 detail)
+ {
+ var oracle = SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ List<QsQaItemXj02> result = new();
+ for (var i = 0; i < detail.count; i++)
+ {
+ var item = new QsQaItemXj02();
+ item.Gid = detail.Gid;
+ item.Pid = detail.Pid;
+ item.Fstand = detail.Fstand;
+ item.FcheckResu = detail.FcheckResu;
+ item.CreateBy = detail.UpdateBy;
+ item.CreateDate = DateTime.Now;
+ result.Add(item);
+ }
+
+ return db.Insertable(result).ExecuteCommand();
+ });
+
+ detail.CreateBy = detail.UpdateBy;
+
+ autoResult(detail);
+
+ return oracle;
+ }
+
+ private int autoResult(QsQaItemXj02 detail)
+ {
+ var db = SqlSugarHelper.GetInstance();
+
+ // Single 娌℃湁鏌ヨ鍒扮粨鏋滄椂杩斿洖Null锛屽鏋滅粨鏋滃ぇ浜�1鏉′細鎶涘嚭閿欒
+ var QsQaItemXj01 = db.Queryable<QsQaItemXj01>()
+ .Single(s => s.Id == detail.Pid);
+
+ if (QsQaItemXj01 == null) return 0;
+
+ var count = db.Queryable<QsQaItemXj02>()
+ .Where(s => s.Pid == detail.Pid).Count();
+
+
+ var result = 0;
+
+ if (QsQaItemXj01.LevelNum != count) return 0;
+
+ var passCount = db.Queryable<QsQaItemXj02>()
+ .Where(s => s.Pid == detail.Pid && s.Fstand == "鈭�").Count();
+
+ if (count == passCount) result = 1;
+
+ var useTransactionWithOracle = SqlSugarHelper.UseTransactionWithOracle(
+ db =>
+ {
+ var commit = 0;
+ commit += db.Updateable<QsQaItemXj01>()
+ .SetColumns(s => s.IsPass == result)
+ .Where(s => s.Id == detail.Pid)
+ .ExecuteCommand();
+
+ return commit;
+ });
+
+ //鑾峰彇妫�楠屽崟鐨勬楠岄」鐩悊璁轰釜鏁�
+ var sum = db.Queryable<QsQaItemXj01>()
+ .Where(s => s.Pid == detail.Gid).Sum(it => it.LevelNum);
+
+ if (sum == null || sum == 0) return 1;
+
+ //鑾峰彇妫�楠屽崟涓嬬殑妫�楠岄」鐩疄闄呬釜鏁�
+ var icount = db.Queryable<QsQaItemXj02>()
+ .Where(s => s.Gid == detail.Gid).Count();
+
+ if (icount == 0) return 1;
+
+ //瀹為檯涓暟绛変簬鐞嗚涓暟鏃跺妫�楠屽崟杩涜鍒ゅ畾
+ if (sum == icount)
+ {
+ var FcheckResu = "涓嶅悎鏍�";
+
+ //鑾峰彇杩欎釜妫�楠屽崟涓嬬殑鎵�鏈夊悎鏍肩殑妫�楠岀粨鏋�
+ passCount = db.Queryable<QsQaItemXj02>()
+ .Where(s => s.Gid == detail.Gid && s.Fstand == "鈭�").Count();
+
+ //鍚堟牸鐨勬楠岀粨鏋滅瓑浜庢�绘楠屾暟瑙嗕负鍚堟牸
+ if (icount == passCount) FcheckResu = "鍚堟牸";
+
+ SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ return db.Updateable<QsQaItemXj>()
+ .SetColumns(s => s.FcheckResu == FcheckResu)
+ .SetColumns(s => s.FcheckDate == DateTime.Now)
+ .SetColumns(s => s.FcheckBy == detail.CreateBy)
+ .SetColumns(s => s.LastupdateBy == detail.CreateBy)
+ .SetColumns(s => s.LastupdateDate == DateTime.Now)
+ .Where(s => s.Id == detail.Gid)
+ .ExecuteCommand();
+ });
+ }
+
+ return useTransactionWithOracle;
+ }
+
+ public int UpdateQSItemDetail(QsQaItemXj02 detail)
+ {
+ var withOracle = SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ return db.Updateable<QsQaItemXj02>()
+ .SetColumns(s => s.UpdateBy == detail.UpdateBy)
+ .SetColumns(s => s.UpdateDate == DateTime.Now)
+ .SetColumnsIF(StringUtil.IsNotNullOrEmpty(detail.Fstand),
+ s => s.Fstand == detail.Fstand)
+ .SetColumnsIF(StringUtil.IsNotNullOrEmpty(detail.FcheckResu),
+ s => s.FcheckResu == detail.FcheckResu)
+ .Where(s => s.Id == detail.Id)
+ .ExecuteCommand();
+ });
+
+ detail.CreateBy = detail.UpdateBy;
+
+ withOracle += autoResult(detail);
+
+ return withOracle;
+ }
+
+ //鍒犻櫎涓昏〃骞朵笖杩炵骇鍒犻櫎瀛愯〃鍜屽瓩琛�
+ public int removeXJ(decimal? id)
+ {
+ var withOracle = SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ var commit = 0;
+ commit += db.Deleteable<QsQaItemXj>().Where(s => s.Id == id)
+ .ExecuteCommand();
+ commit += db.Deleteable<QsQaItemXj01>().Where(s => s.Pid == id)
+ .ExecuteCommand();
+ commit += db.Deleteable<QsQaItemXj02>().Where(s => s.Gid == id)
+ .ExecuteCommand();
+ return commit;
+ });
+
+ return withOracle;
+ }
+
+ //涓昏〃淇敼澶囨敞瀛楁
+ public int saveRemarksGid(XJDto dto)
+ {
+ return SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ return db.Updateable<QsQaItemXj>()
+ .SetColumns(it =>
+ it.Remarks == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊�
+ .Where(it => it.Id == dto.gid)
+ .ExecuteCommand();
+ });
+ }
+
+ //瀛愯〃淇敼澶囨敞瀛楁
+ public int saveRemarksPid(XJDto dto)
+ {
+ return SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ return db.Updateable<QsQaItemXj01>()
+ .SetColumns(it =>
+ it.Remarks == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊�
+ .Where(it => it.Id == dto.pid)
+ .ExecuteCommand();
+ });
+ }
+
+ //瀛欒〃淇敼澶囨敞瀛楁
+ public int saveRemarksById(XJDto dto)
+ {
+ return SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ return db.Updateable<QsQaItemXj02>()
+ .SetColumns(it =>
+ it.Remarks == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊�
+ .Where(it => it.Id == dto.id)
+ .ExecuteCommand();
+ });
+ }
+}
\ No newline at end of file
diff --git a/StandardPda/MESApplication/Controllers/QC/RKJController.cs b/StandardPda/MESApplication/Controllers/QC/RKJController.cs
new file mode 100644
index 0000000..427250f
--- /dev/null
+++ b/StandardPda/MESApplication/Controllers/QC/RKJController.cs
@@ -0,0 +1,391 @@
+锘縰sing System.Dynamic;
+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;
+
+namespace MESApplication.Controllers.QC;
+
+[Route("api/[controller]")]
+[ApiController]
+public class RKJController : ControllerBase
+{
+ //getMaxReleaseNo
+ [HttpPost("getMaxReleaseNo")]
+ public ResponseResult getMaxReleaseNo()
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new RKJService().getMaxBillNo();
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //getLine
+ [HttpPost("getLineAll")]
+ public ResponseResult getLineAll()
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new RKJService().getLineNo();
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+
+ //getDaa001
+ [HttpPost("getDaa001")]
+ public ResponseResult getDaa001([FromBody] JObject data)
+ {
+ var lineNo = data["lineNo"].ToString();
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new RKJService().GetDaa001s(lineNo);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("setJYItem")]
+ public ResponseResult setJYItem([FromBody] JObject data)
+ {
+ var itemNo = data["itemNo"].ToString();
+ var quantity = Convert.ToDecimal(data["quantity"].ToString());
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new RKJService().SetItems(itemNo, quantity);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("save")]
+ public ResponseResult save([FromBody] RKJDto rkjDto)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new RKJService().save(rkjDto);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("getPage")]
+ public ResponseResult getPage([FromBody] XJPageResult queryObj)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var (items, totalCount) = new RKJService().getPage(queryObj);
+ var tbBillList = items;
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos,
+ TotalCount = totalCount
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //getItems
+ [HttpPost("getItems")]
+ public ResponseResult getJYItem([FromBody] JObject data)
+ {
+ var pid = data["pid"]?.ToString();
+ var id = data["id"]?.ToString();
+
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new RKJService().GetItems(Convert.ToDecimal(pid),
+ Convert.ToDecimal(id));
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //removeXJ
+ [HttpPost("removeXJ")]
+ public ResponseResult removeXJ([FromBody] JObject data)
+ {
+ var id = data["id"]?.ToString();
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new RKJService().removeXJ(Convert.ToDecimal(id));
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //getXjDetail02ById
+ [HttpPost("getXjDetail02ById")]
+ public ResponseResult getXjDetail02ById([FromBody] JObject data)
+ {
+ var id = data["id"]?.ToString();
+
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new RKJService().getXjDetail02ById(Convert.ToDecimal(id));
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+
+ [HttpPost("SetQSItemDetail")]
+ public ResponseResult SetQSItemDetail([FromBody] QsItemOqcItemDetail detail)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList = new RKJService();
+ var detail021 = tbBillList.SetQSItemDetail(detail);
+ resultInfos.tbBillList = detail021;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("UpdateQSItemDetail")]
+ public ResponseResult UpdateQSItemDetail(
+ [FromBody] QsItemOqcItemDetail detail)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList = new RKJService();
+ var detail021 = tbBillList.UpdateQSItemDetail(detail);
+ resultInfos.tbBillList = detail021;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //saveRemarksGid
+ [HttpPost("saveRemarksGid")]
+ public ResponseResult saveRemarksGid([FromBody] RKJDto rkjDto)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new RKJService().saveRemarksGid(rkjDto);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //saveRemarksPid
+ [HttpPost("saveRemarksPid")]
+ public ResponseResult saveRemarksPid([FromBody] RKJDto rkjDto)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new RKJService().saveRemarksPid(rkjDto);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //saveRemarksById
+ [HttpPost("saveRemarksById")]
+ public ResponseResult saveRemarksById([FromBody] RKJDto rkjDto)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new RKJService().saveRemarksById(rkjDto);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+
+ [HttpPost("saveItem")]
+ public ResponseResult saveItem([FromBody] RKJDto xjDto)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new RKJService().saveItem(xjDto);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //cleanReqResult
+ [HttpPost("cleanReqResult")]
+ public ResponseResult cleanReqResult([FromBody] RKJDto xjDto)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new RKJService().cleanReqResult(xjDto);
+ resultInfos.tbBillList = tbBillList;
+ 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/StandardPda/MESApplication/Controllers/QC/SJController.cs b/StandardPda/MESApplication/Controllers/QC/SJController.cs
new file mode 100644
index 0000000..107d6b9
--- /dev/null
+++ b/StandardPda/MESApplication/Controllers/QC/SJController.cs
@@ -0,0 +1,322 @@
+锘縰sing System.Dynamic;
+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;
+
+namespace MESApplication.Controllers.QC;
+
+[Route("api/[controller]")]
+[ApiController]
+public class SJController : ControllerBase
+{
+ [HttpPost("GetMaxBillNo")]
+ public ResponseResult GetMaxBillNo()
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new SJService().getMaxBillNo();
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+
+ [HttpPost("GetPage")]
+ public ResponseResult GetPage([FromBody] SJPageResult queryObj)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new SJService().getPage(queryObj);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+
+ //SetQSItems
+ [HttpPost("SetQSItems")]
+ public ResponseResult SetQSItems([FromBody] JObject data)
+ {
+ var itemNo = data["itemNo"].ToString();
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList = new SJService();
+ var detail021 = tbBillList.SetQSItems(itemNo);
+ resultInfos.tbBillList = detail021;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("Save")]
+ public ResponseResult Save([FromBody] QsItem item)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList = new SJService();
+ var detail021 = tbBillList.Save(item);
+ resultInfos.tbBillList = detail021;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //SaveItem
+ [HttpPost("SaveItem")]
+ public ResponseResult SaveItem([FromBody] QsItem item)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList = new SJService();
+ var detail021 = tbBillList.SaveItem(item);
+ resultInfos.tbBillList = detail021;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //getQSItems
+ [HttpPost("getQSItems")]
+ public ResponseResult getQSItems([FromBody] JObject data)
+ {
+ var pid = data["pid"]?.ToString();
+ var id = data["id"]?.ToString();
+
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList = new SJService();
+ var detail021 = tbBillList.getQSItems(Convert.ToDecimal(pid),
+ Convert.ToDecimal(id));
+ resultInfos.tbBillList = detail021;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("SetQSItemDetail")]
+ public ResponseResult SetQSItemDetail([FromBody] QsItemIpiItemDetail detail)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList = new SJService();
+ var detail021 = tbBillList.SetQSItemDetail(detail);
+ resultInfos.tbBillList = detail021;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+
+ [HttpPost("getQSItemDetail")]
+ public ResponseResult getQSItemDetail([FromBody] JObject data)
+ {
+ var pid = data["pid"]?.ToString();
+ var gid = data["gid"]?.ToString();
+
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList = new SJService();
+ var detail021 = tbBillList.getQSItemDetail(Convert.ToDecimal(pid),
+ Convert.ToDecimal(gid));
+ resultInfos.tbBillList = detail021;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+
+ [HttpPost("UpdateQSItemDetail")]
+ public ResponseResult UpdateQSItemDetail(
+ [FromBody] QsItemIpiItemDetail detail)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList = new SJService();
+ var detail021 = tbBillList.UpdateQSItemDetail(detail);
+ resultInfos.tbBillList = detail021;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //saveRemarksGid
+ [HttpPost("saveRemarksGid")]
+ public ResponseResult saveRemarksGid([FromBody] QsItem rkjDto)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new SJService().saveRemarksGid(rkjDto);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //saveRemarksPid
+ [HttpPost("saveRemarksPid")]
+ public ResponseResult saveRemarksPid([FromBody] QsItem rkjDto)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new SJService().saveRemarksPid(rkjDto);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //saveRemarksById
+ [HttpPost("saveRemarksById")]
+ public ResponseResult saveRemarksById([FromBody] QsItem rkjDto)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new SJService().saveRemarksById(rkjDto);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //removeSJ
+ [HttpPost("removeSJ")]
+ public ResponseResult removeSJ([FromBody] JObject data)
+ {
+ var id = data["id"]?.ToString();
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new SJService().removeXJ(Convert.ToDecimal(id));
+ resultInfos.tbBillList = tbBillList;
+ 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/StandardPda/MESApplication/Controllers/QC/SuspendController.cs b/StandardPda/MESApplication/Controllers/QC/SuspendController.cs
new file mode 100644
index 0000000..ff980df
--- /dev/null
+++ b/StandardPda/MESApplication/Controllers/QC/SuspendController.cs
@@ -0,0 +1,176 @@
+锘縰sing System.Dynamic;
+using MES.Service.Dto.service;
+using MES.Service.service.QC;
+using MES.Service.util;
+using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json.Linq;
+
+namespace MESApplication.Controllers.QC;
+
+[Route("api/[controller]")]
+[ApiController]
+public class SuspendController : ControllerBase
+{
+ [HttpPost("getDept")]
+ public ResponseResult saveImage()
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new SuspendService().getDept();
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("getDeptCode")]
+ public ResponseResult getDeptCode([FromBody] JObject data)
+ {
+ var deptCode = data["deptCode"].ToString();
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new SuspendService().GetLines(deptCode);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("save")]
+ public ResponseResult save([FromBody] XJDto dto)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new SuspendService().save(dto.entity);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //getAllByDeptNo
+ [HttpPost("getAllByDeptNo")]
+ public ResponseResult getAllByDeptNo([FromBody] JObject data)
+ {
+ var deptCode = data["deptCode"].ToString();
+
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new SuspendService().getAllByDeptNo(deptCode);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //getOpenDept
+ [HttpPost("getOpenDept")]
+ public ResponseResult getOpenDept()
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new SuspendService().getOpenDept();
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //getOpenLine
+ [HttpPost("getOpenLine")]
+ public ResponseResult getOpenLine([FromBody] JObject data)
+ {
+ var deptCode = data["deptCode"].ToString();
+
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new SuspendService().getOpenLine(deptCode);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //UpdateById
+ [HttpPost("UpdateById")]
+ public ResponseResult UpdateById([FromBody] XJDto dto)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new SuspendService().UpdateById(dto.entity);
+ resultInfos.tbBillList = tbBillList;
+ 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/StandardPda/MESApplication/Controllers/QC/XJController.cs b/StandardPda/MESApplication/Controllers/QC/XJController.cs
new file mode 100644
index 0000000..ef25d6b
--- /dev/null
+++ b/StandardPda/MESApplication/Controllers/QC/XJController.cs
@@ -0,0 +1,445 @@
+锘縰sing System.Dynamic;
+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;
+
+namespace MESApplication.Controllers.QC;
+
+[Route("api/[controller]")]
+[ApiController]
+public class XJController : ControllerBase
+{
+ [HttpPost("getAll")]
+ public ResponseResult getAll([FromBody] JObject data)
+ {
+ var modify1Flag = Convert.ToInt32(data["modify1Flag"].ToString());
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ // var tbBillList =
+ // new XJService().getAll(modify1Flag);
+ // resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //getMaxReleaseNo
+ [HttpPost("getMaxReleaseNo")]
+ public ResponseResult getMaxReleaseNo()
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new XJService().getMaxReleaseNo();
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //getLine
+ [HttpPost("getLineAll")]
+ public ResponseResult getLineAll()
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new XJService().getLineAll();
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+
+ /// <summary>
+ /// 鑾峰彇宸ュ崟
+ /// </summary>
+ [HttpPost("getDaa001")]
+ public ResponseResult getDaa001([FromBody] JObject data)
+ {
+ var daa020 = data["daa020"].ToString();
+ var item = data["item"].ToString();
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new XJService().getDaa001(daa020, item);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 鏍规嵁浜х嚎鑾峰彇鐗╂枡缂栫爜 lineNo
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost("getBoardItem")]
+ public ResponseResult getBoardItem([FromBody] JObject data)
+ {
+ var lineNo = data["lineNo"].ToString();
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new XJService().getBoardItem(lineNo);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //getItem
+ [HttpPost("getItem")]
+ public ResponseResult getItem([FromBody] JObject data)
+ {
+ var daa001 = data["daa001"].ToString();
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new XJService().getItem(daa001);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //setJYItem
+ [HttpPost("setJYItem")]
+ public ResponseResult setJYItem([FromBody] JObject data)
+ {
+ var itemNo = data["itemNo"].ToString();
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new XJService().setJYItem(itemNo);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //save
+ [HttpPost("save")]
+ public ResponseResult save([FromBody] XJDto xjDto)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new XJService().save(xjDto);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("saveItem")]
+ public ResponseResult saveItem([FromBody] XJDto xjDto)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new XJService().saveItem(xjDto);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //getPage
+ [HttpPost("getPage")]
+ public ResponseResult getPage([FromBody] XJPageResult queryObj)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new XJService().getPage(queryObj);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //getJYItem
+ [HttpPost("getJYItem")]
+ public ResponseResult getJYItem([FromBody] JObject data)
+ {
+ var pid = data["pid"]?.ToString();
+ var id = data["id"]?.ToString();
+
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new XJService().getJYItem(Convert.ToDecimal(pid),
+ Convert.ToDecimal(id));
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //getXjDetail02ById
+ [HttpPost("getXjDetail02ById")]
+ public ResponseResult getXjDetail02ById([FromBody] JObject data)
+ {
+ var id = data["id"]?.ToString();
+
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new XJService().getXjDetail02ById(Convert.ToDecimal(id));
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("SetQSItemDetail")]
+ public ResponseResult SetQSItemDetail([FromBody] QsQaItemXj02 detail)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList = new XJService();
+ var detail021 = tbBillList.SetQSItemDetail(detail);
+ resultInfos.tbBillList = detail021;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ [HttpPost("UpdateQSItemDetail")]
+ public ResponseResult UpdateQSItemDetail(
+ [FromBody] QsQaItemXj02 detail)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList = new XJService();
+ var detail021 = tbBillList.UpdateQSItemDetail(detail);
+ resultInfos.tbBillList = detail021;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //removeXJ
+ [HttpPost("removeXJ")]
+ public ResponseResult removeXJ([FromBody] JObject data)
+ {
+ var id = data["id"]?.ToString();
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new XJService().removeXJ(Convert.ToDecimal(id));
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+
+ //saveRemarksGid
+ [HttpPost("saveRemarksGid")]
+ public ResponseResult saveRemarksGid([FromBody] XJDto rkjDto)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new XJService().saveRemarksGid(rkjDto);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //saveRemarksPid
+ [HttpPost("saveRemarksPid")]
+ public ResponseResult saveRemarksPid([FromBody] XJDto rkjDto)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new XJService().saveRemarksPid(rkjDto);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ //saveRemarksById
+ [HttpPost("saveRemarksById")]
+ public ResponseResult saveRemarksById([FromBody] XJDto rkjDto)
+ {
+ try
+ {
+ dynamic resultInfos = new ExpandoObject();
+ var tbBillList =
+ new XJService().saveRemarksById(rkjDto);
+ resultInfos.tbBillList = tbBillList;
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = resultInfos
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+}
\ No newline at end of file
--
Gitblit v1.9.3