From 78ccddadb87e0d4dd7f74733a031393395db2869 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期三, 29 五月 2024 14:38:39 +0800
Subject: [PATCH] nothing
---
VueWebApi/DLL/DAL/ReportManagerDAL.cs | 902 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 898 insertions(+), 4 deletions(-)
diff --git a/VueWebApi/DLL/DAL/ReportManagerDAL.cs b/VueWebApi/DLL/DAL/ReportManagerDAL.cs
index e735e3d..de98333 100644
--- a/VueWebApi/DLL/DAL/ReportManagerDAL.cs
+++ b/VueWebApi/DLL/DAL/ReportManagerDAL.cs
@@ -202,7 +202,7 @@
where " + search;
DataTable data = DapperHelper.selectdata(sql, dynamicParams);
data.TableName = "Table"; //璁剧疆DataTable鐨勫悕绉�
- string msg = DownLoad.DataTableToExcel(data, "濮斿鎶ュ伐璁板綍");
+ string msg = DownLoad.DataTableToExcel(data, "濮斿鎶ュ伐璁板綍鎶ヨ〃");
mes.code = "200";
mes.Message = "鏌ヨ鎴愬姛!";
mes.count = total;
@@ -264,7 +264,7 @@
}
if (operopendate != "" && operopendate != null)
{
- search += "and A.lm_date between @operopendate and @operclosedate ";
+ search += "and B.report_date between @operopendate and @operclosedate ";
dynamicParams.Add("@operopendate", operopendate + " 00:00:00");
dynamicParams.Add("@operclosedate", operclosedate + " 23:59:59");
}
@@ -276,13 +276,14 @@
search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
// --------------鏌ヨ鎸囧畾鏁版嵁--------------
var total = 0; //鎬绘潯鏁�
- var sql = @"select distinct A.wo_code,M.partcode,M.partname,M.partspec,T.stepcode,T.stepname,A.task_qty,G.group_code,G.group_name,A.good_qty,isnull(S.unprice,0) as unprice,U.username as lm_user,A.lm_date
+ var sql = @"select distinct A.id,A.wo_code,M.partcode,M.partname,M.partspec,T.stepcode,T.stepname,A.task_qty,G.group_code,G.group_name,A.good_qty,
+ isnull(S.unprice,0) as unprice,A.good_qty*isnull(S.unprice,0) as usermoney,U.username as lm_user,A.lm_date,B.report_date
from TK_Wrk_Record A
inner join TK_Wrk_RecordSub B on A.id=B.m_id
inner join TK_Wrk_Step P on A.wo_code=P.wo_code and A.step_code=P.step_code and P.isend='Y'
left join TK_Wrk_Man K on A.wo_code=K.wo_code
left join TGroup G on B.usergroup_code=G.group_code
- left join TPrteEqp_Stad S on A.materiel_code=S.materiel_code and A.eqp_code=S.eqp_code and A.step_code=S.step_code and K.route_code=S.route_code and K.wkshp_code=S.wkspcode
+ left join TWoPrteEqp_Stad S on A.wo_code=S.wo and A.materiel_code=S.materiel_code and A.eqp_code=S.eqp_code and A.step_code=S.step_code and K.route_code=S.route_code
left join TMateriel_Info M on A.materiel_code=M.partcode
left join TStep T on A.step_code=T.stepcode
left join TUser U on A.lm_user=U.usercode
@@ -303,5 +304,898 @@
return mes;
}
#endregion
+
+ #region[鐝粍宸ヨ祫鎶ヨ〃璁板綍鏌ョ湅鎶ュ伐浜哄憳]
+ public static ToMessage GroupSalaryReportSearchUser(string id)
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //鑾峰彇鎶ュ伐浜哄憳
+ sql = @"select U.usercode,U.username from TK_Wrk_RecordSub A
+ inner join TUser U on A.report_person=U.usercode
+ where m_id=@id";
+ dynamicParams.Add("@id", id);
+ var data = DapperHelper.selectdata(sql, dynamicParams);
+ mes.code = "200";
+ 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 GroupSalaryReportExcelSearch(string wocode, string partcode, string partname, string partspec, string stepname, string groupcode, string username, string operopendate, string operclosedate)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (wocode != "" && wocode != null)
+ {
+ search += "and A.wo_code like '%'+@wocode+'%' ";
+ dynamicParams.Add("@wocode", wocode);
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and M.partcode like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and M.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and M.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ if (stepname != "" && stepname != null)
+ {
+ search += "and T.stepname like '%'+@stepname+'%' ";
+ dynamicParams.Add("@stepname", stepname);
+ }
+ if (groupcode != "" && groupcode != null)
+ {
+ search += "and G.group_code=@groupcode ";
+ dynamicParams.Add("@groupcode", groupcode);
+ }
+ if (username != "" && username != null)
+ {
+ search += "and U.username like '%'+@username+'%' ";
+ dynamicParams.Add("@username", username);
+ }
+ if (operopendate != "" && operopendate != null)
+ {
+ search += "and B.report_date between @operopendate and @operclosedate ";
+ dynamicParams.Add("@operopendate", operopendate + " 00:00:00");
+ dynamicParams.Add("@operclosedate", operclosedate + " 23:59:59");
+ }
+
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select distinct A.wo_code as 宸ュ崟缂栧彿,M.partcode as 浜у搧缂栫爜,M.partname as 浜у搧鍚嶇О,M.partspec as 浜у搧瑙勬牸,
+ T.stepcode as 宸ュ簭缂栫爜,T.stepname as 宸ュ簭鍚嶇О,A.task_qty as 浠诲姟鏁伴噺,G.group_code as 鐝粍缂栫爜,G.group_name as 鐝粍鍚嶇О,
+ A.good_qty as 鎶ュ伐鏁伴噺,isnull(S.unprice,0) as 宸ュ簭鍗曚环,A.good_qty*isnull(S.unprice,0) as 璁′欢宸ヨ祫,U.username as 鎿嶄綔浜哄憳,A.lm_date as 鎿嶄綔鏃堕棿,B.report_date as 鎶ュ伐鏃堕棿
+ from TK_Wrk_Record A
+ inner join TK_Wrk_RecordSub B on A.id=B.m_id
+ inner join TK_Wrk_Step P on A.wo_code=P.wo_code and A.step_code=P.step_code and P.isend='Y'
+ left join TK_Wrk_Man K on A.wo_code=K.wo_code
+ left join TGroup G on B.usergroup_code=G.group_code
+ left join TWoPrteEqp_Stad S on A.wo_code=S.wo and A.materiel_code=S.materiel_code and A.eqp_code=S.eqp_code and A.step_code=S.step_code and K.route_code=S.route_code
+ left join TMateriel_Info M on A.materiel_code=M.partcode
+ left join TStep T on A.step_code=T.stepcode
+ left join TUser U on A.lm_user=U.usercode
+ where " + search;
+ DataTable data = DapperHelper.selectdata(sql, dynamicParams);
+ data.TableName = "Table"; //璁剧疆DataTable鐨勫悕绉�
+ string msg = DownLoad.DataTableToExcel(data, "鐝粍璁′欢宸ヨ祫鎶ヨ〃");
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.count = total;
+ mes.data = msg;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+
+ #region[浜哄憳宸ヨ祫鏄庣粏鎶ヨ〃]
+ public static ToMessage PeopleSalaryReportSearch(string wocode, string partcode, string partname, string partspec, string stepname, string groupcode, string reportname, string reportopendate, string reportclosedate, int startNum, int endNum, string prop, string order)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (wocode != "" && wocode != null)
+ {
+ search += "and A.wo_code like '%'+@wocode+'%' ";
+ dynamicParams.Add("@wocode", wocode);
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and A.partnumber like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and B.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and B.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ if (stepname != "" && stepname != null)
+ {
+ search += "and S.stepname like '%'+@stepname+'%' ";
+ dynamicParams.Add("@stepname", stepname);
+ }
+ if (reportname != "" && reportname != null)
+ {
+ search += "and U.username like '%'+@reportname+'%' ";
+ dynamicParams.Add("@reportname", reportname);
+ }
+ if (reportopendate != "" && reportopendate != null)
+ {
+ search += "and A.report_date between @reportopendate and @reportclosedate ";
+ dynamicParams.Add("@reportopendate", reportopendate + " 00:00:00");
+ dynamicParams.Add("@reportclosedate", reportclosedate + " 23:59:59");
+ }
+
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ //var sql = @"select distinct A.wo_code,M.partcode,M.partname,M.partspec,T.stepcode,T.stepname,
+ // A.task_qty,B.report_qty,isnull(S.unprice,0) as unprice,
+ // B.report_qty*isnull(S.unprice,0) as moneys,U.username,B.report_date
+ // from TK_Wrk_Record A
+ // inner join TK_Wrk_RecordSub B on A.id=B.m_id
+ // inner join TK_Wrk_Step P on A.wo_code=P.wo_code and A.step_code=P.step_code
+ // left join TK_Wrk_Man K on A.wo_code=K.wo_code
+ // left join TPrteEqp_Stad S on A.materiel_code=S.materiel_code and A.eqp_code=S.eqp_code and A.step_code=S.step_code and K.route_code=S.route_code and K.wkshp_code=S.wkspcode
+ // left join TMateriel_Info M on A.materiel_code=M.partcode
+ // left join TStep T on A.step_code=T.stepcode
+ // left join TUser U on B.report_person=U.usercode where" + search;
+ var sql = @"select A.wo_code,A.partnumber as partcode,B.partname,B.partspec,S.stepcode,S.stepname,
+ A.task_qty,A.report_qty,isnull(A.unprice,0) as unprice,
+ A.report_qty*isnull(A.unprice,0)-isnull(A.bad_money,0) as moneys,U.username,A.report_date
+ from TK_WorkRecord_Verify A
+ left join TMateriel_Info B on A.partnumber=B.partcode
+ left join TStep S on A.step_code=S.stepcode
+ left join TUser U on A.usercode=U.usercode where "+search;
+ 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[浜哄憳宸ヨ祫鏄庣粏鎶ヨ〃瀵煎嚭]
+ public static ToMessage PeopleSalaryReportExcelSearch(string wocode, string partcode, string partname, string partspec, string stepname, string groupcode, string reportname, string reportopendate, string reportclosedate)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (wocode != "" && wocode != null)
+ {
+ search += "and A.wo_code like '%'+@wocode+'%' ";
+ dynamicParams.Add("@wocode", wocode);
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and A.partnumber like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and B.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and B.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ if (stepname != "" && stepname != null)
+ {
+ search += "and S.stepname like '%'+@stepname+'%' ";
+ dynamicParams.Add("@stepname", stepname);
+ }
+ if (reportname != "" && reportname != null)
+ {
+ search += "and U.username like '%'+@reportname+'%' ";
+ dynamicParams.Add("@reportname", reportname);
+ }
+ if (reportopendate != "" && reportopendate != null)
+ {
+ search += "and A.report_date between @reportopendate and @reportclosedate ";
+ dynamicParams.Add("@reportopendate", reportopendate + " 00:00:00");
+ dynamicParams.Add("@reportclosedate", reportclosedate + " 23:59:59");
+ }
+
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ //var sql = @"select distinct A.wo_code as 宸ュ崟缂栧彿,M.partcode as 浜у搧缂栫爜,M.partname as 浜у搧鍚嶇О,M.partspec as 浜у搧瑙勬牸,T.stepcode as 宸ュ簭缂栫爜,T.stepname as 宸ュ簭鍚嶇О,
+ // A.task_qty as 浠诲姟鏁伴噺,B.report_qty as 鎶ュ伐鏁伴噺,isnull(S.unprice,0) as 宸ュ簭鍗曚环,
+ // B.report_qty*isnull(S.unprice,0) as 璁′欢宸ヨ祫,U.username as 鎶ュ伐浜哄憳,B.report_date as 鎶ュ伐鏃堕棿
+ // from TK_Wrk_Record A
+ // inner join TK_Wrk_RecordSub B on A.id=B.m_id
+ // inner join TK_Wrk_Step P on A.wo_code=P.wo_code and A.step_code=P.step_code
+ // left join TK_Wrk_Man K on A.wo_code=K.wo_code
+ // left join TGroup G on B.usergroup_code=G.group_code
+ // left join TPrteEqp_Stad S on A.materiel_code=S.materiel_code and A.eqp_code=S.eqp_code and A.step_code=S.step_code and K.route_code=S.route_code and K.wkshp_code=S.wkspcode
+ // left join TMateriel_Info M on A.materiel_code=M.partcode
+ // left join TStep T on A.step_code=T.stepcode
+ // left join TUser U on B.report_person=U.usercode
+ // where " + search;
+ var sql = @"select A.wo_code as 宸ュ崟缂栧彿,A.partnumber as 浜у搧缂栫爜,B.partname as 浜у搧鍚嶇О,B.partspec as 浜у搧瑙勬牸,S.stepcode as 宸ュ簭缂栫爜,S.stepname as 宸ュ簭鍚嶇О,
+ A.task_qty as 浠诲姟鏁伴噺,A.report_qty as 鎶ュ伐鏁伴噺,isnull(A.unprice,0) as 宸ュ簭鍗曚环,
+ A.report_qty*isnull(A.unprice,0)-isnull(A.bad_money,0) as 璁′欢宸ヨ祫,U.username as 鎶ュ伐浜哄憳,A.report_date as 鎶ュ伐鏃堕棿
+ from TK_WorkRecord_Verify A
+ left join TMateriel_Info B on A.partnumber=B.partcode
+ left join TStep S on A.step_code=S.stepcode
+ left join TUser U on A.usercode=U.usercode where " + search;
+ DataTable data = DapperHelper.selectdata(sql, dynamicParams);
+ data.TableName = "Table"; //璁剧疆DataTable鐨勫悕绉�
+ string msg = DownLoad.DataTableToExcel(data, "浜哄憳宸ヨ祫鏄庣粏鎶ヨ〃");
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.count = total;
+ mes.data = msg;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+
+ #region[涓嶈壇鏄庣粏鎶ヨ〃]
+ public static ToMessage DefectDetailsReportSearch(string wocode, string partcode, string partname, string partspec, string stepname, string defectcode, string defectname, string reportname, string reportopendate, string reportclosedate, int startNum, int endNum, string prop, string order)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (wocode != "" && wocode != null)
+ {
+ search += "and A.wo_code like '%'+@wocode+'%' ";
+ dynamicParams.Add("@wocode", wocode);
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and M.partcode like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and M.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and M.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ if (stepname != "" && stepname != null)
+ {
+ search += "and T.stepname like '%'+@stepname+'%' ";
+ dynamicParams.Add("@stepname", stepname);
+ }
+ if (defectcode != "" && defectcode != null)
+ {
+ search += "and F.code like '%'+@defectcode+'%' ";
+ dynamicParams.Add("@defectcode", defectcode);
+ }
+ if (defectname != "" && defectname != null)
+ {
+ search += "and F.name like '%'+@defectname+'%' ";
+ dynamicParams.Add("@defectname", defectname);
+ }
+ if (reportname != "" && reportname != null)
+ {
+ search += "and U.username like '%'+@reportname+'%' ";
+ dynamicParams.Add("@reportname", reportname);
+ }
+ if (reportopendate != "" && reportopendate != null)
+ {
+ search += "and A.lm_date between @reportopendate and @reportclosedate ";
+ dynamicParams.Add("@reportopendate", reportopendate + " 00:00:00");
+ dynamicParams.Add("@reportclosedate", reportclosedate + " 23:59:59");
+ }
+
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select A.wo_code,M.partcode,M.partname,M.partspec,T.stepcode,T.stepname,P.plan_qty,A.defect_qty,
+ F.code as defect_code,F.name as defect_name,A.style,U.username as lm_user,A.lm_date
+ from CSR_WorkRecord_Defect A
+ inner join TK_Wrk_Step P on A.wo_code=P.wo_code and A.step_code=P.step_code
+ left join TMateriel_Info M on A.partnumber=M.partcode
+ left join TStep T on A.step_code=T.stepcode
+ left join TDefect F on A.defect_code=F.code
+ left join TUser U on A.lm_user=U.usercode
+ where " + search;
+ 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[涓嶈壇鏄庣粏鎶ヨ〃瀵煎嚭]
+ public static ToMessage DefectDetailsReportExcelSearch(string wocode, string partcode, string partname, string partspec, string stepname, string defectcode, string defectname, string reportname, string reportopendate, string reportclosedate)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (wocode != "" && wocode != null)
+ {
+ search += "and A.wo_code like '%'+@wocode+'%' ";
+ dynamicParams.Add("@wocode", wocode);
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and M.partcode like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and M.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and M.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ if (stepname != "" && stepname != null)
+ {
+ search += "and T.stepname like '%'+@stepname+'%' ";
+ dynamicParams.Add("@stepname", stepname);
+ }
+ if (defectcode != "" && defectcode != null)
+ {
+ search += "and F.code like '%'+@defectcode+'%' ";
+ dynamicParams.Add("@defectcode", defectcode);
+ }
+ if (defectname != "" && defectname != null)
+ {
+ search += "and F.name like '%'+@defectname+'%' ";
+ dynamicParams.Add("@defectname", defectname);
+ }
+ if (reportname != "" && reportname != null)
+ {
+ search += "and U.username like '%'+@reportname+'%' ";
+ dynamicParams.Add("@reportname", reportname);
+ }
+ if (reportopendate != "" && reportopendate != null)
+ {
+ search += "and A.lm_date between @reportopendate and @reportclosedate ";
+ dynamicParams.Add("@reportopendate", reportopendate + " 00:00:00");
+ dynamicParams.Add("@reportclosedate", reportclosedate + " 23:59:59");
+ }
+
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select A.wo_code as 宸ュ崟缂栧彿,M.partcode as 浜у搧缂栫爜,M.partname as 浜у搧鍚嶇О,M.partspec as 浜у搧瑙勬牸,T.stepcode as 宸ュ簭缂栫爜,
+ T.stepname as 宸ュ簭鍚嶇О,P.plan_qty as 浠诲姟鏁伴噺,A.defect_qty as 涓嶈壇鏁伴噺,F.code as 缂洪櫡浠g爜,F.name as 缂洪櫡鍚嶇О,
+ (case when A.style='B' then '鎶ュ伐' when A.style='S' then '鏀舵枡' end) as '鎿嶄綔绫诲瀷',U.username as 鎿嶄綔浜哄憳,A.lm_date as 鎿嶄綔鏃堕棿
+ from CSR_WorkRecord_Defect A
+ inner join TK_Wrk_Step P on A.wo_code=P.wo_code and A.step_code=P.step_code
+ left join TMateriel_Info M on A.partnumber=M.partcode
+ left join TStep T on A.step_code=T.stepcode
+ left join TDefect F on A.defect_code=F.code
+ left join TUser U on A.lm_user=U.usercode
+ where " + search;
+ DataTable data = DapperHelper.selectdata(sql, dynamicParams);
+ data.TableName = "Table"; //璁剧疆DataTable鐨勫悕绉�
+ string msg = DownLoad.DataTableToExcel(data, "涓嶈壇鏄庣粏鎶ヨ〃");
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.count = total;
+ mes.data = msg;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+
+ #region[鍝佽川寮傚父鎺掕鎶ヨ〃(鍙栨姤宸ヤ笉鑹褰曠己闄峰垎缁勬眹鎬绘潯鏁�)]
+ public static ToMessage QuaneryDefectReportSearch()
+ {
+ string sql = "";
+ var dynamicParams = new DynamicParameters();
+ try
+ {
+ //鑾峰彇鎶ュ伐涓嶈壇鍒嗙粍缁熻鏁版嵁
+ sql = @"select AA.cont,AA.name from (
+ select count(*) cont,F.name from CSR_WorkRecord_Defect A
+ left join TDefect F on A.defect_code=F.code
+ group by F.code,F.name
+ ) as AA order by AA.cont desc";
+ var data = DapperHelper.selecttable(sql);
+ mes.code = "200";
+ 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 MaintenanceDetailsReportSearch(string wocode, string partcode, string partname, string partspec, string stepname, string style, string defectname, string repairname, string repairopendate, string repairclosedate, int startNum, int endNum, string prop, string order)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (wocode != "" && wocode != null)
+ {
+ search += "and AA.wo_code like '%'+@wocode+'%' ";
+ dynamicParams.Add("@wocode", wocode);
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and AA.partcode like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and AA.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and AA.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ if (stepname != "" && stepname != null)
+ {
+ search += "and AA.stepname like '%'+@stepname+'%' ";
+ dynamicParams.Add("@stepname", stepname);
+ }
+ if (style != "" && style != null)
+ {
+ search += "and AA.style=@style ";
+ dynamicParams.Add("@style", style);
+ }
+ if (defectname != "" && defectname != null)
+ {
+ search += "and AA.defect_name like '%'+@defectname+'%' ";
+ dynamicParams.Add("@defectname", defectname);
+ }
+ if (repairname != "" && repairname != null)
+ {
+ search += "and AA.lm_user like '%'+@repairname+'%' ";
+ dynamicParams.Add("@repairname", repairname);
+ }
+ if (repairopendate != "" && repairopendate != null)
+ {
+ search += "and AA.lm_date between @repairopendate and @repairclosedate ";
+ dynamicParams.Add("@repairopendate", repairopendate + " 00:00:00");
+ dynamicParams.Add("@repairclosedate", repairclosedate + " 23:59:59");
+ }
+
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select AA.wo_code,AA.partcode,AA.partname,AA.partspec,AA.stepcode,AA.stepname,(case when AA.style='B' then '鎶ュ伐' when AA.style='S' then '鏀舵枡' end) as style,
+ AA.plan_qty,AA.repair_qty,AA.bad_qty,AA.defect_code,AA.defect_name,AA.lm_user,AA.lm_date
+ from(
+ select F.wo_code,M.partcode,M.partname,M.partspec,S.stepcode,S.stepname,F.style,P.plan_qty,F.repair_qty,F.bad_qty,F.defect_code,
+ defect_name = STUFF(( SELECT ',' + T.name
+ FROM TDefect as T
+ where PATINDEX('%,' + RTRIM(T.code) + ',%',',' + F.defect_code + ',')>0
+ ORDER BY PATINDEX('%,' + RTRIM(T.code) + ',%',',' + F.defect_code + ',')
+ FOR XML PATH('')), 1, 1,''),U.username as lm_user,F.lm_date
+ from CSR_WorkRecord_DefectHandle as F
+ inner join TK_Wrk_Step P on F.wo_code=P.wo_code and F.step_code=P.step_code
+ left join TMateriel_Info M on F.partnumber=M.partcode
+ left join TStep S on F.step_code=S.stepcode
+ left join TUser U on F.lm_user=U.usercode
+ ) as AA
+ where " + search;
+ 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[缁翠慨鏄庣粏鎶ヨ〃瀵煎嚭]
+ public static ToMessage MaintenanceDetailsReportExcelSearch(string wocode, string partcode, string partname, string partspec, string stepname, string style, string defectname, string repairname, string repairopendate, string repairclosedate)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (wocode != "" && wocode != null)
+ {
+ search += "and AA.wo_code like '%'+@wocode+'%' ";
+ dynamicParams.Add("@wocode", wocode);
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and AA.partcode like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and AA.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and AA.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ if (stepname != "" && stepname != null)
+ {
+ search += "and AA.stepname like '%'+@stepname+'%' ";
+ dynamicParams.Add("@stepname", stepname);
+ }
+ if (style != "" && style != null)
+ {
+ search += "and AA.style=@style ";
+ dynamicParams.Add("@style", style);
+ }
+ if (defectname != "" && defectname != null)
+ {
+ search += "and AA.defect_name like '%'+@defectname+'%' ";
+ dynamicParams.Add("@defectname", defectname);
+ }
+ if (repairname != "" && repairname != null)
+ {
+ search += "and AA.lm_user like '%'+@repairname+'%' ";
+ dynamicParams.Add("@repairname", repairname);
+ }
+ if (repairopendate != "" && repairopendate != null)
+ {
+ search += "and AA.lm_date between @repairopendate and @repairclosedate ";
+ dynamicParams.Add("@repairopendate", repairopendate + " 00:00:00");
+ dynamicParams.Add("@repairclosedate", repairclosedate + " 23:59:59");
+ }
+
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select AA.wo_code as 宸ュ崟缂栧彿,AA.partcode as 浜у搧缂栫爜,AA.partname as 浜у搧鍚嶇О,AA.partspec as 浜у搧瑙勬牸,AA.stepcode as 宸ュ簭缂栫爜,AA.stepname as 宸ュ簭鍚嶇О,
+ (case when AA.style='B' then '鎶ュ伐' when AA.style='S' then '鏀舵枡' end) as 鎿嶄綔绫诲瀷,
+ AA.plan_qty as 浠诲姟鏁伴噺,AA.repair_qty as 缁翠慨鏁伴噺,AA.bad_qty as 鎶ュ簾鏁伴噺,AA.defect_name as 缂洪櫡鍚嶇О,AA.lm_user as 缁翠慨浜哄憳,AA.lm_date as 缁翠慨鏃堕棿
+ from(
+ select F.wo_code,M.partcode,M.partname,M.partspec,S.stepcode,S.stepname,F.style,P.plan_qty,F.repair_qty,F.bad_qty,F.defect_code,
+ defect_name = STUFF(( SELECT ',' + T.name
+ FROM TDefect as T
+ where PATINDEX('%,' + RTRIM(T.code) + ',%',',' + F.defect_code + ',')>0
+ ORDER BY PATINDEX('%,' + RTRIM(T.code) + ',%',',' + F.defect_code + ',')
+ FOR XML PATH('')), 1, 1,''),U.username as lm_user,F.lm_date
+ from CSR_WorkRecord_DefectHandle as F
+ inner join TK_Wrk_Step P on F.wo_code=P.wo_code and F.step_code=P.step_code
+ left join TMateriel_Info M on F.partnumber=M.partcode
+ left join TStep S on F.step_code=S.stepcode
+ left join TUser U on F.lm_user=U.usercode
+ ) as AA
+ where " + search;
+ DataTable data = DapperHelper.selectdata(sql, dynamicParams);
+ data.TableName = "Table"; //璁剧疆DataTable鐨勫悕绉�
+ string msg = DownLoad.DataTableToExcel(data, "缁翠慨鏄庣粏鎶ヨ〃");
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.count = total;
+ mes.data = msg;
+ }
+ catch (Exception e)
+ {
+ mes.code = "300";
+ mes.count = 0;
+ mes.Message = e.Message;
+ mes.data = null;
+ }
+ return mes;
+ }
+ #endregion
+
+
+ #region[鐢熶骇杩涘害鎶ヨ〃]
+ public static ToMessage ProductionScheduleReportSearch(string status, string wocode, string routecode, string routename, string partcode, string partname, string partspec, string opendate, string closedate, int startNum, int endNum, string prop, string order)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (status != "" && status != null)
+ {
+ switch (status)
+ {
+ case "START":
+ search += "and AA.status='START' ";
+ break;
+ case "CLOSED":
+ search += "and AA.status='CLOSED' ";
+ break;
+ default:
+ search += "and AA.status<>'START' and AA.status<>'CLOSED' ";
+ break;
+ }
+ }
+ if (wocode != "" && wocode != null)
+ {
+ search += "and AA.wo_code like '%'+@wocode+'%' ";
+ dynamicParams.Add("@wocode", wocode);
+ }
+ if (routecode != "" && routecode != null)
+ {
+ search += "and AA.route_code like '%'+@routecode+'%' ";
+ dynamicParams.Add("@routecode", routecode);
+ }
+ if (routename != "" && routename != null)
+ {
+ search += "and AA.route_name like '%'+@routename+'%' ";
+ dynamicParams.Add("@routename", routename);
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and AA.partcode like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and AA.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and AA.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ if (opendate != "" && opendate != null)
+ {
+ search += "and AA.lm_date between @opendate and @closedate ";
+ dynamicParams.Add("@opendate", opendate + " 00:00:00");
+ dynamicParams.Add("@closedate", closedate + " 23:59:59");
+ }
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select AA.saleOrderCode,AA.m_po,AA.wo_code,
+ (case when AA.status='START' then '鎵ц涓�' when AA.status='CLOSED' then '宸插畬鎴�' else '鏈紑濮�' end) as status,
+ AA.lm_date,AA.route_code,AA.route_name,AA.partcode,AA.partname,AA.partspec,AA.plan_qty,left(AA.concat_name,len(concat_name)-1) as concat_name from
+ (
+ select E.saleOrderCode,W.m_po,m.wo_code,W.status,W.lm_date,W.route_code,R.name as route_name,P.partcode,P.partname,P.partspec,m.plan_qty,
+ (select s.stepname+'/'+cast(cast(n.good_qty as decimal(18,2)) AS varchar(50))+',' from TK_Wrk_Step n
+ inner join TStep S on n.step_code=S.stepcode
+ where n.wo_code=m.wo_code for xml path('')) as concat_name
+ from TK_Wrk_Step m
+ inner join TK_Wrk_Man W on m.wo_code=W.wo_code
+ left join TKimp_Ewo E on W.m_po=E.wo
+ inner join TMateriel_Info P on W.materiel_code=p.partcode
+ inner join TFlw_Rout R on W.route_code=R.code
+ group by E.saleOrderCode,W.m_po,m.wo_code,W.status,W.lm_date,W.route_code,R.name,P.partcode,P.partname,P.partspec,m.plan_qty
+ ) AA
+ where " + search;
+ 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[鐢熶骇杩涘害鎶ヨ〃瀵煎嚭]
+ public static ToMessage ProductionScheduleReportExcelSearch(string status, string wocode, string routecode, string routename, string partcode, string partname, string partspec, string opendate, string closedate)
+ {
+ var dynamicParams = new DynamicParameters();
+ string search = "";
+ try
+ {
+ if (status != "" && status != null)
+ {
+ switch (status)
+ {
+ case "START":
+ search += "and AA.status='START' ";
+ break;
+ case "CLOSED":
+ search += "and AA.status='CLOSED' ";
+ break;
+ default:
+ search += "and AA.status<>'START' and AA.status<>'CLOSED' ";
+ break;
+ }
+ }
+ if (wocode != "" && wocode != null)
+ {
+ search += "and AA.wo_code like '%'+@wocode+'%' ";
+ dynamicParams.Add("@wocode", wocode);
+ }
+ if (routecode != "" && routecode != null)
+ {
+ search += "and AA.route_code like '%'+@routecode+'%' ";
+ dynamicParams.Add("@routecode", routecode);
+ }
+ if (routename != "" && routename != null)
+ {
+ search += "and AA.route_name like '%'+@routename+'%' ";
+ dynamicParams.Add("@routename", routename);
+ }
+ if (partcode != "" && partcode != null)
+ {
+ search += "and AA.partcode like '%'+@partcode+'%' ";
+ dynamicParams.Add("@partcode", partcode);
+ }
+ if (partname != "" && partname != null)
+ {
+ search += "and AA.partname like '%'+@partname+'%' ";
+ dynamicParams.Add("@partname", partname);
+ }
+ if (partspec != "" && partspec != null)
+ {
+ search += "and AA.partspec like '%'+@partspec+'%' ";
+ dynamicParams.Add("@partspec", partspec);
+ }
+ if (opendate != "" && opendate != null)
+ {
+ search += "and AA.lm_date between @opendate and @closedate ";
+ dynamicParams.Add("@opendate", opendate + " 00:00:00");
+ dynamicParams.Add("@closedate", closedate + " 23:59:59");
+ }
+ if (search == "")
+ {
+ search = "and 1=1 ";
+ }
+ search = search.Substring(3);//鎴彇绱㈠紩2鍚庨潰鐨勫瓧绗�
+ // --------------鏌ヨ鎸囧畾鏁版嵁--------------
+ var total = 0; //鎬绘潯鏁�
+ var sql = @"select AA.saleOrderCode as ERP婧愬崟鍙�,AA.m_po as ERP鐢熶骇璁㈠崟,AA.wo_code as 鐢熶骇宸ュ崟鍙�,
+ (case when AA.status='START' then '鎵ц涓�' when AA.status='CLOSED' then '宸插畬鎴�' else '鏈紑濮�' end) as 宸ュ崟鐘舵��,
+ AA.lm_date as 鍗曟嵁鏃ユ湡,AA.route_code as 宸ヨ壓璺嚎缂栧彿,AA.route_name as 宸ヨ壓璺嚎鍚嶇О,
+ AA.partcode as 浜у搧缂栫爜,AA.partname as 浜у搧鍚嶇О,AA.partspec as 浜у搧瑙勬牸,AA.plan_qty as 浠诲姟鏁伴噺,left(AA.concat_name,len(concat_name)-1) as 鐢熶骇杩涘害 from
+ (
+ select E.saleOrderCode,W.m_po,m.wo_code,W.status,W.lm_date,W.route_code,R.name as route_name,P.partcode,P.partname,P.partspec,m.plan_qty,
+ (select s.stepname+'/'+cast(cast(n.good_qty as decimal(18,2)) AS varchar(50))+',' from TK_Wrk_Step n
+ inner join TStep S on n.step_code=S.stepcode
+ where n.wo_code=m.wo_code for xml path('')) as concat_name
+ from TK_Wrk_Step m
+ inner join TK_Wrk_Man W on m.wo_code=W.wo_code
+ left join TKimp_Ewo E on W.m_po=E.wo
+ inner join TMateriel_Info P on W.materiel_code=p.partcode
+ inner join TFlw_Rout R on W.route_code=R.code
+ group by E.saleOrderCode,W.m_po,m.wo_code,W.status,W.lm_date,W.route_code,R.name,P.partcode,P.partname,P.partspec,m.plan_qty
+ ) AA
+ where " + search;
+ DataTable data = DapperHelper.selectdata(sql, dynamicParams);
+ data.TableName = "Table"; //璁剧疆DataTable鐨勫悕绉�
+ string msg = DownLoad.DataTableToExcel(data, "鐢熶骇杩涘害鎶ヨ〃");
+ mes.code = "200";
+ mes.Message = "鏌ヨ鎴愬姛!";
+ mes.count = total;
+ mes.data = msg;
+ }
+ 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