From cee4e362c81af4c93c87f40e77649e9af5a591c6 Mon Sep 17 00:00:00 2001
From: zyf <1071160500@qq.com>
Date: 星期一, 02 六月 2025 20:05:54 +0800
Subject: [PATCH] 修改工单生产数量更新的逻辑,现在只有检验合格的才更新生产数量,清除检验合格的结果也会更新
---
MES.Service/service/QC/RKJService.cs | 148 +++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 130 insertions(+), 18 deletions(-)
diff --git a/MES.Service/service/QC/RKJService.cs b/MES.Service/service/QC/RKJService.cs
index a2749ff..3c53e13 100644
--- a/MES.Service/service/QC/RKJService.cs
+++ b/MES.Service/service/QC/RKJService.cs
@@ -1,4 +1,5 @@
-锘縰sing MES.Service.DB;
+锘縰sing Masuit.Tools.Models;
+using MES.Service.DB;
using MES.Service.Dto.service;
using MES.Service.Modes;
using MES.Service.util;
@@ -326,7 +327,7 @@
if (!string.IsNullOrEmpty(qsItemOqcReq.FcheckResu))
{
- throw new Exception("璇ユ楠屽崟宸�" + qsItemOqcReq.FcheckResu + "锛屼笉杩愯淇敼缁撴灉");
+ throw new Exception("璇ユ楠屽崟宸�" + qsItemOqcReq.FcheckResu + "锛屼笉鍏佽淇敼缁撴灉");
}
var oracle = SqlSugarHelper.UseTransactionWithOracle(db =>
@@ -444,6 +445,8 @@
/// womdaa 宸茬敓浜ч噺 DAA011鍔犲洖鏉$爜鎶ュ伐鏁伴噺
/// MES_SCGD_GX 妫�楠屾爣璇� CHECK_FLAG锛�('鈭�','脳')
/// 閫氳繃mes_inv_item_in_c_details2鐨凪ES_SCGD_GX_ID杩炴帴
+ ///
+ /// 20250602鏇存柊 鐜板湪涓嶅悎鏍间笉浼氭洿鏂板伐鍗曠敓浜ф暟閲忥紝鍚堟牸浼氬鍔犲搴斿伐鍗曠敓浜ф暟閲�
///</summary>
private void setBarCodes(string? FcheckResu, QsItemOqcItemDetail detail,
SqlSugarClient db)
@@ -483,7 +486,7 @@
var barCodes = mesInvItemInsList.Select(s => s.ItemBarcode).ToList();
var count = db.Queryable<MesInvItemBarcodes>()
- .Where(s => barCodes.Contains(s.ItemBarcode) && s.WorkFlg == 0)
+ .Where(s => barCodes.Contains(s.ItemBarcode))
.Count();
var gxId = mesInvItemInsList.Select(s => s.MesScgdGxId).ToList();
@@ -500,7 +503,7 @@
if (count <= 0) return;
- //鍙栨秷mes_inv_item_barcodes 鐨勬姤宸ユ爣璇� WORK_FLG 浣跨敤鏉$爜
+ //鏇存柊mes_inv_item_barcodes 鐨勬姤宸ユ爣璇� WORK_FLG 浣跨敤鏉$爜
var executeCommand = db.Updateable<MesInvItemBarcodes>()
.SetColumns(a => a.WorkFlg == 1)
.Where(a => barCodes.Contains(a.ItemBarcode))
@@ -508,7 +511,7 @@
if (executeCommand > 0)
{
- //womdaa 宸茬敓浜ч噺 DAA011鍔犲洖鏉$爜鎶ュ伐鏁伴噺
+ //womdaa 宸茬敓浜ч噺 DAA011鍔犱笂鏉$爜鎶ュ伐鏁伴噺
db.Updateable<Womdaa>()
.SetColumns(b => b.Daa011 == b.Daa011 + sumQty)
.Where(b => b.Daa001 == qsItemOqcReq.Daa001)
@@ -529,14 +532,14 @@
.Where(a => barCodes.Contains(a.ItemBarcode))
.ExecuteCommand();
- if (executeCommand > 0)
+ /*if (executeCommand > 0)
{
- //womdaa 宸茬敓浜ч噺 DAA011鍔犲洖鏉$爜鎶ュ伐鏁伴噺
+ //womdaa 宸茬敓浜ч噺 DAA011鎵i櫎鏉$爜鎶ュ伐鏁伴噺
db.Updateable<Womdaa>()
.SetColumns(b => b.Daa011 == b.Daa011 - sumQty)
.Where(b => b.Daa001 == qsItemOqcReq.Daa001)
.ExecuteCommand();
- }
+ }*/
}
}
@@ -599,8 +602,8 @@
var qsItemOqcReqs = db
.Queryable<QsItemOqcReq, MesItems, MesInvItemIns, MesInvTransaction,
- RKJDaa001, Womdaa, VLineUser,MesDeptUser>(
- (a, b, c, ca, m, da, z,d) => new JoinQueryInfos(
+ RKJDaa001, Womdaa, VLineUser,MesDeptUser, Womcaa, ExZzCaaFiled>(
+ (a, b, c, ca, m, da, z,d, caa,zf) => new JoinQueryInfos(
JoinType.Left, a.ItemNo == b.ItemNo,
JoinType.Left, a.BillNo == c.BillNo,
JoinType.Left,
@@ -610,28 +613,30 @@
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
+ JoinType.Left,c.Bgr == d.UserNo,
+ JoinType.Left, da.Daa021 == caa.Caa020,
+ JoinType.Left, caa.Erpid == zf.Erpid
))
// .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,d) => lineNo.Contains(da.Daa015))
+ (a, b, c, ca, m, da, z, d, caa, zf) => lineNo.Contains(da.Daa015))
.WhereIF(!string.IsNullOrEmpty(queryObj.id),
- (a, b, c, ca, m, da, z,d) => a.Id.ToString() == queryObj.id)
+ (a, b, c, ca, m, da, z, d, caa, zf) => a.Id.ToString() == queryObj.id)
.WhereIF(
StringUtil.IsNotNullOrEmpty(queryObj.result) &&
"鏈畬鎴�".Equals(queryObj.result),
- (a, b, c, ca, m, da, z,d) => a.FcheckResu == null)
+ (a, b, c, ca, m, da, z, d, caa, zf) => a.FcheckResu == null)
.WhereIF(
StringUtil.IsNotNullOrEmpty(queryObj.result) &&
!"鏈畬鎴�".Equals(queryObj.result),
- (a, b, c, ca, m, da, z,d) => a.FcheckResu != null)
+ (a, b, c, ca, m, da, z, d, caa, zf) => 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, d) => b.ItemName.ToLower().Contains(queryObj.SearchValue.ToLower())
+ (a, b, c, ca, m, da, z, d, caa, zf) => b.ItemName.ToLower().Contains(queryObj.SearchValue.ToLower())
|| a.ItemNo.ToLower().Contains(queryObj.SearchValue.ToLower()))
- .Select((a, b, c, ca, m, da, z,d) => new QsItemOqcReq
+ .Select((a, b, c, ca, m, da, z, d, caa, zf) => new QsItemOqcReq
{
BillNo = a.BillNo,
Fsubmit = a.Fsubmit,
@@ -651,6 +656,8 @@
Daa015 = da.Daa015,
LineNo = c.LineNo,
Quantity = m.Quantity,
+ Caa015 = caa.Caa015,
+ cust = da.Cust == null ? zf.Cust : da.Cust,
Bgr = d.UserName
})
.OrderBy(a => a.CreateDate, OrderByType.Desc)
@@ -734,7 +741,7 @@
if (!string.IsNullOrEmpty(qsItemOqcReq.FcheckResu))
{
- throw new Exception("璇ユ楠屽崟宸�" + qsItemOqcReq.FcheckResu + "锛屼笉杩愯淇敼缁撴灉");
+ throw new Exception("璇ユ楠屽崟宸�" + qsItemOqcReq.FcheckResu + "锛屼笉鍏佽淇敼缁撴灉");
}
var withOracle = SqlSugarHelper.UseTransactionWithOracle(db =>
@@ -833,6 +840,43 @@
SetQSItemDetail(detail);
});
+ //鍥犱负榛樿鍚堟牸锛屽湪杩欓噷澧炲姞宸ュ崟鐢熶骇鏁伴噺
+ var db = SqlSugarHelper.GetInstance();
+ 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 == rkjDto.gid)
+ .Select((a, b, c) =>
+ new
+ {
+ a.Id,
+ a.BillNo,
+ c.Daa001
+ })
+ .First();
+
+ if (oqcReqList.Id is null or 0) return 0;
+
+ //鏌ヨ妫�楠屾暟閲�
+ var sumQty = db
+ .Queryable<MesInvItemIns, MesInvItemInCDetails2>((a, b) =>
+ new JoinQueryInfos(
+ JoinType.Left, a.Id == b.ItemInId))
+ .Where((a, b) => a.BillNo == oqcReqList.BillNo)
+ .Select((a, b) => new {b.Quantity })
+ .MergeTable().Sum( a=> a.Quantity);
+
+ //鏇存柊鐢熶骇閲�
+ db.Updateable<Womdaa>()
+ .SetColumns(b => b.Daa011 == b.Daa011 + sumQty)
+ .Where(b => b.Daa001 == oqcReqList.Daa001)
+ .ExecuteCommand();
+
+
+
return Convert.ToInt32(rkjDto.gid);
}
@@ -840,6 +884,74 @@
{
if (isRk(dto.gid)) throw new Exception("宸叉湁鏉$爜鍏ュ簱锛屼笉鍏佽娓呴櫎妫�楠岀粨鏋�");
+ var db = SqlSugarHelper.GetInstance();
+ //鏌ヨ妫�楠岀粨鏋�
+ 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 == dto.gid)
+ .Select((a, b, c) =>
+ new
+ {
+ a.FcheckResu,
+ a.Id,
+ a.BillNo,
+ c.Daa001
+ })
+ .First();
+
+ if (oqcReqList.Id is null or 0) return 0;
+
+ var FcheckResu = oqcReqList.FcheckResu; //妫�楠岀粨鏋�
+
+ //鏌ヨ妫�楠屾暟閲�
+ var mesInvItemInsList = db
+ .Queryable<MesInvItemIns, MesInvItemInCDetails2>((a, b) =>
+ new JoinQueryInfos(
+ JoinType.Left, a.Id == b.ItemInId))
+ .Where((a, b) => a.BillNo == oqcReqList.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))
+ .Count();
+
+ var gxId = mesInvItemInsList.Select(s => s.MesScgdGxId).ToList();
+
+ var sumQty = mesInvItemInsList.Sum(s => s.Quantity);
+
+
+ //鏍规嵁宸ュ簭id鏇存柊宸ュ簭琛ㄧ殑妫�楠岀粨鏋�
+ db.Updateable<MesScgdGx>()
+ .SetColumns(s => s.CheckFlag == "鏈楠�")
+ .Where(s => gxId.Contains(s.Id))
+ .ExecuteCommand();
+
+ if (count <= 0) return 0;
+
+ //鏇存柊mes_inv_item_barcodes 鐨勬姤宸ユ爣璇� WORK_FLG 涓哄凡鎶ュ伐锛堜富瑕佹槸閽堝涓嶅悎鏍肩殑妫�楠岀粨鏋滐級
+ var executeCommand = db.Updateable<MesInvItemBarcodes>()
+ .SetColumns(a => a.WorkFlg == 1)
+ .Where(a => barCodes.Contains(a.ItemBarcode))
+ .ExecuteCommand();
+
+
+ if ("鍚堟牸".Equals(FcheckResu)) //妫�楠屽悎鏍肩殑鍒欏洖閫�鐢熶骇鏁伴噺
+ {
+ //womdaa 宸茬敓浜ч噺 DAA011鎵i櫎鏉$爜鎶ュ伐鏁伴噺
+ db.Updateable<Womdaa>()
+ .SetColumns(b => b.Daa011 == b.Daa011 - sumQty)
+ .Where(b => b.Daa001 == oqcReqList.Daa001)
+ .ExecuteCommand();
+ }
+
return SqlSugarHelper.UseTransactionWithOracle(db =>
{
--
Gitblit v1.9.3