From 612b2285b823072809d811d456787432a3234fc3 Mon Sep 17 00:00:00 2001
From: zyf <1071160500@qq.com>
Date: 星期五, 21 十一月 2025 15:04:19 +0800
Subject: [PATCH] 首检巡检功能优化
---
MES.Service/service/QC/XJService.cs | 518 +++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 428 insertions(+), 90 deletions(-)
diff --git a/MES.Service/service/QC/XJService.cs b/MES.Service/service/QC/XJService.cs
index ad76d93..9af8b55 100644
--- a/MES.Service/service/QC/XJService.cs
+++ b/MES.Service/service/QC/XJService.cs
@@ -2,7 +2,9 @@
using MES.Service.Dto.service;
using MES.Service.Modes;
using MES.Service.util;
+using Newtonsoft.Json.Linq;
using SqlSugar;
+using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
namespace MES.Service.service.QC;
@@ -13,7 +15,7 @@
private readonly BaseService _baseService = new();
- private readonly string[] statusArray = ["寮�宸�", "寰呭紑宸�"];
+ private readonly string[] statusArray = ["寮�宸�", "寰呭紑宸�","宸插紑宸�" ,"鏈紑宸�"];
//鐢熸垚鏈�鏂扮殑妫�楠屽崟鍙�
public string getMaxReleaseNo()
@@ -38,52 +40,77 @@
return "XJN" + date + number;
}
- public List<Womdaa> getItem(string daa001)
+ public class DaaInfoDto
+ {
+ public decimal? Id { get; set; }
+ public string Daa001 { get; set; }
+ public string? Daa003 { get; set; }
+ public string? Daa004 { get; set; }
+ public decimal? Daa008 { get; set; }
+ public string? Daa015 { get; set; }
+ public string? Daa020 { get; set; }
+ public string? ItemNo { get; set; } // 鏉ヨ嚜鍏宠仈琛�
+ public string? ItemName { get; set; }
+ }
+
+ public List<DaaInfoDto> getItem(string daa001)
{
var db = SqlSugarHelper.GetInstance();
//in鐨勫啓娉� https://www.donet5.com/Home/Doc?typeId=1187
- return db.Queryable<Womdaa>()
+ return db.Queryable<Womdaa,MesItems>((a, b) => new JoinQueryInfos(
+ JoinType.Inner, a.Daa002 == b.Id.ToString()))
.Where(a =>
a.Daa001 == daa001 &&
statusArray.Contains(a.Daa018))
+ .Select((a, b) => new DaaInfoDto
+ {
+ Daa001= daa001,
+ Daa003=a.Daa003,
+ Daa004=a.Daa004,
+ Daa008=a.Daa008,
+ Daa015=a.Daa015,
+ Daa020=a.Daa020,
+ ItemNo=b.ItemNo,
+ ItemName = b.ItemName,
+ Id =a.Id
+ })
.ToList();
}
- public List<MesLine> getLineAll()
+ public List<QCUserLine> getLineAll(string UserNo)
{
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
+
+ return db.Queryable<QCUserLine>()
+ .Where(a => a.UserCode == UserNo)
+ .Select(a => new QCUserLine
{
- b.LineNo, b.LineName
- })
- .Select((a, b) => new MesLine
- {
- LineNo = b.LineNo,
- LineName = b.LineName
- }).OrderBy("b.LINE_NO").ToList();
+ LineNo = a.LineNo,
+ LineName = a.LineName
+ }).OrderBy("LINENO").ToList();
}
- public List<Womdaa> getDaa001(string daa020, string item)
+
+
+ public List<Womdaa> getDaa001(JObject data)
{
+ var daa020 = data["daa020"]?.ToString();
+ var item = data["item"]?.ToString();
+
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))
+ .WhereIF(!string.IsNullOrEmpty(daa020), (a, b) => a.Daa015 == daa020)
+ .WhereIF(!string.IsNullOrEmpty(item), (a, b) => b.ItemNo == item)
+ .Where((a, b) => statusArray.Contains(a.Daa018))
.Select<Womdaa>(a => new Womdaa
{
Id = a.Id,
Daa001 = a.Daa001,
- Daa003 = a.Daa003
+ Daa003 = a.Daa003,
+ Daa008 = a.Daa008
}).ToList();
}
@@ -98,96 +125,144 @@
.Select<MesItems>((a, b) =>
new MesItems
{
+ Id = b.Id,
ItemNo = b.ItemNo,
- ItemName = b.ItemName
+ ItemName = b.ItemName,
+ ItemModel = b.ItemModel
}).ToList();
}
- public List<QsQaItemXj> getPage(XJPageResult queryObj)
+ public List<string?> GetItemProj(string? itemNo)
+ { //鑾峰彇鐗╂枡鎵�鏈夌殑妫�楠岃鍒掑悕绉�
+
+ var db = SqlSugarHelper.GetInstance();
+
+ var plans = db.Queryable<MesQa>().Where(a => a.ItemNo == itemNo && a.QsType == "2")
+ .Select(s => s.QaPlan)
+ .Distinct()
+ .ToList();
+
+ return plans;
+ }
+
+ public (List<QsQaItemXj> items, int totalCount) getPage(
+ XJPageResult queryObj)
{
var db = SqlSugarHelper.GetInstance();
+
+ int totalCount = 0;
var id = Convert.ToDecimal(queryObj.id);
string[]? lineNo = null;
- if (StringUtil.IsNotNullOrEmpty(queryObj.createUser))
- lineNo = _baseService.getUserLineNo(queryObj.createUser);
+ //if (StringUtil.IsNotNullOrEmpty(queryObj.createUser))
+ // lineNo = _baseService.getUserLineNo(queryObj.createUser);
- return db
+ var query = db
.Queryable<QsQaItemXj, Womdaa, MesLine,
- MesItems>((s, a, c, b) =>
+ MesItems, SysUser,Womcaa,SysDepartment, MesUserDepartmentQc,MesItems>((s, a, c, b, us,ca,d,dq,i) =>
new JoinQueryInfos(
JoinType.Inner, s.BillNo == a.Daa001,
JoinType.Left, a.Daa015 == c.LineNo,
- JoinType.Left, s.ItemNo == b.ItemNo
+ JoinType.Left, s.ItemId == b.Id,
+ JoinType.Left, us.Fcode == s.CreateBy,
+ JoinType.Left, ca.Caa020 == a.Daa021,
+ JoinType.Left, d.Departmentcode == c.Departmentcode,
+ JoinType.Left, dq.Departmentcode == d.Departmentcode,//鏌ヨ鐢ㄦ埛鏉冮檺
+ JoinType.Left, i.Id == Convert.ToDecimal(a.Daa002)
)
)
- .WhereIF(lineNo != null && lineNo.Length > 0,
- (s, a, c, b) => lineNo.Contains(c.LineNo))
+ //.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)
+ (s, a, c, b, us) =>
+ s.SubmitStatus == 0 || s.SubmitStatus == 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
+ (s, a, c, b, us) => s.SubmitStatus == 1)
+ .WhereIF(id > 0, (s, a, c, b, us,ca) => s.Id == id)
+ .WhereIF(!string.IsNullOrEmpty(queryObj.LoginUser),
+ (s, a, c, b, us, ca, d, dq) => dq.Usercode == queryObj.LoginUser)
+ .WhereIF(!string.IsNullOrEmpty(queryObj.SearchValue),
+ (s, a, c, b, us, ca, d, dq,i) =>
+ s.ReleaseNo.ToLower().Contains(queryObj.SearchValue.ToLower()) ||
+ i.ItemName.ToLower().Contains(queryObj.SearchValue.ToLower()) ||
+ ca.Caa015.ToLower().Contains(queryObj.SearchValue.ToLower()) ||
+ i.ItemNo.ToLower().Contains(queryObj.SearchValue.ToLower()))
+ .Select((s, a, c, b, us,ca,d) => new QsQaItemXj
{
- MoidNum = s.MoidNum,
Daa020 = c.LineNo,
Id = s.Id,
+ PlanQty = a.Daa008,
+ LineName = c.LineName,
+ CreateUser = us.Fname,
CreateBy = s.CreateBy,
CreateDate = s.CreateDate,
ReleaseNo = s.ReleaseNo,
ItemNo = s.ItemNo,
- ItemUnit = s.ItemUnit,
BillNo = s.BillNo,
- FcheckBy = s.FcheckBy,
- FcheckResu = s.FcheckResu,
+ ItemName = b.ItemName,
+ ItemModel = b.ItemModel,
+ CheckBy = s.CheckBy,
+ CheckResult = s.CheckResult,
Remarks = s.Remarks,
- }).OrderBy(s => s.CreateDate, OrderByType.Desc)
- .ToPageList(queryObj.PageIndex, queryObj.Limit);
+ SaleOrder = ca.Caa015,
+ DepartName = d.Departmentname,
+ PlanName = s.PlanName
+
+ }).OrderBy(s => s.CreateDate, OrderByType.Desc);
+ var items = query.ToPageList(queryObj.PageIndex, queryObj.Limit,
+ ref totalCount);
+
+ return (items, totalCount);
}
- public List<QsQaItemXj01> setJYItem(string itemNo)
+ public List<QsQaItemXj01> setJYItem(string itemNo, string planName)
{
var db = SqlSugarHelper.GetInstance();
var count = db.Queryable<MesQa>().Where(s => s.QsType == "2"
- && s.ItemNo == itemNo && s.Fsubmit == 1).Count();
+ && s.ItemNo == itemNo && s.Fsubmit == 1 && s.QaPlan == planName).Count();
if (count <= 0) return new List<QsQaItemXj01>();
+ decimal? QsId = db.Queryable<MesQa>()
+ .Where(s => s.QsType == "2"
+ && s.ItemNo == itemNo
+ && s.QaPlan == planName
+ && s.Fsubmit == 1)
+ .Select(s => s.Id)
+ .First();
+
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();
+ .Where(b => b.Pid== QsId).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)
@@ -284,35 +359,228 @@
return Convert.ToInt32(xj.Id);
}
+ public bool XJQaSubmit(LLJDto rkjDto)
+ {
+ var useTransactionWithOracle =
+ SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ return db.Updateable<QsQaItemXj>()
+ .SetColumns(s => s.SubmitStatus == 1)
+ .SetColumns(s => s.SubmitBy == rkjDto.userNo)
+ .SetColumns(s => s.SubmitDate == DateTime.Now)
+ .Where(s => s.Id == rkjDto.gid)
+ .ExecuteCommand();
+ });
+
+ var db = SqlSugarHelper.GetInstance();
+ // 鍒涘缓鍙傛暟
+ var FID = new SugarParameter("P_ID", rkjDto.gid);
+
+
+ var FRes = new SugarParameter("c_result", null, true); // 杈撳嚭鍙傛暟
+ var FMsg = new SugarParameter("c_msg", null, true);
+
+ // 鎵ц瀛樺偍杩囩▼
+ db.Ado.UseStoredProcedure().GetDataTable("PRC_XJ_UPDATE_RES_JK", FID, FRes, FMsg);
+
+ int result = int.Parse((string)FRes.Value);
+ string message = FMsg.Value == DBNull.Value ? string.Empty : (string)FMsg.Value;
+ if (result == 1)
+ {
+ //瀛樺偍杩囩▼澶辫触鍒欎簨鍔¤繘琛屽洖婊�
+ //db.Ado.RollbackTran();
+ throw new Exception(message);
+ }
+
+
+ return useTransactionWithOracle > 0;
+ }
+
+ // 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 int saveItem(XJDto xjDto)
{
var items = xjDto.items;
var userNo = xjDto.userNo;
- SqlSugarHelper.UseTransactionWithOracle(db =>
+ var db = SqlSugarHelper.GetInstance();
+
+ var del = db.Deleteable<QsQaItemXj01>()
+ .Where(s => s.Pid == xjDto.gid)
+ .ExecuteCommand();
+
+ //QsItemIpiItemDetail
+ var del1 = db.Deleteable<QsQaItemXj02>()
+ .Where(s => s.Gid == xjDto.gid)
+ .ExecuteCommand();
+
+ // 鏁版嵁楠岃瘉
+ var validationResult = ValidateItemsData(items);
+ if (!validationResult.isValid)
+ throw new Exception($"妫�楠岄」鐩獙璇佸け璐�: {validationResult.errorMsg}");
+
+ return SqlSugarHelper.UseTransactionWithOracle(db =>
{
+ // 璁剧疆澶栭敭鍏宠仈骞舵壒閲忔彃鍏ュ瓙琛�
foreach (var item in items) item.Pid = xjDto.gid;
+ db.Insertable(items).ExecuteCommand();
- return db.Insertable(items).ExecuteCommand();
+ // 鑾峰彇妫�楠岄」鐩暟鎹�
+ var jyItems = getJYItemOptimized(db, xjDto.gid.Value);
+
+ if (jyItems.Any())
+ {
+ // 澶勭悊涓氬姟閫昏緫璁$畻
+ var allDetails =
+ PrepareDetailsData(jyItems, xjDto.gid.Value, userNo);
+
+ if (allDetails.Count > 0)
+ {
+ // 鎵归噺鎻掑叆妫�楠岃鎯�
+ db.Insertable(allDetails).ExecuteCommand();
+
+ // 璁$畻缁撴灉
+ var (pidResults, fcheckResu) =
+ CalculateResults(allDetails, jyItems);
+
+ // 鎵归噺鏇存柊妫�楠岄」鐩粨鏋�
+ foreach (var (pidValue, result) in pidResults)
+ {
+ db.Updateable<QsQaItemXj01>()
+ .SetColumns(s => s.IsPass == result)
+ .Where(s => s.Id == pidValue)
+ .ExecuteCommand();
+ }
+
+ // 鏇存柊涓昏〃妫�楠岀粨鏋�
+ var totalSum = jyItems.Where(x =>
+ x.MaxValue == null && x.StandardValue == null &&
+ x.MinValue == null)
+ .Sum(x => x.LevelNum);
+ if (totalSum == allDetails.Count)
+ {
+ db.Updateable<QsQaItemXj>()
+ .SetColumns(s => s.CheckResult == fcheckResu)
+ .SetColumns(s => s.CheckDate == DateTime.Now)
+ .SetColumns(s => s.CheckBy == userNo)
+ .SetColumns(s => s.LastUpdateBy == userNo)
+ .SetColumns(s => s.LastUpdateDate == DateTime.Now)
+ .Where(s => s.Id == xjDto.gid)
+ .ExecuteCommand();
+ }
+ }
+ }
+
+ return Convert.ToInt32(xjDto.gid);
});
+ }
- xjDto.items = getJYItem(xjDto.gid, null);
+ private List<QsQaItemXj01> getJYItemOptimized(ISqlSugarClient db,
+ decimal xjId)
+ {
+ return db.Queryable<QsQaItemXj01>()
+ .Where(a => a.Pid == xjId)
+ .ToList();
+ }
- xjDto.items.ForEach(s =>
+ private (bool isValid, string errorMsg) ValidateItemsData(
+ List<QsQaItemXj01> items)
+ {
+ if (items == null || !items.Any()) return (false, "妫�楠岄」鐩笉鑳戒负绌�");
+
+ var invalidItems = items
+ .Where(x => x.LevelNum <= 0 || string.IsNullOrEmpty(x.ProjName))
+ .ToList();
+ if (invalidItems.Any())
+ return (false, $"瀛樺湪{invalidItems.Count}涓棤鏁堢殑妫�楠岄」鐩�");
+
+ return (true, "");
+ }
+
+ private List<QsQaItemXj02> PrepareDetailsData(List<QsQaItemXj01> jyItems,
+ decimal gid, string userNo)
+ {
+ var allDetails = new List<QsQaItemXj02>();
+ var now = DateTime.Now;
+
+ foreach (var s in jyItems)
{
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);
- });
+ s.MinValue != null)
+ continue;
- return Convert.ToInt32(xjDto.gid);
+ for (var i = 0; i < s.LevelNum; i++)
+ {
+ allDetails.Add(new QsQaItemXj02
+ {
+ Gid = gid,
+ Pid = s.Id,
+ Fstand = "鈭�",
+ FcheckResu = "1",
+ CreateBy = userNo,
+ CreateDate = now
+ });
+ }
+ }
+
+ return allDetails;
+ }
+
+ private (List<(decimal pid, int result)> pidResults, string fcheckResu)
+ CalculateResults(
+ List<QsQaItemXj02> allDetails, List<QsQaItemXj01> jyItems)
+ {
+ var pidGroups = allDetails.GroupBy(x => x.Pid).ToList();
+ var pidResults = new List<(decimal pid, int result)>();
+
+ foreach (var group in pidGroups)
+ {
+ var count = group.Count();
+ var passCount = group.Count(x => x.Fstand == "鈭�");
+ var result = (count == passCount) ? 1 : 0;
+ pidResults.Add((group.Key.Value, result));
+ }
+
+ var totalSum = jyItems.Where(x =>
+ x.MaxValue == null && x.StandardValue == null &&
+ x.MinValue == null)
+ .Sum(x => x.LevelNum);
+ var totalCount = allDetails.Count;
+ var totalPassCount = allDetails.Count(x => x.Fstand == "鈭�");
+ var fcheckResu =
+ (totalSum == totalCount && totalCount == totalPassCount)
+ ? "鍚堟牸"
+ : "涓嶅悎鏍�";
+
+ return (pidResults, fcheckResu);
}
@@ -394,8 +662,8 @@
if (count == passCount) result = 1;
- var useTransactionWithOracle = SqlSugarHelper.UseTransactionWithOracle(
- db =>
+ var useTransactionWithOracle =
+ SqlSugarHelper.UseTransactionWithOracle(db =>
{
var commit = 0;
commit += db.Updateable<QsQaItemXj01>()
@@ -433,11 +701,11 @@
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)
+ .SetColumns(s => s.CheckResult == FcheckResu)
+ .SetColumns(s => s.CheckDate == DateTime.Now)
+ .SetColumns(s => s.CheckBy == detail.CreateBy)
+ .SetColumns(s => s.LastUpdateBy == detail.CreateBy)
+ .SetColumns(s => s.LastUpdateDate == DateTime.Now)
.Where(s => s.Id == detail.Gid)
.ExecuteCommand();
});
@@ -511,6 +779,18 @@
.ExecuteCommand();
});
}
+
+ public int saveNotesPid(XJDto dto)
+ {
+ return SqlSugarHelper.UseTransactionWithOracle(db =>
+ {
+ return db.Updateable<QsQaItemXj01>()
+ .SetColumns(it =>
+ it.Notes == dto.Remarks) //SetColumns鏄彲浠ュ彔鍔犵殑 鍐�2涓氨2涓瓧娈佃祴鍊�
+ .Where(it => it.Id == dto.pid)
+ .ExecuteCommand();
+ });
+ }
//瀛欒〃淇敼澶囨敞瀛楁
public int saveRemarksById(XJDto dto)
@@ -524,4 +804,62 @@
.ExecuteCommand();
});
}
+
+ public List<XJBadReason>? GetReason(string billNo)
+ {
+ var db = SqlSugarHelper.GetInstance();
+
+ var count = db.Queryable<XJBadReason>().Where(s => s.BillNo == billNo).Count();
+
+ if (count <= 0) return null;
+
+ var reason = db
+ .Queryable<XJBadReason>()
+ .Where(s => s.BillNo == billNo).Select(
+ b => new XJBadReason
+ {
+ Reason = b.Reason
+ }).ToList();
+
+ return reason;
+ }
+
+ public decimal SavePlan(decimal pid, string PlanName)
+ {
+ var db = SqlSugarHelper.GetInstance();
+ var res = db.Updateable<QsQaItemXj>()
+ .SetColumns(a => a.PlanName == PlanName)
+ .Where(a => a.Id == pid)
+ .ExecuteCommand();
+
+ return res;
+
+ }
+
+ public (decimal?, string?, string?) CreateNew(string? DaaNo, string? userNo, string? planName)
+ {
+ var db = SqlSugarHelper.GetInstance();
+ // 鍒涘缓鍙傛暟
+ var FitemNo = new SugarParameter("P_DAA001", DaaNo);
+ var FuserNo = new SugarParameter("P_USER", userNo);
+ var FplanName = new SugarParameter("P_PLAN_NAME", planName);
+
+
+ var FRes = new SugarParameter("P_FLAG", null, true); // 杈撳嚭鍙傛暟
+ var FMsg = new SugarParameter("P_TEXT", null, true);
+ var FBillNo = new SugarParameter("po_BILL_NO", null, true);
+
+ // 鎵ц瀛樺偍杩囩▼
+ db.Ado.UseStoredProcedure().GetDataTable("PRC_XJ_GENERATE_JK", FitemNo, FuserNo, FplanName, FRes, FMsg, FBillNo);
+
+ // 鑾峰彇杈撳嚭缁撴灉
+ var Res = Convert.ToInt32(FRes.Value);
+ var Msg = FMsg.Value?.ToString();
+ var BillNo = FBillNo.Value?.ToString();
+
+ Console.WriteLine($"缁撴灉: {Res}, 杩斿洖娑堟伅: {Msg},鍗曟嵁鍙凤細{BillNo}");
+
+ return (Res, Msg, BillNo);
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.3