From dabfdd9dbf0364b1134daaad86af7e13f6437295 Mon Sep 17 00:00:00 2001
From: xwt <2740516069@qq.com>
Date: 星期四, 30 十月 2025 12:40:30 +0800
Subject: [PATCH] XJ,SJ,RKJ检验项目序号,LLJ单个检验项目FTP附件信息
---
StandardInterface/MES.Service/Modes/QsItemOqcItem.cs | 7
StandardInterface/MES.Service/service/QC/RKJService.cs | 42 ++-
StandardInterface/MES.Service/Dto/service/SJPageResult.cs | 12 +
StandardInterface/MES.Service/Modes/QsQaItemXj01.cs | 7
StandardInterface/MES.Service/service/QC/SJService.cs | 199 +++++++++++++++------
StandardInterface/MESApplication/appsettings.json | 2
StandardInterface/MES.Service/Dto/service/XJPageResult.cs | 10 +
StandardInterface/MES.Service/service/QC/BaseService.cs | 77 ++++++++
StandardInterface/MES.Service/service/QC/LljService.cs | 41 +++
StandardInterface/MES.Service/service/QC/XJService.cs | 22 ++
StandardInterface/MESApplication/Controllers/QC/BaseController.cs | 48 +++++
StandardInterface/MES.Service/Modes/QsItemIpiItem.cs | 7
StandardInterface/MESApplication/Controllers/QC/LljController.cs | 21 +
13 files changed, 402 insertions(+), 93 deletions(-)
diff --git a/StandardInterface/MES.Service/Dto/service/SJPageResult.cs b/StandardInterface/MES.Service/Dto/service/SJPageResult.cs
index b872b61..a033419 100644
--- a/StandardInterface/MES.Service/Dto/service/SJPageResult.cs
+++ b/StandardInterface/MES.Service/Dto/service/SJPageResult.cs
@@ -114,4 +114,16 @@
public string? searchField { get; set; } // 鎼滅储瀛楁鍚�
[SugarColumn(IsIgnore = true)]
public string? SearchValue { get; set; } // 鎼滅储鍊�
+
+ /// <summary>
+ /// 杞﹂棿ID锛岀敤浜嶲C绛涢��
+ /// </summary>
+ [SugarColumn(IsIgnore = true)]
+ public string? departmentId { get; set; }
+
+ /// <summary>
+ /// 绾夸綋ID锛岀敤浜嶲C绛涢��
+ /// </summary>
+ [SugarColumn(IsIgnore = true)]
+ public string? lineId { get; set; }
}
\ No newline at end of file
diff --git a/StandardInterface/MES.Service/Dto/service/XJPageResult.cs b/StandardInterface/MES.Service/Dto/service/XJPageResult.cs
index 9b5bd7a..5823aae 100644
--- a/StandardInterface/MES.Service/Dto/service/XJPageResult.cs
+++ b/StandardInterface/MES.Service/Dto/service/XJPageResult.cs
@@ -25,5 +25,15 @@
/// 鎼滅储瀛楁鍚嶏紝鐢ㄤ簬鎸囧畾鎼滅储鍝釜瀛楁
/// </summary>
public string? searchField { get; set; }
+
+ /// <summary>
+ /// 杞﹂棿ID锛岀敤浜嶲C绛涢��
+ /// </summary>
+ public string? departmentId { get; set; }
+
+ /// <summary>
+ /// 绾夸綋ID锛岀敤浜嶲C绛涢��
+ /// </summary>
+ public string? lineId { get; set; }
}
\ No newline at end of file
diff --git a/StandardInterface/MES.Service/Modes/QsItemIpiItem.cs b/StandardInterface/MES.Service/Modes/QsItemIpiItem.cs
index 047cd21..9ccaefb 100644
--- a/StandardInterface/MES.Service/Modes/QsItemIpiItem.cs
+++ b/StandardInterface/MES.Service/Modes/QsItemIpiItem.cs
@@ -184,6 +184,13 @@
[Column("SNUM")]
[SugarColumn(ColumnName = "SNUM")]
public decimal? Snum { get; set; }
+
+ /// <summary>
+ /// 椤哄簭
+ /// </summary>
+ [Column("FORDER")]
+ [SugarColumn(ColumnName = "FORDER")]
+ public decimal? Forder { get; set; }
/// <summary>
/// 绌村彿淇℃伅锛堢敤浜庡墠绔樉绀猴級
diff --git a/StandardInterface/MES.Service/Modes/QsItemOqcItem.cs b/StandardInterface/MES.Service/Modes/QsItemOqcItem.cs
index 574410f..2e8253d 100644
--- a/StandardInterface/MES.Service/Modes/QsItemOqcItem.cs
+++ b/StandardInterface/MES.Service/Modes/QsItemOqcItem.cs
@@ -185,4 +185,11 @@
/// </summary>
[SugarColumn(IsIgnore = true)]
public string? ItemNo { get; set; }
+
+ /// <summary>
+ /// 椤哄簭
+ /// </summary>
+ [Column("FORDER")]
+ [SugarColumn(ColumnName = "FORDER")]
+ public decimal? Forder { get; set; }
}
\ No newline at end of file
diff --git a/StandardInterface/MES.Service/Modes/QsQaItemXj01.cs b/StandardInterface/MES.Service/Modes/QsQaItemXj01.cs
index ca55436..5a3f411 100644
--- a/StandardInterface/MES.Service/Modes/QsQaItemXj01.cs
+++ b/StandardInterface/MES.Service/Modes/QsQaItemXj01.cs
@@ -168,4 +168,11 @@
/// </summary>
[SugarColumn(IsIgnore = true)]
public string? ItemNo { get; set; }
+
+ /// <summary>
+ /// 椤哄簭
+ /// </summary>
+ [Column("FORDER")]
+ [SugarColumn(ColumnName = "FORDER")]
+ public decimal? Forder { get; set; }
}
\ No newline at end of file
diff --git a/StandardInterface/MES.Service/service/QC/BaseService.cs b/StandardInterface/MES.Service/service/QC/BaseService.cs
index a827168..87bc106 100644
--- a/StandardInterface/MES.Service/service/QC/BaseService.cs
+++ b/StandardInterface/MES.Service/service/QC/BaseService.cs
@@ -49,4 +49,81 @@
});
return mesQsImages;
}
+
+ /// <summary>
+ /// 鑾峰彇QC杞﹂棿鍒楄〃锛堟牴鎹鍥� V_MES_QC_CJ锛�
+ /// </summary>
+ /// <returns>杞﹂棿鍒楄〃</returns>
+ public List<dynamic> GetQCDepartments()
+ {
+ var db = SqlSugarHelper.GetInstance();
+ var sql = @"
+ SELECT
+ T.DEPARTMENTNAME as departmentname,
+ T.DEPARTMENTID as departmentid
+ FROM SYS_DEPARTMENT T
+ WHERE T.DEPARTMENTID IN (
+ 2951904,2951874,2973564,3131720,3252567,3306857,3335722,2306534,2670262,
+ 2365021,2365022,2749927,2306535,2558979,2558980,2558981,2558982,1606194,
+ 1608020,1608021,1606193,1608022,1638037,1682634,1802281,1802278,1802279,
+ 1802280,1999190,1999191,2272979,2513368,2513369,2513370,2513371,2558971,
+ 2558972,2558973,2558974,2558975,2558976,2558977,2749970,2749946,2749947,
+ 2749948,2670253,2670258,2670260,2513372,2513373,2513374,2513375,2513376,
+ 2670261,139517,139518,139519,209814,211639,221640,378794,440720,441918,
+ 441919,502188,507542,507545,507546,139524
+ )
+ ORDER BY T.DEPARTMENTNAME";
+
+ return db.Ado.SqlQuery<dynamic>(sql);
+ }
+
+ /// <summary>
+ /// 鑾峰彇QC绾夸綋鍒楄〃锛堟牴鎹溅闂碔D绛涢�夛紝鍩轰簬瑙嗗浘 V_MES_QC_XT锛�
+ /// </summary>
+ /// <param name="departmentId">杞﹂棿ID锛屽鏋滀负绌哄垯杩斿洖鎵�鏈塓C绾夸綋</param>
+ /// <returns>绾夸綋鍒楄〃</returns>
+ public List<MesLine> GetQCLines(string? departmentId)
+ {
+ var db = SqlSugarHelper.GetInstance();
+
+ if (string.IsNullOrEmpty(departmentId))
+ {
+ // 濡傛灉娌℃湁鎸囧畾杞﹂棿锛岃繑鍥炴墍鏈塓C绾夸綋
+ var sql = @"
+ SELECT E.LINE_NO as LineNo, E.LINE_NAME as LineName, E.DEPOT_ID as DepotId
+ FROM MES_LINE E
+ LEFT JOIN (
+ SELECT T.DEPARTMENTID
+ FROM SYS_DEPARTMENT T
+ WHERE T.DEPARTMENTID IN (
+ 2951904,2951874,2973564,3131720,3252567,3306857,3335722,2306534,2670262,
+ 2365021,2365022,2749927,2306535,2558979,2558980,2558981,2558982,1606194,
+ 1608020,1608021,1606193,1608022,1638037,1682634,1802281,1802278,1802279,
+ 1802280,1999190,1999191,2272979,2513368,2513369,2513370,2513371,2558971,
+ 2558972,2558973,2558974,2558975,2558976,2558977,2749970,2749946,2749947,
+ 2749948,2670253,2670258,2670260,2513372,2513373,2513374,2513375,2513376,
+ 2670261,139517,139518,139519,209814,211639,221640,378794,440720,441918,
+ 441919,502188,507542,507545,507546,139524
+ )
+ ) C ON C.DEPARTMENTID = E.DEPOT_ID
+ WHERE C.DEPARTMENTID IS NOT NULL
+ ORDER BY E.LINE_NO DESC";
+
+ return db.Ado.SqlQuery<MesLine>(sql);
+ }
+ else
+ {
+ // 濡傛灉鎸囧畾浜嗚溅闂达紝鍙繑鍥炶杞﹂棿涓嬬殑绾夸綋
+ return db.Queryable<MesLine>()
+ .Where(e => e.DepotId.ToString() == departmentId)
+ .OrderBy(e => e.LineNo, SqlSugar.OrderByType.Desc)
+ .Select(e => new MesLine
+ {
+ LineNo = e.LineNo,
+ LineName = e.LineName,
+ DepotId = e.DepotId
+ })
+ .ToList();
+ }
+ }
}
\ No newline at end of file
diff --git a/StandardInterface/MES.Service/service/QC/LljService.cs b/StandardInterface/MES.Service/service/QC/LljService.cs
index 6f77e61..71d481a 100644
--- a/StandardInterface/MES.Service/service/QC/LljService.cs
+++ b/StandardInterface/MES.Service/service/QC/LljService.cs
@@ -89,7 +89,9 @@
// 娣诲姞璇勫鐘舵��
PSZT = a.PSZT,
// 娣诲姞妫�楠岄」鐩淮鎶ょ姸鎬�
- Jyxm = a.Jyxm
+ Jyxm = a.Jyxm,
+ // 娣诲姞鐗堟湰鍙凤紙鐢ㄤ簬FTP璺緞锛�
+ Fversion = a.Fversion
})
.OrderBy("IQC_DATE DESC")
.OrderBy("CASE WHEN EMERGENCY = 1 THEN 0 ELSE 1 END")
@@ -164,7 +166,9 @@
// 娣诲姞璇勫鐘舵��
PSZT = a.PSZT,
// 娣诲姞妫�楠岄」鐩淮鎶ょ姸鎬�
- Jyxm = a.Jyxm
+ Jyxm = a.Jyxm,
+ // 娣诲姞鐗堟湰鍙凤紙鐢ㄤ簬FTP璺緞锛�
+ Fversion = a.Fversion
})
.OrderBy("IQC_DATE DESC")
.OrderBy("CASE WHEN EMERGENCY = 1 THEN 0 ELSE 1 END")
@@ -504,7 +508,13 @@
return input.Substring(startIndex + 1, length);
}
- public List<QamftpDto> GetAttachments(string ItemNo)
+ /// <summary>
+ /// 鑾峰彇闄勪欢淇℃伅
+ /// </summary>
+ /// <param name="ItemNo">鐗╂枡缂栫爜</param>
+ /// <param name="fversion">鐗堟湰鍙凤紙鍙�夛紝鐢ㄤ簬杩囨护锛�</param>
+ /// <returns>闄勪欢鍒楄〃</returns>
+ public List<QamftpDto> GetAttachments(string ItemNo, string fversion = null)
{
//if (string.IsNullOrEmpty(ItemNo))
//{
@@ -514,8 +524,17 @@
var db = SqlSugarHelper.GetInstance();
try
{
- return db.Queryable<MesQamftp>()
+ var query = db.Queryable<MesQamftp>()
.Where(x => x.ItemNo == ItemNo)
+ .Where(x => x.Ftype == "鏉ユ枡妫�"); // 娣诲姞FTYPE = '鏉ユ枡妫�'鐨勯檺鍒�
+
+ // 濡傛灉浼犲叆浜唂version锛屽垯鎸塅version杩囨护
+ if (!string.IsNullOrEmpty(fversion))
+ {
+ query = query.Where(x => x.Fversion == fversion);
+ }
+
+ return query
.OrderBy(x => x.Fdate, OrderByType.Desc)
// .ThenBy(x => x.CreateDate, OrderByType.Desc)
.Select(x => new QamftpDto
@@ -543,7 +562,7 @@
}
}
- public byte[] GetFtpFile(string itemNo, string fileName, string ftpServer)
+ public byte[] GetFtpFile(string itemNo, string fileName, string ftpServer, string fversion = null)
{
// 鍙傛暟楠岃瘉
if (string.IsNullOrEmpty(itemNo) || string.IsNullOrEmpty(fileName) || string.IsNullOrEmpty(ftpServer))
@@ -557,8 +576,16 @@
// 鏍囧噯鍖朏TP鏈嶅姟鍣ㄥ湴鍧�
string normalizedServer = NormalizeFtpServer(ftpServer);
- // 鏋勫缓FTP鏂囦欢璺緞
- string ftpPath = $"{normalizedServer}/IQC/{itemNo}/{fileName}";
+ // 鏋勫缓FTP鏂囦欢璺緞 - 鏉ユ枡妫�浣跨敤IQC鐩綍锛屼娇鐢╢version浣滀负瀛愮洰褰�
+ string ftpPath;
+ if (!string.IsNullOrEmpty(fversion))
+ {
+ ftpPath = $"{normalizedServer}/IQC/{itemNo}/{fversion}/{fileName}";
+ }
+ else
+ {
+ ftpPath = $"{normalizedServer}/IQC/{itemNo}/{fileName}";
+ }
try
{
diff --git a/StandardInterface/MES.Service/service/QC/RKJService.cs b/StandardInterface/MES.Service/service/QC/RKJService.cs
index 83a7b51..e3c8ff7 100644
--- a/StandardInterface/MES.Service/service/QC/RKJService.cs
+++ b/StandardInterface/MES.Service/service/QC/RKJService.cs
@@ -291,7 +291,8 @@
a.FcheckLevel,
a.FacLevel,
a.QsCode,
- a.QsName
+ a.QsName,
+ a.Forder
}).Select((a, b) => new QsItemOqcItem
{
ProjName = a.ProjName,
@@ -308,10 +309,11 @@
FacLevel = a.FacLevel,
QsCode = a.QsCode,
QsName = a.QsName,
+ Forder = a.Forder,
isCheck = SqlFunc.AggregateCount(b.Id),
Result = SqlFunc.AggregateCount(b.Id) == 0 ? "鏈畬鎴�" :
a.IsPass == 1 ? "鍚堟牸" : "涓嶅悎鏍�"
- }).OrderBy("result desc").ToList();
+ }).OrderBy("FORDER").ToList();
}
public dynamic save(RKJDto rkjDto)
@@ -610,49 +612,55 @@
return db
- .Queryable<QsItemOqcReq, Womdaa, MesItems>((a, da, b) =>
+ .Queryable<QsItemOqcReq, Womdaa, MesItems, MesLine>((a, da, b, m) =>
new JoinQueryInfos(
JoinType.Left, da.Daa001 == a.BillNo,
- JoinType.Left, a.ItemId == b.Id
+ JoinType.Left, a.ItemId == b.Id,
+ JoinType.Left, da.Daa015 == m.LineNo
))
.WhereIF(lineNo != null && lineNo.Length > 0,
- (a, da, b) => lineNo.Contains(da.Daa015))
+ (a, da, b, m) => lineNo.Contains(da.Daa015))
+ // 娣诲姞QC绛涢�夋潯浠讹細杞﹂棿鍜岀嚎浣�
+ .WhereIF(!string.IsNullOrEmpty(queryObj.departmentId),
+ (a, da, b, m) => m.DepotId.ToString() == queryObj.departmentId)
+ .WhereIF(!string.IsNullOrEmpty(queryObj.lineId),
+ (a, da, b, m) => m.LineNo == queryObj.lineId)
.WhereIF(
StringUtil.IsNotNullOrEmpty(queryObj.result) &&
"鏈畬鎴�".Equals(queryObj.result),
- (a, da, b) => a.FcheckResu == null || a.FcheckResu == "")
+ (a, da, b, m) => a.FcheckResu == null || a.FcheckResu == "")
.WhereIF(
StringUtil.IsNotNullOrEmpty(queryObj.result) &&
!"鏈畬鎴�".Equals(queryObj.result),
- (a, da, b) => a.FcheckResu != null && a.FcheckResu != "")
- .WhereIF(id > 0, (a, da, b) => a.Id == id)
+ (a, da, b, m) => a.FcheckResu != null && a.FcheckResu != "")
+ .WhereIF(id > 0, (a, da, b, m) => a.Id == id)
// 娣诲姞fsubmit瀛楁杩囨护閫昏緫 - 鍙湁鍦ㄦ槑纭寚瀹歠submit鍙傛暟鏃舵墠杩囨护锛屼笖娌℃湁浼犻�抜d鏃舵墠杩囨护
.WhereIF(
id <= 0 && StringUtil.IsNotNullOrEmpty(queryObj.fsubmit) && queryObj.fsubmit == "1",
- (a, da, b) => a.Fsubmit == 1)
+ (a, da, b, m) => a.Fsubmit == 1)
.WhereIF(
id <= 0 && StringUtil.IsNotNullOrEmpty(queryObj.fsubmit) && queryObj.fsubmit == "0",
- (a, da, b) => a.Fsubmit == 0 || a.Fsubmit == null)
+ (a, da, b, m) => a.Fsubmit == 0 || a.Fsubmit == null)
// 娣诲姞鎼滅储鏉′欢 - 鏍规嵁閫夋嫨鐨勬悳绱㈠瓧娈佃繘琛岀簿纭悳绱�
.WhereIF(!string.IsNullOrEmpty(queryObj.SearchValue) && !string.IsNullOrEmpty(queryObj.searchField) && queryObj.searchField == "billNo", // 宸ュ崟
- (a, da, b) => a.BillNo.Contains(queryObj.SearchValue))
+ (a, da, b, m) => a.BillNo.Contains(queryObj.SearchValue))
.WhereIF(!string.IsNullOrEmpty(queryObj.SearchValue) && !string.IsNullOrEmpty(queryObj.searchField) && queryObj.searchField == "releaseNo", // 妫�楠屽崟鍙�
- (a, da, b) => a.ReleaseNo.Contains(queryObj.SearchValue))
+ (a, da, b, m) => a.ReleaseNo.Contains(queryObj.SearchValue))
.WhereIF(!string.IsNullOrEmpty(queryObj.SearchValue) && !string.IsNullOrEmpty(queryObj.searchField) && queryObj.searchField == "daa015", // 浜х嚎
- (a, da, b) => da.Daa015.Contains(queryObj.SearchValue))
+ (a, da, b, m) => da.Daa015.Contains(queryObj.SearchValue))
.WhereIF(!string.IsNullOrEmpty(queryObj.SearchValue) && !string.IsNullOrEmpty(queryObj.searchField) && queryObj.searchField == "itemNo", // 鐗╂枡缂栫爜
- (a, da, b) => a.ItemNo.Contains(queryObj.SearchValue))
+ (a, da, b, m) => a.ItemNo.Contains(queryObj.SearchValue))
.WhereIF(!string.IsNullOrEmpty(queryObj.SearchValue) && !string.IsNullOrEmpty(queryObj.searchField) && queryObj.searchField == "itemName", // 鐗╂枡鍚嶇О
- (a, da, b) => b.ItemName.Contains(queryObj.SearchValue))
+ (a, da, b, m) => b.ItemName.Contains(queryObj.SearchValue))
// 涓轰簡鍏煎鏃х増鏈紝濡傛灉娌℃湁浼犻�� searchField锛屼娇鐢ㄥ師鏉ョ殑鏌ヨ閫昏緫
.WhereIF(string.IsNullOrEmpty(queryObj.searchField) && !string.IsNullOrEmpty(queryObj.SearchValue),
- (a, da, b) =>
+ (a, da, b, m) =>
a.ItemNo.Contains(queryObj.SearchValue) ||
b.ItemName.Contains(queryObj.SearchValue) ||
a.BillNo.Contains(queryObj.SearchValue) ||
a.ReleaseNo.Contains(queryObj.SearchValue) ||
da.Daa015.Contains(queryObj.SearchValue))
- .Select((a, da, b) => new QsItemOqcReq
+ .Select((a, da, b, m) => new QsItemOqcReq
{
Id = a.Id,
ReleaseNo = a.ReleaseNo,
diff --git a/StandardInterface/MES.Service/service/QC/SJService.cs b/StandardInterface/MES.Service/service/QC/SJService.cs
index aa32e8c..fc8c81e 100644
--- a/StandardInterface/MES.Service/service/QC/SJService.cs
+++ b/StandardInterface/MES.Service/service/QC/SJService.cs
@@ -44,69 +44,145 @@
if (StringUtil.IsNotNullOrEmpty(queryObj.StatusUser))
lineNo = _baseService.getUserLineNo(queryObj.StatusUser);
- var query = 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.Fsubmit == 0)
- .WhereIF(
- StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
- !"鏈畬鎴�".Equals(queryObj.Result),
- a => a.Fsubmit == 1);
-
- // 鏂板鐨勫姩鎬佹悳绱㈤�昏緫
- if (!string.IsNullOrEmpty(queryObj.SearchValue) && !string.IsNullOrEmpty(queryObj.searchField))
+ // 濡傛灉鏈夎溅闂存垨绾夸綋绛涢�夛紝闇�瑕佽仈鎺� MES_LINE 琛�
+ if (!string.IsNullOrEmpty(queryObj.departmentId) || !string.IsNullOrEmpty(queryObj.lineId))
{
- switch (queryObj.searchField)
+ var query = db.Queryable<SJPageResult, MesLine>((a, m) =>
+ new JoinQueryInfos(JoinType.Left, a.line == m.LineNo))
+ .WhereIF(lineNo != null && lineNo.Length > 0,
+ (a, m) => lineNo.Contains(a.line))
+ .WhereIF(queryObj.Id != null, (a, m) => a.Id == queryObj.Id)
+ .WhereIF(StringUtil.IsNotNullOrEmpty(queryObj.BillNo),
+ (a, m) => a.BillNo == queryObj.BillNo)
+ .WhereIF(
+ StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
+ "鏈畬鎴�".Equals(queryObj.Result),
+ (a, m) => a.Fsubmit == 0)
+ .WhereIF(
+ StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
+ !"鏈畬鎴�".Equals(queryObj.Result),
+ (a, m) => a.Fsubmit == 1)
+ // 娣诲姞杞﹂棿绛涢��
+ .WhereIF(!string.IsNullOrEmpty(queryObj.departmentId),
+ (a, m) => m.DepotId.ToString() == queryObj.departmentId)
+ // 娣诲姞绾夸綋绛涢��
+ .WhereIF(!string.IsNullOrEmpty(queryObj.lineId),
+ (a, m) => m.LineNo == queryObj.lineId);
+
+ // 娣诲姞鎼滅储鏉′欢
+ if (!string.IsNullOrEmpty(queryObj.SearchValue) && !string.IsNullOrEmpty(queryObj.searchField))
{
- case "daa001": // 宸ュ崟
- query = query.Where(x => x.daa001.Contains(queryObj.SearchValue));
- break;
- case "billNo": // 妫�楠屽崟鍙�
- query = query.Where(x => x.BillNo.Contains(queryObj.SearchValue));
- break;
- case "line": // 浜х嚎
- query = query.Where(x => x.line.Contains(queryObj.SearchValue));
- break;
- case "itemNo": // 鐗╂枡缂栫爜
- query = query.Where(x => x.ItemNo.Contains(queryObj.SearchValue));
- break;
- case "daa003": // 鐗╂枡鍚嶇О
- query = query.Where(x => x.Daa003.Contains(queryObj.SearchValue));
- break;
- default:
- // 濡傛灉娌℃湁鎸囧畾瀛楁鎴栧瓧娈典笉鍖归厤锛屼娇鐢ㄥ師鏈夌殑妯$硦鏌ヨ閫昏緫浣滀负鍏滃簳鏂规
- query = query.Where(x =>
- x.ItemNo.Contains(queryObj.SearchValue) ||
- x.Daa003.Contains(queryObj.SearchValue) ||
- x.daa001.Contains(queryObj.SearchValue) ||
- x.BillNo.Contains(queryObj.SearchValue) ||
- x.line.Contains(queryObj.SearchValue));
- break;
+ switch (queryObj.searchField)
+ {
+ case "daa001": // 宸ュ崟
+ query = query.Where((a, m) => a.daa001.Contains(queryObj.SearchValue));
+ break;
+ case "billNo": // 妫�楠屽崟鍙�
+ query = query.Where((a, m) => a.BillNo.Contains(queryObj.SearchValue));
+ break;
+ case "line": // 浜х嚎
+ query = query.Where((a, m) => a.line.Contains(queryObj.SearchValue));
+ break;
+ case "itemNo": // 鐗╂枡缂栫爜
+ query = query.Where((a, m) => a.ItemNo.Contains(queryObj.SearchValue));
+ break;
+ case "daa003": // 鐗╂枡鍚嶇О
+ query = query.Where((a, m) => a.Daa003.Contains(queryObj.SearchValue));
+ break;
+ default:
+ query = query.Where((a, m) =>
+ a.ItemNo.Contains(queryObj.SearchValue) ||
+ a.Daa003.Contains(queryObj.SearchValue) ||
+ a.daa001.Contains(queryObj.SearchValue) ||
+ a.BillNo.Contains(queryObj.SearchValue) ||
+ a.line.Contains(queryObj.SearchValue));
+ break;
+ }
}
+ else if (string.IsNullOrEmpty(queryObj.searchField) && !string.IsNullOrEmpty(queryObj.SearchValue))
+ {
+ query = query.Where((a, m) =>
+ a.ItemNo.Contains(queryObj.SearchValue) ||
+ a.Daa003.Contains(queryObj.SearchValue) ||
+ a.daa001.Contains(queryObj.SearchValue) ||
+ a.BillNo.Contains(queryObj.SearchValue) ||
+ a.line.Contains(queryObj.SearchValue));
+ }
+
+ var totalCount = 0;
+ var data = query.OrderBy((a, m) => a.BillNo, OrderByType.Desc)
+ .Select((a, m) => a)
+ .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
+
+ return (data, totalCount);
}
- // 涓轰簡鍏煎鏃х増鏈紝濡傛灉娌℃湁浼犻�� searchField锛屼娇鐢ㄥ師鏉ョ殑鏌ヨ閫昏緫
- else if (string.IsNullOrEmpty(queryObj.searchField) && !string.IsNullOrEmpty(queryObj.SearchValue))
+ else
{
- // 淇濇寔鍘熸湁鐨勫瀛楁妯$硦鏌ヨ閫昏緫
- query = query.Where(x =>
- x.ItemNo.Contains(queryObj.SearchValue) ||
- x.Daa003.Contains(queryObj.SearchValue) ||
- x.daa001.Contains(queryObj.SearchValue) ||
- x.BillNo.Contains(queryObj.SearchValue) ||
- x.line.Contains(queryObj.SearchValue));
+ // 娌℃湁杞﹂棿鍜岀嚎浣撶瓫閫夋椂锛屼娇鐢ㄥ師鏉ョ殑鏌ヨ閫昏緫
+ var query = 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.Fsubmit == 0)
+ .WhereIF(
+ StringUtil.IsNotNullOrEmpty(queryObj.Result) &&
+ !"鏈畬鎴�".Equals(queryObj.Result),
+ a => a.Fsubmit == 1);
+
+ // 鏂板鐨勫姩鎬佹悳绱㈤�昏緫
+ if (!string.IsNullOrEmpty(queryObj.SearchValue) && !string.IsNullOrEmpty(queryObj.searchField))
+ {
+ switch (queryObj.searchField)
+ {
+ case "daa001": // 宸ュ崟
+ query = query.Where(x => x.daa001.Contains(queryObj.SearchValue));
+ break;
+ case "billNo": // 妫�楠屽崟鍙�
+ query = query.Where(x => x.BillNo.Contains(queryObj.SearchValue));
+ break;
+ case "line": // 浜х嚎
+ query = query.Where(x => x.line.Contains(queryObj.SearchValue));
+ break;
+ case "itemNo": // 鐗╂枡缂栫爜
+ query = query.Where(x => x.ItemNo.Contains(queryObj.SearchValue));
+ break;
+ case "daa003": // 鐗╂枡鍚嶇О
+ query = query.Where(x => x.Daa003.Contains(queryObj.SearchValue));
+ break;
+ default:
+ // 濡傛灉娌℃湁鎸囧畾瀛楁鎴栧瓧娈典笉鍖归厤锛屼娇鐢ㄥ師鏈夌殑妯$硦鏌ヨ閫昏緫浣滀负鍏滃簳鏂规
+ query = query.Where(x =>
+ x.ItemNo.Contains(queryObj.SearchValue) ||
+ x.Daa003.Contains(queryObj.SearchValue) ||
+ x.daa001.Contains(queryObj.SearchValue) ||
+ x.BillNo.Contains(queryObj.SearchValue) ||
+ x.line.Contains(queryObj.SearchValue));
+ break;
+ }
+ }
+ // 涓轰簡鍏煎鏃х増鏈紝濡傛灉娌℃湁浼犻�� searchField锛屼娇鐢ㄥ師鏉ョ殑鏌ヨ閫昏緫
+ else if (string.IsNullOrEmpty(queryObj.searchField) && !string.IsNullOrEmpty(queryObj.SearchValue))
+ {
+ // 淇濇寔鍘熸湁鐨勫瀛楁妯$硦鏌ヨ閫昏緫
+ query = query.Where(x =>
+ x.ItemNo.Contains(queryObj.SearchValue) ||
+ x.Daa003.Contains(queryObj.SearchValue) ||
+ x.daa001.Contains(queryObj.SearchValue) ||
+ x.BillNo.Contains(queryObj.SearchValue) ||
+ x.line.Contains(queryObj.SearchValue));
+ }
+
+ var totalCount = 0;
+ var data = query.OrderBy(a => a.BillNo, OrderByType.Desc)
+ .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
+
+ return (data, totalCount);
}
-
- var totalCount = 0;
- var data = query.OrderBy(a => a.BillNo, OrderByType.Desc)
- .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
-
- return (data, totalCount);
}
@@ -208,7 +284,8 @@
Mnum = b.Mnum, // 浠庝富琛ㄨ幏鍙朚NUM
Dnum = b.Dnum, // 浠庡瓙琛ㄨ幏鍙朌NUM
Snum = a.Snum, // 閫佹鎵规暟
- Remarks = a.Remarks
+ Remarks = a.Remarks,
+ Forder = a.Forder // 椤哄簭瀛楁
}).ToList();
var array = qsItemIpiItems.Select(s => s.Id).ToArray();
@@ -300,8 +377,10 @@
qsItemIpiItem.imageData = Convert.ToBase64String(s.Picture);
});
- //鎺掑簭锛屾湭瀹屾垚鐨勬帓鍦ㄥ墠闈�
- qsItemIpiItems = qsItemIpiItems.OrderBy(s => s.isCheck).ToList();
+ //鎺掑簭锛氬彧鎸塅ORDER椤哄簭鎺掑簭
+ qsItemIpiItems = qsItemIpiItems
+ .OrderBy(s => s.Forder ?? 0)
+ .ToList();
// 涓烘瘡涓楠岄」鐩敓鎴愮┐鍙蜂俊鎭�
qsItemIpiItems.ForEach(item =>
diff --git a/StandardInterface/MES.Service/service/QC/XJService.cs b/StandardInterface/MES.Service/service/QC/XJService.cs
index df2f739..210860e 100644
--- a/StandardInterface/MES.Service/service/QC/XJService.cs
+++ b/StandardInterface/MES.Service/service/QC/XJService.cs
@@ -153,10 +153,23 @@
)
);
- // 娣诲姞绾夸綋绛涢�夋潯浠�
+ // 娣诲姞绾夸綋绛涢�夋潯浠讹紙鍩轰簬鐢ㄦ埛鏉冮檺锛�
if (lineNo != null && lineNo.Length > 0)
{
query = query.Where((s, a, c, b) => lineNo.Contains(c.LineNo));
+ }
+
+ // 娣诲姞QC绛涢�夋潯浠讹細杞﹂棿鍜岀嚎浣�
+ if (!string.IsNullOrEmpty(queryObj.departmentId))
+ {
+ // 濡傛灉鎸囧畾浜嗚溅闂达紝绛涢�夎杞﹂棿涓嬬殑绾夸綋
+ query = query.Where((s, a, c, b) => c.DepotId.ToString() == queryObj.departmentId);
+ }
+
+ if (!string.IsNullOrEmpty(queryObj.lineId))
+ {
+ // 濡傛灉鎸囧畾浜嗙嚎浣擄紝鐩存帴绛涢�夌嚎浣�
+ query = query.Where((s, a, c, b) => c.LineNo == queryObj.lineId);
}
// 娣诲姞鐘舵�佺瓫閫夋潯浠� - 鏄庣‘鍖归厤鍓嶇浼犻�掔殑鍊�
@@ -287,6 +300,7 @@
var qsQaItemXj01s = db.Queryable<QsQaItemXj01>()
.WhereIF(pid > 0, a => a.Pid == pid)
.WhereIF(id > 0, a => a.Id == id)
+ .OrderBy(a => a.Forder ?? 0)
.ToList();
var array = qsQaItemXj01s.Select(s => s.Id).ToArray();
@@ -323,8 +337,10 @@
s.imageData = Convert.ToBase64String(s.Picture);
});
- //鎺掑簭锛屾湭瀹屾垚鐨勬帓鍦ㄥ墠闈�
- qsQaItemXj01s = qsQaItemXj01s.OrderBy(s => s.isCheck).ToList();
+ //鎺掑簭锛氬彧鎸塅ORDER椤哄簭鎺掑簭
+ qsQaItemXj01s = qsQaItemXj01s
+ .OrderBy(s => s.Forder ?? 0)
+ .ToList();
return qsQaItemXj01s;
}
diff --git a/StandardInterface/MESApplication/Controllers/QC/BaseController.cs b/StandardInterface/MESApplication/Controllers/QC/BaseController.cs
index dd54e7f..2a22c56 100644
--- a/StandardInterface/MESApplication/Controllers/QC/BaseController.cs
+++ b/StandardInterface/MESApplication/Controllers/QC/BaseController.cs
@@ -81,4 +81,52 @@
return ResponseResult.ResponseError(ex);
}
}
+
+ /// <summary>
+ /// 鑾峰彇QC杞﹂棿鍒楄〃
+ /// </summary>
+ /// <returns>杞﹂棿鍒楄〃</returns>
+ [HttpPost("GetQCDepartments")]
+ public ResponseResult GetQCDepartments()
+ {
+ try
+ {
+ var departments = new BaseService().GetQCDepartments();
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = departments
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
+
+ /// <summary>
+ /// 鑾峰彇QC绾夸綋鍒楄〃锛堟牴鎹溅闂碔D绛涢�夛級
+ /// </summary>
+ /// <param name="data">鍖呭惈 departmentId 鐨勮姹傛暟鎹�</param>
+ /// <returns>绾夸綋鍒楄〃</returns>
+ [HttpPost("GetQCLines")]
+ public ResponseResult GetQCLines([FromBody] JObject data)
+ {
+ try
+ {
+ string? departmentId = data["departmentId"]?.ToString();
+ var lines = new BaseService().GetQCLines(departmentId);
+ return new ResponseResult
+ {
+ status = 0,
+ message = "OK",
+ data = lines
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
}
\ No newline at end of file
diff --git a/StandardInterface/MESApplication/Controllers/QC/LljController.cs b/StandardInterface/MESApplication/Controllers/QC/LljController.cs
index eb626a0..6c6bea7 100644
--- a/StandardInterface/MESApplication/Controllers/QC/LljController.cs
+++ b/StandardInterface/MESApplication/Controllers/QC/LljController.cs
@@ -366,10 +366,21 @@
public ResponseResult GetAttachments([FromBody] JObject data)
{
var itemNo = data["itemNo"]?.ToString();
+ var fversion = data["fversion"]?.ToString();
+ var fromPage = data["fromPage"]?.ToString();
+
+ // 鏍规嵁鏉ユ簮椤甸潰鍐冲畾鏄惁杩囨护
+ string filterFversion = null;
+ if (fromPage == "Detail" && !string.IsNullOrEmpty(fversion))
+ {
+ filterFversion = fversion; // Detail椤甸潰闇�瑕佽繃婊�
+ }
+ // Add椤甸潰涓嶄紶閫抐ilterFversion锛屾樉绀烘墍鏈夐檮浠�
+
try
{
dynamic resultInfos = new System.Dynamic.ExpandoObject();
- var tbBillList = new LljService().GetAttachments(itemNo);
+ var tbBillList = new LljService().GetAttachments(itemNo, filterFversion);
if (tbBillList == null || tbBillList.Count == 0)
{
return new ResponseResult
@@ -394,7 +405,7 @@
}
[HttpGet("PreviewFtpFile")]
- public IActionResult PreviewFtpFile([FromQuery] string itemNo, [FromQuery] string fileName, [FromQuery] string ftpServer)
+ public IActionResult PreviewFtpFile([FromQuery] string itemNo, [FromQuery] string fileName, [FromQuery] string ftpServer, [FromQuery] string fversion = null)
{
try
{
@@ -405,7 +416,7 @@
Response.Headers.Add("Access-Control-Expose-Headers", "Content-Type, Content-Length");
var service = new LljService();
- var fileBytes = service.GetFtpFile(itemNo, fileName, ftpServer);
+ var fileBytes = service.GetFtpFile(itemNo, fileName, ftpServer, fversion);
if (fileBytes == null || fileBytes.Length == 0)
{
@@ -424,7 +435,7 @@
}
[HttpGet("DownloadFtpFile")]
- public IActionResult DownloadFtpFile([FromQuery] string itemNo, [FromQuery] string fileName, [FromQuery] string ftpServer)
+ public IActionResult DownloadFtpFile([FromQuery] string itemNo, [FromQuery] string fileName, [FromQuery] string ftpServer, [FromQuery] string fversion = null)
{
try
{
@@ -435,7 +446,7 @@
Response.Headers.Add("Access-Control-Expose-Headers", "Content-Disposition, Content-Length, Content-Type");
var service = new LljService();
- var fileBytes = service.GetFtpFile(itemNo, fileName, ftpServer);
+ var fileBytes = service.GetFtpFile(itemNo, fileName, ftpServer, fversion);
if (fileBytes == null || fileBytes.Length == 0)
{
diff --git a/StandardInterface/MESApplication/appsettings.json b/StandardInterface/MESApplication/appsettings.json
index 28cfc2a..59a3601 100644
--- a/StandardInterface/MESApplication/appsettings.json
+++ b/StandardInterface/MESApplication/appsettings.json
@@ -10,6 +10,6 @@
"AppSettings": {
"TestErpUrl": "http://192.168.11.120:8098/WebService1.asmx/mesToErpinfo",
"ProductionErpUrl": "http://192.168.11.120:8098/WebService1.asmx/mesToErpinfoFormal",
- "DataBaseConn": "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = hm_prd; Password=hmprd"
+ "DataBaseConn": "Data Source = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.22)(PORT = 1521))(CONNECT_DATA = (SERVICE_NAME = ORCL))); Persist Security Info=True;User ID = test_dev; Password=hmprd"
}
}
--
Gitblit v1.9.3