From c6239213a60120d4f3f8d2105f48b6fa715a99ed Mon Sep 17 00:00:00 2001
From: 南骏 池 <chiffly@163.com>
Date: 星期三, 21 五月 2025 13:30:02 +0800
Subject: [PATCH] 1.获取携客云信息返回结构优化 2.SRM送货单扫码收料-PDA 3.OA->MES新增字段
---
service/QC/LljService.cs | 141 ++++++++++++++++++++++++++++++++++------------
1 files changed, 104 insertions(+), 37 deletions(-)
diff --git a/service/QC/LljService.cs b/service/QC/LljService.cs
index d46b42c..a6573b0 100644
--- a/service/QC/LljService.cs
+++ b/service/QC/LljService.cs
@@ -1,12 +1,11 @@
-锘縰sing System.Data;
+锘縰sing MES.Service.Models;
using Microsoft.IdentityModel.Tokens;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
using NewPdaSqlServer.util;
using SqlSugar;
-using DbType = System.Data.DbType;
-
+using static Azure.Core.HttpHeader;
namespace NewPdaSqlServer.service.QC;
@@ -17,7 +16,7 @@
var parsedGuid = Guid.Empty;
if (!queryObj.id.IsNullOrEmpty())
{
- bool isValid = Guid.TryParse(queryObj.id, out parsedGuid);
+ var isValid = Guid.TryParse(queryObj.id, out parsedGuid);
if (!isValid)
throw new ApplicationException("GUID杞崲閿欒");
}
@@ -26,16 +25,26 @@
var totalCount = 0;
var pageList = Db.Queryable<LLJView>()
- .WhereIF(
- StringUtil.IsNotNullOrEmpty(queryObj.result) &&
- "鏈畬鎴�".Equals(queryObj.result),
- a => a.FcheckResu == null)
- .WhereIF(
- StringUtil.IsNotNullOrEmpty(queryObj.result) &&
- !"鏈畬鎴�".Equals(queryObj.result),
- a => a.FcheckResu != null)
+ //.WhereIF(
+ // StringUtil.IsNotNullOrEmpty(queryObj.result) &&
+ // "鏈畬鎴�".Equals(queryObj.result),
+ // a => (a.STATUS ?? "") != "宸叉彁浜�")
+ // //a => (a.FcheckResu ?? "") == ""|| (a.FcheckResu ?? "") == "妫�楠屼腑")
+ //.WhereIF(
+ // StringUtil.IsNotNullOrEmpty(queryObj.result) &&
+ // !"鏈畬鎴�".Equals(queryObj.result),
+ // a => (a.STATUS ?? "") == "宸叉彁浜�")
+
+ .WhereIF(!string.IsNullOrWhiteSpace(queryObj.keyword), a =>
+ a.ItemNo.Contains(queryObj.keyword) ||
+ a.ItemName.Contains(queryObj.keyword) ||
+ a.LotNo.Contains(queryObj.keyword) ||
+ a.ReleaseNo.Contains(queryObj.keyword) ||
+ a.SuppName.Contains(queryObj.keyword)
+ )
.WhereIF(UtilityHelper.CheckGuid(parsedGuid),
- a => a.guid == parsedGuid)
+ a => a.guid == parsedGuid )
+ .Where(a => (a.fsubmit ?? 0) == 0)
.OrderByDescending(a => a.CreateDate)
.ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
@@ -62,7 +71,7 @@
FcheckItem = b.FcheckItem,
FdownAllow = b.FdownAllow,
FcheckLevel = b.FREQUENCY,
- Fstand = Convert.ToInt32(b.FSTAND),
+ Fstand = b.FSTAND,
FupAllow = b.FupAllow,
SampleSizeNo = b.SampleSizeNo,
FenterQty = 0,
@@ -74,7 +83,7 @@
mesQaIqcItem.ForEach(item =>
{
- string LEV = item.FcheckLevel switch
+ var LEV = item.FcheckLevel switch
{
null => "" // 榛樿鍊�
,
@@ -147,7 +156,7 @@
{
foreach (var item in items) item.ReleaseNo = rkjDto.releaseNo;
- return db.Insertable(items).ExecuteCommand();
+ return db.Insertable(items).IgnoreColumns(true).ExecuteCommand();
});
rkjDto.items = GetItems(rkjDto.releaseNo, null);
@@ -189,16 +198,27 @@
}
public List<MesQaItemsDetectDetail5> GetItems(string? releaseNo,
- decimal? id)
+ string? id)
{
+ var parsedGuid = Guid.Empty;
+
+ if (id != null)
+ {
+ var isValid = Guid.TryParse(id, out parsedGuid);
+ if (!isValid)
+ throw new ApplicationException("GUID杞崲閿欒");
+ }
+
return Db.Queryable<MesQaItemsDetectDetail5, MesQaItemsDetectDetail12>(
(a, b) =>
new JoinQueryInfos(JoinType.Left, a.Guid == b.ParentGuid))
.Where((a, b) => a.ReleaseNo == releaseNo)
- // .WhereIF(id > 0, (a, b) => a.Id == id)
+ .WhereIF(UtilityHelper.CheckGuid(parsedGuid),
+ (a, b) => a.Guid == parsedGuid)
.GroupBy((a, b) => new
{
a.Guid,
+ a.ParentGuid,
a.ReleaseNo,
a.FacLevel,
a.FcheckItem,
@@ -211,10 +231,13 @@
a.FspecRequ,
a.FreQty,
a.CheckQyt,
- a.FcheckResu
+ a.FcheckResu,
+ a.Order,
+ a.Ybsl
}).Select((a, b) => new MesQaItemsDetectDetail5
{
Guid = a.Guid,
+ ParentGuid = a.ParentGuid,
ReleaseNo = a.ReleaseNo,
CheckQyt = a.CheckQyt,
FacLevel = a.FacLevel,
@@ -230,8 +253,11 @@
Factory = "1000",
Company = "1000",
FenterQty = SqlFunc.AggregateCount(b.Guid),
- FcheckResu = a.FcheckResu
- }).ToList();
+ FcheckResu = a.FcheckResu,
+ Order = a.Order,
+ Ybsl = a.Ybsl,
+ }).OrderBy(a => a.Order)
+ .ToList();
}
public int SetQSItemDetail(MesQaItemsDetectDetail12 detail)
@@ -243,6 +269,8 @@
{
var item = new MesQaItemsDetectDetail12();
item.ParentGuid = detail.ParentGuid;
+ item.GrandpaGuid = detail.GrandpaGuid;
+ item.FcheckItem = detail.FcheckItem;
item.Fstand = detail.Fstand;
item.FcheckResu = detail.FcheckResu;
item.CreateBy = detail.LastupdateBy;
@@ -250,7 +278,7 @@
result.Add(item);
}
- return db.Insertable(result).ExecuteCommand();
+ return db.Insertable(result).PageSize(1).IgnoreColumnsNull().ExecuteCommand();
});
detail.CreateBy = detail.LastupdateBy;
@@ -302,6 +330,7 @@
commit += db.Updateable<MesQaItemsDetectDetail5>()
.SetColumns(s => s.FcheckResu == result)
.SetColumns(s => s.FenterQty == count)
+ .SetColumns(s => s.FngRate == (s.CheckQyt == 0 ? (decimal?)null : (decimal?)(Convert.ToDouble(noCount) / Convert.ToDouble(count))))
.Where(s => s.Guid == detail.ParentGuid)
.ExecuteCommand();
@@ -402,12 +431,9 @@
{
var rkjDto = new LLJDto();
- bool isValid = Guid.TryParse(id, out var parsedGuid);
+ var isValid = Guid.TryParse(id, out var parsedGuid);
- if (!isValid)
- {
- throw new Exception("GUID杞崲閿欒");
- }
+ if (!isValid) throw new Exception("GUID杞崲閿欒");
var qsItemOqcItem =
Db.Queryable<MesQaItemsDetectDetail5>()
@@ -436,6 +462,16 @@
rkjDto.ItemXj02s = Db.Queryable<MesQaItemsDetectDetail12>()
.Where(s => s.ParentGuid == parsedGuid)
.ToList();
+
+ foreach (var mesQaItemsDetectDetail12 in rkjDto.ItemXj02s)
+ {
+ //this.formData.fupAllow && this.formData.fdownAllow && this.formData.fstand
+ mesQaItemsDetectDetail12.isNumber = true;
+ if (qsItemOqcItem.FupAllow.IsNullOrEmpty()
+ && qsItemOqcItem.FdownAllow.IsNullOrEmpty()
+ && qsItemOqcItem.Fstand == null)
+ mesQaItemsDetectDetail12.isNumber = false;
+ }
return rkjDto;
}
@@ -502,10 +538,9 @@
//瀛愯〃淇敼澶囨敞瀛楁
public int saveRemarksPid(LLJDto dto)
{
- bool isValid = Guid.TryParse(dto.pid, out var parsedGuid);
+ var isValid = Guid.TryParse(dto.pid, out var parsedGuid);
if (isValid)
- {
return UseTransaction(db =>
{
return db.Updateable<MesQaItemsDetectDetail5>()
@@ -514,7 +549,6 @@
.Where(it => it.Guid == parsedGuid)
.ExecuteCommand();
});
- }
throw new Exception("GUID杞崲閿欒");
}
@@ -562,7 +596,7 @@
throw new Exception("璇ユ楠屽崟宸叉彁浜�");
if (mesQaItemsDetect01.FcheckDate == null)
- throw new Exception("璇ユ娴嬪崟鏈緭鍏ユ楠屾棩鏈燂紝璇锋牳瀵广��");
+ throw new Exception("璇ユ娴嬪崟娌℃湁妫�楠屽畬鎴愶紝璇锋牳瀵广��");
if (mesQaItemsDetect01.FcheckBy.IsNullOrEmpty())
throw new Exception("璇ユ娴嬪崟鏈緭鍏ユ楠屼汉鍛橈紝璇锋牳瀵广��");
@@ -577,11 +611,9 @@
{
mesQaItemsDetectDetail5.FenterQty ??= 0;
if (mesQaItemsDetectDetail5.FenterQty == 0)
- {
throw new Exception("妫�楠岄」鐩�:" +
mesQaItemsDetectDetail5.FcheckItem +
" 宸插綍鍏ユ暟閲忎负0锛岃纭銆�");
- }
}
var com = UseTransaction(db =>
@@ -643,7 +675,7 @@
TotalOkRkQty = SqlFunc.AggregateSum(b.OkRkqty)
})
.First();
-
+
var totalQuantity = first.TotalQuantity ?? 0;
var totalOkRkQty = first.TotalOkRkQty ?? 0;
@@ -658,12 +690,13 @@
executeCommand += db.Updateable<MesInvItemArnDetail>()
.SetColumns(s => s.CheckStates == "涓嶅悎鏍煎緟瀹℃壒")
.SetColumns(s => s.Ischeck == 1)
- .SetColumns(s => s.CheckRes == mesQaItemsDetect01.FcheckResu)
+ .SetColumns(
+ s => s.CheckRes == mesQaItemsDetect01.FcheckResu)
.SetColumns(s => s.CheckDate == DateTime.Now)
.Where(s => s.ParentGuid == mesInvItemArn.Guid
&& s.ItemId == mesQaItemsDetect01.ItemId)
.ExecuteCommand();
-
+
executeCommand += db.Updateable<MesQaItemsDetect01>()
.SetColumns(s => s.IqcDate == DateTime.Now)
.SetColumns(s => s.FcheckDate == DateTime.Now)
@@ -672,7 +705,7 @@
.ExecuteCommand();
}
- if (executeCommand >=3)
+ if (executeCommand >= 3)
return executeCommand;
throw new Exception("鏇存柊澶辫触");
@@ -680,4 +713,38 @@
return com > 0;
}
+
+ public int[] getBadge()
+ {
+ var isNullCount = Db.Queryable<MesQaItemsDetect01>()
+ .Where(a => (a.FcheckResu ?? "") == "").Count();
+
+ var isNotNullCount = Db.Queryable<MesQaItemsDetect01>()
+ .Where(a => (a.FcheckResu ?? "") != "").Count();
+
+ return [isNullCount, isNotNullCount];
+ }
+
+
+
+ //鍒犻櫎鐗瑰緛鍊�
+ public int deleteDetail13(LLJDto dto)
+ {
+ var withOracle = Db.Deleteable<MesQaItemsDetectDetail13>()
+ .Where(s => s.Guid.ToString() == dto.id13)
+ .ExecuteCommand();
+
+ return withOracle;
+ }
+
+ //鏇存柊涓嶅悎鏍兼弿杩�
+ public int updateRemarks(LLJDto dto)
+ {
+ var withOracle = Db.Updateable<MesQaItemsDetect01>()
+ .SetColumns(s => s.FngDesc == dto.Remarks)
+ .Where(s => s.Guid.ToString() == dto.gid)
+ .ExecuteCommand();
+
+ return withOracle;
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3