using MES.Service.DB; using MES.Service.Dto.service; using MES.Service.util; using Newtonsoft.Json; using SqlSugar; using System.Data; namespace MES.Service.service.QC { public class RetMatService { public List GetAllDocs() { var db = SqlSugarHelper.GetInstance(); string sql = @" SELECT THL_NO FROM MES_ITEM_THL -- WHERE JY_BS = 0 AND THL012 = 1 "; var table = db.Ado.GetDataTable(sql); return table.ToDynamic(); } public List GetHeader(string docNo) { var db = SqlSugarHelper.GetInstance(); string sql = @" SELECT a.THL001 AS moNo, a.THL004 AS type, s.ITEM_NO AS productCode, d.DEPARTMENTNAME AS deptName, TO_CHAR(a.THL011, 'yyyy-mm-dd hh24:mi:ss') AS createTime FROM MES_ITEM_THL a LEFT JOIN MES_ITEMS s ON a.ITEM_ID = s.ID LEFT JOIN WOMDAA a0 ON a.THL001 = a0.DAA001 LEFT JOIN SYS_DEPARTMENT d ON a0.daa013 = d.ID WHERE a.THL_NO = :docNo "; var table = db.Ado.GetDataTable(sql, new SugarParameter("docNo", docNo)); return table.ToDynamic(); } public List GetDetailList(string docNo) { var db = SqlSugarHelper.GetInstance(); string sql = @" SELECT s.ITEM_NO AS material, s.ITEM_MODEL AS spec, a.THLD005 AS qty, a.THLD014 AS reason, s.ID AS itemId FROM MES_ITEM_THL_DETAIL a LEFT JOIN MES_ITEM_THL b ON a.THLMID = b.ID LEFT JOIN MES_ITEMS s ON a.ITEM_ID = s.ID WHERE b.THL_NO = :docNo "; return db.Ado.GetDataTable(sql, new SugarParameter("docNo", docNo)).ToDynamic(); } public void UpdateHeader(string docNo, string user) { var db = SqlSugarHelper.GetInstance(); string sql = @" UPDATE MES_ITEM_THL SET JY_BS = 1, JY_USER = :user, JY_TIME = SYSDATE WHERE THL_NO = :docNo "; db.Ado.ExecuteCommand(sql, new SugarParameter("docNo", docNo), new SugarParameter("user", user) ); } /* public void SaveReviewItem(string docNo, string itemNo, string reason) { var db = SqlSugarHelper.GetInstance(); string sql = @" UPDATE MES_ITEM_THL_DETAIL SET THLD014 = :reason WHERE THLMID = ( SELECT ID FROM MES_ITEM_THL WHERE THL_NO = :docNo ) AND ITEM_ID = ( SELECT ID FROM MES_ITEMS WHERE ITEM_NO = :itemNo ) "; db.Ado.ExecuteCommand(sql, new SugarParameter("docNo", docNo), new SugarParameter("itemNo", itemNo), new SugarParameter("reason", reason) ); }*/ public void SaveReview(string docNo, string user, List items) { var db = SqlSugarHelper.GetInstance(); string json = JsonConvert.SerializeObject(items); // 序列化为 JSON 字符串 foreach (ReviewItem item in items) { var parameters = new List { new SugarParameter("pi_NO", docNo, System.Data.DbType.String), new SugarParameter("pi_user", user, System.Data.DbType.String), new SugarParameter("pi_item_ID", item.ItemId, System.Data.DbType.Decimal), new SugarParameter("pi_reason", item.Reason, System.Data.DbType.String) }; db.Ado.UseStoredProcedure() .ExecuteCommand("PRC_RET_MAT_AUDIT_ALL", parameters); } } public void Reject(string docNo, string user) { var db = SqlSugarHelper.GetInstance(); string sql = @" UPDATE MES_ITEM_THL SET BH_TIME = SYSDATE, BH_USER = :pi_user, THL010 = '', THL011 = '', THL012 = 0 WHERE THL_NO = :pi_no "; db.Ado.ExecuteCommand(sql, new SugarParameter("pi_user", user), new SugarParameter("pi_no", docNo) ); } } }