From 54bfe544f50d0933ebc27583decb9ab61e01146f Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期五, 14 六月 2024 16:05:16 +0800
Subject: [PATCH] 1.SOP管理,工单SOP功能接口开发
---
VueWebCoreApi/DLL/DAL/SopManageMentDAL.cs | 223 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 221 insertions(+), 2 deletions(-)
diff --git a/VueWebCoreApi/DLL/DAL/SopManageMentDAL.cs b/VueWebCoreApi/DLL/DAL/SopManageMentDAL.cs
index e1fe62e..f2233ab 100644
--- a/VueWebCoreApi/DLL/DAL/SopManageMentDAL.cs
+++ b/VueWebCoreApi/DLL/DAL/SopManageMentDAL.cs
@@ -384,14 +384,14 @@
LogHelper.DbOperateLog(us.usercode, "鏂板宸ヨ壓SOP", "浜у搧锛�"+partcode+" SOP鏂囦欢:" + file.FileName + " 宸ヨ壓璺嚎:" + routecode ?? "" + " 宸ュ簭:" + stepcode.ToString(), us.usertype);
mes.code = "200";
mes.count = 0;
- mes.message = "鏂板璁惧SOP鎴愬姛!";
+ mes.message = "鏂板宸ヨ壓SOP鎴愬姛!";
mes.data = null;
}
else
{
mes.code = "300";
mes.count = 0;
- mes.message = "鏂板璁惧SOP澶辫触!";
+ mes.message = "鏂板宸ヨ壓SOP澶辫触!";
mes.data = null;
}
}
@@ -459,5 +459,224 @@
}
#endregion
+
+
+ #region[绯荤粺璁剧疆,宸ュ崟SOP鏌ヨ]
+ public static ToMessage WrkOrderSearch(string search, string check, int startNum, int endNum, string prop, string order)
+ {
+ var dynamicParams = new DynamicParameters();
+ string sech = "";
+ try
+ {
+ if (search != "" && search != null)
+ {
+ sech += "and concat(isnull(AA.wo,''),isnull(AA.materielcode,''),isnull(AA.materielname,''),isnull(AA.filetypecode,''),isnull(AA.filetypename,''),isnull(AA.filename,''),isnull(AA.version,''),isnull(AA.username,'')) like '%'+@search+'%' ";
+ dynamicParams.Add("@search", search);
+ }
+ if (check == "Y")
+ {
+ sech += "and AA.rn=1 ";
+ dynamicParams.Add("@rn", 1);
+ }
+
+ if (sech == "")
+ {
+ sech = "and 1=1 ";
+ }
+ sech = sech.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select AA.id,AA.wo,AA.materielcode,AA.materielname,AA.filetypecode,AA.filetypename,AA.filename,AA.version,AA.filepath,
+ AA.username,AA.lm_date,AA.rn from(
+ select top 100 A.id,A.wo,A.materielcode,M.partname as materielname,A.filetypecode,
+ (case when A.filetypecode='P001' then '浣滀笟鎸囧涔�' when A.filetypecode='P002' then '妫�楠屾寚瀵间功' when A.filetypecode='P003' then '鍥剧焊' end) as filetypename,
+ A.filename,A.version,A.filepath,U.username,A.lm_date,
+ row_number() over(partition by A.wo,A.materielcode,A.filetypecode order by replace(A.version,'V','') desc) rn
+ from TWrkOrderSop A
+ left join TMateriel_Info M on A.materielcode=M.partcode
+ left join TUser U on A.lm_user=U.usercode
+ ) as AA where " + sech + "";
+ var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
+ mes.code = "200";
+ mes.message = "鏌ヨ鎴愬姛!";
+ mes.count = total;
+ mes.data = data.ToList();
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[绯荤粺璁剧疆,宸ュ崟SOP涓婁紶鑾峰彇鏈�澶х増鏈彿]
+ public static ToMessage WrkOrderSopMaxVersion(string wocode, string partcode, string filetypecode, User us)
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //鑾峰彇SOP鏂囦欢浣滀笟鏂囦欢涓婁紶鑾峰彇鏈�澶х増鏈彿
+ sql = @"select isnull(max(substring(version,charindex('V',version)+1,len(version)-charindex('V',version))),0)+1 as file_version
+ from TWrkOrderSop where wo=@wo and materielcode=@materielcode and filetypecode=@filetypecode ";
+ dynamicParams.Add("@wo", wocode);
+ dynamicParams.Add("@materielcode", partcode);
+ dynamicParams.Add("@filetypecode", filetypecode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ mes.code = "200";
+ mes.message = "鑾峰彇鐗堟湰鍙锋垚鍔�!";
+ mes.data = "V" + data.Rows[0]["file_version"].ToString();
+ }
+ else
+ {
+ mes.code = "300";
+ mes.message = "鑾峰彇鐗堟湰鍙峰け璐�!";
+ mes.data = null;
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[绯荤粺璁剧疆,宸ュ崟SOP鏂板]
+ public static ToMessage WrkOrderSopAddSeave(string wocode, string partcode, string filename, string filetypecode, string version, IFormFile file, User us)
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ List<object> list = new List<object>();
+ try
+ {
+ list.Clear();
+ if (file == null || file.Length <= 0)
+ {
+ mes.code = "300";
+ mes.message = "鏂囦欢涓嶈兘涓虹┖锛�";
+ }
+ else
+ {
+ //鑾峰彇涓婁紶鏂囦欢,缁勫悎瀛樺偍璺緞
+ string FileName = "SOP" + DateTime.Now.ToString("yyyyMMddhhmmss");
+ string filePath = "wwwroot/WrkOrderSopFile/" + FileName + file.FileName; //閫氳繃姝ゅ璞¤幏鍙栨枃浠跺悕(瀛樻枃浠跺湴鍧�)
+ string filePath1 = "WrkOrderSopFile/" + FileName + file.FileName; //閫氳繃姝ゅ璞¤幏鍙栨枃浠跺悕(瀛樻暟鎹〃鍦板潃)
+
+ // 淇濆瓨鏂囦欢var stream = new FileStream(filePath, FileMode.Create)
+ using (var stream = new FileStream(filePath, FileMode.Create))
+ {
+ file.CopyTo(stream);
+ }
+ //鍐欏叆璁惧SOP琛�
+ sql = @"insert into TWrkOrderSop(wo,materielcode,filetypecode,filename,filepath,version,lm_user,lm_date)
+ values(@wo,@materielcode,@filetypecode,@filename,@filepath,@version,@lm_user,@lm_date)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wo=wocode,
+ materielcode = partcode,
+ filetypecode = filetypecode,
+ filename = file.FileName,
+ filepath = filePath1,
+ version = version,
+ lm_user = us.usercode,
+ lm_date = DateTime.Now.ToString()
+ }
+ });
+
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鏂板宸ュ崟SOP", "宸ュ崟锛�" + wocode + "浜у搧锛�" + partcode + " SOP鏂囦欢:" + file.FileName, us.usertype);
+ mes.code = "200";
+ mes.count = 0;
+ mes.message = "鏂板宸ュ崟SOP鎴愬姛!";
+ mes.data = null;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = "鏂板宸ュ崟SOP澶辫触!";
+ mes.data = null;
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[绯荤粺璁剧疆,宸ュ崟SOP鍒犻櫎]
+ public static ToMessage WrkOrderSopDeleteSeave(string id, string wocode, string partcode, string filepath, User us)
+ {
+ var sql = "";
+ var dynamicParams = new DynamicParameters();
+ List<object> list = new List<object>();
+ try
+ {
+ list.Clear();
+ //鏌ヨ褰撳墠鏂囦欢鍑哄幓褰撳墠鍒犻櫎鐨�,鏄惁杩樿鍏朵粬寮曠敤
+ sql = @"select * from TWrkOrderSop where id<>@id and filepath=@filepath";
+ dynamicParams.Add("@id", id);
+ dynamicParams.Add("@filepath", filepath);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count <= 0)
+ {
+ // 鏋勫缓瀹屾暣鐨勬枃浠惰矾寰�
+ var filePath = Path.Combine("wwwroot", filepath);
+ // 鍒犻櫎鏂囦欢
+ System.IO.File.Delete(filePath);
+ }
+ sql = @"delete TWrkOrderSop where id=@id";
+ list.Add(new { str = sql, parm = new { id = id } });
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ //鍐欏叆鎿嶄綔璁板綍琛�
+ LogHelper.DbOperateLog(us.usercode, "鍒犻櫎宸ヨ壓SOP", "宸ュ崟:" + wocode + "浜у搧:" + partcode + " SOP鏂囦欢鍦板潃锛�" + filepath, us.usertype);
+ mes.code = "200";
+ mes.count = 0;
+ mes.message = "鍒犻櫎鎴愬姛!";
+ mes.data = null;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = "鍒犻櫎澶辫触!";
+ mes.data = null;
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
}
}
--
Gitblit v1.9.3