From 60c3bc8bf17d83e105acfb4b5219643b7aa875f1 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期一, 26 九月 2022 19:53:03 +0800
Subject: [PATCH] 设备维修申请接口开发
---
VueWebApi/DLL/DAL/AppDeviceManageDAL.cs | 353 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 332 insertions(+), 21 deletions(-)
diff --git a/VueWebApi/DLL/DAL/AppDeviceManageDAL.cs b/VueWebApi/DLL/DAL/AppDeviceManageDAL.cs
index 7f77c18..9af4163 100644
--- a/VueWebApi/DLL/DAL/AppDeviceManageDAL.cs
+++ b/VueWebApi/DLL/DAL/AppDeviceManageDAL.cs
@@ -6,6 +6,7 @@
using System.Data.SqlClient;
using System.Linq;
using System.Web;
+using VueWebApi.Hubs;
using VueWebApi.Models;
using VueWebApi.Tools;
@@ -104,12 +105,12 @@
public static ToMessage AppDeviceCheckSave(string username, AppDevicecCheck json)
{
var sql = "";
- string djwo = "",numvalue="";
+ string djwo = "", numvalue = "";
List<object> list = new List<object>();
try
{
list.Clear();
- mes = SeachEncode.EncodingSeach("1027"); //鐢熸垚鍗曞彿
+ mes = SeachEncode.EncodingSeach("2040"); //鐢熸垚鍗曞彿
if (mes.code == "300")
{
return mes;
@@ -118,7 +119,7 @@
{
List<string> wo = (List<string>)mes.data;
djwo = wo[0].ToString(); //鑾峰彇鍗曞彿
- numvalue= wo[1].ToString(); //鑾峰彇娴佹按鍙�
+ numvalue = wo[1].ToString(); //鑾峰彇娴佹按鍙�
}
if (json == null || json.children.Count <= 0)
{
@@ -139,10 +140,10 @@
{
djwo = djwo,
eqp_code = json.code,
- eqpchkmain_code=json.standcode,
+ eqpchkmain_code = json.standcode,
lm_user = username,
lm_date = DateTime.Now.ToString(),
- chk_result=json.result
+ chk_result = json.result
}
});
//寰幆鍐欏叆鐐规璁板綍瀛愯〃
@@ -157,7 +158,7 @@
{
seq = json.children[i].seq,
djwo = djwo,
- eqpchkdeta_code =json.children[i].itemcode,
+ eqpchkdeta_code = json.children[i].itemcode,
chk_cyc = json.children[i].cycle,
result = json.children[i].result,
chk_value = json.children[i].value
@@ -279,7 +280,7 @@
#endregion
#region[鏃ュ父淇濆吇,鎻愪氦淇濆瓨]
- public static ToMessage AppDeviceRepairSave(string username,string maintcyc, AppDevicecCheck json)
+ public static ToMessage AppDeviceRepairSave(string username, string maintcyc, AppDevicecCheck json)
{
var sql = "";
string bywo = "", numvalue = "";
@@ -287,7 +288,7 @@
try
{
list.Clear();
- mes = SeachEncode.EncodingSeach("1028"); //鐢熸垚鍗曞彿
+ mes = SeachEncode.EncodingSeach("2041"); //鐢熸垚鍗曞彿
if (mes.code == "300")
{
return mes;
@@ -318,7 +319,7 @@
bywo = bywo,
eqp_code = json.code,
eqpmaint_code = json.standcode,
- maintcyc= maintcyc,
+ maintcyc = maintcyc,
lm_user = username,
lm_date = DateTime.Now.ToString(),
maint_result = json.result
@@ -328,7 +329,7 @@
for (int i = 0; i < json.children.Count; i++)
{
sql = @"insert into TEqpmaint_Proc_Deta(seq,bywo,eqpmaideta_code,result,maint_cyc,maint_value)
- values(@seq,@bywo,@eqpmaideta_code,@maint_cyc,@result,@maint_value)";
+ values(@seq,@bywo,@eqpmaideta_code,@result,@maint_cyc,@maint_value)";
list.Add(new
{
str = sql,
@@ -375,8 +376,167 @@
- #region[璁惧缁翠慨,鎵弿宸ヤ綅/璁惧浜岀淮鐮乚
- public static ToMessage MaintainScanDeviceQrCodeData(string eqpcode)
+ #region[璁惧缁翠慨鐢宠,鎵弿宸ヤ綅/璁惧浜岀淮鐮乚
+ public static ToMessage MaintainScanDeviceApplyQrCodeData(string eqpcode)
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //鑾峰彇褰撳墠鎵爜璁惧鏄惁鐢宠缁翠慨璁板綍
+ sql = @"select * from TEqp_RepairRequest where eqp_code=@eqpcode and status='REPA' or status='COMP'";
+ dynamicParams.Add("@eqpcode", eqpcode);
+ var data0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data0.Rows.Count > 0)
+ {
+ //鏌ョ湅缁翠慨璁板綍閲岄潰鏄惁鏈夊凡鐢宠鏈淮淇強缁翠慨纭鐨勬暟鎹�
+ var rows = data0.AsEnumerable().Where(item => item["STATUS"].ToString().Equals("REPA")).ToArray();
+ if (rows.Length > 0)
+ {
+ mes.code = "300";
+ mes.Message = "褰撳墠璁惧/宸ヤ綅宸茬敵璇�,寰呯淮淇�!";
+ mes.data = null;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.Message = "褰撳墠璁惧/宸ヤ綅宸茬淮淇�,寰呯‘璁ら獙璇�!";
+ mes.data = null;
+ }
+ }
+ else
+ {
+ //鑾峰彇瀵瑰簲璁惧鍙婃墍灞炶溅闂�
+ sql = @"select A.code,A.name,T.org_code as wksp_code,T.org_name as wksp_name,E.eqpchkmain_code
+ from TEqpInfo A
+ left join TOrganization T on A.wksp_code=T.org_code
+ left join TEqpchk_Eqp E on A.code=E.eqp_code
+ where A.code=@eqpcode and A.enable='Y' and T.description='W'";
+ dynamicParams.Add("@eqpcode", eqpcode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = data;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.Message = "褰撳墠璁惧/宸ヤ綅涓嶅瓨鍦ㄦ垨寮傚父!";
+ mes.data = data;
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+ #region[璁惧缁翠慨鐢宠,鎻愪氦淇濆瓨]
+ public static ToMessage MaintainScanDeviceApplySave(string username, string eqpcode, string wkshpcode, string faultsourcecode, string faultdescr, HttpFileCollection files)
+ {
+ var sql = "";
+ string wxwo = "", numvalue = "";
+ List<object> list = new List<object>();
+ try
+ {
+ list.Clear();
+ mes = SeachEncode.EncodingSeach("2042"); //鐢熸垚鍗曞彿
+ if (mes.code == "300")
+ {
+ mes.Message = "鐢熸垚鍗曞彿澶辫触,璇疯缃紪鐮佷负銆�2042銆戠殑缂栫爜瑙勫垯";
+ return mes;
+ }
+ else
+ {
+ List<string> wo = (List<string>)mes.data;
+ wxwo = wo[0].ToString(); //鑾峰彇鍗曞彿
+ numvalue = wo[1].ToString(); //鑾峰彇娴佹按鍙�
+ }
+ //楠岃瘉涓婁紶鍥剧墖
+ if (files != null && files.Count > 0)
+ {
+ for (int i = 0; i < files.Count; i++)
+ {
+ HttpPostedFile file = files[i];
+ string imgName = DateTime.Now.ToString("yyyyMMddhhmmss");
+ string imgPath = "/DeviceImage/image1/" + file.FileName; //閫氳繃姝ゅ璞¤幏鍙栨枃浠跺悕
+ string AbsolutePath = System.Web.HttpContext.Current.Server.MapPath(imgPath);
+ file.SaveAs(AbsolutePath); //灏嗕笂浼犵殑涓滆タ淇濆瓨
+ //寰幆鍐欑淮淇褰曞搴斿浘鐗囪〃
+ sql = @"insert into TEqp_RepairImage(source_wo,wo_type,img1_url)
+ values(@source_wo,@wo_type,@img1_url)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ source_wo = wxwo,
+ wo_type = "REPA",
+ img1_url = imgPath
+ }
+ });
+ }
+ }
+
+ //鍐欏叆缁翠慨璁板綍琛�
+ sql = @"insert into TEqp_RepairRequest(docu_code,docu_date,status,wksp_code,eqp_code,request_person,request_date,failure_descript,source)
+ values(@docu_code,@docu_date,@status,@wksp_code,@eqp_code,@request_person,@request_date,@failure_descript,@source)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ docu_code = wxwo,
+ docu_date = DateTime.Now.ToString(),
+ status = "REPA",
+ wksp_code = wkshpcode,
+ eqp_code = eqpcode,
+ request_person = username,
+ request_date = DateTime.Now.ToString(),
+ failure_descript= faultdescr,
+ source=faultsourcecode
+ }
+ });
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ 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
+
+
+
+
+ #region[瀹夌伅鍛煎彨鎵弿宸ヤ綅]
+ public static ToMessage AppDeviceAnDengCallScanSearch(string eqpcode)
{
string sql = "";
var dynamicParams = new DynamicParameters();
@@ -414,17 +574,168 @@
}
#endregion
-
-
-
-
-
-
- #region[娴嬭瘯瀹夌伅鍛煎彨]
- public static ToMessage AppDeviceAnDengCallSave(string eqpcode)
+ #region[瀹夌伅鍛煎彨,閫夋嫨鎵弿宸ヤ綅甯﹀嚭鍛煎彨绫诲瀷閫夐」鍙婂搴斾汉鍛樻暟鎹甝
+ public static ToMessage AppDeviceAnDengCallItemSearch(string eqpcode, string wkshpcode)
{
- throw new NotImplementedException();
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ List<AnDnDate> list = new List<AnDnDate>();
+ try
+ {
+ //鏍规嵁杞﹂棿浠g爜鏌ユ壘鍛煎彨绫诲瀷鏁版嵁
+ sql = @"select A.id,B.code,B.name from TAnDon_Roul_ConFig A
+ inner join TAnDonType B on A.andotype_code=B.code
+ where A.wkshp_code=@wkshpcode and A.enable='N'";
+ dynamicParams.Add("@wkshpcode", wkshpcode);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ for (int i = 0; i < data.Rows.Count; i++)
+ {
+ AnDnDate mn = new AnDnDate();
+ mn.code = data.Rows[i]["CODE"].ToString();
+ mn.name = data.Rows[i]["NAME"].ToString();
+ mn.children = new List<AnDnDateSub>();
+ //鏍规嵁鍛煎彨绫诲瀷id鏌ユ壘缁戝畾浜哄憳
+ sql = @"select U.usercode,U.username
+ from TAnDon_Roul_ConFigUser A
+ inner join TUser U on A.usercode=U.usercode
+ where A.ando_cogfigid=@id";
+ dynamicParams.Add("@id", data.Rows[i]["ID"].ToString());
+ var data0 = DapperHelper.selectdata(sql, dynamicParams);
+ if (data0.Rows.Count > 0)
+ {
+ for (int j = 0; j < data0.Rows.Count; j++)
+ {
+ AnDnDateSub sn = new AnDnDateSub();
+ sn.usercode = data0.Rows[j]["USERCODE"].ToString();
+ sn.username = data0.Rows[j]["USERNAME"].ToString();
+ mn.children.Add(sn);
+ }
+ }
+ list.Add(mn);
+ }
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.data = list;
+ }
+ else
+ {
+ mes.code = "300";
+ mes.Message = "褰撳墠璁惧鏈缃畨鐏懠鍙被鍨嬫垨鑰呭懠鍙被鍨嬪凡鍏抽棴!";
+ mes.data = data;
+ }
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
}
#endregion
+
+ #region[瀹夌伅鍛煎彨鎻愪氦]
+ public static ToMessage AppDeviceAnDengCallSave(string username, string eqpcode, string wkshpcode, List<AnDnDate> json)
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ List<object> list = new List<object>();
+ ChatHub chthub = new ChatHub();
+ try
+ {
+ list.Clear();
+ //鎵ц娑堟伅鎺ㄩ��
+ chthub.SendByGroupList(username, wkshpcode, eqpcode, json);
+ for (int i = 1; i <= json.Count; i++)
+ {
+ string code = json[i].code.ToString();
+ string name = json[i].name.ToString();
+ sql = @"select * from TAnDon_Task_Info where wkshp_code=@wkshpcode and eqp_code=@eqpcode and type=@typecode and status='START'";
+ dynamicParams.Add("@wkshpcode", wkshpcode);
+ dynamicParams.Add("@eqpcode", eqpcode);
+ dynamicParams.Add("@typecode", code);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ if (data.Rows.Count > 0)
+ {
+ mes.code = "300";
+ mes.Message = "褰撳墠璁惧宸茬粡鍛煎彨銆�" + name + "銆�,璇峰厛鍝嶅簲!";
+ mes.data = null;
+ return mes;
+ }
+ else
+ {
+ //鑾峰彇涓昏〃鏈�澶D
+ sql = @"select ISNULL(IDENT_CURRENT('TK_Wrk_Record')+@num,1) as id";
+ dynamicParams.Add("@num", i);
+ var dt = DapperHelper.selectdata(sql, dynamicParams);
+ //鍐欏叆瀹夌伅鍛煎彨琛�
+ sql = @"insert into TAnDon_Task_Info(wkshp_code,eqp_code,type,start_date,start_user,status)
+ values(@wkshp_code,@eqp_code,@type,@start_date,@start_user,@status)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ wkshp_code = wkshpcode,
+ eqp_code = eqpcode,
+ type = code,
+ start_date = DateTime.Now.ToString(),
+ start_user = username,
+ status = "START"
+ }
+ });
+ for (int j = 0; j < json[i].children.Count; j++)
+ {
+ //鍐欏叆瀹夌伅璁板綍鎺ㄩ�佷汉鍛樿〃
+ sql = @"insert into TAnDnMessagePush(m_id,wkshp_code,eqp_code,type,resp_user,status)
+ values(@m_id,@wkshp_code,@eqp_code,@type,@start_date,@start_user,@status)";
+ list.Add(new
+ {
+ str = sql,
+ parm = new
+ {
+ m_id = int.Parse(dt.Rows[0]["ID"].ToString()),
+ wkshp_code = wkshpcode,
+ eqp_code = eqpcode,
+ type = code,
+ resp_user = json[i].children[i].usercode,
+ status = "N"
+ }
+ });
+ }
+ }
+ }
+ bool aa = DapperHelper.DoTransaction(list);
+ if (aa)
+ {
+ 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
+
+
}
}
\ No newline at end of file
--
Gitblit v1.9.3