From 5b4fb9c56426b5096555560a44dd365b02853ad4 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期六, 17 六月 2023 13:14:54 +0800
Subject: [PATCH] 代码加组织过滤
---
VueWebApi/Tools/ScanStartReport.cs | 144 +++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 123 insertions(+), 21 deletions(-)
diff --git a/VueWebApi/Tools/ScanStartReport.cs b/VueWebApi/Tools/ScanStartReport.cs
index e71e1b8..0a8dd4e 100644
--- a/VueWebApi/Tools/ScanStartReport.cs
+++ b/VueWebApi/Tools/ScanStartReport.cs
@@ -34,17 +34,20 @@
{
//1.鏍规嵁宸ュ崟+宸ュ簭鏌ユ壘褰撳墠宸ュ簭鏄惁棣栭亾宸ュ簭
- sql = @"select A.wo_code,P.partcode,P.partname,P.partspec, T.stepcode,T.stepname,A.seq,T.flwtype,T.descr,A.status,A.plan_qty,A.isbott,A.isend
+ sql = @"select A.wo_code,P.partcode,P.partname,P.partspec, T.stepcode,T.stepname,A.seq,T.flwtype,T.descr,A.status,A.plan_qty,A.isbott,A.isend,L.org_code,L.org_name
from TK_Wrk_Step A
left join TStep T on A.step_code=T.stepcode
left join TK_Wrk_Man M on A.wo_code=M.wo_code
left join TMateriel_Info P on M.materiel_code=P.partcode
+ left join TOrganization L on M.wkshp_code=L.org_code
where A.wo_code=@ordercode and A.step_code=@stepcode";
dynamicParams.Add("@ordercode", ordercode);
dynamicParams.Add("@stepcode", stepcode);
var data = DapperHelper.selectdata(sql, dynamicParams);
if (data.Rows.Count > 0)
{
+ rt.wkshopcode= data.Rows[0]["org_code"].ToString(); //杞﹂棿缂栫爜
+ rt.wkshopname = data.Rows[0]["org_name"].ToString(); //杞﹂棿鍚嶇О
rt.wo_code = data.Rows[0]["WO_CODE"].ToString(); //宸ュ崟鍙�
rt.partnumber = data.Rows[0]["PARTCODE"].ToString(); //浜у搧缂栫爜
rt.partname = data.Rows[0]["PARTNAME"].ToString(); //浜у搧鍚嶇О
@@ -91,7 +94,9 @@
if (isbott == "Y") //棣栭亾宸ュ簭
{
//1.棣栭亾宸ュ簭鏃讹紝鍒ゆ柇鏄惁鏈夊紑宸ヨ褰�
- sql = @"select * from TK_Wrk_Record where wo_code=@ordercode and step_code=@stepcode and style='S'";
+ sql = @"select * from TK_Wrk_Record R
+ left join TEqpInfo E on R.eqp_code=E.code
+ where R.wo_code=@ordercode and R.step_code=@stepcode and R.style='S'";
dynamicParams.Add("@ordercode", ordercode);
dynamicParams.Add("@stepcode", stepcode);
var data0 = DapperHelper.selectdata(sql, dynamicParams);
@@ -119,6 +124,8 @@
}
else
{
+ rt.eqpcode = data0.Rows[0]["code"].ToString(); //寮�宸ヨ澶囩紪鐮�
+ rt.eqpname = data0.Rows[0]["name"].ToString(); //寮�宸ヨ澶囧悕绉�
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
rt.startqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //寮�宸ユ暟閲�=浠诲姟鏁伴噺
rt.noreportqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - good_qty- ng_qty-bad_qty; //鏈姤鏁伴噺=浠诲姟鏁伴噺-宸叉姤鏁伴噺-涓嶈壇鏁伴噺-鎶ュ簾鏁伴噺
@@ -131,6 +138,8 @@
}
else
{
+ rt.eqpcode = data0.Rows[0]["code"].ToString(); //寮�宸ヨ澶囩紪鐮�
+ rt.eqpname = data0.Rows[0]["name"].ToString(); //寮�宸ヨ澶囧悕绉�
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
rt.startqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //寮�宸ユ暟閲�
rt.noreportqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //鏈姤鏁伴噺
@@ -166,7 +175,9 @@
if (data0.Rows.Count > 0)
{
//1.闈為閬撳伐搴忔椂锛屽垽鏂湰閬撴槸鍚︽湁寮�宸ヨ褰�
- sql = @"select * from TK_Wrk_Record where wo_code=@ordercode and step_code=@stepcode and style='S'";
+ sql = @"select * from TK_Wrk_Record R
+ left join TEqpInfo E on R.eqp_code=E.code
+ where R.wo_code=@ordercode and R.step_code=@stepcode and R.style='S'";
dynamicParams.Add("@ordercode", ordercode);
dynamicParams.Add("@stepcode", stepcode);
var data1 = DapperHelper.selectdata(sql, dynamicParams);
@@ -179,7 +190,7 @@
var data2 = DapperHelper.selectdata(sql, dynamicParams);
if (data2.Rows.Count > 0) //鏈夋姤宸ヨ褰�
{
- if (data0.Rows[0]["FLWTYPE"].ToString() == "Z") //鑷埗宸ュ簭
+ if (data0.Rows[0]["FLWTYPE"].ToString() == "Z") //鍒ゆ柇涓婇亾宸ュ簭灞炴�э細鑷埗宸ュ簭
{
//鏌ユ壘涓婂埌宸ュ簭鎶ュ伐璁板綍
sql = @"select * from TK_Wrk_Record where wo_code=@ordercode and step_code=@stepcode and style='B'";
@@ -204,6 +215,8 @@
}
else
{
+ rt.eqpcode = data1.Rows[0]["code"].ToString(); //寮�宸ヨ澶囩紪鐮�
+ rt.eqpname = data1.Rows[0]["name"].ToString(); //寮�宸ヨ澶囧悕绉�
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
rt.startqty = sybqty; //寮�宸ユ暟閲�=鏈亾鍓╀綑鍙姤鏁伴噺
rt.noreportqty = sybqty; //鏈姤鏁伴噺=鏈亾鍓╀綑鍙姤鏁伴噺
@@ -223,7 +236,7 @@
return mes;
}
}
- if (data0.Rows[0]["FLWTYPE"].ToString() == "W") //濮斿宸ュ簭
+ if (data0.Rows[0]["FLWTYPE"].ToString() == "W") //鍒ゆ柇涓婇亾宸ュ簭灞炴�э細濮斿宸ュ簭
{
//鏌ユ壘涓婂埌宸ュ簭鏀舵枡璁板綍
sql = @"select * from TK_Wrk_OutRecord where wo_code=@ordercode and step_code=@stepcode and style='S'";
@@ -248,6 +261,8 @@
}
else
{
+ rt.eqpcode = data1.Rows[0]["code"].ToString(); //寮�宸ヨ澶囩紪鐮�
+ rt.eqpname = data1.Rows[0]["name"].ToString(); //寮�宸ヨ澶囧悕绉�
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
rt.startqty = sybqty; //寮�宸ユ暟閲�=鏈亾鍓╀綑鍙姤鏁伴噺
rt.noreportqty = sybqty; //鏈姤鏁伴噺=鏈亾鍓╀綑鍙姤鏁伴噺
@@ -282,6 +297,8 @@
decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum(); //鏈亾鎶ュ伐鎬绘暟閲�
decimal sybqty = sgood_qty; //鏈亾鍓╀綑鍙姤鏁伴噺=涓婇亾鎶ュ伐鏁伴噺
+ rt.eqpcode = data1.Rows[0]["code"].ToString(); //寮�宸ヨ澶囩紪鐮�
+ rt.eqpname = data1.Rows[0]["name"].ToString(); //寮�宸ヨ澶囧悕绉�
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
rt.startqty = sybqty; //寮�宸ユ暟閲�=鏈亾鍓╀綑鍙姤鏁伴噺
rt.noreportqty = sybqty; //鏈姤鏁伴噺=鏈亾鍓╀綑鍙姤鏁伴噺
@@ -312,6 +329,8 @@
decimal sqty = data3.AsEnumerable().Select(d =>d.Field<decimal>("SQTY")).Sum();//涓婇亾鏀舵枡鏁伴噺
decimal sybqty = sqty; //鏈亾鍓╀綑鍙敹鏁伴噺=涓婇亾鏀舵枡鏁伴噺
+ rt.eqpcode = data1.Rows[0]["code"].ToString(); //寮�宸ヨ澶囩紪鐮�
+ rt.eqpname = data1.Rows[0]["name"].ToString(); //寮�宸ヨ澶囧悕绉�
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
rt.startqty = sybqty; //寮�宸ユ暟閲�=鏈亾鍓╀綑鍙敹鏁伴噺
rt.noreportqty = sybqty; //鏈姤鏁伴噺=鏈亾鍓╀綑鍙敹鏁伴噺
@@ -448,23 +467,25 @@
string isend = ""; //鏈亾宸ュ簭
string seq = ""; //宸ュ簭搴忓彿
List<object> list = new List<object>();
- ScanStartReportData rt = new ScanStartReportData();
+ ScanStartReportDataOut rt = new ScanStartReportDataOut();
var dynamicParams = new DynamicParameters();
try
{
//1.鏍规嵁宸ュ崟+宸ュ簭鏌ユ壘褰撳墠宸ュ簭鏄惁棣栭亾宸ュ簭
- sql = @"select A.wo_code,P.partcode,P.partname,P.partspec, T.stepcode,T.stepname,A.seq,T.flwtype,T.descr,A.status,A.plan_qty,A.isbott,A.isend
+ sql = @"select A.wo_code,P.partcode,P.partname,P.partspec, T.stepcode,T.stepname,A.seq,T.flwtype,T.descr,A.status,A.plan_qty,A.isbott,A.isend,L.org_code,L.org_name
from TK_Wrk_Step A
left join TStep T on A.step_code=T.stepcode
left join TK_Wrk_Man M on A.wo_code=M.wo_code
left join TMateriel_Info P on M.materiel_code=P.partcode
+ left join TOrganization L on M.wkshp_code=L.org_code
where A.wo_code=@ordercode and A.step_code=@stepcode";
dynamicParams.Add("@ordercode", ordercode);
dynamicParams.Add("@stepcode", stepcode);
var data = DapperHelper.selectdata(sql, dynamicParams);
if (data.Rows.Count > 0)
{
-
+ rt.wkshopcode = data.Rows[0]["org_code"].ToString(); //杞﹂棿缂栫爜
+ rt.wkshopname = data.Rows[0]["org_name"].ToString(); //杞﹂棿鍚嶇О
rt.wo_code = data.Rows[0]["WO_CODE"].ToString(); //宸ュ崟鍙�
rt.partnumber = data.Rows[0]["PARTCODE"].ToString(); //浜у搧缂栫爜
rt.partname = data.Rows[0]["PARTNAME"].ToString(); //浜у搧鍚嶇О
@@ -520,7 +541,9 @@
if (isbott == "Y") //棣栭亾宸ュ簭
{
//1.棣栭亾宸ュ簭鏃讹紝鍒ゆ柇鏄惁鏈夊彂鏂欒褰�
- sql = @"select * from TK_Wrk_OutRecord where wo_code=@ordercode and step_code=@stepcode and style='F'";
+ sql = @"select * from TK_Wrk_OutRecord R
+ left join TCustomer C on R.wx_code=C.code
+ where R.wo_code=@ordercode and R.step_code=@stepcode and R.style='F'";
dynamicParams.Add("@ordercode", ordercode);
dynamicParams.Add("@stepcode", stepcode);
var data0 = DapperHelper.selectdata(sql, dynamicParams);
@@ -575,13 +598,15 @@
if (data0.Rows.Count > 0)
{
//1.闈為閬撳伐搴忔椂锛屽垽鏂湰閬撴槸鍚︽湁鍙戞枡璁板綍
- sql = @"select * from TK_Wrk_OutRecord where wo_code=@ordercode and step_code=@stepcode and style='F'";
+ sql = @"select * from TK_Wrk_OutRecord R
+ left join TCustomer C on R.wx_code=C.code
+ where R.wo_code=@ordercode and R.step_code=@stepcode and R.style='F'";
dynamicParams.Add("@ordercode", ordercode);
dynamicParams.Add("@stepcode", stepcode);
var data1 = DapperHelper.selectdata(sql, dynamicParams);
if (data1.Rows.Count > 0)//鏈亾鏈夊彂鏂欒褰�
{
- if (data0.Rows[0]["FLWTYPE"].ToString() == "Z") //鑷埗宸ュ簭
+ if (data0.Rows[0]["FLWTYPE"].ToString() == "Z") //鍒ゆ柇涓婇亾宸ュ簭灞炴�э細鑷埗宸ュ簭
{
//鏌ユ壘涓婂埌宸ュ簭鎶ュ伐璁板綍
sql = @"select * from TK_Wrk_Record where wo_code=@ordercode and step_code=@stepcode and style='B'";
@@ -626,7 +651,7 @@
return mes;
}
}
- if (data0.Rows[0]["FLWTYPE"].ToString() == "W") //澶栧崗宸ュ簭
+ if (data0.Rows[0]["FLWTYPE"].ToString() == "W") //鍒ゆ柇涓婇亾宸ュ簭灞炴�э細澶栧崗宸ュ簭
{
//鏌ユ壘涓婂埌宸ュ簭鏀舵枡璁板綍
sql = @"select * from TK_Wrk_OutRecord where wo_code=@ordercode and step_code=@stepcode and style='S'";
@@ -778,14 +803,25 @@
if (isbott == "Y") //棣栭亾宸ュ簭
{
//1.棣栭亾宸ュ簭鏃讹紝鍒ゆ柇鏄惁鏈夊彂鏂欒褰�
- sql = @"select * from TK_Wrk_OutRecord where wo_code=@ordercode and step_code=@stepcode and style='F'";
+ sql = @"select R.wo_code,R.step_code,R.wx_code as code,C.name,R.materiel_code,
+ isnull(sum(R.fqty),0) as fqty,isnull(sum(R.sqty),0) as sqty,isnull(sum(R.ng_qty),0) as ng_qty,isnull(sum(R.bad_qty),0) as bad_qty
+ from TK_Wrk_OutRecord R
+ left join TCustomer C on R.wx_code=C.code
+ where R.wo_code=@ordercode and R.step_code=@stepcode and R.style='F'
+ group by R.wo_code,R.step_code,R.wx_code,C.name,R.materiel_code";
dynamicParams.Add("@ordercode", ordercode);
dynamicParams.Add("@stepcode", stepcode);
var data0 = DapperHelper.selectdata(sql, dynamicParams);
if (data0.Rows.Count > 0) //鏈夊彂鏂欒褰�
{
//1.棣栭亾宸ュ簭鏃讹紝鍒ゆ柇鏄惁鏈夋敹鏂欒褰�
- sql = @"select * from TK_Wrk_OutRecord where wo_code=@ordercode and step_code=@stepcode and style='S'";
+ sql = @"select R.wo_code,R.step_code,R.wx_code as code,C.name,R.materiel_code,
+ isnull(sum(R.fqty),0) as fqty,isnull(sum(R.sqty),0) as sqty,isnull(sum(R.ng_qty),0) as ng_qty,isnull(sum(R.bad_qty),0) as bad_qty
+ from TK_Wrk_OutRecord R
+ left join TCustomer C on R.wx_code=C.code
+ where R.wo_code=@ordercode and R.step_code=@stepcode and R.style='S'
+ group by R.wo_code,R.step_code,R.wx_code,C.name,R.materiel_code";
+ //sql = @"select * from TK_Wrk_OutRecord where wo_code=@ordercode and step_code=@stepcode and style='S'";
dynamicParams.Add("@ordercode", ordercode);
dynamicParams.Add("@stepcode", stepcode);
var data1 = DapperHelper.selectdata(sql, dynamicParams);
@@ -810,6 +846,21 @@
rt.noreportqty = ksqty; //鏈敹鏁伴噺=鏈亾鍙戞枡鏁伴噺
rt.reportqty = sqty + ng_qty+bad_qty; //宸叉敹鏁伴噺
rt.startqty = ksqty; //鏀舵枡鏁伴噺=鏈亾鍙戞枡鏁伴噺
+
+ data0.Merge(data1);//灏嗘寚瀹氱殑dt鍚堝苟
+ rt.list = data0.AsEnumerable().GroupBy(r => new {
+ wo_code = r["wo_code"],
+ step_code = r["step_code"],
+ code = r["code"],
+ name = r["name"]
+ }).Select(g => new {
+ Name = g.Key.code,
+ tp = g.Key.name,
+ fqty = g.Sum(i => (decimal)i["fqty"]),
+ sqty = g.Sum(i => (decimal)i["sqty"]),
+ ng_qty = g.Sum(i => (decimal)i["ng_qty"]),
+ bad_qty = g.Sum(i => (decimal)i["bad_qty"])
+ }).ToList();
mes.code = "200";
mes.count = 3;
@@ -821,11 +872,25 @@
else
{
decimal fqty = data0.AsEnumerable().Select(d => d.Field<decimal>("FQTY")).Sum();//鏈亾鍙戞枡鏁伴噺
-
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
rt.noreportqty = fqty; //鏈敹鏁伴噺=鏈亾鍙戞枡鏁伴噺
rt.reportqty = 0; //宸叉敹鏁伴噺
- rt.startqty = fqty; //鏀舵枡鏁伴噺=鏈亾鍙戞枡鏁伴噺
+ rt.startqty = fqty; //鏀舵枡鏁伴噺=鏈亾鍙戞枡鏁伴噺
+ //
+ data0.Merge(data1);//灏嗘寚瀹氱殑dt鍚堝苟
+ rt.list = data0.AsEnumerable().GroupBy(r => new {
+ wo_code = r["wo_code"],
+ step_code = r["step_code"],
+ code = r["code"],
+ name = r["name"]
+ }).Select(g => new {
+ Name = g.Key.code,
+ tp = g.Key.name,
+ fqty = g.Sum(i => (decimal)i["fqty"]),
+ sqty = g.Sum(i => (decimal)i["sqty"]),
+ ng_qty = g.Sum(i => (decimal)i["ng_qty"]),
+ bad_qty = g.Sum(i => (decimal)i["bad_qty"])
+ }).ToList();
mes.code = "200";
mes.count = 3;
@@ -855,14 +920,24 @@
if (data0.Rows.Count > 0)
{
//1.闈為閬撳伐搴忔椂锛屽垽鏂湰閬撴槸鍚︽湁鍙戞枡璁板綍
- sql = @"select * from TK_Wrk_OutRecord where wo_code=@ordercode and step_code=@stepcode and style='F'";
+ sql = @"select R.wo_code,R.step_code,R.wx_code as code,C.name,R.materiel_code,
+ isnull(sum(R.fqty),0) as fqty,isnull(sum(R.sqty),0) as sqty,isnull(sum(R.ng_qty),0) as ng_qty,isnull(sum(R.bad_qty),0) as bad_qty
+ from TK_Wrk_OutRecord R
+ left join TCustomer C on R.wx_code=C.code
+ where R.wo_code=@ordercode and R.step_code=@stepcode and R.style='F'
+ group by R.wo_code,R.step_code,R.wx_code,C.name,R.materiel_code";
dynamicParams.Add("@ordercode", ordercode);
dynamicParams.Add("@stepcode", stepcode);
var data1 = DapperHelper.selectdata(sql, dynamicParams);
if (data1.Rows.Count > 0)//鏈亾鏈夊彂鏂欒褰�
{
//2.闈為閬撳伐搴忔椂锛屽垽鏂湰閬撴槸鍚︽湁鏀舵枡璁板綍
- sql = @"select * from TK_Wrk_OutRecord where wo_code=@ordercode and step_code=@stepcode and style='S'";
+ sql = @"select R.wo_code,R.step_code,R.wx_code as code,C.name,R.materiel_code,
+ isnull(sum(R.fqty),0) as fqty,isnull(sum(R.sqty),0) as sqty,isnull(sum(R.ng_qty),0) as ng_qty,isnull(sum(R.bad_qty),0) as bad_qty
+ from TK_Wrk_OutRecord R
+ left join TCustomer C on R.wx_code=C.code
+ where R.wo_code=@ordercode and R.step_code=@stepcode and R.style='S'
+ group by R.wo_code,R.step_code,R.wx_code,C.name,R.materiel_code";
dynamicParams.Add("@ordercode", ordercode);
dynamicParams.Add("@stepcode", stepcode);
var data2 = DapperHelper.selectdata(sql, dynamicParams);
@@ -887,7 +962,22 @@
rt.noreportqty = ksqty; //鏈敹鏁伴噺=鏈亾鍙戞枡鏁伴噺
rt.reportqty = sqty + ng_qty+bad_qty; //宸叉敹鏁伴噺
rt.startqty = ksqty; //鏀舵枡鏁伴噺=鏈亾鍙戞枡鏁伴噺
-
+
+ data1.Merge(data2);//灏嗘寚瀹氱殑dt鍚堝苟
+ rt.list = data1.AsEnumerable().GroupBy(r => new {
+ wo_code = r["wo_code"],
+ step_code = r["step_code"],
+ code= r["code"],
+ name = r["name"]
+ }).Select(g => new {
+ Name = g.Key.code,
+ tp = g.Key.name,
+ fqty = g.Sum(i => (decimal)i["fqty"]),
+ sqty = g.Sum(i => (decimal)i["sqty"]),
+ ng_qty = g.Sum(i => (decimal)i["ng_qty"]),
+ bad_qty = g.Sum(i => (decimal)i["bad_qty"])
+ }).ToList();
+
mes.code = "200";
mes.count = 3;
mes.Message = "寮圭獥鏀舵枡鐣岄潰!";
@@ -897,12 +987,24 @@
else
{
decimal fqty = data1.AsEnumerable().Select(d => d.Field<decimal>("FQTY")).Sum(); //鏈亾鍙戞枡鏁伴噺
-
rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //浠诲姟鏁伴噺
rt.noreportqty = fqty; //鏈敹鏁伴噺=鏈亾鍙戞枡鏁伴噺
rt.reportqty = 0; //宸叉敹鏁伴噺
rt.startqty = fqty; //鏀舵枡鏁伴噺=鏈亾鍙戞枡鏁伴噺
-
+ data1.Merge(data2);//灏嗘寚瀹氱殑dt鍚堝苟
+ rt.list = data1.AsEnumerable().GroupBy(r => new {
+ wo_code = r["wo_code"],
+ step_code = r["step_code"],
+ code = r["code"],
+ name = r["name"]
+ }).Select(g => new {
+ Name = g.Key.code,
+ tp = g.Key.name,
+ fqty = g.Sum(i => (decimal)i["fqty"]),
+ sqty = g.Sum(i => (decimal)i["sqty"]),
+ ng_qty = g.Sum(i => (decimal)i["ng_qty"]),
+ bad_qty = g.Sum(i => (decimal)i["bad_qty"])
+ }).ToList();
mes.code = "200";
mes.count = 3;
mes.Message = "寮圭獥鏀舵枡鐣岄潰!";
--
Gitblit v1.9.3